On 24.02.15 16:09, Peter Maydell wrote:
> On 7 February 2015 at 02:04, Alexander Graf <[email protected]> wrote:
>> typedef struct MemMapEntry {
>> @@ -129,13 +131,21 @@ static const MemMapEntry a15memmap[] = {
>> [VIRT_FW_CFG] = { 0x09020000, 0x0000000a },
>> [VIRT_MMIO] = { 0x0a000000, 0x00000200 },
>> /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that size
>> */
>> - /* 0x10000000 .. 0x40000000 reserved for PCI */
>> + /*
>> + * PCIE verbose map:
>> + *
>> + * MMIO window { 0x10000000, 0x2eff0000 },
>> + * PIO window { 0x3eff0000, 0x00010000 },
>> + * ECAM { 0x3f000000, 0x01000000 },
>
> Is this a typo, or is there really a big gap between the
> end of the MMIO window and the start of the PIO window?
It's perfectly correct, the map is tuples of { offset, length }:
0000000010000000-000000003efeffff (prio 0, RW): alias pcie-mmio
@gpex_mmio 0000000010000000-000000003efeffff
000000003eff0000-000000003effffff (prio 0, RW): gpex_ioport
000000003f000000-000000003fffffff (prio 0, RW): alias pcie-ecam
@pcie-mmcfg 0000000000000000-0000000000ffffff
Alex