On Tue, Sep 04, 2018 at 06:16:52PM +0300, Tuomas Tynkkynen wrote:
> QEMU 3.0 introduced additional memory-mapped regions for PCI-E ECAM and
> MMIO. Thus we need to add them to our MMU map or U-Boot will crash with
> a Synchronous Abort during PCI-E probing when it tries to access the
> unmapped ECAM memory area.
> 
> Reported-by: Jonathan Gray <j...@jsg.id.au>
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkky...@iki.fi>

Thanks, qemu-system-aarch64 -M virt works without having to disable
highmem with this.

Tested-by: Jonathan Gray <j...@jsg.id.au>

> ---
>  board/emulation/qemu-arm/qemu-arm.c | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/board/emulation/qemu-arm/qemu-arm.c 
> b/board/emulation/qemu-arm/qemu-arm.c
> index 1f5a33d520..812c90636d 100644
> --- a/board/emulation/qemu-arm/qemu-arm.c
> +++ b/board/emulation/qemu-arm/qemu-arm.c
> @@ -17,7 +17,7 @@ static struct mm_region qemu_arm64_mem_map[] = {
>               .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
>                        PTE_BLOCK_INNER_SHARE
>       }, {
> -             /* Peripherals */
> +             /* Lowmem peripherals */
>               .virt = 0x08000000UL,
>               .phys = 0x08000000UL,
>               .size = 0x38000000,
> @@ -31,6 +31,22 @@ static struct mm_region qemu_arm64_mem_map[] = {
>               .size = 255UL * SZ_1G,
>               .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
>                        PTE_BLOCK_INNER_SHARE
> +     }, {
> +             /* Highmem PCI-E ECAM memory area */
> +             .virt = 0x4010000000ULL,
> +             .phys = 0x4010000000ULL,
> +             .size = 0x10000000,
> +             .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
> +                      PTE_BLOCK_NON_SHARE |
> +                      PTE_BLOCK_PXN | PTE_BLOCK_UXN
> +     }, {
> +             /* Highmem PCI-E MMIO memory area */
> +             .virt = 0x8000000000ULL,
> +             .phys = 0x8000000000ULL,
> +             .size = 0x8000000000ULL,
> +             .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
> +                      PTE_BLOCK_NON_SHARE |
> +                      PTE_BLOCK_PXN | PTE_BLOCK_UXN
>       }, {
>               /* List terminator */
>               0,
> -- 
> 2.16.3
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to