Changeset b3f8fb7 in mainline for kernel/arch/ia64
- Timestamp:
- 2007-01-28T13:25:49Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8e8c1a5
- Parents:
- 1ba41c5
- Location:
- kernel/arch/ia64
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/_link.ld.in
r1ba41c5 rb3f8fb7 6 6 * 7 7 */ 8 9 #define __ASM__10 8 11 9 ENTRY(kernel_image_start) -
kernel/arch/ia64/include/context.h
r1ba41c5 rb3f8fb7 38 38 #include <arch/types.h> 39 39 #include <arch/register.h> 40 #include <typedefs.h>41 40 #include <align.h> 42 41 #include <arch/stack.h> … … 48 47 * One item is put onto the stack to support get_stack_base(). 49 48 */ 50 #define SP_DELTA (0 +ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT))49 #define SP_DELTA (0 + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT)) 51 50 52 51 #ifdef context_set … … 106 105 uint64_t pr; 107 106 108 __r128f2 __attribute__ ((aligned(16)));109 __r128f3;110 __r128f4;111 __r128f5;107 uint128_t f2 __attribute__ ((aligned(16))); 108 uint128_t f3; 109 uint128_t f4; 110 uint128_t f5; 112 111 113 __r128f16;114 __r128f17;115 __r128f18;116 __r128f19;117 __r128f20;118 __r128f21;119 __r128f22;120 __r128f23;121 __r128f24;122 __r128f25;123 __r128f26;124 __r128f27;125 __r128f28;126 __r128f29;127 __r128f30;128 __r128f31;112 uint128_t f16; 113 uint128_t f17; 114 uint128_t f18; 115 uint128_t f19; 116 uint128_t f20; 117 uint128_t f21; 118 uint128_t f22; 119 uint128_t f23; 120 uint128_t f24; 121 uint128_t f25; 122 uint128_t f26; 123 uint128_t f27; 124 uint128_t f28; 125 uint128_t f29; 126 uint128_t f30; 127 uint128_t f31; 129 128 130 129 ipl_t ipl; -
kernel/arch/ia64/include/cpu.h
r1ba41c5 rb3f8fb7 37 37 38 38 #include <arch/types.h> 39 #include <typedefs.h>40 39 #include <arch/register.h> 40 #include <arch/asm.h> 41 41 42 42 #define FAMILY_ITANIUM 0x7 -
kernel/arch/ia64/include/fpu_context.h
r1ba41c5 rb3f8fb7 44 44 45 45 typedef struct { 46 __r128fr[FRS];46 uint128_t fr[FRS]; 47 47 } fpu_context_t; 48 48 -
kernel/arch/ia64/include/interrupt.h
r1ba41c5 rb3f8fb7 36 36 #define KERN_ia64_INTERRUPT_H_ 37 37 38 #include <typedefs.h>39 38 #include <arch/types.h> 40 39 #include <arch/register.h> … … 65 64 #define EOI 0 /**< The actual value doesn't matter. */ 66 65 67 struct istate{68 __r128f2;69 __r128f3;70 __r128f4;71 __r128f5;72 __r128f6;73 __r128f7;74 __r128f8;75 __r128f9;76 __r128f10;77 __r128f11;78 __r128f12;79 __r128f13;80 __r128f14;81 __r128f15;82 __r128f16;83 __r128f17;84 __r128f18;85 __r128f19;86 __r128f20;87 __r128f21;88 __r128f22;89 __r128f23;90 __r128f24;91 __r128f25;92 __r128f26;93 __r128f27;94 __r128f28;95 __r128f29;96 __r128f30;97 __r128f31;66 typedef struct { 67 uint128_t f2; 68 uint128_t f3; 69 uint128_t f4; 70 uint128_t f5; 71 uint128_t f6; 72 uint128_t f7; 73 uint128_t f8; 74 uint128_t f9; 75 uint128_t f10; 76 uint128_t f11; 77 uint128_t f12; 78 uint128_t f13; 79 uint128_t f14; 80 uint128_t f15; 81 uint128_t f16; 82 uint128_t f17; 83 uint128_t f18; 84 uint128_t f19; 85 uint128_t f20; 86 uint128_t f21; 87 uint128_t f22; 88 uint128_t f23; 89 uint128_t f24; 90 uint128_t f25; 91 uint128_t f26; 92 uint128_t f27; 93 uint128_t f28; 94 uint128_t f29; 95 uint128_t f30; 96 uint128_t f31; 98 97 99 98 uintptr_t ar_bsp; … … 120 119 uint64_t in3; 121 120 uint64_t in4; 122 } ;121 } istate_t; 123 122 124 123 static inline void istate_set_retaddr(istate_t *istate, uintptr_t retaddr) -
kernel/arch/ia64/include/mm/as.h
r1ba41c5 rb3f8fb7 48 48 } as_arch_t; 49 49 50 #include <genarch/mm/as_ht.h> 51 50 52 #define as_constructor_arch(as, flags) (as != as) 51 53 #define as_destructor_arch(as) (as != as) -
kernel/arch/ia64/include/mm/page.h
r1ba41c5 rb3f8fb7 86 86 #ifndef __ASM__ 87 87 88 #include <arch/mm/as.h> 88 89 #include <arch/mm/frame.h> 90 #include <arch/interrupt.h> 89 91 #include <arch/barrier.h> 90 #include <genarch/mm/page_ht.h>91 92 #include <arch/mm/asid.h> 92 93 #include <arch/types.h> 93 #include <typedefs.h>94 94 #include <debug.h> 95 95 -
kernel/arch/ia64/include/mm/tlb.h
r1ba41c5 rb3f8fb7 43 43 #include <arch/interrupt.h> 44 44 #include <arch/types.h> 45 #include <typedefs.h>46 45 47 46 /** Data and instruction Translation Register indices. */ -
kernel/arch/ia64/include/types.h
r1ba41c5 rb3f8fb7 36 36 #define KERN_ia64_TYPES_H_ 37 37 38 #define NULL 0 38 #define NULL 0 39 #define false 0 40 #define true 1 39 41 40 42 typedef signed char int8_t; 41 typedef signed short int int16_t;43 typedef signed short int16_t; 42 44 typedef signed int int32_t; 43 45 typedef signed long int64_t; 46 typedef struct { 47 int64_t lo; 48 int64_t hi; 49 } int128_t; 44 50 45 51 typedef unsigned char uint8_t; … … 47 53 typedef unsigned int uint32_t; 48 54 typedef unsigned long uint64_t; 55 typedef struct { 56 uint64_t lo; 57 uint64_t hi; 58 } uint128_t; 49 59 50 typedef unsigned char __r8; /* Reserve byte */ 51 typedef unsigned short __r16; 52 typedef unsigned int __r32; 53 typedef unsigned long __r64; 54 typedef struct __r128 { 55 __r64 lo; 56 __r64 hi; 57 } __r128; 60 typedef uint64_t size_t; 61 typedef uint64_t count_t; 62 typedef uint64_t index_t; 58 63 59 64 typedef uint64_t uintptr_t; … … 65 70 typedef int64_t native_t; 66 71 67 typedef struct pte pte_t; 72 typedef uint8_t bool; 73 typedef uint64_t task_id_t; 74 typedef uint32_t context_id_t; 75 76 typedef int32_t inr_t; 77 typedef int32_t devno_t; 68 78 69 79 #endif -
kernel/arch/ia64/src/ddi/ddi.c
r1ba41c5 rb3f8fb7 36 36 #include <proc/task.h> 37 37 #include <arch/types.h> 38 #include <typedefs.h>39 38 40 39 /** Enable I/O space range for task. -
kernel/arch/ia64/src/mm/page.c
r1ba41c5 rb3f8fb7 40 40 #include <arch/mm/vhpt.h> 41 41 #include <arch/types.h> 42 #include <typedefs.h>43 42 #include <print.h> 44 43 #include <mm/page.h> -
kernel/arch/ia64/src/mm/tlb.c
r1ba41c5 rb3f8fb7 48 48 #include <arch/pal/pal.h> 49 49 #include <arch/asm.h> 50 #include <typedefs.h>51 50 #include <panic.h> 52 51 #include <print.h> -
kernel/arch/ia64/src/mm/vhpt.c
r1ba41c5 rb3f8fb7 33 33 */ 34 34 35 #include <memstr.h> 35 36 #include <arch/mm/vhpt.h> 36 37 #include <mm/frame.h> … … 41 42 uintptr_t vhpt_set_up(void) 42 43 { 43 vhpt_base = frame_alloc(VHPT_WIDTH -FRAME_WIDTH,FRAME_KA | FRAME_ATOMIC);44 if (!vhpt_base)44 vhpt_base = frame_alloc(VHPT_WIDTH - FRAME_WIDTH, FRAME_KA | FRAME_ATOMIC); 45 if (!vhpt_base) 45 46 panic("Kernel configured with VHPT but no memory for table."); 46 47 vhpt_invalidate_all(); … … 62 63 rid = ASID2RID(asid, vrn); 63 64 64 65 66 67 68 65 rr_save.word = rr_read(vrn); 66 rr.word = rr_save.word; 67 rr.map.rid = rid; 68 rr_write(vrn, rr.word); 69 srlz_i(); 69 70 70 71 ventry = (vhpt_entry_t *) thash(va); 71 72 73 74 72 tag = ttag(va); 73 rr_write(vrn, rr_save.word); 74 srlz_i(); 75 srlz_d(); 75 76 76 ventry->word[0] =entry.word[0];77 ventry->word[1] =entry.word[1];77 ventry->word[0] = entry.word[0]; 78 ventry->word[1] = entry.word[1]; 78 79 ventry->present.tag.tag_word = tag; 79 80 81 80 } 82 81 83 82 void vhpt_invalidate_all() 84 83 { 85 memsetb((uintptr_t) vhpt_base,1<<VHPT_WIDTH,0);84 memsetb((uintptr_t) vhpt_base, 1 << VHPT_WIDTH, 0); 86 85 } 87 86 -
kernel/arch/ia64/src/ski/ski.c
r1ba41c5 rb3f8fb7 39 39 #include <sysinfo/sysinfo.h> 40 40 #include <arch/types.h> 41 #include <typedefs.h>42 41 #include <ddi/device.h> 43 42 #include <ddi/irq.h>
Note:
See TracChangeset
for help on using the changeset viewer.