[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v6 00/11] grub-xen: support booting huge pv-domains
The Xen hypervisor supports starting a dom0 with large memory (up to the TB range) by not including the initrd and p2m list in the initial kernel mapping. Especially the p2m list can grow larger than the available virtual space in the initial mapping. The started kernel is indicating the support of each feature via elf notes. This series enables grub-xen to do the same as the hypervisor. Tested with: - 32 bit domU (kernel not supporting unmapped initrd) - 32 bit domU (kernel supporting unmapped initrd) - 1 GB 64 bit domU (kernel supporting unmapped initrd, not p2m) - 1 GB 64 bit domU (kernel supporting unmapped initrd and p2m) - 900GB 64 bit domU (kernel supporting unmapped initrd and p2m) Changes in V6: - patch 9: rename grub_xen_alloc_final() as requested by Daniel Kiper Changes in V5: - patch 2: set grub_errno to GRUB_ERR_NONE to avoid false error reports as requested by Daniel Kiper - patch 9: let call grub_xen_alloc_final() all subfunctions unconditionally and let them decide whether they need to do anything as suggested by Daniel Kiper Changes in V4: - split patch 1 into two patches as requested by Daniel Kiper - patch 9 (was 8): rename grub_xen_alloc_end() as requested by Daniel Kiper - patch 10 (was 9): align variables in assembly sources, use separate structure define as requested by Daniel Kiper Changes in V3: - added new patch 1 (free memory in case of error) as requested by Daniel Kiper - added new patch 2 (avoid global variables) as requested by Daniel Kiper - added new patch 3 (use constants for elf notes) as requested by Daniel Kiper - added new patch 4 (sync with new Xen headers) in order to use constants in assembly code - modified patch 9 (was patch 5) to use constants instead of numbers as requested by Daniel Kiper Changes in V2: - rebased patch 5 to current master Juergen Gross (11): xen: make xen loader callable multiple times xen: avoid memleaks on error xen: reduce number of global variables in xen loader xen: add elfnote.h to avoid using numbers instead of constants xen: synchronize xen header xen: factor out p2m list allocation into separate function xen: factor out allocation of special pages into separate function xen: factor out allocation of page tables into separate function xen: add capability to load initrd outside of initial mapping xen: modify page table construction xen: add capability to load p2m list outside of kernel mapping grub-core/lib/i386/xen/relocator.S | 88 ++-- grub-core/lib/x86_64/xen/relocator.S | 135 +++--- grub-core/lib/xen/relocator.c | 28 +- grub-core/loader/i386/xen.c | 782 +++++++++++++++++++++++------------ grub-core/loader/i386/xen_fileXX.c | 45 +- include/grub/i386/memory.h | 7 + include/grub/xen/relocator.h | 6 +- include/grub/xen_file.h | 3 + include/xen/arch-x86/xen-x86_32.h | 22 +- include/xen/arch-x86/xen-x86_64.h | 8 +- include/xen/elfnote.h | 281 +++++++++++++ include/xen/xen.h | 125 ++++-- 12 files changed, 1081 insertions(+), 449 deletions(-) create mode 100644 include/xen/elfnote.h -- 2.6.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |