Skip to content
  • Bin Meng's avatar
    f03100d7
    hw/riscv: microchip_pfsoc: Correct DDR memory map · f03100d7
    Bin Meng authored
    
    
    When system memory is larger than 1 GiB (high memory), PolarFire SoC
    maps it at address 0x10_0000_0000. Address 0xC000_0000 and above is
    aliased to the same 1 GiB low memory with different cache attributes.
    
    At present QEMU maps the system memory contiguously from 0x8000_0000.
    This corrects the wrong QEMU logic. Note address 0x14_0000_0000 is
    the alias to the high memory, and even physical memory is only 1 GiB,
    the HSS codes still tries to probe the high memory alias address.
    It seems there is no issue on the real hardware, so we will have to
    take that into the consideration in our emulation. Due to this, we
    we increase the default system memory size to 1537 MiB (the minimum
    required high memory size by HSS) so that user gets notified an error
    when less than 1537 MiB is specified.
    
    Signed-off-by: default avatarBin Meng <bin.meng@windriver.com>
    Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    Message-id: 20201101170538.3732-1-bmeng.cn@gmail.com
    Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    f03100d7
    hw/riscv: microchip_pfsoc: Correct DDR memory map
    Bin Meng authored
    
    
    When system memory is larger than 1 GiB (high memory), PolarFire SoC
    maps it at address 0x10_0000_0000. Address 0xC000_0000 and above is
    aliased to the same 1 GiB low memory with different cache attributes.
    
    At present QEMU maps the system memory contiguously from 0x8000_0000.
    This corrects the wrong QEMU logic. Note address 0x14_0000_0000 is
    the alias to the high memory, and even physical memory is only 1 GiB,
    the HSS codes still tries to probe the high memory alias address.
    It seems there is no issue on the real hardware, so we will have to
    take that into the consideration in our emulation. Due to this, we
    we increase the default system memory size to 1537 MiB (the minimum
    required high memory size by HSS) so that user gets notified an error
    when less than 1537 MiB is specified.
    
    Signed-off-by: default avatarBin Meng <bin.meng@windriver.com>
    Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    Message-id: 20201101170538.3732-1-bmeng.cn@gmail.com
    Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>
Loading