#ifndef __ASM_OFFSETS_H__
#define __ASM_OFFSETS_H__
/*
 * DO NOT MODIFY.
 *
 * This file was generated by Kbuild
 *
 */

/* MIPS pt_regs offsets. */
#define PT_R0 0 /* offsetof(struct pt_regs, regs[0])	 # */
#define PT_R1 8 /* offsetof(struct pt_regs, regs[1])	 # */
#define PT_R2 16 /* offsetof(struct pt_regs, regs[2])	 # */
#define PT_R3 24 /* offsetof(struct pt_regs, regs[3])	 # */
#define PT_R4 32 /* offsetof(struct pt_regs, regs[4])	 # */
#define PT_R5 40 /* offsetof(struct pt_regs, regs[5])	 # */
#define PT_R6 48 /* offsetof(struct pt_regs, regs[6])	 # */
#define PT_R7 56 /* offsetof(struct pt_regs, regs[7])	 # */
#define PT_R8 64 /* offsetof(struct pt_regs, regs[8])	 # */
#define PT_R9 72 /* offsetof(struct pt_regs, regs[9])	 # */
#define PT_R10 80 /* offsetof(struct pt_regs, regs[10])	 # */
#define PT_R11 88 /* offsetof(struct pt_regs, regs[11])	 # */
#define PT_R12 96 /* offsetof(struct pt_regs, regs[12])	 # */
#define PT_R13 104 /* offsetof(struct pt_regs, regs[13])	 # */
#define PT_R14 112 /* offsetof(struct pt_regs, regs[14])	 # */
#define PT_R15 120 /* offsetof(struct pt_regs, regs[15])	 # */
#define PT_R16 128 /* offsetof(struct pt_regs, regs[16])	 # */
#define PT_R17 136 /* offsetof(struct pt_regs, regs[17])	 # */
#define PT_R18 144 /* offsetof(struct pt_regs, regs[18])	 # */
#define PT_R19 152 /* offsetof(struct pt_regs, regs[19])	 # */
#define PT_R20 160 /* offsetof(struct pt_regs, regs[20])	 # */
#define PT_R21 168 /* offsetof(struct pt_regs, regs[21])	 # */
#define PT_R22 176 /* offsetof(struct pt_regs, regs[22])	 # */
#define PT_R23 184 /* offsetof(struct pt_regs, regs[23])	 # */
#define PT_R24 192 /* offsetof(struct pt_regs, regs[24])	 # */
#define PT_R25 200 /* offsetof(struct pt_regs, regs[25])	 # */
#define PT_R26 208 /* offsetof(struct pt_regs, regs[26])	 # */
#define PT_R27 216 /* offsetof(struct pt_regs, regs[27])	 # */
#define PT_R28 224 /* offsetof(struct pt_regs, regs[28])	 # */
#define PT_R29 232 /* offsetof(struct pt_regs, regs[29])	 # */
#define PT_R30 240 /* offsetof(struct pt_regs, regs[30])	 # */
#define PT_R31 248 /* offsetof(struct pt_regs, regs[31])	 # */
#define PT_LO 272 /* offsetof(struct pt_regs, lo)	 # */
#define PT_HI 264 /* offsetof(struct pt_regs, hi)	 # */
#define PT_EPC 296 /* offsetof(struct pt_regs, cp0_epc)	 # */
#define PT_BVADDR 280 /* offsetof(struct pt_regs, cp0_badvaddr)	 # */
#define PT_STATUS 256 /* offsetof(struct pt_regs, cp0_status)	 # */
#define PT_CAUSE 288 /* offsetof(struct pt_regs, cp0_cause)	 # */
#define PT_MPL 304 /* offsetof(struct pt_regs, mpl)	 # */
#define PT_MTP 328 /* offsetof(struct pt_regs, mtp)	 # */
#define PT_SIZE 352 /* sizeof(struct pt_regs)	 # */

