Changeset 8b655705 in mainline for kernel/arch/ia64
- Timestamp:
- 2011-04-15T19:38:07Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9dd730d1
- Parents:
- 6b9e85b (diff), b2fb47f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/arch/ia64
- Files:
-
- 5 edited
-
_link.ld.in (modified) (3 diffs)
-
src/asm.S (modified) (4 diffs)
-
src/ivt.S (modified) (1 diff)
-
src/mm/tlb.c (modified) (6 diffs)
-
src/start.S (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/_link.ld.in
r6b9e85b r8b655705 16 16 ktext_start = .; 17 17 *(K_TEXT_START); 18 *(.text )18 *(.text .text.*) 19 19 ktext_end = .; 20 20 … … 30 30 hardcoded_kdata_size = .; 31 31 QUAD(kdata_end - kdata_start); 32 __gp = .; 32 33 *(.got .got.*) 33 34 *(.sdata) … … 36 37 *(.bss) 37 38 *(COMMON); 38 39 39 40 . = ALIGN(8); 40 symbol_table = .;41 *(symtab.*); /* Symbol table, must be LAST symbol!*/42 41 symbol_table = .; 42 *(symtab.*); /* Symbol table, must be LAST symbol!*/ 43 43 44 kdata_end = .; 44 45 } 45 46 46 47 /DISCARD/ : { 47 48 *(*); 48 49 } 49 50 50 } -
kernel/arch/ia64/src/asm.S
r6b9e85b r8b655705 30 30 31 31 .text 32 .global memcpy33 32 .global memcpy_from_uspace 34 33 .global memcpy_to_uspace … … 39 38 * 40 39 * This memcpy() has been taken from the assembler output of 41 * the generic _memcpy() and modified to have the failover part. 40 * a plain C implementation of memcpy() modified to have the 41 * failover part. 42 42 * 43 43 * @param in0 Destination address. … … 46 46 * 47 47 */ 48 memcpy:49 48 memcpy_from_uspace: 50 49 memcpy_to_uspace: … … 141 140 br.ret.sptk.many rp 142 141 143 .global memsetb144 memsetb:145 br _memsetb146 147 .global memsetw148 memsetw:149 br _memsetw150 151 142 .global cpu_halt 152 143 cpu_halt: -
kernel/arch/ia64/src/ivt.S
r6b9e85b r8b655705 391 391 392 392 /* 10. call handler */ 393 movl r1 = kernel_image_start393 movl r1 = __gp 394 394 395 395 mov b1 = loc2 -
kernel/arch/ia64/src/mm/tlb.c
r6b9e85b r8b655705 475 475 void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate) 476 476 { 477 region_register_t rr;478 rid_t rid;479 477 uintptr_t va; 480 478 pte_t *t; 481 479 482 480 va = istate->cr_ifa; /* faulting address */ 483 rr.word = rr_read(VA2VRN(va));484 rid = rr.map.rid;485 481 486 482 page_table_lock(AS, true); … … 649 645 void data_dirty_bit_fault(uint64_t vector, istate_t *istate) 650 646 { 651 region_register_t rr;652 rid_t rid;653 647 uintptr_t va; 654 648 pte_t *t; 655 649 656 650 va = istate->cr_ifa; /* faulting address */ 657 rr.word = rr_read(VA2VRN(va));658 rid = rr.map.rid;659 651 660 652 page_table_lock(AS, true); … … 686 678 void instruction_access_bit_fault(uint64_t vector, istate_t *istate) 687 679 { 688 region_register_t rr;689 rid_t rid;690 680 uintptr_t va; 691 681 pte_t *t; 692 682 693 683 va = istate->cr_ifa; /* faulting address */ 694 rr.word = rr_read(VA2VRN(va));695 rid = rr.map.rid;696 684 697 685 page_table_lock(AS, true); … … 723 711 void data_access_bit_fault(uint64_t vector, istate_t *istate) 724 712 { 725 region_register_t rr;726 rid_t rid;727 713 uintptr_t va; 728 714 pte_t *t; 729 715 730 716 va = istate->cr_ifa; /* faulting address */ 731 rr.word = rr_read(VA2VRN(va));732 rid = rr.map.rid;733 717 734 718 page_table_lock(AS, true); … … 760 744 void data_access_rights_fault(uint64_t vector, istate_t *istate) 761 745 { 762 region_register_t rr;763 rid_t rid;764 746 uintptr_t va; 765 747 pte_t *t; 766 748 767 749 va = istate->cr_ifa; /* faulting address */ 768 rr.word = rr_read(VA2VRN(va));769 rid = rr.map.rid;770 750 771 751 /* … … 792 772 void page_not_present(uint64_t vector, istate_t *istate) 793 773 { 794 region_register_t rr;795 rid_t rid;796 774 uintptr_t va; 797 775 pte_t *t; 798 776 799 777 va = istate->cr_ifa; /* faulting address */ 800 rr.word = rr_read(VA2VRN(va));801 rid = rr.map.rid;802 778 803 779 page_table_lock(AS, true); -
kernel/arch/ia64/src/start.S
r6b9e85b r8b655705 174 174 175 175 # Initialize gp (Global Pointer) register 176 movl gp = kernel_image_start176 movl gp = __gp 177 177 178 # 178 # 179 179 # Initialize bootinfo on BSP. 180 180 #
Note:
See TracChangeset
for help on using the changeset viewer.
