├── .gitignore ├── .gitmodules ├── Makefile ├── README.md ├── examples ├── Makefile └── uefi │ ├── Makefile │ ├── elf_x86_64_efi.lds │ ├── main.c │ └── mp_service.h ├── hypervisor ├── Makefile ├── hypervisor.c ├── impl_hooks.h ├── interrupt │ ├── idt.asm │ ├── idt.c │ └── idt.h ├── memory │ ├── mem.c │ ├── mem.h │ ├── pmem.c │ ├── pmem.h │ ├── vmem.c │ └── vmem.h ├── platform │ ├── arch.h │ ├── intrin.asm │ ├── intrin.h │ ├── nt.h │ ├── serial.c │ ├── serial.h │ ├── spinlock.h │ ├── standard.h │ └── util.h └── vmm │ ├── ept.c │ ├── ept.h │ ├── handler.c │ ├── handler.h │ ├── nested.c │ ├── nested.h │ ├── shim.asm │ ├── shim.h │ ├── vmcall.c │ ├── vmcall.h │ ├── vmm.c │ ├── vmm.h │ ├── vmm_common.h │ └── vmm_reg.h ├── interface ├── hypervisor │ ├── handler_if.h │ ├── hypervisor.h │ └── vmcall_if.h └── usermode │ ├── error.hpp │ ├── hypervisor.cpp │ └── hypervisor.hpp └── scripts ├── commands-gdb ├── gdb-run-qemu-win10.sh ├── run-qemu-hvci-win10.sh ├── run-qemu-win10.sh └── run-qemu.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/.gitmodules -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/README.md -------------------------------------------------------------------------------- /examples/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: all 2 | all: 3 | $(MAKE) -C uefi -------------------------------------------------------------------------------- /examples/uefi/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/examples/uefi/Makefile -------------------------------------------------------------------------------- /examples/uefi/elf_x86_64_efi.lds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/examples/uefi/elf_x86_64_efi.lds -------------------------------------------------------------------------------- /examples/uefi/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/examples/uefi/main.c -------------------------------------------------------------------------------- /examples/uefi/mp_service.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/examples/uefi/mp_service.h -------------------------------------------------------------------------------- /hypervisor/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/Makefile -------------------------------------------------------------------------------- /hypervisor/hypervisor.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/hypervisor.c -------------------------------------------------------------------------------- /hypervisor/impl_hooks.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/impl_hooks.h -------------------------------------------------------------------------------- /hypervisor/interrupt/idt.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/interrupt/idt.asm -------------------------------------------------------------------------------- /hypervisor/interrupt/idt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/interrupt/idt.c -------------------------------------------------------------------------------- /hypervisor/interrupt/idt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/interrupt/idt.h -------------------------------------------------------------------------------- /hypervisor/memory/mem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/memory/mem.c -------------------------------------------------------------------------------- /hypervisor/memory/mem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/memory/mem.h -------------------------------------------------------------------------------- /hypervisor/memory/pmem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/memory/pmem.c -------------------------------------------------------------------------------- /hypervisor/memory/pmem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/memory/pmem.h -------------------------------------------------------------------------------- /hypervisor/memory/vmem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/memory/vmem.c -------------------------------------------------------------------------------- /hypervisor/memory/vmem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/memory/vmem.h -------------------------------------------------------------------------------- /hypervisor/platform/arch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/arch.h -------------------------------------------------------------------------------- /hypervisor/platform/intrin.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/intrin.asm -------------------------------------------------------------------------------- /hypervisor/platform/intrin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/intrin.h -------------------------------------------------------------------------------- /hypervisor/platform/nt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/nt.h -------------------------------------------------------------------------------- /hypervisor/platform/serial.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/serial.c -------------------------------------------------------------------------------- /hypervisor/platform/serial.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/serial.h -------------------------------------------------------------------------------- /hypervisor/platform/spinlock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/spinlock.h -------------------------------------------------------------------------------- /hypervisor/platform/standard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/standard.h -------------------------------------------------------------------------------- /hypervisor/platform/util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/platform/util.h -------------------------------------------------------------------------------- /hypervisor/vmm/ept.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/ept.c -------------------------------------------------------------------------------- /hypervisor/vmm/ept.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/ept.h -------------------------------------------------------------------------------- /hypervisor/vmm/handler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/handler.c -------------------------------------------------------------------------------- /hypervisor/vmm/handler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/handler.h -------------------------------------------------------------------------------- /hypervisor/vmm/nested.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/nested.c -------------------------------------------------------------------------------- /hypervisor/vmm/nested.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/nested.h -------------------------------------------------------------------------------- /hypervisor/vmm/shim.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/shim.asm -------------------------------------------------------------------------------- /hypervisor/vmm/shim.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/shim.h -------------------------------------------------------------------------------- /hypervisor/vmm/vmcall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/vmcall.c -------------------------------------------------------------------------------- /hypervisor/vmm/vmcall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/vmcall.h -------------------------------------------------------------------------------- /hypervisor/vmm/vmm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/vmm.c -------------------------------------------------------------------------------- /hypervisor/vmm/vmm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/vmm.h -------------------------------------------------------------------------------- /hypervisor/vmm/vmm_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/vmm_common.h -------------------------------------------------------------------------------- /hypervisor/vmm/vmm_reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/hypervisor/vmm/vmm_reg.h -------------------------------------------------------------------------------- /interface/hypervisor/handler_if.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/interface/hypervisor/handler_if.h -------------------------------------------------------------------------------- /interface/hypervisor/hypervisor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/interface/hypervisor/hypervisor.h -------------------------------------------------------------------------------- /interface/hypervisor/vmcall_if.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/interface/hypervisor/vmcall_if.h -------------------------------------------------------------------------------- /interface/usermode/error.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/interface/usermode/error.hpp -------------------------------------------------------------------------------- /interface/usermode/hypervisor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/interface/usermode/hypervisor.cpp -------------------------------------------------------------------------------- /interface/usermode/hypervisor.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/interface/usermode/hypervisor.hpp -------------------------------------------------------------------------------- /scripts/commands-gdb: -------------------------------------------------------------------------------- 1 | target remote :1234 2 | layout asm 3 | set disassembly-flavor intel 4 | -------------------------------------------------------------------------------- /scripts/gdb-run-qemu-win10.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/scripts/gdb-run-qemu-win10.sh -------------------------------------------------------------------------------- /scripts/run-qemu-hvci-win10.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/scripts/run-qemu-hvci-win10.sh -------------------------------------------------------------------------------- /scripts/run-qemu-win10.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/scripts/run-qemu-win10.sh -------------------------------------------------------------------------------- /scripts/run-qemu.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/POPFD/cascade/HEAD/scripts/run-qemu.sh --------------------------------------------------------------------------------