/* MIPS task_struct offsets. */
#define TASK_STATE 0 /* offsetof(struct task_struct, state)	 # */
#define TASK_THREAD_INFO 8 /* offsetof(struct task_struct, stack)	 # */
#define TASK_FLAGS 20 /* offsetof(struct task_struct, flags)	 # */
#define TASK_MM 544 /* offsetof(struct task_struct, mm)	 # */
#define TASK_PID 656 /* offsetof(struct task_struct, pid)	 # */
#define TASK_STRUCT_SIZE 2944 /* sizeof(struct task_struct)	 # */

/* MIPS thread_info offsets. */
#define TI_TASK 0 /* offsetof(struct thread_info, task)	 # */
#define TI_EXEC_DOMAIN 8 /* offsetof(struct thread_info, exec_domain)	 # */
#define TI_FLAGS 16 /* offsetof(struct thread_info, flags)	 # */
#define TI_TP_VALUE 24 /* offsetof(struct thread_info, tp_value)	 # */
#define TI_CPU 32 /* offsetof(struct thread_info, cpu)	 # */
#define TI_PRE_COUNT 36 /* offsetof(struct thread_info, preempt_count)	 # */
#define TI_ADDR_LIMIT 40 /* offsetof(struct thread_info, addr_limit)	 # */
#define TI_RESTART_BLOCK 48 /* offsetof(struct thread_info, restart_block)	 # */
#define TI_REGS 96 /* offsetof(struct thread_info, regs)	 # */
#define _THREAD_SIZE 16384 /* THREAD_SIZE	 # */
#define _THREAD_MASK 16383 /* THREAD_MASK	 # */

/* MIPS specific thread_struct offsets. */
#define THREAD_REG16 1152 /* offsetof(struct task_struct, thread.reg16)	 # */
#define THREAD_REG17 1160 /* offsetof(struct task_struct, thread.reg17)	 # */
#define THREAD_REG18 1168 /* offsetof(struct task_struct, thread.reg18)	 # */
#define THREAD_REG19 1176 /* offsetof(struct task_struct, thread.reg19)	 # */
#define THREAD_REG20 1184 /* offsetof(struct task_struct, thread.reg20)	 # */
#define THREAD_REG21 1192 /* offsetof(struct task_struct, thread.reg21)	 # */
#define THREAD_REG22 1200 /* offsetof(struct task_struct, thread.reg22)	 # */
#define THREAD_REG23 1208 /* offsetof(struct task_struct, thread.reg23)	 # */
#define THREAD_REG29 1216 /* offsetof(struct task_struct, thread.reg29)	 # */
#define THREAD_REG30 1224 /* offsetof(struct task_struct, thread.reg30)	 # */
#define THREAD_REG31 1232 /* offsetof(struct task_struct, thread.reg31)	 # */
#define THREAD_STATUS 1240 /* offsetof(struct task_struct, thread.cp0_status)	 # */
#define THREAD_FPU 1248 /* offsetof(struct task_struct, thread.fpu)	 # */
#define THREAD_BVADDR 1584 /* offsetof(struct task_struct, thread.cp0_badvaddr)	 # */
#define THREAD_BUADDR 1592 /* offsetof(struct task_struct, thread.cp0_baduaddr)	 # */
#define THREAD_ECODE 1600 /* offsetof(struct task_struct, thread.error_code)	 # */

