[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86 vtd: Do not exclude freed percpu areas from dom0 vtd tables.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1240643954 -3600 # Node ID 7809e0941b38829de084e5e19a04dffc21aa4bea # Parent ce273aa880e50beb3afc04c93b936dcf22d93629 x86 vtd: Do not exclude freed percpu areas from dom0 vtd tables. Signed-off-by: Qing He <qing.he@xxxxxxxxx> Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx> --- xen/arch/x86/setup.c | 6 +++--- xen/arch/x86/tboot.c | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff -r ce273aa880e5 -r 7809e0941b38 xen/arch/x86/setup.c --- a/xen/arch/x86/setup.c Fri Apr 24 17:51:56 2009 +0100 +++ b/xen/arch/x86/setup.c Sat Apr 25 08:19:14 2009 +0100 @@ -1124,8 +1124,7 @@ int xen_in_range(paddr_t start, paddr_t /* initialize first time */ if ( !xen_regions[0].s ) { - extern char __init_begin[], __per_cpu_start[], __per_cpu_end[], - __bss_start[]; + extern char __init_begin[], __bss_start[]; extern unsigned long allocator_bitmap_end; /* S3 resume code (and other real mode trampoline code) */ @@ -1136,7 +1135,8 @@ int xen_in_range(paddr_t start, paddr_t xen_regions[1].e = __pa(&__init_begin); /* per-cpu data */ xen_regions[2].s = __pa(&__per_cpu_start); - xen_regions[2].e = __pa(&__per_cpu_end); + xen_regions[2].e = xen_regions[2].s + + (((paddr_t)last_cpu(cpu_possible_map) + 1) << PERCPU_SHIFT); /* bss + boot allocator bitmap */ xen_regions[3].s = __pa(&__bss_start); xen_regions[3].e = allocator_bitmap_end; diff -r ce273aa880e5 -r 7809e0941b38 xen/arch/x86/tboot.c --- a/xen/arch/x86/tboot.c Fri Apr 24 17:51:56 2009 +0100 +++ b/xen/arch/x86/tboot.c Sat Apr 25 08:19:14 2009 +0100 @@ -46,7 +46,7 @@ static uint64_t sinit_base, sinit_size; #define TXTCR_HEAP_BASE 0x0300 #define TXTCR_HEAP_SIZE 0x0308 -extern char __init_begin[], __per_cpu_start[], __per_cpu_end[], __bss_start[]; +extern char __init_begin[], __per_cpu_start[], __bss_start[]; extern unsigned long allocator_bitmap_end; #define SHA1_SIZE 20 @@ -310,8 +310,9 @@ void tboot_shutdown(uint32_t shutdown_ty __pa(&_stext); /* per-cpu data */ g_tboot_shared->mac_regions[2].start = (uint64_t)__pa(&__per_cpu_start); - g_tboot_shared->mac_regions[2].size = __pa(&__per_cpu_end) - - __pa(&__per_cpu_start); + g_tboot_shared->mac_regions[2].size = + g_tboot_shared->mac_regions[2].start + + (((uint64_t)last_cpu(cpu_possible_map) + 1) << PERCPU_SHIFT); /* bss */ g_tboot_shared->mac_regions[3].start = (uint64_t)__pa(&__bss_start); g_tboot_shared->mac_regions[3].size = __pa(&_end) - __pa(&__bss_start); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |