mirror of
https://github.com/ringtailsoftware/uvm32.git
synced 2026-06-06 06:53:39 +00:00
Handle 8, 16 and 32 bit accesses to extram.
This commit is contained in:
parent
63386f9a92
commit
7a1656ab10
5 changed files with 163 additions and 12 deletions
|
|
@ -55,10 +55,10 @@ typedef struct {
|
|||
#define MINIRV32_DECORATE static
|
||||
#define MINI_RV32_RAM_SIZE UVM32_MEMORY_SIZE
|
||||
#define MINIRV32_POSTEXEC(pc, ir, retval) {if (retval > 0) return retval;}
|
||||
uint32_t uvm32_extramLoad(void *userdata, uint32_t addr);
|
||||
uint32_t uvm32_extramStore(void *userdata, uint32_t addr, uint32_t val);
|
||||
#define MINIRV32_HANDLE_MEM_LOAD_CONTROL( addy, rval ) rval = uvm32_extramLoad(userdata, addy);
|
||||
#define MINIRV32_HANDLE_MEM_STORE_CONTROL( addy, val ) if( uvm32_extramStore(userdata, addy, val) ) return val;
|
||||
uint32_t uvm32_extramLoad(void *userdata, uint32_t addr, uint32_t accessTyp);
|
||||
uint32_t uvm32_extramStore(void *userdata, uint32_t addr, uint32_t val, uint32_t accessTyp);
|
||||
#define MINIRV32_HANDLE_MEM_LOAD_CONTROL( addy, rval ) rval = uvm32_extramLoad(userdata, addy, ( ir >> 12 ) & 0x7);
|
||||
#define MINIRV32_HANDLE_MEM_STORE_CONTROL( addy, val ) if( uvm32_extramStore(userdata, addy, val, ( ir >> 12 ) & 0x7) ) return val;
|
||||
|
||||
#ifndef MINIRV32_IMPLEMENTATION
|
||||
#define MINIRV32_STEPPROTO
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue