Changes in kernel/arch/ia64/src/ivt.S [293703e:9928240] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/ivt.S
r293703e r9928240 31 31 #include <arch/register.h> 32 32 #include <arch/mm/page.h> 33 #include <arch/interrupt.h> 33 34 #include <arch/istate_struct.h> 34 35 #include <align.h> … … 39 40 40 41 /** Partitioning of bank 0 registers. */ 41 #define R_ OFFSr1642 #define R_VECTOR r16 42 43 #define R_HANDLER r17 43 44 #define R_RET r18 44 #define R_TMP r1945 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 offs50 .org ivt + \ offs49 .macro SPECULATION_VECTOR_HANDLER vector 50 .org ivt + \vector * 0x100 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 offs, handler=universal_handler97 .org ivt + \ offs98 mov R_ OFFS = \offs96 .macro HEAVYWEIGHT_HANDLER vector, handler=exc_dispatch 97 .org ivt + \vector * 0x100 98 mov R_VECTOR = \vector 99 99 movl R_HANDLER = \handler ;; 100 100 br heavyweight_handler … … 165 165 * copy input parameters to stack. 166 166 */ 167 mov R_TMP = 0x2c00 ;; 168 cmp.eq p6, p5 = R_OFFS, R_TMP ;; 167 cmp.eq p6, p5 = EXC_BREAK_INSTRUCTION, R_VECTOR ;; 169 168 170 169 /* … … 309 308 mov loc1 = R_RET /* b0 belonging to interrupted context */ 310 309 mov loc2 = R_HANDLER 311 mov out0 = R_ OFFS310 mov out0 = R_VECTOR 312 311 313 312 add out1 = STACK_SCRATCH_AREA_SIZE, r12 … … 543 542 .align 32768 544 543 ivt: 545 HEAVYWEIGHT_HANDLER 0x00 00546 HEAVYWEIGHT_HANDLER 0x04 00547 HEAVYWEIGHT_HANDLER 0x08 00548 HEAVYWEIGHT_HANDLER 0x0c 00 alternate_instruction_tlb_fault549 HEAVYWEIGHT_HANDLER 0x10 00 alternate_data_tlb_fault550 HEAVYWEIGHT_HANDLER 0x14 00 data_nested_tlb_fault551 HEAVYWEIGHT_HANDLER 0x18 00552 HEAVYWEIGHT_HANDLER 0x1c 00553 HEAVYWEIGHT_HANDLER 0x20 00 data_dirty_bit_fault554 HEAVYWEIGHT_HANDLER 0x24 00 instruction_access_bit_fault555 HEAVYWEIGHT_HANDLER 0x28 00 data_access_bit_fault556 HEAVYWEIGHT_HANDLER 0x2c 00break_instruction557 HEAVYWEIGHT_HANDLER 0x30 00 external_interrupt /* For external interrupt, heavyweight handler is used. */558 HEAVYWEIGHT_HANDLER 0x34 00559 HEAVYWEIGHT_HANDLER 0x38 00560 HEAVYWEIGHT_HANDLER 0x3c 00561 HEAVYWEIGHT_HANDLER 0x40 00562 HEAVYWEIGHT_HANDLER 0x44 00563 HEAVYWEIGHT_HANDLER 0x48 00564 HEAVYWEIGHT_HANDLER 0x4c 00565 566 HEAVYWEIGHT_HANDLER 0x50 00 page_not_present567 HEAVYWEIGHT_HANDLER 0x51 00568 HEAVYWEIGHT_HANDLER 0x52 00569 HEAVYWEIGHT_HANDLER 0x53 00 data_access_rights_fault570 HEAVYWEIGHT_HANDLER 0x54 00 general_exception571 HEAVYWEIGHT_HANDLER 0x55 00 disabled_fp_register572 HEAVYWEIGHT_HANDLER 0x56 00573 SPECULATION_VECTOR_HANDLER 0x57 00574 HEAVYWEIGHT_HANDLER 0x58 00575 HEAVYWEIGHT_HANDLER 0x59 00576 HEAVYWEIGHT_HANDLER 0x5a 00577 HEAVYWEIGHT_HANDLER 0x5b 00578 HEAVYWEIGHT_HANDLER 0x5c 00579 HEAVYWEIGHT_HANDLER 0x5d 00580 HEAVYWEIGHT_HANDLER 0x5e 00581 HEAVYWEIGHT_HANDLER 0x5f 00582 583 HEAVYWEIGHT_HANDLER 0x60 00584 HEAVYWEIGHT_HANDLER 0x61 00585 HEAVYWEIGHT_HANDLER 0x62 00586 HEAVYWEIGHT_HANDLER 0x63 00587 HEAVYWEIGHT_HANDLER 0x64 00588 HEAVYWEIGHT_HANDLER 0x65 00589 HEAVYWEIGHT_HANDLER 0x66 00590 HEAVYWEIGHT_HANDLER 0x67 00591 HEAVYWEIGHT_HANDLER 0x68 00592 HEAVYWEIGHT_HANDLER 0x69 00593 HEAVYWEIGHT_HANDLER 0x6a 00594 HEAVYWEIGHT_HANDLER 0x6b 00595 HEAVYWEIGHT_HANDLER 0x6c 00596 HEAVYWEIGHT_HANDLER 0x6d 00597 HEAVYWEIGHT_HANDLER 0x6e 00598 HEAVYWEIGHT_HANDLER 0x6f 00599 600 HEAVYWEIGHT_HANDLER 0x70 00601 HEAVYWEIGHT_HANDLER 0x71 00602 HEAVYWEIGHT_HANDLER 0x72 00603 HEAVYWEIGHT_HANDLER 0x73 00604 HEAVYWEIGHT_HANDLER 0x74 00605 HEAVYWEIGHT_HANDLER 0x75 00606 HEAVYWEIGHT_HANDLER 0x76 00607 HEAVYWEIGHT_HANDLER 0x77 00608 HEAVYWEIGHT_HANDLER 0x78 00609 HEAVYWEIGHT_HANDLER 0x79 00610 HEAVYWEIGHT_HANDLER 0x7a 00611 HEAVYWEIGHT_HANDLER 0x7b 00612 HEAVYWEIGHT_HANDLER 0x7c 00613 HEAVYWEIGHT_HANDLER 0x7d 00614 HEAVYWEIGHT_HANDLER 0x7e 00615 HEAVYWEIGHT_HANDLER 0x7f 00544 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_instruction 556 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
Note:
See TracChangeset
for help on using the changeset viewer.