mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-23 17:17:38 +00:00
hw_x86_64: setup ISR and IDT
* Add isr.s assembler file: The file declares an array of Interrupt Service Routines (ISR) to handle the exception vectors from 0 to 19, see Intel SDM Vol. 3A, section 6.3.1. * Add Idt class: * The class Genode::Idt represents an Interrupt Descriptor Table as specified by Intel SDM Vol. 3A, section 6.10. * The setup function initializes the IDT with 20 entries using the ISR array defined in the isr.s assembly file. * Setup and load IDT in Genode::Cpu ctor: The Idt::setup function is only executed once on the BSP. * Declare ISRs for interrupts 20-255 * Set IDT size to 256
This commit is contained in:
committed by
Christian Helmuth
parent
6e0f1a4466
commit
c7cadf52a6
@ -12,9 +12,11 @@ INC_DIR += $(REP_DIR)/src/core/include/spec/x86_64
|
||||
SRC_S += spec/x86_64/mode_transition.s
|
||||
SRC_S += spec/x86_64/kernel/crt0.s
|
||||
SRC_S += spec/x86_64/crt0.s
|
||||
SRC_S += spec/x86_64/isr.s
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += spec/x86_64/kernel/thread_base.cc
|
||||
SRC_CC += spec/x86_64/idt.cc
|
||||
|
||||
# include less specific configuration
|
||||
include $(REP_DIR)/lib/mk/x86/core.inc
|
||||
|
Reference in New Issue
Block a user