Changes in kernel/arch/ia64/src/ivt.S [9928240:293703e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/ivt.S
r9928240 r293703e 31 31 #include <arch/register.h> 32 32 #include <arch/mm/page.h> 33 #include <arch/interrupt.h>34 33 #include <arch/istate_struct.h> 35 34 #include <align.h> … … 40 39 41 40 /** Partitioning of bank 0 registers. */ 42 #define R_ VECTORr1641 #define R_OFFS r16 43 42 #define R_HANDLER r17 44 43 #define R_RET r18 44 #define R_TMP r19 45 45 #define R_KSTACK_BSP r22 /* keep in sync with before_thread_runs_arch() */ 46 46 #define R_KSTACK r23 /* keep in sync with before_thread_runs_arch() */ 47 47 48 48 /* Speculation vector handler */ 49 .macro SPECULATION_VECTOR_HANDLER vector50 .org ivt + \ vector * 0x10049 .macro SPECULATION_VECTOR_HANDLER offs 50 .org ivt + \offs 51 51 52 52 /* 1. Save predicates, IIM, IIP, IPSR and ISR CR's in bank 0 registers. */ … … 94 94 * @param handler Interrupt handler address. 95 95 */ 96 .macro HEAVYWEIGHT_HANDLER vector, handler=exc_dispatch97 .org ivt + \ vector * 0x10098 mov R_ VECTOR = \vector96 .macro HEAVYWEIGHT_HANDLER offs, handler=universal_handler 97 .org ivt + \offs 98 mov R_OFFS = \offs 99 99 movl R_HANDLER = \handler ;; 100 100 br heavyweight_handler … … 165 165 * copy input parameters to stack. 166 166 */ 167 cmp.eq p6, p5 = EXC_BREAK_INSTRUCTION, R_VECTOR ;; 167 mov R_TMP = 0x2c00 ;; 168 cmp.eq p6, p5 = R_OFFS, R_TMP ;; 168 169 169 170 /* … … 308 309 mov loc1 = R_RET /* b0 belonging to interrupted context */ 309 310 mov loc2 = R_HANDLER 310 mov out0 = R_ VECTOR311 mov out0 = R_OFFS 311 312 312 313 add out1 = STACK_SCRATCH_AREA_SIZE, r12 … … 542 543 .align 32768 543 544 ivt: 544 HEAVYWEIGHT_HANDLER 0x00 545 HEAVYWEIGHT_HANDLER 0x04 546 HEAVYWEIGHT_HANDLER 0x08 547 HEAVYWEIGHT_HANDLER 0x0c 548 HEAVYWEIGHT_HANDLER 0x10 549 HEAVYWEIGHT_HANDLER 0x14 550 HEAVYWEIGHT_HANDLER 0x18 551 HEAVYWEIGHT_HANDLER 0x1c 552 HEAVYWEIGHT_HANDLER 0x20 553 HEAVYWEIGHT_HANDLER 0x24 554 HEAVYWEIGHT_HANDLER 0x28 555 HEAVYWEIGHT_HANDLER 0x2c break_instruction556 HEAVYWEIGHT_HANDLER 0x30 557 HEAVYWEIGHT_HANDLER 0x34 558 HEAVYWEIGHT_HANDLER 0x38 559 HEAVYWEIGHT_HANDLER 0x3c 560 HEAVYWEIGHT_HANDLER 0x40 561 HEAVYWEIGHT_HANDLER 0x44 562 HEAVYWEIGHT_HANDLER 0x48 563 HEAVYWEIGHT_HANDLER 0x4c 564 565 HEAVYWEIGHT_HANDLER 0x50 566 HEAVYWEIGHT_HANDLER 0x51 567 HEAVYWEIGHT_HANDLER 0x52 568 HEAVYWEIGHT_HANDLER 0x53 569 HEAVYWEIGHT_HANDLER 0x54 570 HEAVYWEIGHT_HANDLER 0x55 571 HEAVYWEIGHT_HANDLER 0x56 572 SPECULATION_VECTOR_HANDLER 0x57 573 HEAVYWEIGHT_HANDLER 0x58 574 HEAVYWEIGHT_HANDLER 0x59 575 HEAVYWEIGHT_HANDLER 0x5a 576 HEAVYWEIGHT_HANDLER 0x5b 577 HEAVYWEIGHT_HANDLER 0x5c 578 HEAVYWEIGHT_HANDLER 0x5d 579 HEAVYWEIGHT_HANDLER 0x5e 580 HEAVYWEIGHT_HANDLER 0x5f 581 582 HEAVYWEIGHT_HANDLER 0x60 583 HEAVYWEIGHT_HANDLER 0x61 584 HEAVYWEIGHT_HANDLER 0x62 585 HEAVYWEIGHT_HANDLER 0x63 586 HEAVYWEIGHT_HANDLER 0x64 587 HEAVYWEIGHT_HANDLER 0x65 588 HEAVYWEIGHT_HANDLER 0x66 589 HEAVYWEIGHT_HANDLER 0x67 590 HEAVYWEIGHT_HANDLER 0x68 591 HEAVYWEIGHT_HANDLER 0x69 592 HEAVYWEIGHT_HANDLER 0x6a 593 HEAVYWEIGHT_HANDLER 0x6b 594 HEAVYWEIGHT_HANDLER 0x6c 595 HEAVYWEIGHT_HANDLER 0x6d 596 HEAVYWEIGHT_HANDLER 0x6e 597 HEAVYWEIGHT_HANDLER 0x6f 598 599 HEAVYWEIGHT_HANDLER 0x70 600 HEAVYWEIGHT_HANDLER 0x71 601 HEAVYWEIGHT_HANDLER 0x72 602 HEAVYWEIGHT_HANDLER 0x73 603 HEAVYWEIGHT_HANDLER 0x74 604 HEAVYWEIGHT_HANDLER 0x75 605 HEAVYWEIGHT_HANDLER 0x76 606 HEAVYWEIGHT_HANDLER 0x77 607 HEAVYWEIGHT_HANDLER 0x78 608 HEAVYWEIGHT_HANDLER 0x79 609 HEAVYWEIGHT_HANDLER 0x7a 610 HEAVYWEIGHT_HANDLER 0x7b 611 HEAVYWEIGHT_HANDLER 0x7c 612 HEAVYWEIGHT_HANDLER 0x7d 613 HEAVYWEIGHT_HANDLER 0x7e 614 HEAVYWEIGHT_HANDLER 0x7f 545 HEAVYWEIGHT_HANDLER 0x0000 546 HEAVYWEIGHT_HANDLER 0x0400 547 HEAVYWEIGHT_HANDLER 0x0800 548 HEAVYWEIGHT_HANDLER 0x0c00 alternate_instruction_tlb_fault 549 HEAVYWEIGHT_HANDLER 0x1000 alternate_data_tlb_fault 550 HEAVYWEIGHT_HANDLER 0x1400 data_nested_tlb_fault 551 HEAVYWEIGHT_HANDLER 0x1800 552 HEAVYWEIGHT_HANDLER 0x1c00 553 HEAVYWEIGHT_HANDLER 0x2000 data_dirty_bit_fault 554 HEAVYWEIGHT_HANDLER 0x2400 instruction_access_bit_fault 555 HEAVYWEIGHT_HANDLER 0x2800 data_access_bit_fault 556 HEAVYWEIGHT_HANDLER 0x2c00 break_instruction 557 HEAVYWEIGHT_HANDLER 0x3000 external_interrupt /* For external interrupt, heavyweight handler is used. */ 558 HEAVYWEIGHT_HANDLER 0x3400 559 HEAVYWEIGHT_HANDLER 0x3800 560 HEAVYWEIGHT_HANDLER 0x3c00 561 HEAVYWEIGHT_HANDLER 0x4000 562 HEAVYWEIGHT_HANDLER 0x4400 563 HEAVYWEIGHT_HANDLER 0x4800 564 HEAVYWEIGHT_HANDLER 0x4c00 565 566 HEAVYWEIGHT_HANDLER 0x5000 page_not_present 567 HEAVYWEIGHT_HANDLER 0x5100 568 HEAVYWEIGHT_HANDLER 0x5200 569 HEAVYWEIGHT_HANDLER 0x5300 data_access_rights_fault 570 HEAVYWEIGHT_HANDLER 0x5400 general_exception 571 HEAVYWEIGHT_HANDLER 0x5500 disabled_fp_register 572 HEAVYWEIGHT_HANDLER 0x5600 573 SPECULATION_VECTOR_HANDLER 0x5700 574 HEAVYWEIGHT_HANDLER 0x5800 575 HEAVYWEIGHT_HANDLER 0x5900 576 HEAVYWEIGHT_HANDLER 0x5a00 577 HEAVYWEIGHT_HANDLER 0x5b00 578 HEAVYWEIGHT_HANDLER 0x5c00 579 HEAVYWEIGHT_HANDLER 0x5d00 580 HEAVYWEIGHT_HANDLER 0x5e00 581 HEAVYWEIGHT_HANDLER 0x5f00 582 583 HEAVYWEIGHT_HANDLER 0x6000 584 HEAVYWEIGHT_HANDLER 0x6100 585 HEAVYWEIGHT_HANDLER 0x6200 586 HEAVYWEIGHT_HANDLER 0x6300 587 HEAVYWEIGHT_HANDLER 0x6400 588 HEAVYWEIGHT_HANDLER 0x6500 589 HEAVYWEIGHT_HANDLER 0x6600 590 HEAVYWEIGHT_HANDLER 0x6700 591 HEAVYWEIGHT_HANDLER 0x6800 592 HEAVYWEIGHT_HANDLER 0x6900 593 HEAVYWEIGHT_HANDLER 0x6a00 594 HEAVYWEIGHT_HANDLER 0x6b00 595 HEAVYWEIGHT_HANDLER 0x6c00 596 HEAVYWEIGHT_HANDLER 0x6d00 597 HEAVYWEIGHT_HANDLER 0x6e00 598 HEAVYWEIGHT_HANDLER 0x6f00 599 600 HEAVYWEIGHT_HANDLER 0x7000 601 HEAVYWEIGHT_HANDLER 0x7100 602 HEAVYWEIGHT_HANDLER 0x7200 603 HEAVYWEIGHT_HANDLER 0x7300 604 HEAVYWEIGHT_HANDLER 0x7400 605 HEAVYWEIGHT_HANDLER 0x7500 606 HEAVYWEIGHT_HANDLER 0x7600 607 HEAVYWEIGHT_HANDLER 0x7700 608 HEAVYWEIGHT_HANDLER 0x7800 609 HEAVYWEIGHT_HANDLER 0x7900 610 HEAVYWEIGHT_HANDLER 0x7a00 611 HEAVYWEIGHT_HANDLER 0x7b00 612 HEAVYWEIGHT_HANDLER 0x7c00 613 HEAVYWEIGHT_HANDLER 0x7d00 614 HEAVYWEIGHT_HANDLER 0x7e00 615 HEAVYWEIGHT_HANDLER 0x7f00
Note:
See TracChangeset
for help on using the changeset viewer.