|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 09/22] vixen: modify the e820 table to advertise HVM special pages as RAM
On Sun, Jan 07, 2018 at 07:27:48AM -0800, Anthony Liguori wrote:
> On Sun, Jan 7, 2018 at 12:16 AM, Roger Pau Monné <roger.pau@xxxxxxxxxx> wrote:
> > On Sat, Jan 06, 2018 at 02:54:24PM -0800, Anthony Liguori wrote:
> >> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> >> index a56f875..935901b 100644
> >> --- a/xen/arch/x86/mm.c
> >> +++ b/xen/arch/x86/mm.c
> >> @@ -122,6 +122,7 @@
> >> #include <asm/fixmap.h>
> >> #include <asm/io_apic.h>
> >> #include <asm/pci.h>
> >> +#include <asm/guest.h>
> >>
> >> #include <asm/hvm/grant_table.h>
> >> #include <asm/pv/grant_table.h>
> >> @@ -945,7 +946,7 @@ get_page_from_l1e(
> >> case 0:
> >> break;
> >> case 1:
> >> - if ( !is_hardware_domain(l1e_owner) )
> >> + if ( !is_vixen() && !is_hardware_domain(l1e_owner) )
> >> break;
> >> /* fallthrough */
> >> case -1:
> >> @@ -5536,6 +5537,21 @@ void arch_dump_shared_mem_info(void)
> >> mem_sharing_get_nr_saved_mfns());
> >> }
> >>
> >> +const unsigned long *__init
> >> +vixen_get_platform_badpages(unsigned int *array_size)
> >> +{
> >> + static unsigned long __initdata bad_pages[] = {
> >> + 0xfeffc000,
> >> + 0xfeffd000,
> >> + 0xfeffe000,
> >> + 0xfefff000,
> >
> > This values shouldn't be hardcoded. IMHO it would also be good to
> > place all the vixen_ helpers in a single file.
>
> Ack on moving to a helper.
>
> I don't know of a way to call the hypervisor to ask "what's the
> special page range?". I can find special pages via the hvm get
> parameters calls but there's no guarantee they are contiguous so the
> resulting code to punch holes in the e820 because fairly complex. Any
> ideas how to do this nicely?
I've done something similar for the shim, but the values in the
bag_pages array are dynamic:
http://xenbits.xen.org/gitweb/?p=people/liuw/xen.git;a=commit;h=d5a72acaa2ced1bd66a1ef1ef7a4a1bda43a9df3
Also, why do you need to add 4 GFNs to the list of bad pages? Just
adding the console/xenstore pages to the e820 and to the list of bad
pages should be enough.
It's a nit at this stage, but I again think vixen related code should
live in a separate file instead of polluting x86/mm.c
Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |