[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/1] Dom0less guest device tree format
On Sat, 6 Jul 2019, Will Abele wrote: > The 07/06/2019 18:19, Julien Grall wrote: > > > > > > On 06/07/2019 19:17, Julien Grall wrote: > > > > > > > > > On 06/07/2019 19:02, Will Abele wrote: > > >> From: Will Abele <will.abele@xxxxxxxxxx> > > >> > > >> Hi, > > > > > > Hi, > > > > > >> I've been using dom0less Xen on the Hikey 960 with a 4.14 Linux > > >> Kernel. I had > > >> trouble getting the 4.14 Linux Kernel to boot as a dom0less domU > > >> because it was > > >> misinterpreting the device tree version. Linux 4.14 and earlier > > >> interpret device > > >> trees with a "/" in the root node as version 16. Xen produces a > > >> version 17 > > >> device tree, so the root node needs to be "" to work with 4.14 and > > >> earlier Linux > > >> Kernels. Linux 4.15 and later assume that the version is 17, so this > > >> patch does > > >> not have any impact. > > >> > > >> Please let me know if you need any more information or have > > >> suggestions for > > >> other ways to handle this. > > > > > > I don't understand where the version comes from. I also don't understand > > > how you inferred that Xen is creating a version 17 device-tree. > > > > > > Do you have link to the paragraph in the specifications? > > > > Also, please expand what is the exact error. So we can understand > > whether this is the right fix. > > > > Cheers, > > > > -- > > Julien Grall > > -- > > Hi Julien, > > Thanks for the prompt response. > > I said in my message that Linux was interpreting the device tree as version > 16. > Looking through the code again, I realize it was being interpreted as earlier > than 16. As mentioned in Linux commit > a7e4cfb0a7ca4773e7d0dd1d9c018ab27a15360e, > Linux had already broken support for FDT versions earlier than 16. > populate_node() in drivers/of/fdt.c would stop parsing the fdt at the root > node > if it thought the fdt version was earlier than 16. > > Xen sets the FDT version to 17 in fdt_create(). > > The issue I was having was that Linux panicked while initializing interrupts > because it could not find an interrupt controller. It couldn't find the > interrupt controller because it didn't process that part of the device tree. Thank you, Will! And it is great to hear that you are using dom0less :) I couldn't find the specific reference to the spec, but I could verify that the patch fixes the issue for Linux 4.14, while it is unneeded for newer Linux versions (they still work with the patch). Also we already start empty device tree using "" instead of "/" in a few other places. I would love to have the right reference in the commit message though. FYI we also have another instance of fdt_begin_node(fdt, "/") in xen/arch/arm/acpi/domain_build.c that needs fixing and could be done in this patch. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |