xref: /kvmtool/mips/include/kvm/kvm-arch.h (revision b5a5cd6735e13d5410147137f13e4c1e9bb8c063)
17281a8dbSDavid Daney #ifndef KVM__KVM_ARCH_H
27281a8dbSDavid Daney #define KVM__KVM_ARCH_H
37281a8dbSDavid Daney 
47281a8dbSDavid Daney #define KVM_MMIO_START		0x10000000
57281a8dbSDavid Daney #define KVM_PCI_CFG_AREA	KVM_MMIO_START
67281a8dbSDavid Daney #define KVM_PCI_MMIO_AREA	(KVM_MMIO_START + 0x1000000)
77281a8dbSDavid Daney #define KVM_VIRTIO_MMIO_AREA	(KVM_MMIO_START + 0x2000000)
87281a8dbSDavid Daney 
97281a8dbSDavid Daney /*
107281a8dbSDavid Daney  * Just for reference. This and the above corresponds to what's used
117281a8dbSDavid Daney  * in mipsvz_page_fault() in kvm_mipsvz.c of the host kernel.
127281a8dbSDavid Daney  */
137281a8dbSDavid Daney #define KVM_MIPS_IOPORT_AREA	0x1e000000
147281a8dbSDavid Daney #define KVM_MIPS_IOPORT_SIZE	0x00010000
157281a8dbSDavid Daney #define KVM_MIPS_IRQCHIP_AREA	0x1e010000
167281a8dbSDavid Daney #define KVM_MIPS_IRQCHIP_SIZE	0x00010000
177281a8dbSDavid Daney 
187281a8dbSDavid Daney #define KVM_IRQ_OFFSET		1
197281a8dbSDavid Daney 
20*b5a5cd67SAndreas Herrmann /*
21*b5a5cd67SAndreas Herrmann  * MIPS-VZ (trap and emulate is 0)
22*b5a5cd67SAndreas Herrmann  */
23*b5a5cd67SAndreas Herrmann #define KVM_VM_TYPE		1
24*b5a5cd67SAndreas Herrmann 
257281a8dbSDavid Daney #define VIRTIO_DEFAULT_TRANS(kvm)	VIRTIO_PCI
267281a8dbSDavid Daney 
277281a8dbSDavid Daney #include <stdbool.h>
287281a8dbSDavid Daney 
297281a8dbSDavid Daney #include "linux/types.h"
307281a8dbSDavid Daney 
317281a8dbSDavid Daney struct kvm_arch {
327281a8dbSDavid Daney 	u64 entry_point;
337281a8dbSDavid Daney 	u64 argc;
347281a8dbSDavid Daney 	u64 argv;
357281a8dbSDavid Daney 	bool is64bit;
367281a8dbSDavid Daney };
377281a8dbSDavid Daney 
387281a8dbSDavid Daney #endif /* KVM__KVM_ARCH_H */
39