#define THREAD_FPR0 1248 /* offsetof(struct task_struct, thread.fpu.fpr[0])	 # */
#define THREAD_FPR1 1256 /* offsetof(struct task_struct, thread.fpu.fpr[1])	 # */
#define THREAD_FPR2 1264 /* offsetof(struct task_struct, thread.fpu.fpr[2])	 # */
#define THREAD_FPR3 1272 /* offsetof(struct task_struct, thread.fpu.fpr[3])	 # */
#define THREAD_FPR4 1280 /* offsetof(struct task_struct, thread.fpu.fpr[4])	 # */
#define THREAD_FPR5 1288 /* offsetof(struct task_struct, thread.fpu.fpr[5])	 # */
#define THREAD_FPR6 1296 /* offsetof(struct task_struct, thread.fpu.fpr[6])	 # */
#define THREAD_FPR7 1304 /* offsetof(struct task_struct, thread.fpu.fpr[7])	 # */
#define THREAD_FPR8 1312 /* offsetof(struct task_struct, thread.fpu.fpr[8])	 # */
#define THREAD_FPR9 1320 /* offsetof(struct task_struct, thread.fpu.fpr[9])	 # */
#define THREAD_FPR10 1328 /* offsetof(struct task_struct, thread.fpu.fpr[10])	 # */
#define THREAD_FPR11 1336 /* offsetof(struct task_struct, thread.fpu.fpr[11])	 # */
#define THREAD_FPR12 1344 /* offsetof(struct task_struct, thread.fpu.fpr[12])	 # */
#define THREAD_FPR13 1352 /* offsetof(struct task_struct, thread.fpu.fpr[13])	 # */
#define THREAD_FPR14 1360 /* offsetof(struct task_struct, thread.fpu.fpr[14])	 # */
#define THREAD_FPR15 1368 /* offsetof(struct task_struct, thread.fpu.fpr[15])	 # */
#define THREAD_FPR16 1376 /* offsetof(struct task_struct, thread.fpu.fpr[16])	 # */
#define THREAD_FPR17 1384 /* offsetof(struct task_struct, thread.fpu.fpr[17])	 # */
#define THREAD_FPR18 1392 /* offsetof(struct task_struct, thread.fpu.fpr[18])	 # */
#define THREAD_FPR19 1400 /* offsetof(struct task_struct, thread.fpu.fpr[19])	 # */
#define THREAD_FPR20 1408 /* offsetof(struct task_struct, thread.fpu.fpr[20])	 # */
#define THREAD_FPR21 1416 /* offsetof(struct task_struct, thread.fpu.fpr[21])	 # */
#define THREAD_FPR22 1424 /* offsetof(struct task_struct, thread.fpu.fpr[22])	 # */
#define THREAD_FPR23 1432 /* offsetof(struct task_struct, thread.fpu.fpr[23])	 # */
#define THREAD_FPR24 1440 /* offsetof(struct task_struct, thread.fpu.fpr[24])	 # */
#define THREAD_FPR25 1448 /* offsetof(struct task_struct, thread.fpu.fpr[25])	 # */
#define THREAD_FPR26 1456 /* offsetof(struct task_struct, thread.fpu.fpr[26])	 # */
#define THREAD_FPR27 1464 /* offsetof(struct task_struct, thread.fpu.fpr[27])	 # */
#define THREAD_FPR28 1472 /* offsetof(struct task_struct, thread.fpu.fpr[28])	 # */
#define THREAD_FPR29 1480 /* offsetof(struct task_struct, thread.fpu.fpr[29])	 # */
#define THREAD_FPR30 1488 /* offsetof(struct task_struct, thread.fpu.fpr[30])	 # */
#define THREAD_FPR31 1496 /* offsetof(struct task_struct, thread.fpu.fpr[31])	 # */
#define THREAD_FPR0_LS64 1248 /* offsetof(struct task_struct, thread.fpu.fpr[0].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR1_LS64 1256 /* offsetof(struct task_struct, thread.fpu.fpr[1].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR2_LS64 1264 /* offsetof(struct task_struct, thread.fpu.fpr[2].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR3_LS64 1272 /* offsetof(struct task_struct, thread.fpu.fpr[3].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR4_LS64 1280 /* offsetof(struct task_struct, thread.fpu.fpr[4].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR5_LS64 1288 /* offsetof(struct task_struct, thread.fpu.fpr[5].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR6_LS64 1296 /* offsetof(struct task_struct, thread.fpu.fpr[6].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR7_LS64 1304 /* offsetof(struct task_struct, thread.fpu.fpr[7].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR8_LS64 1312 /* offsetof(struct task_struct, thread.fpu.fpr[8].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR9_LS64 1320 /* offsetof(struct task_struct, thread.fpu.fpr[9].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR10_LS64 1328 /* offsetof(struct task_struct, thread.fpu.fpr[10].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR11_LS64 1336 /* offsetof(struct task_struct, thread.fpu.fpr[11].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR12_LS64 1344 /* offsetof(struct task_struct, thread.fpu.fpr[12].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR13_LS64 1352 /* offsetof(struct task_struct, thread.fpu.fpr[13].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR14_LS64 1360 /* offsetof(struct task_struct, thread.fpu.fpr[14].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR15_LS64 1368 /* offsetof(struct task_struct, thread.fpu.fpr[15].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR16_LS64 1376 /* offsetof(struct task_struct, thread.fpu.fpr[16].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR17_LS64 1384 /* offsetof(struct task_struct, thread.fpu.fpr[17].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR18_LS64 1392 /* offsetof(struct task_struct, thread.fpu.fpr[18].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR19_LS64 1400 /* offsetof(struct task_struct, thread.fpu.fpr[19].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR20_LS64 1408 /* offsetof(struct task_struct, thread.fpu.fpr[20].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR21_LS64 1416 /* offsetof(struct task_struct, thread.fpu.fpr[21].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR22_LS64 1424 /* offsetof(struct task_struct, thread.fpu.fpr[22].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR23_LS64 1432 /* offsetof(struct task_struct, thread.fpu.fpr[23].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR24_LS64 1440 /* offsetof(struct task_struct, thread.fpu.fpr[24].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR25_LS64 1448 /* offsetof(struct task_struct, thread.fpu.fpr[25].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR26_LS64 1456 /* offsetof(struct task_struct, thread.fpu.fpr[26].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR27_LS64 1464 /* offsetof(struct task_struct, thread.fpu.fpr[27].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR28_LS64 1472 /* offsetof(struct task_struct, thread.fpu.fpr[28].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR29_LS64 1480 /* offsetof(struct task_struct, thread.fpu.fpr[29].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR30_LS64 1488 /* offsetof(struct task_struct, thread.fpu.fpr[30].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FPR31_LS64 1496 /* offsetof(struct task_struct, thread.fpu.fpr[31].val64[((64 / (64)) - 1 - (0))])	 # */
#define THREAD_FCR31 1504 /* offsetof(struct task_struct, thread.fpu.fcr31)	 # */
#define THREAD_MSA_CSR 1508 /* offsetof(struct task_struct, thread.fpu.msacsr)	 # */

