[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Remove some unused VTI code segments
# HG changeset patch # User djm@xxxxxxxxxxxxxxx # Node ID 2d5c57be196d7db66157d3f820858c7acf9dbe58 # Parent b57ed8182812de2c521d791a6806e740910c460b Remove some unused VTI code segments Signed-off-by Anthony Xu <anthony.xu@xxxxxxxxx> diff -r b57ed8182812 -r 2d5c57be196d xen/arch/ia64/vmx/vmx_entry.S --- a/xen/arch/ia64/vmx/vmx_entry.S Thu Dec 15 22:09:19 2005 +++ b/xen/arch/ia64/vmx/vmx_entry.S Thu Dec 15 22:10:22 2005 @@ -373,34 +373,6 @@ br.cond.sptk b0 // call the service ;; switch_rr7: -#ifdef XEN_DBL_MAPPING -// switch rr7 and rr5 - adds r24=SWITCH_MRR5_OFFSET, r21 - adds r26=SWITCH_MRR6_OFFSET, r21 - adds r16=SWITCH_MRR7_OFFSET ,r21 - movl r25=(5<<61) - movl r27=(6<<61) - movl r17=(7<<61) - ;; - ld8 r24=[r24] - ld8 r26=[r26] - ld8 r16=[r16] - ;; - mov rr[r25]=r24 - mov rr[r27]=r26 - mov rr[r17]=r16 - ;; - srlz.i - ;; - add r24=SWITCH_MPTA_OFFSET, r21 - ;; - ld8 r24=[r24] - ;; - mov cr.pta=r24 - ;; - srlz.i - ;; -#endif // fall through GLOBAL_ENTRY(ia64_vmm_entry) /* diff -r b57ed8182812 -r 2d5c57be196d xen/arch/ia64/vmx/vmx_init.c --- a/xen/arch/ia64/vmx/vmx_init.c Thu Dec 15 22:09:19 2005 +++ b/xen/arch/ia64/vmx/vmx_init.c Thu Dec 15 22:10:22 2005 @@ -133,10 +133,6 @@ else ASSERT(tmp_base != __vsa_base); -#ifdef XEN_DBL_MAPPING - /* Init stub for rr7 switch */ - vmx_init_double_mapping_stub(); -#endif } typedef union { @@ -198,25 +194,6 @@ panic("ia64_pal_vp_create failed. \n"); } -#ifdef XEN_DBL_MAPPING -void vmx_init_double_mapping_stub(void) -{ - u64 base, psr; - extern void vmx_switch_rr7(void); - - base = (u64) &vmx_switch_rr7; - base = *((u64*)base); - - psr = ia64_clear_ic(); - ia64_itr(0x1, IA64_TR_RR7_SWITCH_STUB, XEN_RR7_SWITCH_STUB, - pte_val(pfn_pte(__pa(base) >> PAGE_SHIFT, PAGE_KERNEL)), - RR7_SWITCH_SHIFT); - ia64_set_psr(psr); - ia64_srlz_i(); - printk("Add TR mapping for rr7 switch stub, with physical: 0x%lx\n", (u64)(__pa(base))); -} -#endif - /* Other non-context related tasks can be done in context switch */ void vmx_save_state(struct vcpu *v) @@ -229,14 +206,6 @@ if (status != PAL_STATUS_SUCCESS) panic("Save vp status failed\n"); -#ifdef XEN_DBL_MAPPING - /* FIXME: Do we really need purge double mapping for old vcpu? - * Since rid is completely different between prev and next, - * it's not overlap and thus no MCA possible... */ - dom_rr7 = vmx_vrrtomrr(v, VMX(v, vrr[7])); - vmx_purge_double_mapping(dom_rr7, KERNEL_START, - (u64)v->arch.vtlb->ts->vhpt->hash); -#endif /* Need to save KR when domain switch, though HV itself doesn;t * use them. @@ -264,15 +233,6 @@ if (status != PAL_STATUS_SUCCESS) panic("Restore vp status failed\n"); -#ifdef XEN_DBL_MAPPING - dom_rr7 = vmx_vrrtomrr(v, VMX(v, vrr[7])); - pte_xen = pte_val(pfn_pte((xen_pstart >> PAGE_SHIFT), PAGE_KERNEL)); - pte_vhpt = pte_val(pfn_pte((__pa(v->arch.vtlb->ts->vhpt->hash) >> PAGE_SHIFT), PAGE_KERNEL)); - vmx_insert_double_mapping(dom_rr7, KERNEL_START, - (u64)v->arch.vtlb->ts->vhpt->hash, - pte_xen, pte_vhpt); -#endif - ia64_set_kr(0, v->arch.arch_vmx.vkr[0]); ia64_set_kr(1, v->arch.arch_vmx.vkr[1]); ia64_set_kr(2, v->arch.arch_vmx.vkr[2]); @@ -285,25 +245,6 @@ * anchored in vcpu */ } -#ifdef XEN_DBL_MAPPING -/* Purge old double mapping and insert new one, due to rr7 change */ -void -vmx_change_double_mapping(struct vcpu *v, u64 oldrr7, u64 newrr7) -{ - u64 pte_xen, pte_vhpt, vhpt_base; - - vhpt_base = (u64)v->arch.vtlb->ts->vhpt->hash; - vmx_purge_double_mapping(oldrr7, KERNEL_START, - vhpt_base); - - pte_xen = pte_val(pfn_pte((xen_pstart >> PAGE_SHIFT), PAGE_KERNEL)); - pte_vhpt = pte_val(pfn_pte((__pa(vhpt_base) >> PAGE_SHIFT), PAGE_KERNEL)); - vmx_insert_double_mapping(newrr7, KERNEL_START, - vhpt_base, - pte_xen, pte_vhpt); -} -#endif // XEN_DBL_MAPPING - /* * Initialize VMX envirenment for guest. Only the 1st vp/vcpu * is registered here. diff -r b57ed8182812 -r 2d5c57be196d xen/arch/ia64/vmx/vmx_minstate.h --- a/xen/arch/ia64/vmx/vmx_minstate.h Thu Dec 15 22:09:19 2005 +++ b/xen/arch/ia64/vmx/vmx_minstate.h Thu Dec 15 22:10:22 2005 @@ -125,31 +125,8 @@ * Note that psr.ic is NOT turned on by this macro. This is so that * we can pass interruption state as arguments to a handler. */ -#ifdef XEN_DBL_MAPPING -#define SAVE_MIN_CHANGE_RR \ -/* switch rr7 */ \ - movl r16=((ia64_rid(IA64_REGION_ID_KERNEL, (7<<61)) << 8) | (IA64_GRANULE_SHIFT << 2)); \ - movl r17=(7<<61); \ - movl r20=((ia64_rid(IA64_REGION_ID_KERNEL, (6<<61)) << 8) | (IA64_GRANULE_SHIFT << 2)); \ - movl r22=(6<<61); \ - movl r18=((ia64_rid(IA64_REGION_ID_KERNEL, (5<<61)) << 8) | (PAGE_SHIFT << 2) | 1); \ - movl r23=(5<<61); \ - ;; \ - mov rr[r17]=r16; \ - mov rr[r22]=r20; \ - mov rr[r23]=r18; \ - ;; \ - srlz.i; \ - ;; - -#else - -#define SAVE_MIN_CHANGE_RR - -#endif #define VMX_DO_SAVE_MIN(COVER,SAVE_IFS,EXTRA) \ - SAVE_MIN_CHANGE_RR; \ VMX_MINSTATE_GET_CURRENT(r16); /* M (or M;;I) */ \ mov r27=ar.rsc; /* M */ \ mov r20=r1; /* A */ \ diff -r b57ed8182812 -r 2d5c57be196d xen/arch/ia64/vmx/vmx_phy_mode.c --- a/xen/arch/ia64/vmx/vmx_phy_mode.c Thu Dec 15 22:09:19 2005 +++ b/xen/arch/ia64/vmx/vmx_phy_mode.c Thu Dec 15 22:10:22 2005 @@ -260,7 +260,6 @@ vmx_vrrtomrr(vcpu, VMX(vcpu, vrr[VRN4]))); } -#if 1 /* rr567 will be postponed to last point when resuming back to guest */ ia64_set_rr((VRN1 << VRN_SHIFT), vmx_vrrtomrr(vcpu, VMX(vcpu, vrr[VRN1]))); @@ -268,18 +267,15 @@ vmx_vrrtomrr(vcpu, VMX(vcpu, vrr[VRN2]))); ia64_set_rr((VRN3 << VRN_SHIFT), vmx_vrrtomrr(vcpu, VMX(vcpu, vrr[VRN3]))); -#endif -#ifndef XEN_DBL_MAPPING - extern void * pal_vaddr; ia64_set_rr((VRN5 << VRN_SHIFT), vmx_vrrtomrr(vcpu, VMX(vcpu, vrr[VRN5]))); ia64_set_rr((VRN6 << VRN_SHIFT), vmx_vrrtomrr(vcpu, VMX(vcpu, vrr[VRN6]))); + extern void * pal_vaddr; vmx_switch_rr7(vmx_vrrtomrr(vcpu,VMX(vcpu, vrr[VRN7])),(void *)vcpu->domain->shared_info, (void *)vcpu->arch.privregs, ( void *)vcpu->arch.vtlb->ts->vhpt->hash, pal_vaddr ); ia64_set_pta(vcpu->arch.arch_vmx.mpta); -#endif ia64_srlz_d(); ia64_set_psr(psr); diff -r b57ed8182812 -r 2d5c57be196d xen/arch/ia64/vmx/vmx_vcpu.c --- a/xen/arch/ia64/vmx/vmx_vcpu.c Thu Dec 15 22:09:19 2005 +++ b/xen/arch/ia64/vmx/vmx_vcpu.c Thu Dec 15 22:10:22 2005 @@ -227,27 +227,11 @@ VMX(vcpu,vrr[reg>>61]) = val; switch((u64)(reg>>61)) { -#ifdef XEN_DBL_MAPPING - case VRN5: - VMX(vcpu,mrr5)=vmx_vrrtomrr(vcpu,val); - break; - case VRN6: - VMX(vcpu,mrr6)=vmx_vrrtomrr(vcpu,val); - break; - case VRN7: - VMX(vcpu,mrr7)=vmx_vrrtomrr(vcpu,val); - /* Change double mapping for this domain */ - vmx_change_double_mapping(vcpu, - vmx_vrrtomrr(vcpu,oldrr.rrval), - vmx_vrrtomrr(vcpu,newrr.rrval)); - break; -#else case VRN7: vmx_switch_rr7(vmx_vrrtomrr(vcpu,val),vcpu->domain->shared_info, (void *)vcpu->arch.privregs, ( void *)vcpu->arch.vtlb->ts->vhpt->hash, pal_vaddr ); break; -#endif default: ia64_set_rr(reg,vmx_vrrtomrr(vcpu,val)); break; diff -r b57ed8182812 -r 2d5c57be196d xen/include/asm-ia64/vmx.h --- a/xen/include/asm-ia64/vmx.h Thu Dec 15 22:09:19 2005 +++ b/xen/include/asm-ia64/vmx.h Thu Dec 15 22:10:22 2005 @@ -32,13 +32,6 @@ extern void vmx_save_state(struct vcpu *v); extern void vmx_load_state(struct vcpu *v); extern void vmx_setup_platform(struct domain *d, struct vcpu_guest_context *c); -#ifdef XEN_DBL_MAPPING -extern vmx_insert_double_mapping(u64,u64,u64,u64,u64); -extern void vmx_purge_double_mapping(u64, u64, u64); -extern void vmx_change_double_mapping(struct vcpu *v, u64 oldrr7, u64 newrr7); -extern void vmx_init_double_mapping_stub(void); -#endif - extern void vmx_wait_io(void); extern void vmx_io_assist(struct vcpu *v); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |