aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/smp.c
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-01-23 15:14:45 +0000
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-01-23 15:14:45 +0000
commit49964796c7682fbc937b43ee374defb94a41b101 (patch)
tree74663931efb322c0ee010e25469100970fc9c759 /xen/arch/x86/smp.c
parent7bd46b4635d552481f74cc159d3cae1b3151beec (diff)
downloadxen-49964796c7682fbc937b43ee374defb94a41b101.tar.gz
xen-49964796c7682fbc937b43ee374defb94a41b101.tar.bz2
xen-49964796c7682fbc937b43ee374defb94a41b101.zip
x86: flush_tlb_mask() should take into account specified VA to flush
on local processor. Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Diffstat (limited to 'xen/arch/x86/smp.c')
-rw-r--r--xen/arch/x86/smp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index 2d14240039..cc6739abea 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -188,7 +188,10 @@ void __flush_tlb_mask(cpumask_t mask, unsigned long va)
if ( cpu_isset(smp_processor_id(), mask) )
{
- local_flush_tlb();
+ if ( va == FLUSHVA_ALL )
+ local_flush_tlb();
+ else
+ local_flush_tlb_one(va);
cpu_clear(smp_processor_id(), mask);
}