/* Size of struct page */
#define STRUCT_PAGE_SIZE 56 /* sizeof(struct page)	 # */

/* Linux mm_struct offsets. */
#define MM_USERS 72 /* offsetof(struct mm_struct, mm_users)	 # */
#define MM_PGD 64 /* offsetof(struct mm_struct, pgd)	 # */
#define MM_CONTEXT 720 /* offsetof(struct mm_struct, context)	 # */

#define _PGD_T_SIZE 8 /* sizeof(pgd_t)	 # */
#define _PMD_T_SIZE 8 /* sizeof(pmd_t)	 # */
#define _PTE_T_SIZE 8 /* sizeof(pte_t)	 # */

#define _PGD_T_LOG2 3 /* PGD_T_LOG2	 # */
#define _PMD_T_LOG2 3 /* PMD_T_LOG2	 # */
#define _PTE_T_LOG2 3 /* PTE_T_LOG2	 # */

#define _PGD_ORDER 1 /* PGD_ORDER	 # */
#define _PMD_ORDER 0 /* PMD_ORDER	 # */
#define _PTE_ORDER 0 /* PTE_ORDER	 # */

#define _PMD_SHIFT 21 /* PMD_SHIFT	 # */
#define _PGDIR_SHIFT 30 /* PGDIR_SHIFT	 # */

#define _PTRS_PER_PGD 1024 /* PTRS_PER_PGD	 # */
#define _PTRS_PER_PMD 512 /* PTRS_PER_PMD	 # */
#define _PTRS_PER_PTE 512 /* PTRS_PER_PTE	 # */

