From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1aTm4N-0005An-8K for mharc-grub-devel@gnu.org; Thu, 11 Feb 2016 02:53:43 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39161) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTm4G-0004zK-61 for grub-devel@gnu.org; Thu, 11 Feb 2016 02:53:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTm4B-0002BJ-6K for grub-devel@gnu.org; Thu, 11 Feb 2016 02:53:36 -0500 Received: from mx2.suse.de ([195.135.220.15]:35197) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTm4B-0002Az-07 for grub-devel@gnu.org; Thu, 11 Feb 2016 02:53:31 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 266D8AB45; Thu, 11 Feb 2016 07:53:29 +0000 (UTC) From: Juergen Gross To: grub-devel@gnu.org, xen-devel@lists.xen.org, phcoder@gmail.com, daniel.kiper@oracle.com, mchang@suse.com Subject: [PATCH v2 0/6] grub-xen: support booting huge pv-domains Date: Thu, 11 Feb 2016 08:53:20 +0100 Message-Id: <1455177206-8974-1-git-send-email-jgross@suse.com> X-Mailer: git-send-email 2.6.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 195.135.220.15 Cc: Juergen Gross X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Feb 2016 07:53:37 -0000 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 V2: - rebased patch 5 to current master Juergen Gross (6): 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 | 47 ++-- grub-core/lib/x86_64/xen/relocator.S | 44 ++- grub-core/lib/xen/relocator.c | 22 +- grub-core/loader/i386/xen.c | 521 +++++++++++++++++++++++++---------- grub-core/loader/i386/xen_fileXX.c | 7 + include/grub/xen/relocator.h | 6 +- include/grub/xen_file.h | 3 + 7 files changed, 447 insertions(+), 203 deletions(-) -- 2.6.2