[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v8 3/3] hw/arm: Add 'virt' platform
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v8 3/3] hw/arm: Add 'virt' platform |
Date: |
Thu, 31 Oct 2013 23:28:10 +0000 |
On 17 October 2013 17:48, Peter Maydell <address@hidden> 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
- [Qemu-devel] [PATCH v8 0/3] hw/arm: Add 'virt' platform, Peter Maydell, 2013/10/17
- [Qemu-devel] [PATCH v8 1/3] device_tree.c: Terminate the empty reservemap in create_device_tree(), Peter Maydell, 2013/10/17
- Re: [Qemu-devel] [PATCH v8 0/3] hw/arm: Add 'virt' platform, Christoffer Dall, 2013/10/17
- [Qemu-devel] [PATCH v8 2/3] hw/arm/boot: Allow boards to provide an fdt blob, Peter Maydell, 2013/10/17
- [Qemu-devel] [PATCH v8 3/3] hw/arm: Add 'virt' platform, Peter Maydell, 2013/10/17
- Re: [Qemu-devel] [PATCH v8 3/3] hw/arm: Add 'virt' platform,
Peter Maydell <=
- Re: [Qemu-devel] [PATCH v8 0/3] hw/arm: Add 'virt' platform, Peter Maydell, 2013/10/18