[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v3 00/10] 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 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 and
  added lots of comments to assembly code as requested by Daniel Kiper

Changes in V2:
- rebased patch 5 to current master

Juergen Gross (10):
  xen: make xen loader callable multiple times
  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   |  87 ++--
 grub-core/lib/x86_64/xen/relocator.S | 134 +++---
 grub-core/lib/xen/relocator.c        |  25 +-
 grub-core/loader/i386/xen.c          | 778 +++++++++++++++++++++++------------
 grub-core/loader/i386/xen_fileXX.c   |  43 +-
 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, 1070 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.