Long time ago I wrote a mini guest to test various interesting task switch and even injection scenarios. This is the port of the test cases to unit test framework. Gleb Natapov (16): Move idt.c into lib code. Make access.c use library functions. Remove duplicated idt code from apic test. Remove unused function from apic test. Rename idt.[ch] into desc.[ch] Specify correct operand length for ltr and str. Move irq_(enable|disable) into library code. Add another task switch test. Move vm.[ch] info library code. Fix mmu on 32 bit. Set WP bit in CR0 to make write protection work. Fix exception handling on i386 arch. Move handle_irq() from apic test into library code. Add handle_exception() interface. Move invlpg() into library code. Add even injection test. config-i386.mak | 3 +- config-x86-common.mak | 24 ++-- lib/x86/desc.c | 393 +++++++++++++++++++++++++++++++++++++++++++++++++ lib/x86/desc.h | 51 +++++++ lib/x86/idt.h | 19 --- lib/x86/isr.c | 99 +++++++++++++ lib/x86/isr.h | 14 ++ lib/x86/processor.h | 18 ++- lib/x86/vm.c | 256 ++++++++++++++++++++++++++++++++ lib/x86/vm.h | 47 ++++++ x86/access.c | 97 +------------ x86/apic.c | 156 +------------------- x86/emulator.c | 2 +- x86/eventinj.c | 372 ++++++++++++++++++++++++++++++++++++++++++++++ x86/idt.c | 148 ------------------- x86/idt_test.c | 2 +- x86/taskswitch2.c | 185 +++++++++++++++++++++++ x86/vm.c | 229 ---------------------------- x86/vm.h | 46 ------ x86/xsave.c | 2 +- 20 files changed, 1464 insertions(+), 699 deletions(-) create mode 100644 lib/x86/desc.c create mode 100644 lib/x86/desc.h delete mode 100644 lib/x86/idt.h create mode 100644 lib/x86/isr.c create mode 100644 lib/x86/isr.h create mode 100644 lib/x86/vm.c create mode 100644 lib/x86/vm.h create mode 100644 x86/eventinj.c delete mode 100644 x86/idt.c create mode 100644 x86/taskswitch2.c delete mode 100644 x86/vm.c delete mode 100644 x86/vm.h -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html