├── .gitignore ├── README.md ├── bintest └── bootfd.img ├── get-qemu.sh ├── helpers ├── kvm_host.h ├── seg_base.h ├── vmcs.h ├── vmx_segments.h └── vmx_shims.h ├── include ├── asm │ ├── asm.h │ ├── hyperv.h │ ├── kvm_host.h │ ├── msr-index.h │ ├── processor-flags.h │ ├── special_insns.h │ ├── types.h │ ├── uapi_vmx.h │ └── vmx.h ├── kvm-kext-fixes.h ├── linux │ ├── const.h │ ├── kvm-x86.h │ ├── kvm.h │ ├── kvm_host.h │ ├── kvm_para.h │ ├── kvm_types.h │ └── types.h └── sys │ └── io.h ├── kvm.kext └── Contents │ └── Info.plist ├── main.cpp ├── qemu.patch ├── test.sh └── tests ├── common.h ├── cpu_test.c ├── get_version.c ├── irq_test ├── irq_test.S ├── irq_test.c ├── loop_test.c └── user ├── COPYRIGHT ├── Makefile ├── balloon_ctl.c ├── bootstrap.lds ├── config.mak ├── configure ├── flat.lds ├── kvm-abi-10.h ├── kvmctl ├── kvmctl.c ├── kvmctl.h ├── main.c └── test ├── access.c ├── apic.h ├── bootstrap ├── bootstrap.S ├── cstart.S ├── cstart64.S ├── irq.S ├── memtest1.S ├── print.S ├── print.h ├── printf.c ├── printf.h ├── sieve.c ├── simple.S ├── smp.c ├── smp.flat ├── smp.h ├── smptest.c ├── stringio.S ├── test32.S ├── vm.c ├── vm.h ├── vmexit.c └── vmexit.flat /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/README.md -------------------------------------------------------------------------------- /bintest/bootfd.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/bintest/bootfd.img -------------------------------------------------------------------------------- /get-qemu.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/get-qemu.sh -------------------------------------------------------------------------------- /helpers/kvm_host.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/helpers/kvm_host.h -------------------------------------------------------------------------------- /helpers/seg_base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/helpers/seg_base.h -------------------------------------------------------------------------------- /helpers/vmcs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/helpers/vmcs.h -------------------------------------------------------------------------------- /helpers/vmx_segments.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/helpers/vmx_segments.h -------------------------------------------------------------------------------- /helpers/vmx_shims.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/helpers/vmx_shims.h -------------------------------------------------------------------------------- /include/asm/asm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/asm.h -------------------------------------------------------------------------------- /include/asm/hyperv.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/hyperv.h -------------------------------------------------------------------------------- /include/asm/kvm_host.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/kvm_host.h -------------------------------------------------------------------------------- /include/asm/msr-index.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/msr-index.h -------------------------------------------------------------------------------- /include/asm/processor-flags.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/processor-flags.h -------------------------------------------------------------------------------- /include/asm/special_insns.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/special_insns.h -------------------------------------------------------------------------------- /include/asm/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/types.h -------------------------------------------------------------------------------- /include/asm/uapi_vmx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/uapi_vmx.h -------------------------------------------------------------------------------- /include/asm/vmx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/asm/vmx.h -------------------------------------------------------------------------------- /include/kvm-kext-fixes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/kvm-kext-fixes.h -------------------------------------------------------------------------------- /include/linux/const.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/const.h -------------------------------------------------------------------------------- /include/linux/kvm-x86.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/kvm-x86.h -------------------------------------------------------------------------------- /include/linux/kvm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/kvm.h -------------------------------------------------------------------------------- /include/linux/kvm_host.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/kvm_host.h -------------------------------------------------------------------------------- /include/linux/kvm_para.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/kvm_para.h -------------------------------------------------------------------------------- /include/linux/kvm_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/kvm_types.h -------------------------------------------------------------------------------- /include/linux/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/include/linux/types.h -------------------------------------------------------------------------------- /include/sys/io.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kvm.kext/Contents/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/kvm.kext/Contents/Info.plist -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/main.cpp -------------------------------------------------------------------------------- /qemu.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/qemu.patch -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/test.sh -------------------------------------------------------------------------------- /tests/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/common.h -------------------------------------------------------------------------------- /tests/cpu_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/cpu_test.c -------------------------------------------------------------------------------- /tests/get_version.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/get_version.c -------------------------------------------------------------------------------- /tests/irq_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/irq_test -------------------------------------------------------------------------------- /tests/irq_test.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/irq_test.S -------------------------------------------------------------------------------- /tests/irq_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/irq_test.c -------------------------------------------------------------------------------- /tests/loop_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/loop_test.c -------------------------------------------------------------------------------- /tests/user/COPYRIGHT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/COPYRIGHT -------------------------------------------------------------------------------- /tests/user/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/Makefile -------------------------------------------------------------------------------- /tests/user/balloon_ctl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/balloon_ctl.c -------------------------------------------------------------------------------- /tests/user/bootstrap.lds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/bootstrap.lds -------------------------------------------------------------------------------- /tests/user/config.mak: -------------------------------------------------------------------------------- 1 | PREFIX=/usr/local 2 | KERNELDIR= 3 | -------------------------------------------------------------------------------- /tests/user/configure: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/configure -------------------------------------------------------------------------------- /tests/user/flat.lds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/flat.lds -------------------------------------------------------------------------------- /tests/user/kvm-abi-10.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/kvm-abi-10.h -------------------------------------------------------------------------------- /tests/user/kvmctl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/kvmctl -------------------------------------------------------------------------------- /tests/user/kvmctl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/kvmctl.c -------------------------------------------------------------------------------- /tests/user/kvmctl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/kvmctl.h -------------------------------------------------------------------------------- /tests/user/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/main.c -------------------------------------------------------------------------------- /tests/user/test/access.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/access.c -------------------------------------------------------------------------------- /tests/user/test/apic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/apic.h -------------------------------------------------------------------------------- /tests/user/test/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/bootstrap -------------------------------------------------------------------------------- /tests/user/test/bootstrap.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/bootstrap.S -------------------------------------------------------------------------------- /tests/user/test/cstart.S: -------------------------------------------------------------------------------- 1 | 2 | 3 | .bss 4 | 5 | .section .init 6 | call main 7 | 1: hlt 8 | jmp 1b 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/user/test/cstart64.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/cstart64.S -------------------------------------------------------------------------------- /tests/user/test/irq.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/irq.S -------------------------------------------------------------------------------- /tests/user/test/memtest1.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/memtest1.S -------------------------------------------------------------------------------- /tests/user/test/print.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/print.S -------------------------------------------------------------------------------- /tests/user/test/print.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/print.h -------------------------------------------------------------------------------- /tests/user/test/printf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/printf.c -------------------------------------------------------------------------------- /tests/user/test/printf.h: -------------------------------------------------------------------------------- 1 | 2 | int printf(const char *fmt, ...); 3 | -------------------------------------------------------------------------------- /tests/user/test/sieve.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/sieve.c -------------------------------------------------------------------------------- /tests/user/test/simple.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/simple.S -------------------------------------------------------------------------------- /tests/user/test/smp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/smp.c -------------------------------------------------------------------------------- /tests/user/test/smp.flat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/smp.flat -------------------------------------------------------------------------------- /tests/user/test/smp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/smp.h -------------------------------------------------------------------------------- /tests/user/test/smptest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/smptest.c -------------------------------------------------------------------------------- /tests/user/test/stringio.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/stringio.S -------------------------------------------------------------------------------- /tests/user/test/test32.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/test32.S -------------------------------------------------------------------------------- /tests/user/test/vm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/vm.c -------------------------------------------------------------------------------- /tests/user/test/vm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/vm.h -------------------------------------------------------------------------------- /tests/user/test/vmexit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/vmexit.c -------------------------------------------------------------------------------- /tests/user/test/vmexit.flat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geohot/kvm-kext/HEAD/tests/user/test/vmexit.flat --------------------------------------------------------------------------------