aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>2006-12-18 09:48:23 -0700
committerawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>2006-12-18 09:48:23 -0700
commitd16bdf4c1d2dd5b3b88a6f45e4ba0d5fcc13259c (patch)
tree3a44c121930a3d8940571728b5077ed42abeb7c7
parenteb1dd8990077474f7541fc52a02d515fabe051ab (diff)
downloadxen-d16bdf4c1d2dd5b3b88a6f45e4ba0d5fcc13259c.tar.gz
xen-d16bdf4c1d2dd5b3b88a6f45e4ba0d5fcc13259c.tar.bz2
xen-d16bdf4c1d2dd5b3b88a6f45e4ba0d5fcc13259c.zip
[IA64] Reflect general exceptions
General exceptions in the domU with isr.code > 0x20 are now reflected to the domU. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
-rw-r--r--xen/arch/ia64/xen/faults.c3
-rw-r--r--xen/arch/ia64/xen/ivt.S2
2 files changed, 5 insertions, 0 deletions
diff --git a/xen/arch/ia64/xen/faults.c b/xen/arch/ia64/xen/faults.c
index 741800fa70..3c8741a1e6 100644
--- a/xen/arch/ia64/xen/faults.c
+++ b/xen/arch/ia64/xen/faults.c
@@ -605,6 +605,9 @@ ia64_handle_reflection(unsigned long ifa, struct pt_regs *regs,
check_lazy_cover = 1;
vector = IA64_DATA_ACCESS_RIGHTS_VECTOR;
break;
+ case 24:
+ vector = IA64_GENEX_VECTOR;
+ break;
case 25:
vector = IA64_DISABLED_FPREG_VECTOR;
break;
diff --git a/xen/arch/ia64/xen/ivt.S b/xen/arch/ia64/xen/ivt.S
index 04b00c4112..4eec37f89a 100644
--- a/xen/arch/ia64/xen/ivt.S
+++ b/xen/arch/ia64/xen/ivt.S
@@ -1737,6 +1737,8 @@ ENTRY(general_exception)
#ifdef XEN
cmp4.ge p6,p0=0x20,r16
(p6) br.sptk.many dispatch_privop_fault
+ ;;
+ FAULT_OR_REFLECT(24)
#else
cmp4.eq p6,p0=0,r16
(p6) br.sptk.many dispatch_illegal_op_fault