WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [IA64] vcpu_match_tr_entry

# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 434c8412e54ecc33124e71e4193de09df8a3c948
# Parent  0665256a7a5368f3e76366448696aeddb8643bb5
[IA64] vcpu_match_tr_entry

cpu_match_tr_entry moved from vcpu.h to vcpu.c, is now an inlined function
and its range check is fixed.

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

diff -r 0665256a7a53 -r 434c8412e54e xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Thu Mar 30 12:47:45 2006 -0700
+++ b/xen/arch/ia64/xen/vcpu.c  Fri Mar 31 14:03:07 2006 -0700
@@ -1273,6 +1273,14 @@ unsigned long recover_to_break_fault_cou
 
 int warn_region0_address = 0; // FIXME later: tie to a boot parameter?
 
+// FIXME: also need to check && (!trp->key || vcpu_pkr_match(trp->key))
+static inline int vcpu_match_tr_entry(TR_ENTRY *trp, UINT64 ifa, UINT64 rid)
+{
+       return trp->p && trp->rid == rid 
+               && ifa >= trp->vadr
+               && ifa <= (trp->vadr + (1L << trp->ps) - 1);
+}
+
 IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address, BOOLEAN is_data, BOOLEAN 
in_tpa, UINT64 *pteval, UINT64 *itir, UINT64 *iha)
 {
        unsigned long region = address >> 61;
diff -r 0665256a7a53 -r 434c8412e54e xen/include/asm-ia64/vcpu.h
--- a/xen/include/asm-ia64/vcpu.h       Thu Mar 30 12:47:45 2006 -0700
+++ b/xen/include/asm-ia64/vcpu.h       Fri Mar 31 14:03:07 2006 -0700
@@ -16,6 +16,7 @@ typedef cpu_user_regs_t REGS;
 typedef cpu_user_regs_t REGS;
 
 
+/* Note: PSCB stands for Privilegied State Communication Block.  */
 #define VCPU(_v,_x)    (_v->arch.privregs->_x)
 #define PSCB(_v,_x) VCPU(_v,_x)
 #define PSCBX(_v,_x) (_v->arch._x)
@@ -185,10 +186,5 @@ itir_mask(UINT64 itir)
 #define vcpu_quick_region_set(_tr_regions,_ifa)             \
     do {_tr_regions |= (1 << ((unsigned long)_ifa >> 61)); } while (0)
 
-// FIXME: also need to check && (!trp->key || vcpu_pkr_match(trp->key))
-#define vcpu_match_tr_entry(_trp,_ifa,_rid)             \
-    ((_trp->p && (_trp->rid==_rid) && (_ifa >= _trp->vadr) &&   \
-    (_ifa < (_trp->vadr + (1L<< _trp->ps)) - 1)))
-
 
 #endif

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [IA64] vcpu_match_tr_entry, Xen patchbot -unstable <=