]> xenbits.xensource.com Git - xen.git/commitdiff
xen/arm: Introduce hsr_xabt to gather common bits between hsr_{d,i}abt
authorJulien Grall <julien.grall@arm.com>
Tue, 12 Sep 2017 10:03:15 +0000 (11:03 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Wed, 20 Sep 2017 00:25:12 +0000 (17:25 -0700)
This will allow to consolidate some part of the data abort and prefetch
abort handling in a single function later on.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
xen/include/asm-arm/processor.h

index 6d7f9505d0787eb025e535c83b86bbd8eac1e963..cd92176be7f64205232e97d7d73a408614c7cbc3 100644 (file)
@@ -613,6 +613,19 @@ union hsr {
         unsigned long ec:6;    /* Exception Class */
     } dabt; /* HSR_EC_DATA_ABORT_* */
 
+    /* Contain the common bits between DABT and IABT */
+    struct hsr_xabt {
+        unsigned long fsc:6;    /* Fault status code */
+        unsigned long pad1:1;   /* Not common */
+        unsigned long s1ptw:1;  /* Stage 2 fault during stage 1 translation */
+        unsigned long pad2:1;   /* Not common */
+        unsigned long eat:1;    /* External abort type */
+        unsigned long fnv:1;    /* FAR not Valid */
+        unsigned long pad3:14;  /* Not common */
+        unsigned long len:1;    /* Instruction length */
+        unsigned long ec:6;     /* Exception Class */
+    } xabt;
+
 #ifdef CONFIG_ARM_64
     struct hsr_brk {
         unsigned long comment:16;   /* Comment */