|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] [xenppc-unstable] [POWERPC][XEN] implement the UP side of __flu
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID e30376a0abc39117f604b0f6cc7817deb3eb9079
# Parent aebee004e517fb391c1345749c71a22861ec254d
[POWERPC][XEN] implement the UP side of __flush_tlb_mask()
The SMP side will need to be done soone enough
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
xen/arch/powerpc/smp.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletion(-)
diff -r aebee004e517 -r e30376a0abc3 xen/arch/powerpc/smp.c
--- a/xen/arch/powerpc/smp.c Sat Oct 07 15:38:27 2006 -0400
+++ b/xen/arch/powerpc/smp.c Sat Oct 07 16:25:46 2006 -0400
@@ -29,7 +29,21 @@ int ht_per_core = 1;
void __flush_tlb_mask(cpumask_t mask, unsigned long addr)
{
- unimplemented();
+ if (cpu_isset(smp_processor_id(), mask)) {
+ cpu_clear(smp_processor_id(), mask);
+ if (cpus_empty(mask)) {
+ /* only local */
+ if (addr == FLUSH_ALL_ADDRS)
+ local_flush_tlb();
+ else
+ local_flush_tlb_one(addr);
+ return;
+ }
+ }
+ /* if we are still here and the mask is non-empty, then we need to
+ * flush other TLBs so we flush em all */
+ if (!cpus_empty(mask))
+ unimplemented();
}
void smp_send_event_check_mask(cpumask_t mask)
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [XenPPC] [xenppc-unstable] [POWERPC][XEN] implement the UP side of __flush_tlb_mask(),
Xen patchbot-xenppc-unstable <=
|
|
|
|
|