On 13.07.2015 10:53, fu.wei@linaro.org wrote:
From: Fu Wei fu.wei@linaro.org
This adds support for the Xen boot on ARM specification for arm64.
The implementation for Xen is following <Multiboot on ARM Specification>: http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/Multiboot and xen/docs/misc/arm/device-tree/booting.txt in Xen source code.
The multiboot/module commands have existed, so we use xen_hypervisor/xen_module instead.
This Xen boot support is built into linux module for aarch64, and can not be used alone.
Adding this functionality to the existing "linux" module is for reusing the existing code of devicetree.
This is a misguided decision. Modules can depend on other modules. Ideally shared functionality should be in a separate module but having xen depend on linux is an OK stopgap solution. Putting everything in one module is bad.
Add the support of xen_hypervisor/xen_module commands in util/grub.d/20_linux_xen.in
Add the introduction of xen_hypervisor/xen_module commands in docs/grub.texi
The example of this support is <How to boot Xen with GRUB on AArch64 the Foundation FVP model> https://wiki.linaro.org/LEG/Engineering/Grub2/Xen_booting_on_Foundation_FVP_...
Changelog: v2: remove the patches which have been accepted. according to Vladimir's suggestion, change the command manes and relevant code: multiboot-->xen_hypervisor module-->xen_module improve the option parsing support for xen_hypervisor/xen_module commands. add a patch for adding xen_hypervisor/xen_module support in util/grub.d/20_linux_xen.in. update docs/grub.texi patch for the new command names.
v1: The first version upstream patchset to grub-devel mailing list
Fu Wei (3): arm64: Add Xen boot support file
- util/grub.d/20_linux_xen.in: Add support of the XEN boot on aarch64
arm64: Add the introduction of xen_hypervisor/xen_module command in docs/grub.texi
docs/grub.texi | 27 ++ grub-core/Makefile.core.def | 1 + grub-core/loader/arm64/linux.c | 6 + grub-core/loader/arm64/xen_boot.c | 615 ++++++++++++++++++++++++++++++++++++++ include/grub/arm64/xen_boot.h | 115 +++++++ util/grub.d/20_linux_xen.in | 14 +- 6 files changed, 775 insertions(+), 3 deletions(-) create mode 100644 grub-core/loader/arm64/xen_boot.c create mode 100644 include/grub/arm64/xen_boot.h