#define _PAGE_SHIFT 12 /* PAGE_SHIFT	 # */
#define _PAGE_SIZE 4096 /* PAGE_SIZE	 # */

/* Linux sigcontext offsets. */
#define SC_REGS 0 /* offsetof(struct sigcontext, sc_regs)	 # */
#define SC_FPREGS 256 /* offsetof(struct sigcontext, sc_fpregs)	 # */
#define SC_MDHI 512 /* offsetof(struct sigcontext, sc_mdhi)	 # */
#define SC_MDLO 544 /* offsetof(struct sigcontext, sc_mdlo)	 # */
#define SC_PC 576 /* offsetof(struct sigcontext, sc_pc)	 # */
#define SC_FPC_CSR 584 /* offsetof(struct sigcontext, sc_fpc_csr)	 # */

/* Linux 32-bit sigcontext offsets. */
#define SC32_FPREGS 272 /* offsetof(struct sigcontext32, sc_fpregs)	 # */
#define SC32_FPC_CSR 532 /* offsetof(struct sigcontext32, sc_fpc_csr)	 # */
#define SC32_FPC_EIR 536 /* offsetof(struct sigcontext32, sc_fpc_eir)	 # */

/* Linux signal numbers. */
#define _SIGHUP 1 /* SIGHUP	 # */
#define _SIGINT 2 /* SIGINT	 # */
#define _SIGQUIT 3 /* SIGQUIT	 # */
#define _SIGILL 4 /* SIGILL	 # */
#define _SIGTRAP 5 /* SIGTRAP	 # */
#define _SIGIOT 6 /* SIGIOT	 # */
#define _SIGABRT 6 /* SIGABRT	 # */
#define _SIGEMT 7 /* SIGEMT	 # */
#define _SIGFPE 8 /* SIGFPE	 # */
#define _SIGKILL 9 /* SIGKILL	 # */
#define _SIGBUS 10 /* SIGBUS	 # */
#define _SIGSEGV 11 /* SIGSEGV	 # */
#define _SIGSYS 12 /* SIGSYS	 # */
#define _SIGPIPE 13 /* SIGPIPE	 # */
#define _SIGALRM 14 /* SIGALRM	 # */
#define _SIGTERM 15 /* SIGTERM	 # */
#define _SIGUSR1 16 /* SIGUSR1	 # */
#define _SIGUSR2 17 /* SIGUSR2	 # */
#define _SIGCHLD 18 /* SIGCHLD	 # */
#define _SIGPWR 19 /* SIGPWR	 # */
#define _SIGWINCH 20 /* SIGWINCH	 # */
#define _SIGURG 21 /* SIGURG	 # */
#define _SIGIO 22 /* SIGIO	 # */
#define _SIGSTOP 23 /* SIGSTOP	 # */
#define _SIGTSTP 24 /* SIGTSTP	 # */
#define _SIGCONT 25 /* SIGCONT	 # */
#define _SIGTTIN 26 /* SIGTTIN	 # */
#define _SIGTTOU 27 /* SIGTTOU	 # */
#define _SIGVTALRM 28 /* SIGVTALRM	 # */
#define _SIGPROF 29 /* SIGPROF	 # */
#define _SIGXCPU 30 /* SIGXCPU	 # */
#define _SIGXFSZ 31 /* SIGXFSZ	 # */

