Software Interrupt Emulation - Emulation of software interrupts.
More...
#include <xtf.h>
#include "lowlevel.h"
Go to the source code of this file.
Software Interrupt Emulation - Emulation of software interrupts.
Definition in file main.c.
◆ COND
#define COND |
( |
|
_32, |
|
|
|
_64 |
|
) |
| _64 |
◆ EXINFO_TRAP
◆ TRAP
◆ FAULT
◆ FAULT_EC
◆ mode
Enumerator |
---|
KERN | |
USER | |
KERN | |
USER | |
Definition at line 61 of file main.c.
◆ ex_record_trap_eax()
◆ test_insn()
◆ set_idt_entries_present()
static void set_idt_entries_present |
( |
bool |
present | ) |
|
|
static |
Modify the present flag on the IDT entries under test.
Definition at line 182 of file main.c.
◆ set_idt_entries_dpl()
static void set_idt_entries_dpl |
( |
unsigned int |
dpl | ) |
|
|
static |
Modify the descriptor privilege level on the IDT entries under test.
Definition at line 190 of file main.c.
◆ cpl3_tests()
Tests run in user mode.
Definition at line 202 of file main.c.
◆ cpl0_tests()
Tests run in supervisor mode.
Definition at line 241 of file main.c.
◆ test_main()
To be implemented by each test, as its entry point.
- Todo:
- Implement better command line infrastructure, but this will do for now.
Definition at line 266 of file main.c.
◆ test_title
const char test_title[] = "Software interrupt emulation" |
The title of the test.
Definition at line 51 of file main.c.
◆ int3
Initial value:= {
"int3",
{
},
{
},
}
unsigned long stub_int3(void)
unsigned long stub_user_int3_A(void)
unsigned long stub_user_int3_FA(void)
unsigned long stub_int3_FA(void)
unsigned long stub_user_int3(void)
unsigned long stub_int3_A(void)
unsigned long stub_int3_F(void)
unsigned long stub_user_int3_F(void)
Definition at line 78 of file main.c.
◆ int_0x3
const struct insn int_0x3 |
Initial value:= {
"int $3",
{
},
{
},
}
unsigned long stub_int_0x3_A(void)
unsigned long stub_user_int_0x3_F(void)
unsigned long stub_int_0x3_FA(void)
unsigned long stub_user_int_0x3_A(void)
unsigned long stub_user_int_0x3_FA(void)
unsigned long stub_int_0x3(void)
unsigned long stub_int_0x3_F(void)
unsigned long stub_user_int_0x3(void)
Definition at line 94 of file main.c.
◆ icebp
Initial value:= {
"icebp",
{
},
{
},
}
unsigned long stub_user_icebp(void)
unsigned long stub_icebp_A(void)
unsigned long stub_user_icebp_A(void)
unsigned long stub_icebp(void)
unsigned long stub_user_icebp_FA(void)
unsigned long stub_icebp_F(void)
unsigned long stub_user_icebp_F(void)
unsigned long stub_icebp_FA(void)
Definition at line 110 of file main.c.
◆ int_0x1
const struct insn int_0x1 |
Initial value:= {
"int $1",
{
},
{
},
}
unsigned long stub_int_0x1(void)
unsigned long stub_user_int_0x1_F(void)
unsigned long stub_int_0x1_F(void)
unsigned long stub_int_0x1_A(void)
unsigned long stub_user_int_0x1_A(void)
unsigned long stub_user_int_0x1_FA(void)
unsigned long stub_int_0x1_FA(void)
unsigned long stub_user_int_0x1(void)
Definition at line 126 of file main.c.
◆ into
Initial value:= {
"into",
{
},
{
},
}
unsigned long stub_user_into_FA(void)
unsigned long stub_into_F(void)
unsigned long stub_into_A(void)
unsigned long stub_into(void)
unsigned long stub_into_FA(void)
unsigned long stub_user_into_F(void)
unsigned long stub_user_into(void)
unsigned long stub_user_into_A(void)
Definition at line 142 of file main.c.