/* * Copyright (c) 2026, Chloe M. * Provided under the BSD-3 clause. * * Description: AMD64 interrupt vectors * Author: Chloe M. */ #include .text .globl TrapDivError TrapDivError: INTR_ENTRY($0x00) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapDebugException TrapDebugException: INTR_ENTRY($0x01) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapNmi TrapNmi: INTR_ENTRY($0x02) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapBreakPoint TrapBreakPoint: INTR_ENTRY($0x03) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapOverflow TrapOverflow: INTR_ENTRY($0x04) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapBoundRange TrapBoundRange: INTR_ENTRY($0x05) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapInvalidOpcode TrapInvalidOpcode: INTR_ENTRY($0x06) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapNoCoprocessor TrapNoCoprocessor: INTR_ENTRY($0x07) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapDoubleFault TrapDoubleFault: INTR_ENTRY_EC($0x08) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapReserved TrapReserved: INTR_ENTRY($0x09) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapInvalidTss TrapInvalidTss: INTR_ENTRY_EC($0x0A) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapSegNotPresent TrapSegNotPresent: INTR_ENTRY_EC($0x0B) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapStackSegmentFault TrapStackSegmentFault: INTR_ENTRY_EC($0x0C) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapGeneralProtection TrapGeneralProtection: INTR_ENTRY_EC($0x0D) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl TrapPageFault TrapPageFault: INTR_ENTRY_EC($0x0E) mov %rsp, %rdi call MdTrapDispatch 1: cli hlt jmp 1b .globl LapicTmrIsr LapicTmrIsr: INTR_ENTRY($0x81) mov %rsp, %rdi call HalContextSwitch 1: cli hlt jmp 1b