/* Octeon specific octeon_cop2_state offsets. */
#define OCTEON_CP2_CRC_IV 0 /* offsetof(struct octeon_cop2_state, cop2_crc_iv)	 # */
#define OCTEON_CP2_CRC_LENGTH 8 /* offsetof(struct octeon_cop2_state, cop2_crc_length)	 # */
#define OCTEON_CP2_CRC_POLY 16 /* offsetof(struct octeon_cop2_state, cop2_crc_poly)	 # */
#define OCTEON_CP2_LLM_DAT 24 /* offsetof(struct octeon_cop2_state, cop2_llm_dat)	 # */
#define OCTEON_CP2_3DES_IV 40 /* offsetof(struct octeon_cop2_state, cop2_3des_iv)	 # */
#define OCTEON_CP2_3DES_KEY 48 /* offsetof(struct octeon_cop2_state, cop2_3des_key)	 # */
#define OCTEON_CP2_3DES_RESULT 72 /* offsetof(struct octeon_cop2_state, cop2_3des_result)	 # */
#define OCTEON_CP2_AES_INP0 80 /* offsetof(struct octeon_cop2_state, cop2_aes_inp0)	 # */
#define OCTEON_CP2_AES_IV 88 /* offsetof(struct octeon_cop2_state, cop2_aes_iv)	 # */
#define OCTEON_CP2_AES_KEY 104 /* offsetof(struct octeon_cop2_state, cop2_aes_key)	 # */
#define OCTEON_CP2_AES_KEYLEN 136 /* offsetof(struct octeon_cop2_state, cop2_aes_keylen)	 # */
#define OCTEON_CP2_AES_RESULT 144 /* offsetof(struct octeon_cop2_state, cop2_aes_result)	 # */
#define OCTEON_CP2_GFM_MULT 344 /* offsetof(struct octeon_cop2_state, cop2_gfm_mult)	 # */
#define OCTEON_CP2_GFM_POLY 360 /* offsetof(struct octeon_cop2_state, cop2_gfm_poly)	 # */
#define OCTEON_CP2_GFM_RESULT 368 /* offsetof(struct octeon_cop2_state, cop2_gfm_result)	 # */
#define OCTEON_CP2_HSH_DATW 160 /* offsetof(struct octeon_cop2_state, cop2_hsh_datw)	 # */
#define OCTEON_CP2_HSH_IVW 280 /* offsetof(struct octeon_cop2_state, cop2_hsh_ivw)	 # */
#define THREAD_CP2 1664 /* offsetof(struct task_struct, thread.cp2)	 # */
#define THREAD_CVMSEG 2048 /* offsetof(struct task_struct, thread.cvmseg.cvmseg)	 # */

