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