From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?windows-1252?Q?Roger_Pau_Monn=E9?= Subject: Re: [PATCH v3 27/32] libxc: change the position of the special pages Date: Thu, 23 Jul 2015 12:42:52 +0200 Message-ID: <55B0C52C.2020600@citrix.com> References: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> <1435923310-9019-28-git-send-email-roger.pau@citrix.com> <5596ABEF.9010004@citrix.com> <20150710190614.GF30788@l.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZIDxr-0000ms-Rc for xen-devel@lists.xenproject.org; Thu, 23 Jul 2015 10:42:59 +0000 In-Reply-To: <20150710190614.GF30788@l.oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Konrad Rzeszutek Wilk Cc: xen-devel@lists.xenproject.org, Stefano Stabellini , Wei Liu , Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org El 10/07/15 a les 21.06, Konrad Rzeszutek Wilk ha escrit: > On Fri, Jul 03, 2015 at 05:36:15PM +0200, Roger Pau Monn=E9 wrote: >> El 03/07/15 a les 13.35, Roger Pau Monne ha escrit: >>> Change the physical memory address of the special pages when there are = no >>> emulated devices. On HVM guests the special pages have always been rese= rved >>> so that they end at the 0xff000 pfn, but there are some problems with t= his >>> approach when used without emulated devices: >>> >>> - If we want to allow HVMlite to be used for Dom0 those special pages >>> cannot be placed inside of the MMIO hole or else they may clash with= MMIO >>> regions of physical devices passed-through to Dom0. >>> - If there's no emulated devices the guests needs to access the console >>> page and the command line very early during boot. This is a problem = for >>> FreeBSD at least, since the early page tables only map memory up to = 1GiB. >>> >>> So instead append the special pages after the kernel and ramdisk. The g= uest >>> must make sure it figures out the position of those pages very early du= ring >>> boot, since the region is not marked as reserved in the memory map. >> >> After thinking a little bit about this, I don't think this is the right >> solution. Placing all the special pages after the kernel/ramdisk will >> make it quite hard to use bootloaders like pvgrub inside of HVMlite >> guests. I will see if I can come up with a better way to solve this, >> comments welcome. > = > Could stick at the start of memory, mark it as E820_RESV or such. Or > at 16MB or such? I was thinking about leaving the already existing special pages as they are now (just below the 4GiB), and placing the command line and module info just after the kernel and initramfs, so the memory layout looks like: Command line string + | Module list | + 0GiB | | 4GiB +---+--------+-------+v-+v-+----------------------------+--+ | | | | | | | | | | | | | | | | | | Kernel |Modules| | | | | | | | | | | | | +---+--------+-------+--+--+----------------------------+--+ Console page, Xenstore page, ... Roger.