mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-11 22:03:15 +00:00
699c4e592b
Initially IVT for ARCv2 was simply copypasted from ARCompact with some selected fixes so basic stuff works. Now we update it with more ARCv2 specific vectors like * Software Interrupt * Division by zero * Data cache consistency error * Misaligned access Also normal interrupts are now implemented properly and extened to all possible 240 items. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
32 lines
1 KiB
ArmAsm
32 lines
1 KiB
ArmAsm
/*
|
|
* Copyright (C) 2013-2015 Synopsys, Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
.section .ivt, "a",@progbits
|
|
.align 4
|
|
/* Critical system events */
|
|
.word _start /* 0x00 - Reset */
|
|
.word memory_error /* 0x01 - Memory Error */
|
|
.word instruction_error /* 0x02 - Instruction Error */
|
|
|
|
/* Exceptions */
|
|
.word EV_MachineCheck /* 0x03 - Fatal Machine check */
|
|
.word EV_TLBMissI /* 0x04 - Intruction TLB miss */
|
|
.word EV_TLBMissD /* 0x05 - Data TLB miss */
|
|
.word EV_TLBProtV /* 0x06 - Protection Violation or Misaligned Access */
|
|
.word EV_PrivilegeV /* 0x07 - Privilege Violation */
|
|
.word EV_SWI /* 0x08 - Software Interrupt */
|
|
.word EV_Trap /* 0x09 - Trap */
|
|
.word EV_Extension /* 0x0A - Extension Intruction Exception */
|
|
.word EV_DivZero /* 0x0B - Division by Zero */
|
|
.word EV_DCError /* 0x0C - Data cache consistency error */
|
|
.word EV_Maligned /* 0x0D - Misaligned data access */
|
|
.word 0 /* 0x0E - Unused */
|
|
.word 0 /* 0x0F - Unused */
|
|
|
|
/* Device interrupts */
|
|
.rept 240
|
|
.word interrupt_handler /* 0x10 - 0xFF */
|
|
.endr
|