[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 19/20] libxl/pvhv2: Include APIC page in MMIO hole for PVHv2 guests
On 07/07/2016 12:47 PM, Wei Liu wrote: > On Tue, Jul 05, 2016 at 03:05:18PM -0400, Boris Ostrovsky wrote: >> >> @@ -1006,10 +1009,21 @@ int libxl__build_hvm(libxl__gc *gc, uint32_t domid, >> dom->target_pages = mem_size >> XC_PAGE_SHIFT; >> if (dom->mmio_size == 0 && device_model) >> dom->mmio_size = HVM_BELOW_4G_MMIO_LENGTH; >> - else if (dom->mmio_size == 0 && !device_model) >> - dom->mmio_size = GB(4) - >> - ((X86_HVM_END_SPECIAL_REGION - X86_HVM_NR_SPECIAL_PAGES) >> - << XC_PAGE_SHIFT); >> + else if (dom->mmio_size == 0 && !device_model) { >> +#if defined(__i386__) || defined(__x86_64__) >> + if (libxl_defbool_val(info->u.hvm.apic)) { >> + /* Make sure LAPIC_BASE_ADDRESS is below special pages */ >> + assert(((((X86_HVM_END_SPECIAL_REGION - >> X86_HVM_NR_SPECIAL_PAGES) >> + << XC_PAGE_SHIFT) - LAPIC_BASE_ADDRESS)) >= >> XC_PAGE_SIZE); >> + dom->mmio_size = GB(4) - LAPIC_BASE_ADDRESS; >> + } else >> + dom->mmio_size = GB(4) - >> + ((X86_HVM_END_SPECIAL_REGION - X86_HVM_NR_SPECIAL_PAGES) >> + << XC_PAGE_SHIFT); >> +#else >> + assert(1); > This looks a bit odd. Do you want to avoid "if {}" (nothing in braces)? > > If this branch doesn't nothing on ARM, maybe you can just do > > #if defined(x86) > else if () { > } > #endif > > ? Sure, I could do that. I was trying to flag a case on ARM when we show up here without device model. Which (the flagging) we haven't done before so perhaps it's not needed. -boris > >> +#endif >> + } >> lowmem_end = mem_size; >> highmem_end = 0; >> mmio_start = (1ull << 32) - dom->mmio_size; >> -- >> 1.7.1 >> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |