17281a8dbSDavid Daney #ifndef KVM__KVM_ARCH_H 27281a8dbSDavid Daney #define KVM__KVM_ARCH_H 37281a8dbSDavid Daney 4*57896feeSAndreas Herrmann 5*57896feeSAndreas Herrmann /* 6*57896feeSAndreas Herrmann * Guest memory map is: 7*57896feeSAndreas Herrmann * 0x00000000-0x0fffffff : System RAM 8*57896feeSAndreas Herrmann * 0x10000000-0x1fffffff : I/O (defined by KVM_MMIO_START and KVM_MMIO_SIZE) 9*57896feeSAndreas Herrmann * 0x20000000- ... : System RAM 10*57896feeSAndreas Herrmann * See also kvm__init_ram(). 11*57896feeSAndreas Herrmann */ 12*57896feeSAndreas Herrmann 137281a8dbSDavid Daney #define KVM_MMIO_START 0x10000000 147281a8dbSDavid Daney #define KVM_PCI_CFG_AREA KVM_MMIO_START 157281a8dbSDavid Daney #define KVM_PCI_MMIO_AREA (KVM_MMIO_START + 0x1000000) 167281a8dbSDavid Daney #define KVM_VIRTIO_MMIO_AREA (KVM_MMIO_START + 0x2000000) 17*57896feeSAndreas Herrmann #define KVM_MMIO_SIZE 0x10000000 187281a8dbSDavid Daney 197281a8dbSDavid Daney /* 207281a8dbSDavid Daney * Just for reference. This and the above corresponds to what's used 217281a8dbSDavid Daney * in mipsvz_page_fault() in kvm_mipsvz.c of the host kernel. 227281a8dbSDavid Daney */ 237281a8dbSDavid Daney #define KVM_MIPS_IOPORT_AREA 0x1e000000 247281a8dbSDavid Daney #define KVM_MIPS_IOPORT_SIZE 0x00010000 257281a8dbSDavid Daney #define KVM_MIPS_IRQCHIP_AREA 0x1e010000 267281a8dbSDavid Daney #define KVM_MIPS_IRQCHIP_SIZE 0x00010000 277281a8dbSDavid Daney 287281a8dbSDavid Daney #define KVM_IRQ_OFFSET 1 297281a8dbSDavid Daney 30b5a5cd67SAndreas Herrmann /* 31b5a5cd67SAndreas Herrmann * MIPS-VZ (trap and emulate is 0) 32b5a5cd67SAndreas Herrmann */ 33b5a5cd67SAndreas Herrmann #define KVM_VM_TYPE 1 34b5a5cd67SAndreas Herrmann 357281a8dbSDavid Daney #define VIRTIO_DEFAULT_TRANS(kvm) VIRTIO_PCI 367281a8dbSDavid Daney 377281a8dbSDavid Daney #include <stdbool.h> 387281a8dbSDavid Daney 397281a8dbSDavid Daney #include "linux/types.h" 407281a8dbSDavid Daney 417281a8dbSDavid Daney struct kvm_arch { 427281a8dbSDavid Daney u64 entry_point; 437281a8dbSDavid Daney u64 argc; 447281a8dbSDavid Daney u64 argv; 457281a8dbSDavid Daney bool is64bit; 467281a8dbSDavid Daney }; 477281a8dbSDavid Daney 487281a8dbSDavid Daney #endif /* KVM__KVM_ARCH_H */ 49