Hi Leif, I have make a new multiboot support patch V3.6, because Roy has made stub-xen support. Compared with V3.6, I added the stub-kernel boot support: Support stub-kernel and raw kernle image at the same time: If kernel image is stub-kernel, multiboot will reload alignment from stub header.
To Ian: Now, Xen can boot up all the CPUs of FVP base model, it's cool, I have tested it. Once Xen can support multiple blanks of RAM, please let me know, then I can test the latest linaro-edk2 with GRUB and Xen.
To Roy: I can't boot your stub-xen directly. I checked the code, I guess your stub code always want to get cmdline, dtb file info the make a new dtb, the installed dtb checking in your code is a little late. so I add a temporary patch on your patches. My patch is NOT a fix, just for locate the problem. Could we discuss and figure out this issue, when you come back? :-)
Some pending change: (1)delete "grub_arm64_disable_caches_mmu" and the relevant code(misc.c and misc_irq.S)(If we don't want to support raw kernel anymore) (2)grub coding style (I have checked the patch, but maybe I need to improve it in somewhere) (3)integrate multiboot_fdt.c back to multiboot.c (will make a new patch/branch for it, but I think multiboot_fdt.c make multiboot.c more generic)
Will update the wiki patch, in case someone want to try it.
Notice: This patch bases on master branch of upstream grub This patch only can works with the GRUB_multiboot_test branch of my xen repo(git://git.linaro.org/people/fu.wei/xen.git), because I have added a little patch on Roy's stub support code.