[Qemu-devel] [PATCH] hw/arm/virt: Fix non-secure flash mode

David Engraf posted 1 patch 4 years, 9 months ago
Test docker-clang@ubuntu passed
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test checkpatch passed
Test s390x passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190712075002.14326-1-david.engraf@sysgo.com
Maintainers: Peter Maydell <peter.maydell@linaro.org>
hw/arm/virt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH] hw/arm/virt: Fix non-secure flash mode
Posted by David Engraf 4 years, 9 months ago
Using the whole 128 MiB flash in non-secure mode is not working because
virt_flash_fdt() expects the same address for secure_sysmem and sysmem.
This is not correctly handled by caller because it forwards NULL for
secure_sysmem in non-secure flash mode.

Fixed by using sysmem when secure_sysmem is NULL.

Signed-off-by: David Engraf <david.engraf@sysgo.com>
---
 hw/arm/virt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 0b5138cb22..d9496c9363 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1674,7 +1674,7 @@ static void machvirt_init(MachineState *machine)
                                     &machine->device_memory->mr);
     }
 
-    virt_flash_fdt(vms, sysmem, secure_sysmem);
+    virt_flash_fdt(vms, sysmem, secure_sysmem ?: sysmem);
 
     create_gic(vms, pic);
 
-- 
2.17.1


Re: [Qemu-devel] [PATCH] hw/arm/virt: Fix non-secure flash mode
Posted by Peter Maydell 4 years, 9 months ago
On Fri, 12 Jul 2019 at 08:53, David Engraf <david.engraf@sysgo.com> wrote:
>
> Using the whole 128 MiB flash in non-secure mode is not working because
> virt_flash_fdt() expects the same address for secure_sysmem and sysmem.
> This is not correctly handled by caller because it forwards NULL for
> secure_sysmem in non-secure flash mode.
>
> Fixed by using sysmem when secure_sysmem is NULL.
>
> Signed-off-by: David Engraf <david.engraf@sysgo.com>

Nice catch; applied to target-arm.next for 4.1.

thanks
-- PMM