[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 08/01/2018 09:51, Roger Pau Monné wrote: > 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. You've got to be careful not to have the bootscrub zero the IDENT_PT. For safety, I put all of the special pages through this E820/bad cycle. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |