[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] [xenppc-unstable] [POWERPC][XEN] implement the UP side of __flush_tlb_mask()
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |