| /* |
| * |
| * 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 |
| |
| #define ARCH_TIMER_VIRT_IRQ 11 |
| #define ARCH_TIMER_S_EL1_IRQ 13 |
| #define ARCH_TIMER_NS_EL1_IRQ 14 |
| #define ARCH_TIMER_NS_EL2_IRQ 10 |
| |
| enum { |
| VIRT_FLASH, |
| VIRT_MEM, |
| VIRT_CPUPERIPHS, |
| VIRT_GIC_DIST, |
| VIRT_GIC_CPU, |
| VIRT_UART, |
| VIRT_MMIO, |
| VIRT_RTC, |
| VIRT_FW_CFG, |
| VIRT_PCIE, |
| VIRT_PCIE_MMIO, |
| VIRT_PCIE_PIO, |
| VIRT_PCIE_ECAM, |
| }; |
| |
| typedef struct MemMapEntry { |
| hwaddr base; |
| hwaddr size; |
| } MemMapEntry; |
| |
| |
| #endif |