From 63fd5b5ddad9c715531168d5863853017a1f02d3 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 12 Nov 2022 01:15:32 +0700 Subject: sim: switch sim_{read,write} APIs to 64-bit all the time [PR sim/7504] We've been using SIM_ADDR which has always been 32-bit. This means the upper 32-bit address range in 64-bit sims is inaccessible. Use 64-bit addresses all the time since we want the APIs to be stable regardless of the active arch backend (which can be 32 or 64-bit). The length is also 64-bit because it's completely feasible to have a program that is larger than 4 GiB in size/image/runtime. Forcing the caller to manually chunk those accesses up into 4 GiB at a time doesn't seem useful to anyone. Bug: https://sourceware.org/PR7504 --- sim/arm/wrapper.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'sim/arm') diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c index 2c5253f..7b11532 100644 --- a/sim/arm/wrapper.c +++ b/sim/arm/wrapper.c @@ -150,13 +150,13 @@ ARMul_ConsolePrint (ARMul_State * state, } } -int +uint64_t sim_write (SIM_DESC sd ATTRIBUTE_UNUSED, - SIM_ADDR addr, + uint64_t addr, const void * buffer, - int size) + uint64_t size) { - int i; + uint64_t i; const unsigned char * data = buffer; init (); @@ -167,13 +167,13 @@ sim_write (SIM_DESC sd ATTRIBUTE_UNUSED, return size; } -int +uint64_t sim_read (SIM_DESC sd ATTRIBUTE_UNUSED, - SIM_ADDR addr, + uint64_t addr, void * buffer, - int size) + uint64_t size) { - int i; + uint64_t i; unsigned char * data = buffer; init (); -- cgit v1.1