Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
efi/ | H | 02-May-2025 | - | 467 | 291 | |
Makefile | H A D | 02-May-2025 | 47 | 2 | 1 | |
Makefile.common | H A D | 26-May-2025 | 4 KiB | 133 | 100 | |
Makefile.i386 | H A D | 02-May-2025 | 341 | 15 | 11 | |
Makefile.x86_64 | H A D | 02-May-2025 | 2 KiB | 68 | 52 | |
README | H A D | 02-May-2025 | 2.2 KiB | 49 | 40 | |
access.c | H A D | 02-May-2025 | 32.8 KiB | 1,323 | 995 | |
access.h | H A D | 02-May-2025 | 178 | 9 | 6 | |
access_test.c | H A D | 02-May-2025 | 608 | 27 | 18 | |
amd_sev.c | H A D | 02-May-2025 | 2.3 KiB | 98 | 67 | |
apic.c | H A D | 02-May-2025 | 23.4 KiB | 976 | 690 | |
asyncpf.c | H A D | 02-May-2025 | 4 KiB | 151 | 99 | |
cet.c | H A D | 02-May-2025 | 3.4 KiB | 130 | 82 | |
cmpxchg8b.c | H A D | 02-May-2025 | 525 | 26 | 22 | |
cstart.S | H A D | 02-May-2025 | 1.8 KiB | 125 | 99 | |
cstart64.S | H A D | 02-May-2025 | 2 KiB | 143 | 108 | |
debug.c | H A D | 02-May-2025 | 15.8 KiB | 606 | 440 | |
dummy.c | H A D | 02-May-2025 | 282 | 13 | 6 | |
emulator.c | H A D | 02-May-2025 | 21.8 KiB | 842 | 680 | |
emulator64.c | H A D | 02-May-2025 | 13.8 KiB | 492 | 402 | |
eventinj.c | H A D | 02-May-2025 | 10.3 KiB | 434 | 348 | |
flat.lds | H A D | 02-May-2025 | 490 | 29 | 26 | |
hypercall.c | H A D | 02-May-2025 | 2.1 KiB | 98 | 81 | |
hyperv.c | H A D | 02-May-2025 | 1.7 KiB | 71 | 59 | |
hyperv.h | H A D | 02-May-2025 | 7.3 KiB | 237 | 175 | |
hyperv_clock.c | H A D | 02-May-2025 | 5 KiB | 220 | 167 | |
hyperv_connections.c | H A D | 02-May-2025 | 7.9 KiB | 333 | 263 | |
hyperv_stimer.c | H A D | 02-May-2025 | 11 KiB | 472 | 368 | |
hyperv_synic.c | H A D | 02-May-2025 | 3.7 KiB | 187 | 152 | |
idt_test.c | H A D | 02-May-2025 | 906 | 42 | 35 | |
init.c | H A D | 02-May-2025 | 2.6 KiB | 131 | 100 | |
intel-iommu.c | H A D | 02-May-2025 | 3.9 KiB | 169 | 94 | |
ioapic.c | H A D | 02-May-2025 | 10.6 KiB | 526 | 426 | |
ioram.h | H A D | 02-May-2025 | 120 | 8 | 5 | |
kvmclock.c | H A D | 02-May-2025 | 6.9 KiB | 290 | 208 | |
kvmclock.h | H A D | 02-May-2025 | 903 | 45 | 34 | |
kvmclock_test.c | H A D | 02-May-2025 | 4.5 KiB | 156 | 124 | |
la57.c | H A D | 02-May-2025 | 9.6 KiB | 348 | 244 | |
lam.c | H A D | 02-May-2025 | 7.9 KiB | 287 | 176 | |
memory.c | H A D | 02-May-2025 | 1.2 KiB | 61 | 38 | |
msr.c | H A D | 02-May-2025 | 9.6 KiB | 339 | 234 | |
pcid.c | H A D | 02-May-2025 | 2.8 KiB | 131 | 84 | |
pks.c | H A D | 02-May-2025 | 3.9 KiB | 148 | 121 | |
pku.c | H A D | 02-May-2025 | 3.6 KiB | 147 | 120 | |
pmu.c | H A D | 02-May-2025 | 25.7 KiB | 1,029 | 771 | |
pmu_lbr.c | H A D | 02-May-2025 | 2.1 KiB | 109 | 85 | |
pmu_pebs.c | H A D | 02-May-2025 | 12 KiB | 449 | 368 | |
rdpru.c | H A D | 02-May-2025 | 457 | 24 | 18 | |
realmode.c | H A D | 02-May-2025 | 52.1 KiB | 1,870 | 1,506 | |
realmode.lds | H A D | 02-May-2025 | 201 | 13 | 12 | |
rmap_chain.c | H A D | 02-May-2025 | 1.1 KiB | 48 | 36 | |
run | H A D | 02-May-2025 | 1.4 KiB | 56 | 41 | |
s3.c | H A D | 02-May-2025 | 2 KiB | 83 | 67 | |
setjmp.c | H A D | 02-May-2025 | 405 | 25 | 19 | |
sieve.c | H A D | 02-May-2025 | 932 | 55 | 44 | |
smap.c | H A D | 02-May-2025 | 4.7 KiB | 203 | 158 | |
smptest.c | H A D | 02-May-2025 | 532 | 31 | 24 | |
svm.c | H A D | 02-May-2025 | 8.6 KiB | 425 | 331 | |
svm.h | H A D | 02-May-2025 | 13.2 KiB | 501 | 439 | |
svm_npt.c | H A D | 02-May-2025 | 8.4 KiB | 381 | 269 | |
svm_tests.c | H A D | 02-May-2025 | 85.9 KiB | 3,443 | 2,553 | |
syscall.c | H A D | 02-May-2025 | 3.6 KiB | 116 | 74 | |
taskswitch.c | H A D | 02-May-2025 | 823 | 52 | 32 | |
taskswitch2.c | H A D | 02-May-2025 | 7 KiB | 295 | 233 | |
trampolines.S | H A D | 02-May-2025 | 2.3 KiB | 136 | 96 | |
tsc.c | H A D | 02-May-2025 | 1 KiB | 57 | 45 | |
tsc_adjust.c | H A D | 02-May-2025 | 978 | 37 | 32 | |
tscdeadline_latency.c | H A D | 02-May-2025 | 2.8 KiB | 132 | 87 | |
tsx-ctrl.c | H A D | 02-May-2025 | 1.6 KiB | 61 | 43 | |
umip.c | H A D | 02-May-2025 | 5.1 KiB | 220 | 190 | |
unittests.cfg | H A D | 02-May-2025 | 10.2 KiB | 498 | 411 | |
vmexit.c | H A D | 02-May-2025 | 12.5 KiB | 630 | 534 | |
vmware_backdoors.c | H A D | 02-May-2025 | 4.6 KiB | 182 | 139 | |
vmx.c | H A D | 02-May-2025 | 54.2 KiB | 2,146 | 1,685 | |
vmx.h | H A D | 02-May-2025 | 25.7 KiB | 1,056 | 888 | |
vmx_tests.c | H A D | 02-May-2025 | 315.9 KiB | 11,494 | 8,193 | |
xsave.c | H A D | 02-May-2025 | 4.4 KiB | 137 | 108 |
README
1 2Tests for the x86 architecture are run as kernel images for qemu that support 3multiboot format. The tests use an infrastructure called from the bios code. 4The infrastructure initialize the system/cpus, switches to long-mode, and 5calls the 'main' function of the individual test. Tests use a qemu virtual 6test device, named testdev, for services like printing, exiting, querying 7memory size, etc. See file docs/testdev.txt for more details. 8 9Examples of a test invocation: 10 These invocations run the msr test case and outputs to stdio. 11 12 Using qemu-kvm: 13 14 qemu-kvm -device testdev,chardev=testlog \ 15 -chardev file,id=testlog,path=msr.out \ 16 -serial stdio -kernel ./x86/msr.flat 17 18 Using qemu (supported since qemu 1.3): 19 20 qemu-system-x86_64 -enable-kvm -device pc-testdev -serial stdio \ 21 -device isa-debug-exit,iobase=0xf4,iosize=0x4 \ 22 -kernel ./x86/msr.flat 23 24Tests in this directory and what they do: 25 access: lots of page table related access (pte/pde) (read/write) 26 apic: enable x2apic, self ipi, ioapic intr, ioapic simultaneous 27 emulator: move to/from regs, cmps, push, pop, to/from cr8, smsw and lmsw 28 hypercall: intel and amd hypercall insn 29 msr: write to msr (only KERNEL_GS_BASE for now) 30 realmode: goes back to realmode, shld, push/pop, mov immediate, cmp 31 immediate, add immediate, io, eflags instructions 32 (clc, cli, etc.), jcc short, jcc near, call, long jmp, xchg 33 sieve: heavy memory access with no paging and with paging static and 34 with paging vmalloc'ed 35 smptest: run smp_id() on every cpu and compares return value to number 36 tsc: write to tsc(0) and write to tsc(100000000000) and read it back 37 vmexit: long loops for each: cpuid, vmcall, mov_from_cr8, mov_to_cr8, 38 inl_pmtimer, ipi, ipi+halt 39 kvmclock_test: test of wallclock, monotonic cycle and performance of kvmclock 40 pcid: basic functionality test of PCID/INVPCID feature 41 42Legacy notes: 43 The exit status of the binary is inconsistent; with qemu-system, after 44 the unit-test is done, the exit status of qemu is 1, different from the 45 'old style' qemu-kvm, whose exit status in successful completion is 0. 46 The run script converts the qemu-system exit status to 0 (SUCCESS), and 47 treats the legacy exit status of 0 as an error, converting it to an exit 48 status of 1. 49