diff options
| author | Jon French | 2019-04-17 17:03:46 +0100 |
|---|---|---|
| committer | Jon French | 2019-04-17 17:04:06 +0100 |
| commit | 1abd60eb5d5c1ce6b95d4f57731eed27ced3422f (patch) | |
| tree | a973e71bc47d88a7bd3fb1721241d44bd2afbada | |
| parent | 632d45d30ac2b90a86ade16953fd900e3c51634b (diff) | |
add unimplemented C platform definitions for platform_read_mem etc
| -rw-r--r-- | lib/rts.c | 46 | ||||
| -rw-r--r-- | lib/rts.h | 16 |
2 files changed, 62 insertions, 0 deletions
@@ -276,6 +276,52 @@ void read_ram(lbits *data, mpz_clear(byte); } +void platform_read_mem(lbits *data, + const int read_kind, + const uint64_t addr, + const mpz_t n) +{ + mpz_t addr_size; + mpz_init(addr_size); + mpz_set_ui(addr_size, 64); + mpz_t addr_bv; + mpz_init(addr_bv); + mpz_set_ui(addr_bv, addr); + read_ram(data, addr_size, n, (lbits){.len=0, .bits=NULL}, (lbits){.len=64, .bits=&addr_bv}); +} + +unit platform_write_mem_ea(const int write_kind, + const uint64_t addr, + const mpz_t n) +{ + return UNIT; +} + +bool platform_write_mem(const int write_kind, + const uint64_t addr, + const mpz_t n, + const lbits data) +{ + mpz_t addr_size; + mpz_init(addr_size); + mpz_set_ui(addr_size, 64); + mpz_t addr_bv; + mpz_init(addr_bv); + mpz_set_ui(addr_bv, addr); + return write_ram(addr_size, n, (lbits){.len=0, .bits=NULL}, (lbits){.len=64, .bits=&addr_bv}, data); +} + +bool platform_excl_res(const unit unit) +{ + return true; +} + +unit platform_barrier(const int barrier_kind) +{ + return UNIT; +} + + unit load_raw(fbits addr, const sail_string file) { FILE *fp = fopen(file, "r"); @@ -71,6 +71,22 @@ sbits fast_read_ram(const int64_t data_size, unit write_tag_bool(const fbits, const bool); bool read_tag_bool(const fbits); +void platform_read_mem(lbits *data, + const int read_kind, + const uint64_t addr, + const mpz_t n); +unit platform_write_mem_ea(const int write_kind, + const uint64_t addr, + const mpz_t n); +bool platform_write_mem(const int write_kind, + const uint64_t addr, + const mpz_t n, + const lbits data); +bool platform_excl_res(const unit unit); +unit platform_barrier(const int barrier_kind); + + + unit load_raw(fbits addr, const sail_string file); void load_image(char *); |
