memory address over 0x2000_7ffc is not accessible in mps2-an505

Bug #1897680 reported by Changho Choi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Invalid
Undecided
Unassigned

Bug Description

I currently run qemu with the following options
`qemu-system-aarch64 -machine mps2-an505 -cpu cortex-m33 -m 16`

For some reason, memory address over 0x2000_7ffc is not accessible.
It can be tested in gdb as follow.

(gdb) x/x 0x20007ffc
0x20007ffc: 0x00000000
(gdb) x/x 0x20007ffd
0x20007ffd: Cannot access memory at address 0x20007ffd
(gdb) x/x 0x20008000
0x20008000: Cannot access memory at address 0x20008000

Revision history for this message
Peter Maydell (pmaydell) wrote :

This is expected behaviour. The memory at 0x2000_0000 in this board is the "FPGA block RAM", and there is only 32K of it, so it finishes at 0x2000_7fff, and attempts to access beyond that will fail because there is no device or memory at the address immediately after it in the memory map.

Revision history for this message
Peter Maydell (pmaydell) wrote :

PS: you don't need to pass "-cpu cortex-m33" as it is the default for the mps2-an505 board, and you don't need to pass a -m argument either, as 16MB is the fixed value for this board.

Revision history for this message
Peter Maydell (pmaydell) wrote :

(If you were just interested in having a large area of contiguous RAM, the "PSRAM" is the largest lump on this board: it's 16MB starting at 0x8000_0000.)

Revision history for this message
Philippe Mathieu-Daudé (philmd) wrote : Re: [Bug 1897680] [NEW] memory address over 0x2000_7ffc is not accessible in mps2-an505

On 9/29/20 8:57 AM, Changho Choi wrote:
> Public bug reported:
>
> I currently run qemu with the following options
> `qemu-system-aarch64 -machine mps2-an505 -cpu cortex-m33 -m 16`
>
> For some reason, memory address over 0x2000_7ffc is not accessible.
> It can be tested in gdb as follow.
>
> (gdb) x/x 0x20007ffc
> 0x20007ffc: 0x00000000
> (gdb) x/x 0x20007ffd
> 0x20007ffd: Cannot access memory at address 0x20007ffd

Works for me:

(gdb) x/xg 0x20007ff8
0x20007ff8: 0x0000000000000000

(gdb) x/xw 0x20007ffc
0x20007ffc: 0x00000000

(gdb) x/xh 0x20007ffe
0x20007ffe: 0x0000

(gdb) x/xb 0x20007fff
0x20007fff: 0x00

I suppose GDB uses 32-bit access size by default,
so requesting 32-bit at 0x20007ffd would access
out of bound memory.

> (gdb) x/x 0x20008000
> 0x20008000: Cannot access memory at address 0x20008000

For TYPE_IOTKIT there is only 1 SRAM bank (see armsse_variants[])
initialized to SRAM_ADDR_WIDTH bits, which is 15 by default:

    DEFINE_PROP_UINT32("SRAM_ADDR_WIDTH", ARMSSE, sram_addr_width, 15),

So this MPC downstream region is a 32KB SRAM. The size looks correct.

>
> ** Affects: qemu
> Importance: Undecided
> Status: New
>

Revision history for this message
Changho Choi (zpzigi) wrote : Re: [Bug 1897680] Re: memory address over 0x2000_7ffc is not accessible in mps2-an505

Thank you for all your kind answers and suggestions.
I also have confirmed that the memory address over 0x2000_8000 is not
accessible in the real board.

Regards,

Changho Choi

2020년 9월 29일 (화) 오후 6:25, Peter Maydell <email address hidden>님이 작성:

> (If you were just interested in having a large area of contiguous RAM,
> the "PSRAM" is the largest lump on this board: it's 16MB starting at
> 0x8000_0000.)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1897680
>
> Title:
> memory address over 0x2000_7ffc is not accessible in mps2-an505
>
> Status in QEMU:
> New
>
> Bug description:
> I currently run qemu with the following options
> `qemu-system-aarch64 -machine mps2-an505 -cpu cortex-m33 -m 16`
>
> For some reason, memory address over 0x2000_7ffc is not accessible.
> It can be tested in gdb as follow.
>
> (gdb) x/x 0x20007ffc
> 0x20007ffc: 0x00000000
> (gdb) x/x 0x20007ffd
> 0x20007ffd: Cannot access memory at address 0x20007ffd
> (gdb) x/x 0x20008000
> 0x20008000: Cannot access memory at address 0x20008000
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1897680/+subscriptions
>

Peter Maydell (pmaydell)
Changed in qemu:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.