123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /*++
- Copyright (c) 2012 Minoca Corp. All Rights Reserved
- Module Name:
- inttable.s
- Abstract:
- This module implements the interrupt jump vector table for ARM processors.
- Author:
- Evan Green 11-Aug-2012
- Environment:
- Kernel
- --*/
- ##
- ## ---------------------------------------------------------------- Definitions
- ##
- #include <minoca/kernel/arm.inc>
- ##
- ## ----------------------------------------------------------------------- Code
- ##
- ASSEMBLY_FILE_HEADER
- ##
- ## .global allows this label to be visible to the linker.
- ##
- .global ArArmInterruptTable
- ##
- ## This address must be aligned to a 32 byte address so that it can be set in
- ## the VBAR register.
- ##
- .balign 32
- ArArmInterruptTable:
- ldr %pc, ArArmResetVector
- ldr %pc, ArArmUndefinedInstructionVector
- ldr %pc, ArArmSoftwareInterruptVector
- ldr %pc, ArArmPrefetchAbortVector
- ldr %pc, ArArmDataAbortVector
- .word 0
- ldr %pc, ArArmIrqInterruptVector
- ldr %pc, ArArmFiqInterruptVector
- ArArmUndefinedInstructionVector:
- .word ArpUndefinedInstructionEntry
- ArArmSoftwareInterruptVector:
- .word ArpSoftwareInterruptEntry
- ArArmPrefetchAbortVector:
- .word ArpPrefetchAbortEntry
- ArArmDataAbortVector:
- .word ArpDataAbortEntry
- ArArmIrqInterruptVector:
- .word ArpIrqEntry
- ArArmFiqInterruptVector:
- .word ArpFiqEntry
- ArArmResetVector:
- .word ArpFiqEntry
|