/*  KVM/MIPS Specfic offsets.  */
#define VCPU_ARCH_SIZE 4720 /* sizeof(struct kvm_vcpu_arch)	 # */
#define VCPU_RUN 88 /* offsetof(struct kvm_vcpu, run)	 # */
#define VCPU_HOST_ARCH 320 /* offsetof(struct kvm_vcpu, arch)	 # */
#define VCPU_HOST_EBASE 0 /* offsetof(struct kvm_vcpu_arch, host_ebase)	 # */
#define VCPU_GUEST_EBASE 8 /* offsetof(struct kvm_vcpu_arch, guest_ebase)	 # */
#define VCPU_HOST_STACK 16 /* offsetof(struct kvm_vcpu_arch, host_stack)	 # */
#define VCPU_HOST_GP 24 /* offsetof(struct kvm_vcpu_arch, host_gp)	 # */
#define VCPU_HOST_CP0_BADVADDR 32 /* offsetof(struct kvm_vcpu_arch, host_cp0_badvaddr)	 # */
#define VCPU_HOST_CP0_CAUSE 40 /* offsetof(struct kvm_vcpu_arch, host_cp0_cause)	 # */
#define VCPU_HOST_EPC 48 /* offsetof(struct kvm_vcpu_arch, host_cp0_epc)	 # */
#define VCPU_HOST_ENTRYHI 56 /* offsetof(struct kvm_vcpu_arch, host_cp0_entryhi)	 # */
#define VCPU_GUEST_INST 64 /* offsetof(struct kvm_vcpu_arch, guest_inst)	 # */
#define VCPU_R0 72 /* offsetof(struct kvm_vcpu_arch, gprs[0])	 # */
#define VCPU_R1 80 /* offsetof(struct kvm_vcpu_arch, gprs[1])	 # */
#define VCPU_R2 88 /* offsetof(struct kvm_vcpu_arch, gprs[2])	 # */
#define VCPU_R3 96 /* offsetof(struct kvm_vcpu_arch, gprs[3])	 # */
#define VCPU_R4 104 /* offsetof(struct kvm_vcpu_arch, gprs[4])	 # */
#define VCPU_R5 112 /* offsetof(struct kvm_vcpu_arch, gprs[5])	 # */
#define VCPU_R6 120 /* offsetof(struct kvm_vcpu_arch, gprs[6])	 # */
#define VCPU_R7 128 /* offsetof(struct kvm_vcpu_arch, gprs[7])	 # */
#define VCPU_R8 136 /* offsetof(struct kvm_vcpu_arch, gprs[8])	 # */
#define VCPU_R9 144 /* offsetof(struct kvm_vcpu_arch, gprs[9])	 # */
#define VCPU_R10 152 /* offsetof(struct kvm_vcpu_arch, gprs[10])	 # */
#define VCPU_R11 160 /* offsetof(struct kvm_vcpu_arch, gprs[11])	 # */
#define VCPU_R12 168 /* offsetof(struct kvm_vcpu_arch, gprs[12])	 # */
#define VCPU_R13 176 /* offsetof(struct kvm_vcpu_arch, gprs[13])	 # */
#define VCPU_R14 184 /* offsetof(struct kvm_vcpu_arch, gprs[14])	 # */
#define VCPU_R15 192 /* offsetof(struct kvm_vcpu_arch, gprs[15])	 # */
#define VCPU_R16 200 /* offsetof(struct kvm_vcpu_arch, gprs[16])	 # */
#define VCPU_R17 208 /* offsetof(struct kvm_vcpu_arch, gprs[17])	 # */
#define VCPU_R18 216 /* offsetof(struct kvm_vcpu_arch, gprs[18])	 # */
#define VCPU_R19 224 /* offsetof(struct kvm_vcpu_arch, gprs[19])	 # */
#define VCPU_R20 232 /* offsetof(struct kvm_vcpu_arch, gprs[20])	 # */
#define VCPU_R21 240 /* offsetof(struct kvm_vcpu_arch, gprs[21])	 # */
#define VCPU_R22 248 /* offsetof(struct kvm_vcpu_arch, gprs[22])	 # */
#define VCPU_R23 256 /* offsetof(struct kvm_vcpu_arch, gprs[23])	 # */
#define VCPU_R24 264 /* offsetof(struct kvm_vcpu_arch, gprs[24])	 # */
#define VCPU_R25 272 /* offsetof(struct kvm_vcpu_arch, gprs[25])	 # */
#define VCPU_R26 280 /* offsetof(struct kvm_vcpu_arch, gprs[26])	 # */
#define VCPU_R27 288 /* offsetof(struct kvm_vcpu_arch, gprs[27])	 # */
#define VCPU_R28 296 /* offsetof(struct kvm_vcpu_arch, gprs[28])	 # */
#define VCPU_R29 304 /* offsetof(struct kvm_vcpu_arch, gprs[29])	 # */
#define VCPU_R30 312 /* offsetof(struct kvm_vcpu_arch, gprs[30])	 # */
#define VCPU_R31 320 /* offsetof(struct kvm_vcpu_arch, gprs[31])	 # */
#define VCPU_LO 336 /* offsetof(struct kvm_vcpu_arch, lo)	 # */
#define VCPU_HI 328 /* offsetof(struct kvm_vcpu_arch, hi)	 # */
#define VCPU_PC 344 /* offsetof(struct kvm_vcpu_arch, pc)	 # */
#define VCPU_COP0 616 /* offsetof(struct kvm_vcpu_arch, cop0)	 # */
#define VCPU_GUEST_KERNEL_ASID 2888 /* offsetof(struct kvm_vcpu_arch, guest_kernel_asid)	 # */
#define VCPU_GUEST_USER_ASID 2824 /* offsetof(struct kvm_vcpu_arch, guest_user_asid)	 # */
#define COP0_TLB_HI 640 /* offsetof(struct mips_coproc, reg[10][0])	 # */
#define COP0_STATUS 768 /* offsetof(struct mips_coproc, reg[12][0])	 # */


#endif
