[SLOF] [PATCH slof v2] fdt: Pass the resulting device tree to QEMU
Greg Kurz
groug at kaod.org
Tue Oct 3 16:58:13 AEDT 2017
On Tue, 3 Oct 2017 12:07:15 +1100
Alexey Kardashevskiy <aik at ozlabs.ru> wrote:
> On 03/10/17 09:48, Greg Kurz wrote:
> > On Mon, 2 Oct 2017 16:38:19 +1100
> > Alexey Kardashevskiy <aik at ozlabs.ru> wrote:
> >
> >> This creates flatten device tree and passes it to QEMU via a custom
> >> hypercall right before jumping to RTAS.
> >>
> >> On a machine with 256 CPUs and 256 virtual Intel E1000 devices the blob
> >> is 360KB (356KB structs and 20KB of strings), building such a tree takes
> >> ~2s on a POWER8 box. A simple tree with 1 CPU and a couple of devices
> >> takes 38ms and creates 16KB blob.
> >>
> >> This preloads strings with 40 property names from CPU and PCI device nodes
> >> and the strings lookup only searches within these. Without string reusing
> >> at all, the strings blob is 200KB and rendering time is 1.7sec; with
> >> unlimited reusing, the strings blob is 4KB and rendering time is 2.8sec.
> >>
> >> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> >> ---
> >>
> >> Changes:
> >> v2:
> >> * fixed comments from review
> >> * added strings cache
> >> * changed last_compat_vers from 0x17 to 0x16 as suggested by dwg
> >>
> >
> > It isn't 0x17 and 0x16 but 0x11 and 0x10 actually, fdt-flatten-tree
> > needs to be changed accordingly :)
>
> Hmmm. I looked at dtc - there the latest is 0d17 so you seem to be right.
> But when I did this patch, I just looked at the beginning of
> board-qemu/slof/fdt.fs:
>
>
> 53 : fdt-check-header ( -- )
>
> [...]
> 72 dup >fdth_version l@ 17 >= IF
>
> 73 ." struct size : 0x" dup >fdth_struct_size l@ . cr
>
> 74 THEN
>
>
>
> Oopsie. I guess this should be 0x11 rather than 0x17, it is like that since
> the initial import.
I saw that too and yes, we're in hex mode so this should be 11.
>
>
>
More information about the SLOF
mailing list