The normal approach with sandbox is to use a fixed memory address in the
RAM, to avoid needing to create a map for transient local variables.

Update this test to use this approach.

Signed-off-by: Simon Glass <s...@chromium.org>
---

(no changes since v1)

 test/cmd/mbr.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/test/cmd/mbr.c b/test/cmd/mbr.c
index bab92c3ba00..81ca6f15b2a 100644
--- a/test/cmd/mbr.c
+++ b/test/cmd/mbr.c
@@ -231,9 +231,11 @@ static unsigned build_mbr_parts(char *buf, size_t 
buf_size, unsigned num_parts)
 static int mbr_test_run(struct unit_test_state *uts)
 {
        struct blk_desc *mmc_dev_desc;
-       unsigned char mbr_wbuf[BLKSZ], ebr_wbuf[BLKSZ], rbuf[BLKSZ];
+       unsigned char *mbr_wbuf, *ebr_wbuf, *rbuf;
        char mbr_parts_buf[256];
-       ulong mbr_wa, ebr_wa, ra, ebr_blk, mbr_parts_max;
+       ulong addr = 0x1000;  /* start address for buffers */
+       ulong mbr_wa = addr, ebr_wa = addr + BLKSZ, ra = addr + BLKSZ * 2;
+       ulong ebr_blk, mbr_parts_max;
        struct udevice *dev;
        ofnode root, node;
 
@@ -257,9 +259,9 @@ static int mbr_test_run(struct unit_test_state *uts)
        ut_assertf(sizeof(mbr_parts_buf) >= mbr_parts_max, "Buffer avail: %ld; 
buffer req: %ld\n",
                sizeof(mbr_parts_buf), mbr_parts_max);
 
-       mbr_wa = map_to_sysmem(mbr_wbuf);
-       ebr_wa = map_to_sysmem(ebr_wbuf);
-       ra = map_to_sysmem(rbuf);
+       mbr_wbuf = map_sysmem(mbr_wa, BLKSZ);
+       ebr_wbuf = map_sysmem(ebr_wa, BLKSZ);
+       rbuf = map_sysmem(ra, BLKSZ);
        ebr_blk = (ulong)0xb00000 / BLKSZ;
 
        /* Make sure mmc6 exists */
-- 
2.34.1

Reply via email to