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

[Xen-changelog] [IA64] in_tpa is now an argument of vcpu_translate



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 405f0f847c0f33381c69a04a168f34150a2bca7d
# Parent  3b877779e9a3522d83fde9dfe5d43d16b571dc17
[IA64] in_tpa is now an argument of vcpu_translate

this makes in_tpa SMP-safe.

Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>

diff -r 3b877779e9a3 -r 405f0f847c0f xen/arch/ia64/xen/process.c
--- a/xen/arch/ia64/xen/process.c       Thu Mar  9 23:16:20 2006
+++ b/xen/arch/ia64/xen/process.c       Thu Mar  9 23:24:31 2006
@@ -280,7 +280,7 @@
                return;
        }
 
-       fault = vcpu_translate(current,address,is_data,&pteval,&itir,&iha);
+       fault = vcpu_translate(current,address,is_data,0,&pteval,&itir,&iha);
        if (fault == IA64_NO_FAULT) {
                pteval = translate_domain_pte(pteval,address,itir);
                
vcpu_itc_no_srlz(current,is_data?2:1,address,pteval,-1UL,(itir>>2)&0x3f);
diff -r 3b877779e9a3 -r 405f0f847c0f xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Thu Mar  9 23:16:20 2006
+++ b/xen/arch/ia64/xen/vcpu.c  Thu Mar  9 23:24:31 2006
@@ -5,12 +5,6 @@
  *     Dan Magenheimer (dan.magenheimer@xxxxxx)
  *
  */
-
-#if 1
-// TEMPORARY PATCH for match_dtlb uses this, can be removed later
-// FIXME SMP
-int in_tpa = 0;
-#endif
 
 #include <linux/sched.h>
 #include <public/arch-ia64.h>
@@ -1290,7 +1284,7 @@
 
 int warn_region0_address = 0; // FIXME later: tie to a boot parameter?
 
-IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address, BOOLEAN is_data, UINT64 
*pteval, UINT64 *itir, UINT64 *iha)
+IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address, BOOLEAN is_data, BOOLEAN 
in_tpa, UINT64 *pteval, UINT64 *itir, UINT64 *iha)
 {
        unsigned long region = address >> 61;
        unsigned long pta, pte, rid, rr;
@@ -1402,9 +1396,7 @@
        UINT64 pteval, itir, mask, iha;
        IA64FAULT fault;
 
-       in_tpa = 1;
-       fault = vcpu_translate(vcpu, vadr, 1, &pteval, &itir, &iha);
-       in_tpa = 0;
+       fault = vcpu_translate(vcpu, vadr, TRUE, TRUE, &pteval, &itir, &iha);
        if (fault == IA64_NO_FAULT)
        {
                mask = itir_mask(itir);
diff -r 3b877779e9a3 -r 405f0f847c0f xen/include/asm-ia64/vcpu.h
--- a/xen/include/asm-ia64/vcpu.h       Thu Mar  9 23:16:20 2006
+++ b/xen/include/asm-ia64/vcpu.h       Thu Mar  9 23:24:31 2006
@@ -140,7 +140,9 @@
 extern IA64FAULT vcpu_ptc_ga(VCPU *vcpu, UINT64 vadr, UINT64 addr_range);
 extern IA64FAULT vcpu_ptr_d(VCPU *vcpu,UINT64 vadr, UINT64 addr_range);
 extern IA64FAULT vcpu_ptr_i(VCPU *vcpu,UINT64 vadr, UINT64 addr_range);
-extern IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address, BOOLEAN is_data, 
UINT64 *pteval, UINT64 *itir, UINT64 *iha);
+extern IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address,
+                               BOOLEAN is_data, BOOLEAN in_tpa,
+                               UINT64 *pteval, UINT64 *itir, UINT64 *iha);
 extern IA64FAULT vcpu_tpa(VCPU *vcpu, UINT64 vadr, UINT64 *padr);
 extern IA64FAULT vcpu_force_data_miss(VCPU *vcpu, UINT64 ifa);
 extern IA64FAULT vcpu_fc(VCPU *vcpu, UINT64 vadr);

_______________________________________________
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®.