xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/11] grub-xen: support booting huge pv-domains
@ 2016-03-03  9:38 Juergen Gross
  2016-03-03  9:38 ` [PATCH v7 01/11] xen: make xen loader callable multiple times Juergen Gross
                   ` (14 more replies)
  0 siblings, 15 replies; 21+ messages in thread
From: Juergen Gross @ 2016-03-03  9:38 UTC (permalink / raw)
  To: grub-devel; +Cc: Juergen Gross, phcoder, daniel.kiper, mchang, xen-devel

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 V7:
- patch 9: set initrd size once instead of in if and else clause as requested
  by Daniel Kiper
- patch 10: add GRUB_PACKED attribute to structure, drop alignments in assembly
  files as requested by Daniel Kiper

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   |  87 ++--
 grub-core/lib/x86_64/xen/relocator.S | 134 +++---
 grub-core/lib/xen/relocator.c        |  28 +-
 grub-core/loader/i386/xen.c          | 778 +++++++++++++++++++++++------------
 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, 1076 insertions(+), 448 deletions(-)
 create mode 100644 include/xen/elfnote.h

-- 
2.6.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-10-27 14:38 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-03  9:38 [PATCH v7 00/11] grub-xen: support booting huge pv-domains Juergen Gross
2016-03-03  9:38 ` [PATCH v7 01/11] xen: make xen loader callable multiple times Juergen Gross
2016-03-03  9:38 ` [PATCH v7 02/11] xen: avoid memleaks on error Juergen Gross
2016-03-03  9:38 ` [PATCH v7 03/11] xen: reduce number of global variables in xen loader Juergen Gross
2016-03-03  9:38 ` [PATCH v7 04/11] xen: add elfnote.h to avoid using numbers instead of constants Juergen Gross
2016-03-03  9:38 ` [PATCH v7 05/11] xen: synchronize xen header Juergen Gross
2016-03-03  9:38 ` [PATCH v7 06/11] xen: factor out p2m list allocation into separate function Juergen Gross
2016-03-03  9:38 ` [PATCH v7 07/11] xen: factor out allocation of special pages " Juergen Gross
2016-03-03  9:38 ` [PATCH v7 08/11] xen: factor out allocation of page tables " Juergen Gross
2016-03-03  9:38 ` [PATCH v7 09/11] xen: add capability to load initrd outside of initial mapping Juergen Gross
2016-03-03  9:38 ` [PATCH v7 10/11] xen: modify page table construction Juergen Gross
2016-03-03  9:38 ` [PATCH v7 11/11] xen: add capability to load p2m list outside of kernel mapping Juergen Gross
2016-03-03 14:05 ` [PATCH v7 00/11] grub-xen: support booting huge pv-domains Daniel Kiper
2016-03-29  9:52 ` Juergen Gross
     [not found] ` <56FA5074.90305@suse.com>
2016-03-29 10:04   ` Daniel Kiper
2016-05-12  5:35 ` Juergen Gross
2016-07-04 10:33   ` Juergen Gross
     [not found]   ` <577A3B6D.7060509@suse.com>
2016-07-04 10:53     ` Daniel Kiper
     [not found]     ` <20160704105339.GU24249@olila.local.net-space.pl>
2016-10-11 14:00       ` Juergen Gross
2016-10-17  6:52         ` Daniel Kiper
     [not found]         ` <20161017065258.GA23035@router-fw-old.local.net-space.pl>
2016-10-27 14:38           ` Daniel Kiper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).