diff options
Diffstat (limited to 'xen/arch/ia64/regionreg.c')
-rw-r--r-- | xen/arch/ia64/regionreg.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/xen/arch/ia64/regionreg.c b/xen/arch/ia64/regionreg.c index 6653d4b6a8..a40d0098e3 100644 --- a/xen/arch/ia64/regionreg.c +++ b/xen/arch/ia64/regionreg.c @@ -274,6 +274,7 @@ int set_one_rr(unsigned long rr, unsigned long val) return 0; } +#ifdef CONFIG_VTI memrrv.rrval = rrv.rrval; if (rreg == 7) { newrrv.rid = newrid; @@ -290,6 +291,15 @@ int set_one_rr(unsigned long rr, unsigned long val) if (rreg == 0) v->arch.metaphysical_saved_rr0 = newrrv.rrval; set_rr(rr,newrrv.rrval); } +#else + memrrv.rrval = rrv.rrval; + newrrv.rid = newrid; + newrrv.ve = 1; // VHPT now enabled for region 7!! + newrrv.ps = PAGE_SHIFT; + if (rreg == 0) v->arch.metaphysical_saved_rr0 = newrrv.rrval; + if (rreg == 7) ia64_new_rr7(vmMangleRID(newrrv.rrval),v->vcpu_info); + else set_rr(rr,newrrv.rrval); +#endif return 1; } |