Beispiel #1
0
//! general protection fault
void _cdecl general_protection_fault (uint32_t eip,uint32_t cs,uint32_t flags,uint32_t err)  {

	intstart ();
	kernel_panic ("General Protection Fault at physical address [0x%x:0x%x] EFLAGS [0x%x]",
		cs,cs, cs);
	for (;;);
}
Beispiel #2
0
//! page fault
void _cdecl page_fault (uint32_t eip,uint32_t cs,uint32_t flags,uint32_t err) {

	intstart ();

	int faultAddr=0;

	_asm {
		mov eax, cr2
		mov [faultAddr], eax
	}

	kernel_panic ("Page Fault at 0x%x:0x%x refrenced memory at 0x%x",
		cs, eip, faultAddr);
	for (;;);
}
Beispiel #3
0
//! segment not present
void _cdecl no_segment_fault (uint32_t eip,uint32_t cs,uint32_t flags,uint32_t err)  {

	intstart ();
	kernel_panic ("Invalid segment at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #4
0
/* invalid opcode instruction */
void interrupt _cdecl invalid_opcode_fault(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Invalid opcode");
	for (;;);
}
Beispiel #5
0
/* Overflow trap */
void interrupt _cdecl overflow_trap(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Overflow trap");
	for (;;);
}
Beispiel #6
0
/* No Maskable interrupt trap */
void interrupt _cdecl nmi_trap(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("NMI trap");
	for (;;);
}
Beispiel #7
0
/* Machine Check */
void interrupt _cdecl machine_check_abort(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Machine Check");
	for (;;);
}
Beispiel #8
0
/* General Protection Fault */
void interrupt _cdecl general_protection_fault(uint32_t cs,uint32_t err,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("General Protection Fault");
	for (;;);
}
Beispiel #9
0
/* Segment not present */
void interrupt _cdecl no_segment_fault(uint32_t cs,uint32_t err,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Invalid segment");
	for (;;);
}
Beispiel #10
0
//! divide by 0 fault
void _cdecl divide_by_zero_fault (uint32_t eip, uint32_t cs, uint32_t flags) {

	intstart ();
	kernel_panic ("Divide by 0 at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #11
0
//! Floating Point Unit (FPU) Single Instruction Multiple Data (SIMD) error
void interrupt _cdecl simd_fpu_fault (uint32_t cs, uint32_t  eip, uint32_t flags)  {

	intstart ();
	kernel_panic ("FPU SIMD fault at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #12
0
//! machine check
void interrupt _cdecl machine_check_abort  (uint32_t cs, uint32_t  eip, uint32_t flags)  {

	intstart ();
	kernel_panic ("Machine Check at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #13
0
//! alignment check
void interrupt _cdecl alignment_check_fault (uint32_t eip,uint32_t cs,uint32_t flags,uint32_t err)  {

	intstart ();
	kernel_panic ("Alignment Check at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #14
0
//! stack fault
void _cdecl stack_fault (uint32_t eip,uint32_t cs,uint32_t flags,uint32_t err)  {

	intstart ();
	kernel_panic ("Stack fault at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #15
0
/* Double Fault */
void interrupt _cdecl double_fault_abort(uint32_t cs,uint32_t err,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Double fault");
	for (;;);
}
Beispiel #16
0
//! single step
void _cdecl single_step_trap (uint32_t cs, uint32_t eip, uint32_t flags) {

	intstart ();
	kernel_panic ("Single step at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #17
0
/* Invalid TSS */
void interrupt _cdecl invalid_tss_fault(uint32_t cs,uint32_t err,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Invalid TSS");
	for (;;);
}
Beispiel #18
0
//! breakpoint hit
void _cdecl breakpoint_trap (uint32_t cs, uint32_t eip, uint32_t flags) {

	intstart ();
	kernel_panic ("Breakpoint trap at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #19
0
/* Stack fault */
void interrupt _cdecl stack_fault(uint32_t cs,uint32_t err,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Stack fault");
	for (;;);
}
Beispiel #20
0
//! overflow
void _cdecl overflow_trap (uint32_t cs, uint32_t eip, uint32_t flags) {

	intstart ();
	kernel_panic ("Overflow trap at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #21
0
/* Alignment Check */
void interrupt _cdecl alignment_check_fault(uint32_t cs,uint32_t err,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Alignment Check");
	for (;;);
}
Beispiel #22
0
//! bounds check
void _cdecl bounds_check_fault (uint32_t cs, uint32_t  eip, uint32_t flags) {

	intstart ();
	kernel_panic ("Bounds check fault at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #23
0
/* FPU Single Instruction Multiple Data (SIMD) error */
void interrupt _cdecl simd_fpu_fault(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("FPU SIMD fault");
	for (;;);
}
Beispiel #24
0
//! invalid opcode / instruction
void _cdecl invalid_opcode_fault (uint32_t cs, uint32_t  eip, uint32_t flags) {

	intstart ();
	kernel_panic ("Invalid opcode at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #25
0
/* Breakpoint hit */
void interrupt _cdecl breakpoint_trap(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Breakpoint trap");
	for (;;);
}
Beispiel #26
0
//! device not available
void _cdecl no_device_fault (uint32_t cs, uint32_t eip, uint32_t flags) {

	intstart ();
	kernel_panic ("Device not found fault at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #27
0
/* Bounds check */
void interrupt _cdecl bounds_check_fault(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Bounds check fault");
	for (;;);
}
Beispiel #28
0
//! double fault
void _cdecl double_fault_abort (uint32_t eip,uint32_t cs,uint32_t flags,uint32_t err)  {

	intstart ();
	kernel_panic ("Double fault at physical address [0x%x:0x%x] EFLAGS [0x%x]",cs,eip, flags);
	for (;;);
}
Beispiel #29
0
/* Device not available */
void interrupt _cdecl no_device_fault(uint32_t cs,uint32_t eip,uint32_t eflags) {
	intstart ();
	kernel_panic("Device not found");
	for (;;);
}
Beispiel #30
0
//! single step
void interrupt _cdecl single_step_trap (unsigned int cs, unsigned int eip, unsigned int eflags) {

	intstart ();
	kernel_panic ("Single step");
	for (;;);
}