Shannon Zhao <zhaoshengl...@huawei.com> writes: > From: Shannon Zhao <shannon.z...@linaro.org> > > Move some common definitions to virt.h. These will be used by > generating ACPI tables. > > Signed-off-by: Shannon Zhao <zhaoshengl...@huawei.com> > Signed-off-by: Shannon Zhao <shannon.z...@linaro.org>
Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > --- > hw/arm/virt.c | 21 +------------------ > include/hw/arm/virt.h | 56 > +++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 57 insertions(+), 20 deletions(-) > create mode 100644 include/hw/arm/virt.h > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index a7f9a10..8959d0c 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -31,6 +31,7 @@ > #include "hw/sysbus.h" > #include "hw/arm/arm.h" > #include "hw/arm/primecell.h" > +#include "hw/arm/virt.h" > #include "hw/devices.h" > #include "net/net.h" > #include "sysemu/block-backend.h" > @@ -44,8 +45,6 @@ > #include "qemu/error-report.h" > #include "hw/pci-host/gpex.h" > > -#define NUM_VIRTIO_TRANSPORTS 32 > - > /* Number of external interrupt lines to configure the GIC with */ > #define NUM_IRQS 128 > > @@ -60,24 +59,6 @@ > #define GIC_FDT_IRQ_PPI_CPU_START 8 > #define GIC_FDT_IRQ_PPI_CPU_WIDTH 8 > > -enum { > - VIRT_FLASH, > - VIRT_MEM, > - VIRT_CPUPERIPHS, > - VIRT_GIC_DIST, > - VIRT_GIC_CPU, > - VIRT_UART, > - VIRT_MMIO, > - VIRT_RTC, > - VIRT_FW_CFG, > - VIRT_PCIE, > -}; > - > -typedef struct MemMapEntry { > - hwaddr base; > - hwaddr size; > -} MemMapEntry; > - > typedef struct VirtBoardInfo { > struct arm_boot_info bootinfo; > const char *cpu_model; > diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h > new file mode 100644 > index 0000000..2fe0d2e > --- /dev/null > +++ b/include/hw/arm/virt.h > @@ -0,0 +1,56 @@ > +/* > + * > + * Copyright (c) 2015 Linaro Limited > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms and conditions of the GNU General Public License, > + * version 2 or later, as published by the Free Software Foundation. > + * > + * This program is distributed in the hope it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along > with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + * > + * Emulate a virtual board which works by passing Linux all the information > + * it needs about what devices are present via the device tree. > + * There are some restrictions about what we can do here: > + * + we can only present devices whose Linux drivers will work based > + * purely on the device tree with no platform data at all > + * + we want to present a very stripped-down minimalist platform, > + * both because this reduces the security attack surface from the guest > + * and also because it reduces our exposure to being broken when > + * the kernel updates its device tree bindings and requires further > + * information in a device binding that we aren't providing. > + * This is essentially the same approach kvmtool uses. > + */ > + > +#ifndef QEMU_ARM_VIRT_H > +#define QEMU_ARM_VIRT_H > + > +#include "qemu-common.h" > + > +#define NUM_VIRTIO_TRANSPORTS 32 > + > +enum { > + VIRT_FLASH, > + VIRT_MEM, > + VIRT_CPUPERIPHS, > + VIRT_GIC_DIST, > + VIRT_GIC_CPU, > + VIRT_UART, > + VIRT_MMIO, > + VIRT_RTC, > + VIRT_FW_CFG, > + VIRT_PCIE, > +}; > + > +typedef struct MemMapEntry { > + hwaddr base; > + hwaddr size; > +} MemMapEntry; > + > + > +#endif -- Alex Bennée