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

Re: [Xen-devel] [PATCH v3 27/32] libxc: change the position of the special pages

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é 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 reserved
>>> so that they end at the 0xff000 pfn, but there are some problems with this
>>> 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 guest
>>> must make sure it figures out the position of those pages very early during
>>> 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
|   |        |       |  |  |                            |  |
|   |        |       |  |  |                            |  |
|   | Kernel |Modules|  |  |                            |  |
|   |        |       |  |  |                            |  |
                                                         Console page,
                                                         Xenstore page,


Xen-devel mailing list



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