1 #pragma once 2 3 #define CSR_SSTATUS 0x100 4 #define CSR_SIE 0x104 5 #define CSR_STVEC 0x105 6 #define CSR_SIP 0x144 7 #define CSR_SSCRATCH 0x140 8 9 #define CSR_TVEC CSR_STVEC 10 #define CSR_SCRATCH CSR_SSCRATCH 11 12 #define CSR_STATUS CSR_SSTATUS 13 #define CSR_IE CSR_SIE 14 #define CSR_IP CSR_SIP 15 16 #define SR_FS 0x00006000 17 #define SR_VS 0x00000600 18 #define SR_FS_VS (SR_FS | SR_VS) /* Vector and Floating-Point Unit */ 19 20 #define SATP_MODE_39 0x8000000000000000ULL 21 #define SATP_MODE_48 0x9000000000000000ULL 22 #define SATP_MODE_57 0xa000000000000000ULL 23 24 #define PAGE_OFFSET 0xffffffc000000000 25 #define KERNEL_LINK_OFFSET 0x1000000 26 #define KERNEL_VIRT_START (PAGE_OFFSET + KERNEL_LINK_OFFSET)