powerpc/mm/hash64: Map all the kernel regions in the same 0xc range
[linux-2.6-block.git] / arch / powerpc / kvm / book3s_hv_rm_xics.c
index b3f5786b20dcf33098280cdc1af37792b6182cbd..085509148d95fb2b976773056a7ee692c70a1a30 100644 (file)
@@ -144,6 +144,13 @@ static void icp_rm_set_vcpu_irq(struct kvm_vcpu *vcpu,
                return;
        }
 
+       if (xive_enabled() && kvmhv_on_pseries()) {
+               /* No XICS access or hypercalls available, too hard */
+               this_icp->rm_action |= XICS_RM_KICK_VCPU;
+               this_icp->rm_kick_target = vcpu;
+               return;
+       }
+
        /*
         * Check if the core is loaded,
         * if not, find an available host core to post to wake the VCPU,
@@ -815,7 +822,7 @@ static inline void this_cpu_inc_rm(unsigned int __percpu *addr)
        raddr = per_cpu_ptr(addr, cpu);
        l = (unsigned long)raddr;
 
-       if (REGION_ID(l) == VMALLOC_REGION_ID) {
+       if (get_region_id(l) == VMALLOC_REGION_ID) {
                l = vmalloc_to_phys(raddr);
                raddr = (unsigned int *)l;
        }