# HG changeset patch
# User Jimi Xenidis <[EMAIL PROTECTED]>
# Node ID 28adc79fe774f9811e7f98f225327d777664be6a
# Parent  c2f25eb27f246a16df21367fad993ee91732f680
[LINUX][XEN][POWERPC] Use Domain Foreign Map

This patch allows for the SLB logic to recognize the Domain Foreign
Map and insert SLBs for it.  The base is currently hard-coded in but
the logic is disabled by default and only turned on when needed by
replacing a branch with a NOP.

Signed-off-by: Jimi Xenidis <[EMAIL PROTECTED]>
---
 arch/powerpc/mm/slb_low.S |   17 +++++++++++++++++
 1 files changed, 17 insertions(+)

diff -r c2f25eb27f24 -r 28adc79fe774 arch/powerpc/mm/slb_low.S
--- a/arch/powerpc/mm/slb_low.S Sat Oct 07 17:57:56 2006 -0400
+++ b/arch/powerpc/mm/slb_low.S Sun Oct 08 12:21:35 2006 -0400
@@ -52,6 +52,23 @@ _GLOBAL(slb_allocate_realmode)
        */
        bne     cr7,1f
 
+#ifdef CONFIG_PPC_XEN
+_GLOBAL(slb_miss_kernel_load_xen_nop)
+       b 3f
+       /* Need to check if it is in the part of our XEN Foreign Map */
+       rldicl  r9,r3,30,63             /* get Xen region */
+       cmpldi  cr7,r9,1                /* cmp this bit set to 1 */
+       bne     cr7,3f
+       /* Xen Linear mapping encoding bits, the "li" instruction below
+        * could be patched below (like the other pages of the linear map)
+        * if we ever wish to map anything other that 4K pages in 
+        * this region, right now it is fine as zero.
+        */
+_GLOBAL(slb_miss_kernel_load_xen_linear)
+       li      r11,0
+       b       slb_finish_load
+3:
+#endif
        /* Linear mapping encoding bits, the "li" instruction below will
         * be patched by the kernel at boot
         */

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to