aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/tboot.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-05-18 15:13:45 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-05-18 15:13:45 +0100
commit00c51c29c14611cdb4164fc64e89b6e7ad6c1df2 (patch)
tree4c4462e5d66a0bc71b12f669a3a3c9a17c682b1d /xen/arch/x86/tboot.c
parentc12bbde846af61d1b8441da6c627181ccbc7a157 (diff)
downloadxen-00c51c29c14611cdb4164fc64e89b6e7ad6c1df2.tar.gz
xen-00c51c29c14611cdb4164fc64e89b6e7ad6c1df2.tar.bz2
xen-00c51c29c14611cdb4164fc64e89b6e7ad6c1df2.zip
x86: Dynamically allocate percpu data area when a CPU comes online.
At the same time, the data area starts life zeroed. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/tboot.c')
-rw-r--r--xen/arch/x86/tboot.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index 9cbed0b09f..63aba56820 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -357,7 +357,7 @@ void tboot_shutdown(uint32_t shutdown_type)
/*
* Xen regions for tboot to MAC
*/
- g_tboot_shared->num_mac_regions = 4;
+ g_tboot_shared->num_mac_regions = 3;
/* S3 resume code (and other real mode trampoline code) */
g_tboot_shared->mac_regions[0].start = bootsym_phys(trampoline_start);
g_tboot_shared->mac_regions[0].size = bootsym_phys(trampoline_end) -
@@ -366,13 +366,9 @@ void tboot_shutdown(uint32_t shutdown_type)
g_tboot_shared->mac_regions[1].start = (uint64_t)__pa(&_stext);
g_tboot_shared->mac_regions[1].size = __pa(&__init_begin) -
__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 =
- (((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);
+ g_tboot_shared->mac_regions[2].start = (uint64_t)__pa(&__bss_start);
+ g_tboot_shared->mac_regions[2].size = __pa(&_end) - __pa(&__bss_start);
/*
* MAC domains and other Xen memory