123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- #include "asm.h"
- .section .text.__ebreak
- .global __ebreak
- __ebreak:
- ebreak
- ret
- .section .text.__wfi
- .global __wfi
- __wfi:
- wfi
- ret
- .section .text.__sfence_vma_all
- .global __sfence_vma_all
- __sfence_vma_all:
- sfence.vma
- ret
- .section .text.__sfence_vma
- .global __sfence_vma
- __sfence_vma:
- sfence.vma a0, a1
- ret
- RW(0x000, ustatus)
- RW(0x004, uie)
- RW(0x005, utvec)
- RW(0x040, uscratch)
- RW(0x041, uepc)
- RW(0x042, ucause)
- RW(0x043, utval)
- RW(0x044, uip)
- RW(0x001, fflags)
- RW(0x002, frm)
- RW(0x003, fcsr)
- RO( 0xC00, cycle)
- RO( 0xC01, time)
- RO( 0xC02, instret)
- RO( 0xC03, hpmcounter3)
- RO( 0xC04, hpmcounter4)
- RO( 0xC05, hpmcounter5)
- RO( 0xC06, hpmcounter6)
- RO( 0xC07, hpmcounter7)
- RO( 0xC08, hpmcounter8)
- RO( 0xC09, hpmcounter9)
- RO( 0xC0A, hpmcounter10)
- RO( 0xC0B, hpmcounter11)
- RO( 0xC0C, hpmcounter12)
- RO( 0xC0D, hpmcounter13)
- RO( 0xC0E, hpmcounter14)
- RO( 0xC0F, hpmcounter15)
- RO( 0xC10, hpmcounter16)
- RO( 0xC11, hpmcounter17)
- RO( 0xC12, hpmcounter18)
- RO( 0xC13, hpmcounter19)
- RO( 0xC14, hpmcounter20)
- RO( 0xC15, hpmcounter21)
- RO( 0xC16, hpmcounter22)
- RO( 0xC17, hpmcounter23)
- RO( 0xC18, hpmcounter24)
- RO( 0xC19, hpmcounter25)
- RO( 0xC1A, hpmcounter26)
- RO( 0xC1B, hpmcounter27)
- RO( 0xC1C, hpmcounter28)
- RO( 0xC1D, hpmcounter29)
- RO( 0xC1E, hpmcounter30)
- RO( 0xC1F, hpmcounter31)
- RO32(0xC80, cycleh)
- RO32(0xC81, timeh)
- RO32(0xC82, instreth)
- RO32(0xC83, hpmcounter3h)
- RO32(0xC84, hpmcounter4h)
- RO32(0xC85, hpmcounter5h)
- RO32(0xC86, hpmcounter6h)
- RO32(0xC87, hpmcounter7h)
- RO32(0xC88, hpmcounter8h)
- RO32(0xC89, hpmcounter9h)
- RO32(0xC8A, hpmcounter10h)
- RO32(0xC8B, hpmcounter11h)
- RO32(0xC8C, hpmcounter12h)
- RO32(0xC8D, hpmcounter13h)
- RO32(0xC8E, hpmcounter14h)
- RO32(0xC8F, hpmcounter15h)
- RO32(0xC90, hpmcounter16h)
- RO32(0xC91, hpmcounter17h)
- RO32(0xC92, hpmcounter18h)
- RO32(0xC93, hpmcounter19h)
- RO32(0xC94, hpmcounter20h)
- RO32(0xC95, hpmcounter21h)
- RO32(0xC96, hpmcounter22h)
- RO32(0xC97, hpmcounter23h)
- RO32(0xC98, hpmcounter24h)
- RO32(0xC99, hpmcounter25h)
- RO32(0xC9A, hpmcounter26h)
- RO32(0xC9B, hpmcounter27h)
- RO32(0xC9C, hpmcounter28h)
- RO32(0xC9D, hpmcounter29h)
- RO32(0xC9E, hpmcounter30h)
- RO32(0xC9F, hpmcounter31h)
- RW(0x100, sstatus)
- RW(0x102, sedeleg)
- RW(0x103, sideleg)
- RW(0x104, sie)
- RW(0x105, stvec)
- RW(0x106, scounteren)
- RW(0x140, sscratch)
- RW(0x141, sepc)
- RW(0x142, scause)
- RW(0x143, stval)
- RW(0x144, sip)
- RW(0x180, satp)
- RO(0xF11, mvendorid)
- RO(0xF12, marchid)
- RO(0xF13, mimpid)
- RO(0xF14, mhartid)
- RW(0x300, mstatus)
- RW(0x301, misa)
- RW(0x302, medeleg)
- RW(0x303, mideleg)
- RW(0x304, mie)
- RW(0x305, mtvec)
- RW(0x306, mcounteren)
- RW(0x340, mscratch)
- RW(0x341, mepc)
- RW(0x342, mcause)
- RW(0x343, mtval)
- RW(0x344, mip)
- RW( 0x3A0, pmpcfg0)
- RW32(0x3A1, pmpcfg1)
- RW( 0x3A2, pmpcfg2)
- RW32(0x3A3, pmpcfg3)
- RW( 0x3B0, pmpaddr0)
- RW( 0x3B1, pmpaddr1)
- RW( 0x3B2, pmpaddr2)
- RW( 0x3B3, pmpaddr3)
- RW( 0x3B4, pmpaddr4)
- RW( 0x3B5, pmpaddr5)
- RW( 0x3B6, pmpaddr6)
- RW( 0x3B7, pmpaddr7)
- RW( 0x3B8, pmpaddr8)
- RW( 0x3B9, pmpaddr9)
- RW( 0x3BA, pmpaddr10)
- RW( 0x3BB, pmpaddr11)
- RW( 0x3BC, pmpaddr12)
- RW( 0x3BD, pmpaddr13)
- RW( 0x3BE, pmpaddr14)
- RW( 0x3BF, pmpaddr15)
- RO( 0xB00, mcycle)
- RO( 0xB02, minstret)
- RO( 0xB03, mhpmcounter3)
- RO( 0xB04, mhpmcounter4)
- RO( 0xB05, mhpmcounter5)
- RO( 0xB06, mhpmcounter6)
- RO( 0xB07, mhpmcounter7)
- RO( 0xB08, mhpmcounter8)
- RO( 0xB09, mhpmcounter9)
- RO( 0xB0A, mhpmcounter10)
- RO( 0xB0B, mhpmcounter11)
- RO( 0xB0C, mhpmcounter12)
- RO( 0xB0D, mhpmcounter13)
- RO( 0xB0E, mhpmcounter14)
- RO( 0xB0F, mhpmcounter15)
- RO( 0xB10, mhpmcounter16)
- RO( 0xB11, mhpmcounter17)
- RO( 0xB12, mhpmcounter18)
- RO( 0xB13, mhpmcounter19)
- RO( 0xB14, mhpmcounter20)
- RO( 0xB15, mhpmcounter21)
- RO( 0xB16, mhpmcounter22)
- RO( 0xB17, mhpmcounter23)
- RO( 0xB18, mhpmcounter24)
- RO( 0xB19, mhpmcounter25)
- RO( 0xB1A, mhpmcounter26)
- RO( 0xB1B, mhpmcounter27)
- RO( 0xB1C, mhpmcounter28)
- RO( 0xB1D, mhpmcounter29)
- RO( 0xB1E, mhpmcounter30)
- RO( 0xB1F, mhpmcounter31)
- RO32(0xB80, mcycleh)
- RO32(0xB82, minstreth)
- RO32(0xB83, mhpmcounter3h)
- RO32(0xB84, mhpmcounter4h)
- RO32(0xB85, mhpmcounter5h)
- RO32(0xB86, mhpmcounter6h)
- RO32(0xB87, mhpmcounter7h)
- RO32(0xB88, mhpmcounter8h)
- RO32(0xB89, mhpmcounter9h)
- RO32(0xB8A, mhpmcounter10h)
- RO32(0xB8B, mhpmcounter11h)
- RO32(0xB8C, mhpmcounter12h)
- RO32(0xB8D, mhpmcounter13h)
- RO32(0xB8E, mhpmcounter14h)
- RO32(0xB8F, mhpmcounter15h)
- RO32(0xB90, mhpmcounter16h)
- RO32(0xB91, mhpmcounter17h)
- RO32(0xB92, mhpmcounter18h)
- RO32(0xB93, mhpmcounter19h)
- RO32(0xB94, mhpmcounter20h)
- RO32(0xB95, mhpmcounter21h)
- RO32(0xB96, mhpmcounter22h)
- RO32(0xB97, mhpmcounter23h)
- RO32(0xB98, mhpmcounter24h)
- RO32(0xB99, mhpmcounter25h)
- RO32(0xB9A, mhpmcounter26h)
- RO32(0xB9B, mhpmcounter27h)
- RO32(0xB9C, mhpmcounter28h)
- RO32(0xB9D, mhpmcounter29h)
- RO32(0xB9E, mhpmcounter30h)
- RO32(0xB9F, mhpmcounter31h)
- RW(0x323, mhpmevent3)
- RW(0x324, mhpmevent4)
- RW(0x325, mhpmevent5)
- RW(0x326, mhpmevent6)
- RW(0x327, mhpmevent7)
- RW(0x328, mhpmevent8)
- RW(0x329, mhpmevent9)
- RW(0x32A, mhpmevent10)
- RW(0x32B, mhpmevent11)
- RW(0x32C, mhpmevent12)
- RW(0x32D, mhpmevent13)
- RW(0x32E, mhpmevent14)
- RW(0x32F, mhpmevent15)
- RW(0x330, mhpmevent16)
- RW(0x331, mhpmevent17)
- RW(0x332, mhpmevent18)
- RW(0x333, mhpmevent19)
- RW(0x334, mhpmevent20)
- RW(0x335, mhpmevent21)
- RW(0x336, mhpmevent22)
- RW(0x337, mhpmevent23)
- RW(0x338, mhpmevent24)
- RW(0x339, mhpmevent25)
- RW(0x33A, mhpmevent26)
- RW(0x33B, mhpmevent27)
- RW(0x33C, mhpmevent28)
- RW(0x33D, mhpmevent29)
- RW(0x33E, mhpmevent30)
- RW(0x33F, mhpmevent31)
- RW(0x7A0, tselect)
- RW(0x7A1, tdata1)
- RW(0x7A2, tdata2)
- RW(0x7A3, tdata3)
- RW(0x7B0, dcsr)
- RW(0x7B1, dpc)
- RW(0x7B2, dscratch)
- RW(0xBC0, vmim)
- RO(0xFC0, vmip)
- RW(0x9C0, vsim)
- RO(0xDC0, vsip)
- RO(0xCC0, vdci)
|