On 17 October 2013 17:48, Peter Maydell <peter.maydell@xxxxxxxxxx> wrote: > Add 'virt' platform support corresponding to arch/arm/mach-virt > in the Linux kernel tree. This has no platform-specific code but > can use any device whose kernel driver is is able to work purely > from a device tree node. We use this to instantiate a minimal > set of devices: a GIC and some virtio-mmio transports. > +/* Addresses and sizes of our components. > + * We leave the first 64K free for possible use later for > + * flash (for running boot code such as UEFI); following > + * that is I/O, and then everything else is RAM (which may > + * happily spill over into the high memory region beyond 4GB). > + */ > +static const MemMapEntry a15memmap[] = { > + [VIRT_FLASH] = { 0, 0x1000000 }, > + [VIRT_CPUPERIPHS] = { 0x1000000, 0x8000 }, > + /* GIC distributor and CPU interfaces sit inside the CPU peripheral space */ > + [VIRT_GIC_DIST] = { 0x1001000, 0x1000 }, > + [VIRT_GIC_CPU] = { 0x1002000, 0x1000 }, > + [VIRT_UART] = { 0x1008000, 0x1000 }, > + [VIRT_MMIO] = { 0x2000000, 0x200 }, > + /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that size */ > + [VIRT_MEM] = { 0x8000000, 30ULL * 1024 * 1024 * 1024 }, > +}; So, following some conversations at Linaro Connect this week it occurred to me that it might be better to arrange the mach-virt memory map with some space so that if a miracle occurs and we can get pci-e support into it then we don't have to have a migration compat break when we move the RAM around. Something like: 0 .. 0.25GB: flash, cpu periphs, etc, virtio-mmio as above 0.25GB..1GB: space here for PCI memory window 1GB and up: RAM but since I don't have much PCI experience I dunno whether that makes sense as a set of sizes. Comments/corrections welcome. thanks -- PMM _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm