[PATCH] test/cmd/mem_copy.c: Use CONFIG_SYS_LOAD_ADDR for base

When reading/writing to memory we cannot assume that a base address of 0x0 is correct and functional. So use CONFIG_SYS_LOAD_ADDR as the base from which we add a bit more padding and being our tests.
Signed-off-by: Tom Rini trini@konsulko.com --- test/cmd/mem_copy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/cmd/mem_copy.c b/test/cmd/mem_copy.c index 1ba0cebbbe04..67eca328777a 100644 --- a/test/cmd/mem_copy.c +++ b/test/cmd/mem_copy.c @@ -21,7 +21,7 @@ struct param { static int do_test(struct unit_test_state *uts, const char *suffix, int d, int s, int count) { - const long addr = 0x1000; + const long addr = CONFIG_SYS_LOAD_ADDR + 0x1000; u8 shadow[BUF_SIZE]; u8 *buf; int i, w, bytes;

Hi Tom,
On Wed, 30 Oct 2024 at 01:36, Tom Rini trini@konsulko.com wrote:
When reading/writing to memory we cannot assume that a base address of 0x0 is correct and functional. So use CONFIG_SYS_LOAD_ADDR as the base from which we add a bit more padding and being our tests.
Signed-off-by: Tom Rini trini@konsulko.com
test/cmd/mem_copy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/cmd/mem_copy.c b/test/cmd/mem_copy.c index 1ba0cebbbe04..67eca328777a 100644 --- a/test/cmd/mem_copy.c +++ b/test/cmd/mem_copy.c @@ -21,7 +21,7 @@ struct param { static int do_test(struct unit_test_state *uts, const char *suffix, int d, int s, int count) {
const long addr = 0x1000;
const long addr = CONFIG_SYS_LOAD_ADDR + 0x1000;
CFG_SYS_SDRAM_BASE would be better here, since it is the start of memory (0 on sandbox and most boards).
u8 shadow[BUF_SIZE]; u8 *buf; int i, w, bytes;
-- 2.43.0
Regards, Simon

On Thu, Oct 31, 2024 at 06:51:52PM +0100, Simon Glass wrote:
Hi Tom,
On Wed, 30 Oct 2024 at 01:36, Tom Rini trini@konsulko.com wrote:
When reading/writing to memory we cannot assume that a base address of 0x0 is correct and functional. So use CONFIG_SYS_LOAD_ADDR as the base from which we add a bit more padding and being our tests.
Signed-off-by: Tom Rini trini@konsulko.com
test/cmd/mem_copy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/cmd/mem_copy.c b/test/cmd/mem_copy.c index 1ba0cebbbe04..67eca328777a 100644 --- a/test/cmd/mem_copy.c +++ b/test/cmd/mem_copy.c @@ -21,7 +21,7 @@ struct param { static int do_test(struct unit_test_state *uts, const char *suffix, int d, int s, int count) {
const long addr = 0x1000;
const long addr = CONFIG_SYS_LOAD_ADDR + 0x1000;
CFG_SYS_SDRAM_BASE would be better here, since it is the start of memory (0 on sandbox and most boards).
Why do we want start of memory? CONFIG_SYS_LOAD_ADDR is the address for where it's safe to load things to memory and fiddle with them.

Hi Tom,
On Thu, 31 Oct 2024 at 19:11, Tom Rini trini@konsulko.com wrote:
On Thu, Oct 31, 2024 at 06:51:52PM +0100, Simon Glass wrote:
Hi Tom,
On Wed, 30 Oct 2024 at 01:36, Tom Rini trini@konsulko.com wrote:
When reading/writing to memory we cannot assume that a base address of 0x0 is correct and functional. So use CONFIG_SYS_LOAD_ADDR as the base from which we add a bit more padding and being our tests.
Signed-off-by: Tom Rini trini@konsulko.com
test/cmd/mem_copy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/cmd/mem_copy.c b/test/cmd/mem_copy.c index 1ba0cebbbe04..67eca328777a 100644 --- a/test/cmd/mem_copy.c +++ b/test/cmd/mem_copy.c @@ -21,7 +21,7 @@ struct param { static int do_test(struct unit_test_state *uts, const char *suffix, int d, int s, int count) {
const long addr = 0x1000;
const long addr = CONFIG_SYS_LOAD_ADDR + 0x1000;
CFG_SYS_SDRAM_BASE would be better here, since it is the start of memory (0 on sandbox and most boards).
Why do we want start of memory? CONFIG_SYS_LOAD_ADDR is the address for where it's safe to load things to memory and fiddle with them.
Well the load address is for loading images. It doesn't have anything to do with this test, so far as I can see. Not a big deal though.
I'm pleased you are finding all the issues I had with my lab...once I get it running I won't have to send so many patches :-)
Regards, Imon

On Tue, 29 Oct 2024 18:36:49 -0600, Tom Rini wrote:
When reading/writing to memory we cannot assume that a base address of 0x0 is correct and functional. So use CONFIG_SYS_LOAD_ADDR as the base from which we add a bit more padding and being our tests.
Applied to local tree/v2-tidy-test-dir, thanks!
participants (2)
-
Simon Glass
-
Tom Rini