1 #ifndef KVM__KVM_ARCH_H 2 #define KVM__KVM_ARCH_H 3 4 #include <linux/sizes.h> 5 6 /* 7 * Guest memory map is: 8 * 0x00000000-0x0fffffff : System RAM 9 * 0x10000000-0x1fffffff : I/O (defined by KVM_MMIO_START and KVM_MMIO_SIZE) 10 * 0x20000000- ... : System RAM 11 * See also kvm__init_ram(). 12 */ 13 14 #define KVM_MMIO_START 0x10000000 15 #define KVM_PCI_CFG_AREA KVM_MMIO_START 16 #define KVM_PCI_MMIO_AREA (KVM_MMIO_START + 0x1000000) 17 #define KVM_VIRTIO_MMIO_AREA (KVM_MMIO_START + 0x2000000) 18 #define KVM_MMIO_SIZE 0x10000000 19 20 /* 21 * Just for reference. This and the above corresponds to what's used 22 * in mipsvz_page_fault() in kvm_mipsvz.c of the host kernel. 23 */ 24 #define KVM_MIPS_IOPORT_AREA 0x1e000000 25 #define KVM_MIPS_IOPORT_SIZE 0x00010000 26 #define KVM_MIPS_IRQCHIP_AREA 0x1e010000 27 #define KVM_MIPS_IRQCHIP_SIZE 0x00010000 28 29 #define KVM_IRQ_OFFSET 1 30 31 /* 32 * MIPS-VZ (trap and emulate is 0) 33 */ 34 #define KVM_VM_TYPE 1 35 36 #define KVM_IOEVENTFD_HAS_PIO 0 37 38 #define MAX_PAGE_SIZE SZ_64K 39 40 #include <stdbool.h> 41 42 #include "linux/types.h" 43 44 struct kvm_arch { 45 u64 entry_point; 46 u64 argc; 47 u64 argv; 48 bool is64bit; 49 }; 50 51 #endif /* KVM__KVM_ARCH_H */ 52