*/
 struct thread_info;
 struct trap_per_cpu {
-/* D-cache line 1 */
+/* D-cache line 1: Basic thread information */
        struct thread_info      *thread;
        unsigned long           pgd_paddr;
        unsigned long           __pad1[2];
 
-/* D-cache line 2 */
-       unsigned long           __pad2[4];
+/* D-cache line 2: Sun4V Mondo Queue pointers */
+       unsigned long           cpu_mondo_pa;
+       unsigned long           dev_mondo_pa;
+       unsigned long           resum_mondo_pa;
+       unsigned long           nonresum_mondo_pa;
 
-/* Dcache lines 3 and 4 */
+/* Dcache lines 3 and 4: Hypervisor Fault Status */
        struct hv_fault_status  fault_info;
 } __attribute__((aligned(64)));
 extern struct trap_per_cpu trap_block[NR_CPUS];
 
 #endif /* !(__ASSEMBLY__) */
 
-#define TRAP_PER_CPU_THREAD    0x00
-#define TRAP_PER_CPU_PGD_PADDR 0x08
-#define TRAP_PER_CPU_FAULT_INFO        0x20
+#define TRAP_PER_CPU_THREAD            0x00
+#define TRAP_PER_CPU_PGD_PADDR         0x08
+#define TRAP_PER_CPU_CPU_MONDO_PA      0x20
+#define TRAP_PER_CPU_DEV_MONDO_PA      0x28
+#define TRAP_PER_CPU_RESUM_MONDO_PA    0x30
+#define TRAP_PER_CPU_NONRESUM_MONDO_PA 0x38
+#define TRAP_PER_CPU_FAULT_INFO                0x40
 
-#define TRAP_BLOCK_SZ_SHIFT    7
+#define TRAP_BLOCK_SZ_SHIFT            7
 
 #include <asm/scratchpad.h>