Renames struct trapframe -> hw_trapframe (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Sat, 13 Apr 2013 01:26:08 +0000 (18:26 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Sat, 13 Apr 2013 01:26:08 +0000 (18:26 -0700)
VCPD still uses the HW TFs, instead of contexts.

kern/arch/i686/ros/trapframe.h
kern/arch/riscv/cpuinfo.c
kern/arch/riscv/entry.S
kern/arch/riscv/ros/trapframe.h
kern/arch/riscv/trap.h
kern/arch/sparc/cpuinfo.c
kern/arch/sparc/ros/trapframe.h
kern/arch/sparc/spillfill.S
kern/arch/sparc/trap.h
kern/arch/sparc/trap_entry.S

index 8b49f55..70686d8 100644 (file)
@@ -20,7 +20,7 @@ typedef struct pushregs {
        uint32_t reg_eax;
 } push_regs_t;
 
-typedef struct trapframe {
+struct hw_trapframe {
        push_regs_t tf_regs;
        uint16_t tf_gs;
        uint16_t tf_padding1;
@@ -41,10 +41,10 @@ typedef struct trapframe {
        uintptr_t tf_esp;
        uint16_t tf_ss;
        uint16_t tf_padding6;
-} trapframe_t;
+};
 
 /* Temporary aliasing */
-#define hw_trapframe trapframe
+#define trapframe hw_trapframe
 
 struct sw_trapframe {
        /* TODO */
index 81ed12a..2ca3e54 100644 (file)
@@ -9,7 +9,7 @@
 static void
 static_asserts_can_go_here()
 {
-       static_assert(SIZEOF_TRAPFRAME_T == sizeof(struct hw_trapframe));
+       static_assert(SIZEOF_HW_TRAPFRAME == sizeof(struct hw_trapframe));
 }
 
 void
index 47f7b02..46f1421 100644 (file)
@@ -122,7 +122,7 @@ trap_entry:
   # when coming from kernel, continue below its stack
   mfpcr x1, ASM_CR(PCR_SR)
   and   x1, x1, SR_PS
-  add   x2, sp, -SIZEOF_TRAPFRAME_T
+  add   x2, sp, -SIZEOF_HW_TRAPFRAME
   bnez  x1, 1f
 
   # otherwise, start at the top of the per-core stack
@@ -131,7 +131,7 @@ trap_entry:
   sll   x1, x1, LOG_REGBYTES
   add   x2, x2, x1
   LOAD  x2, 0(x2)
-  add   x2, x2, -SIZEOF_TRAPFRAME_T
+  add   x2, x2, -SIZEOF_HW_TRAPFRAME
 
 1:# save gprs
   STORE  x3,3*REGBYTES(x2)
index 34d84e2..31d011c 100644 (file)
@@ -8,17 +8,17 @@
 #include <ros/common.h>
 #include <stdint.h>
 
-typedef struct trapframe
+struct hw_trapframe
 {
   uintptr_t gpr[32];
   uintptr_t sr;
   uintptr_t epc;
   uintptr_t badvaddr;
   long cause;
-} trapframe_t;
+};
 
 /* Temporary aliasing */
-#define hw_trapframe trapframe
+#define trapframe hw_trapframe
 
 struct sw_trapframe {
        /* TODO */
index fe53eb5..cd4dfef 100644 (file)
@@ -2,9 +2,9 @@
 #define ROS_ARCH_TRAP_H
 
 #ifdef __riscv64
-# define SIZEOF_TRAPFRAME_T (36*8)
+# define SIZEOF_HW_TRAPFRAME (36*8)
 #else
-# define SIZEOF_TRAPFRAME_T (36*4)
+# define SIZEOF_HW_TRAPFRAME (36*4)
 #endif
 
 #ifndef __ASSEMBLER__
index 4cd17b7..850e684 100644 (file)
@@ -18,8 +18,8 @@
 void
 static_asserts_can_go_here()
 {
-       static_assert(SIZEOF_TRAPFRAME_T == sizeof(struct hw_trapframe));
-       static_assert(SIZEOF_TRAPFRAME_T % 8 == 0);
+       static_assert(SIZEOF_HW_TRAPFRAME == sizeof(struct hw_trapframe));
+       static_assert(SIZEOF_HW_TRAPFRAME % 8 == 0);
        static_assert(SIZEOF_KERNEL_MESSAGE_T == sizeof(kernel_message_t));
        static_assert(SIZEOF_KERNEL_MESSAGE_T % 8 == 0);
        static_assert(offsetof(env_t,scp_ctx) % 8 == 0);
index 1ea4c93..912596b 100644 (file)
@@ -8,7 +8,7 @@
 #include <ros/common.h>
 #include <stdint.h>
 
-typedef struct trapframe
+struct hw_trapframe
 {
        uint32_t gpr[32] __attribute__((aligned (8)));
        uint32_t psr;
@@ -20,10 +20,10 @@ typedef struct trapframe
        uint32_t fault_status;
        uint32_t fault_addr;
        uint64_t timestamp;
-} trapframe_t;
+};
 
 /* Temporary aliasing */
-#define hw_trapframe trapframe
+#define trapframe hw_trapframe
 
 struct sw_trapframe {
        /* TODO */
index 5e18294..f03527d 100644 (file)
@@ -9,7 +9,7 @@
        sll     %l1,2,%l1; \
        set     core_stacktops,%l2; \
        ld      [%l2 + %l1],%l1; \
-       set     SIZEOF_TRAPFRAME_T + 64,%l2; \
+       set     SIZEOF_HW_TRAPFRAME + 64,%l2; \
        sub     %l1,%l2,%fp
 
 ! preconditions:
index f8661a6..cf24215 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef ROS_INC_ARCH_TRAP_H
 #define ROS_INC_ARCH_TRAP_H
 
-#define SIZEOF_TRAPFRAME_T     0xA8
+#define SIZEOF_HW_TRAPFRAME    0xA8
 #define SIZEOF_KERNEL_MESSAGE_T        0x20
 
 #ifndef __ASSEMBLER__
@@ -22,7 +22,7 @@
  * space. */
 uintptr_t core_stacktops[MAX_NUM_CPUS];
 
-/* the struct trapframe and friends are in ros/arch/trapframe.h */
+/* the struct hw_trapframe and friends are in ros/arch/trapframe.h */
 
 void data_access_exception(struct hw_trapframe *state);
 void real_fp_exception(struct hw_trapframe *state, ancillary_state_t *astate);
@@ -42,7 +42,7 @@ static inline bool in_kernel(struct hw_trapframe *hw_tf)
 static inline void __attribute__((always_inline))
 set_stack_pointer(uintptr_t sp)
 {
-       sp = sp - SIZEOF_TRAPFRAME_T;
+       sp = sp - SIZEOF_HW_TRAPFRAME;
        asm volatile("mov %0,%%sp" : : "r"(sp));
 }
 
index 702f32c..3ff0363 100644 (file)
@@ -64,13 +64,13 @@ handle_trap:
         mov    %l1,%l5
 
        // Trap came from kernel.  Spill a window if necessary.
-       SAVE_MINIMAL_TF(%fp-SIZEOF_TRAPFRAME_T)
+       SAVE_MINIMAL_TF(%fp-SIZEOF_HW_TRAPFRAME)
        mov     %tbr,%g1
        restore
        save
 
        // Set up stack, save state, call handler
-       sub     %fp,96+SIZEOF_TRAPFRAME_T,%sp
+       sub     %fp,96+SIZEOF_HW_TRAPFRAME,%sp
 
        // Save full trap frame if this was a synchronous exception (=> bug!!)
        and     %g1,0xF00,%g1
@@ -99,7 +99,7 @@ handle_trap:
        sll     %l1,2,%l1
        set     core_stacktops,%l2
        ld      [%l2 + %l1],%l1
-       set     SIZEOF_TRAPFRAME_T,%l2
+       set     SIZEOF_HW_TRAPFRAME,%l2
        sub     %l1,%l2,%l1
 
        SAVE_MINIMAL_TF(%l1)
@@ -173,7 +173,7 @@ env_pop_tf:
        RESTORE_MINIMAL_TF(%o0)
 
        // save_rest_of_tf saves what SAVE_MINIMAL_TF doesn't.
-       // o0: destination trapframe_t*
+       // o0: destination struct hw_trapframe*
 save_rest_of_tf:
 
        mov     %wim,%o4