[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Remove GLOBAL_VHPT



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1180633214 21600
# Node ID 33c3dbc8ab3d245fe4bdc4b9f21aa43a9a71c963
# Parent  7476a0ea8ee4d21c083718d634d482e65ddb25ae
[IA64] Remove GLOBAL_VHPT

It was always defined.

Signed-off-by: Tristan Gingold <tgingold@xxxxxxx>
---
 xen/arch/ia64/xen/fw_emul.c   |   18 +----------------
 xen/arch/ia64/xen/ivt.S       |   44 ------------------------------------------
 xen/arch/ia64/xen/vcpu.c      |    2 -
 xen/include/asm-ia64/config.h |    2 -
 4 files changed, 2 insertions(+), 64 deletions(-)

diff -r 7476a0ea8ee4 -r 33c3dbc8ab3d xen/arch/ia64/xen/fw_emul.c
--- a/xen/arch/ia64/xen/fw_emul.c       Thu May 31 11:37:38 2007 -0600
+++ b/xen/arch/ia64/xen/fw_emul.c       Thu May 31 11:40:14 2007 -0600
@@ -559,13 +559,8 @@ xen_pal_emulator(unsigned long index, u6
                                   .hash_tag_id = 0x30,
                                   .max_dtr_entry = NDTRS - 1,
                                   .max_itr_entry = NITRS - 1,
-#ifdef VHPT_GLOBAL
                                   .max_unique_tcs = 3,
                                   .num_tc_levels = 2
-#else
-                                  .max_unique_tcs = 2,
-                                  .num_tc_levels = 1
-#endif
                                 }};
                        pal_vm_info_2_u_t v2;
                        v2.pvi2_val = 0;
@@ -583,7 +578,6 @@ xen_pal_emulator(unsigned long index, u6
                                                  (pal_tc_info_u_t *)&r9, &r10);
                        break;
                }
-#ifdef VHPT_GLOBAL
                if (in1 == 0 && in2 == 2) {
                        /* Level 1: VHPT  */
                        const pal_tc_info_u_t v =
@@ -599,16 +593,8 @@ xen_pal_emulator(unsigned long index, u6
                        r10 = PAGE_SIZE;
                        status = PAL_STATUS_SUCCESS;
                }
-#endif
-               else if (
-#ifdef VHPT_GLOBAL 
-                       in1 == 1 /* Level 2. */
-#else
-                       in1 == 0 /* Level 1. */
-#endif
-                        && (in2 == 1 || in2 == 2))
-               {
-                       /* itlb/dtlb, 1 entry.  */
+               else if (in1 == 1 && (in2 == 1 || in2 == 2)) {
+                       /* Level 2: itlb/dtlb, 1 entry.  */
                        const pal_tc_info_u_t v =
                                { .pal_tc_info_s = {.num_sets = 1,
                                                    .associativity = 1,
diff -r 7476a0ea8ee4 -r 33c3dbc8ab3d xen/arch/ia64/xen/ivt.S
--- a/xen/arch/ia64/xen/ivt.S   Thu May 31 11:37:38 2007 -0600
+++ b/xen/arch/ia64/xen/ivt.S   Thu May 31 11:40:14 2007 -0600
@@ -126,48 +126,8 @@ ENTRY(itlb_miss)
        ;;
        mov pr = r31, 0x1ffff
        ;;                                                      
-#ifdef VHPT_GLOBAL
        br.cond.sptk fast_tlb_miss_reflect
        ;;
-#endif
-       /*
-        * The ITLB handler accesses the L3 PTE via the virtually mapped linear
-        * page table.  If a nested TLB miss occurs, we switch into physical
-        * mode, walk the page table, and then re-execute the L3 PTE read
-        * and go on normally after that.
-        */
-       mov r16=cr.ifa                          // get virtual address
-       mov r29=b0                              // save b0
-       mov r31=pr                              // save predicates
-.itlb_fault:
-       mov r17=cr.iha                          // get virtual address of L3 PTE
-       movl r30=1f                             // load nested fault 
-                                               //   continuation point
-       ;;
-1:     ld8 r18=[r17]                           // read L3 PTE
-       ;;
-       mov b0=r29
-       tbit.z p6,p0=r18,_PAGE_P_BIT            // page present bit cleared?
-(p6)   br.cond.spnt page_fault
-       ;;
-       itc.i r18
-       ;;
-#ifdef CONFIG_SMP
-       /*
-        * Tell the assemblers dependency-violation checker that the above
-        * "itc" instructions cannot possibly affect the following loads:
-        */
-       dv_serialize_data
-
-       ld8 r19=[r17]                   // read L3 PTE again and see if same
-       mov r20=PAGE_SHIFT<<2           // setup page size for purge
-       ;;
-       cmp.ne p7,p0=r18,r19
-       ;;
-(p7)   ptc.l r16,r20
-#endif
-       mov pr=r31,-1
-       rfi
 END(itlb_miss)
 
        .org ia64_ivt+0x0800
@@ -242,12 +202,8 @@ 1:
 
 2:
 #endif 
-#ifdef VHPT_GLOBAL
-//     br.cond.sptk page_fault
        br.cond.sptk fast_tlb_miss_reflect
        ;;
-#endif
-       mov r29=b0                              // save b0
 dtlb_fault:
        mov r17=cr.iha                          // get virtual address of L3 PTE
        movl r30=1f                             // load nested fault 
diff -r 7476a0ea8ee4 -r 33c3dbc8ab3d xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Thu May 31 11:37:38 2007 -0600
+++ b/xen/arch/ia64/xen/vcpu.c  Thu May 31 11:40:14 2007 -0600
@@ -2222,7 +2222,6 @@ vcpu_itc_no_srlz(VCPU * vcpu, u64 IorD, 
        ia64_itc(IorD, vaddr, pte, ps); // FIXME: look for bigger mappings
        ia64_set_psr(psr);
        // ia64_srlz_i(); // no srls req'd, will rfi later
-#ifdef VHPT_GLOBAL
        if (vcpu->domain == dom0 && ((vaddr >> 61) == 7)) {
                // FIXME: this is dangerous... vhpt_flush_address ensures these
                // addresses never get flushed.  More work needed if this
@@ -2237,7 +2236,6 @@ vcpu_itc_no_srlz(VCPU * vcpu, u64 IorD, 
        // PAGE_SIZE mapping in the vhpt for now, else purging is complicated
        else
                vhpt_insert(vaddr, pte, PAGE_SHIFT << 2);
-#endif
 }
 
 IA64FAULT vcpu_itc_d(VCPU * vcpu, u64 pte, u64 itir, u64 ifa)
diff -r 7476a0ea8ee4 -r 33c3dbc8ab3d xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     Thu May 31 11:37:38 2007 -0600
+++ b/xen/include/asm-ia64/config.h     Thu May 31 11:40:14 2007 -0600
@@ -1,7 +1,5 @@
 #ifndef        _IA64_CONFIG_H_
 #define _IA64_CONFIG_H_
-
-#define VHPT_GLOBAL
 
 #undef DEBUG_PFMON
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.