From 1abd60eb5d5c1ce6b95d4f57731eed27ced3422f Mon Sep 17 00:00:00 2001 From: Jon French Date: Wed, 17 Apr 2019 17:03:46 +0100 Subject: add unimplemented C platform definitions for platform_read_mem etc --- lib/rts.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ lib/rts.h | 16 ++++++++++++++++ 2 files changed, 62 insertions(+) (limited to 'lib') diff --git a/lib/rts.c b/lib/rts.c index eacf0a70..43367b71 100644 --- a/lib/rts.c +++ b/lib/rts.c @@ -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"); diff --git a/lib/rts.h b/lib/rts.h index c7c1259f..b63dfbbc 100644 --- a/lib/rts.h +++ b/lib/rts.h @@ -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 *); -- cgit v1.2.3