Changeset c621f4aa in mainline for uspace/lib/c/arch/ia64
- Timestamp:
- 2010-07-25T10:11:13Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 377cce8
- Parents:
- 24a2517 (diff), a2da43c (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:
- uspace/lib/c/arch/ia64
- Files:
-
- 2 added
- 23 moved
-
Makefile.common (added)
-
Makefile.inc (moved) (moved from uspace/lib/libc/arch/amd64/Makefile.inc ) (1 diff)
-
_link.ld.in (moved) (moved from uspace/lib/libc/arch/ia64/_link.ld.in ) (1 diff)
-
include/atomic.h (moved) (moved from uspace/lib/libc/arch/ia64/include/atomic.h ) (6 diffs)
-
include/config.h (moved) (moved from uspace/lib/libc/arch/ia64/include/config.h )
-
include/ddi.h (moved) (moved from uspace/lib/libc/arch/ia64/include/ddi.h ) (1 diff)
-
include/faddr.h (moved) (moved from uspace/lib/libc/arch/ia64/include/faddr.h ) (2 diffs)
-
include/fibril.h (moved) (moved from uspace/lib/libc/arch/ia64/include/fibril.h ) (1 diff)
-
include/inttypes.h (moved) (moved from uspace/lib/libc/arch/ia64/include/inttypes.h )
-
include/istate.h (moved) (moved from uspace/lib/libc/arch/ia64/include/istate.h )
-
include/limits.h (moved) (moved from uspace/lib/libc/arch/ia64/include/limits.h )
-
include/stack.h (moved) (moved from uspace/lib/libc/arch/ia64/include/stack.h )
-
include/stackarg.h (moved) (moved from uspace/lib/libc/arch/ia64/include/stackarg.h )
-
include/syscall.h (moved) (moved from uspace/lib/libc/arch/ia64/include/syscall.h )
-
include/thread.h (moved) (moved from uspace/lib/libc/arch/ia64/include/thread.h )
-
include/tls.h (moved) (moved from uspace/lib/libc/arch/ia64/include/tls.h )
-
include/types.h (moved) (moved from uspace/lib/libc/arch/ia64/include/types.h ) (3 diffs)
-
src/ddi.c (added)
-
src/entry.s (moved) (moved from uspace/lib/libc/arch/ia64/src/entry.s ) (1 diff)
-
src/fibril.S (moved) (moved from uspace/lib/libc/arch/ia64/src/fibril.S )
-
src/stacktrace.c (moved) (moved from uspace/lib/libc/arch/ia64/src/stacktrace.c )
-
src/stacktrace_asm.S (moved) (moved from uspace/lib/libc/arch/ia64/src/stacktrace_asm.S )
-
src/syscall.S (moved) (moved from uspace/lib/libc/arch/ia64/src/syscall.S )
-
src/thread_entry.s (moved) (moved from uspace/lib/libc/arch/ia64/src/thread_entry.s ) (1 diff)
-
src/tls.c (moved) (moved from uspace/lib/libc/arch/ia64/src/tls.c )
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia64/Makefile.inc
r24a2517 rc621f4aa 27 27 # 28 28 29 ## Toolchain configuration 30 # 31 32 TARGET = amd64-linux-gnu 33 CLANG_ARCH = x86_64 34 TOOLCHAIN_DIR = $(CROSS_PREFIX)/amd64/bin 35 36 ARCH_SOURCES += arch/$(UARCH)/src/syscall.S \ 29 ARCH_SOURCES = \ 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/thread_entry.s \ 32 arch/$(UARCH)/src/syscall.S \ 37 33 arch/$(UARCH)/src/fibril.S \ 38 34 arch/$(UARCH)/src/tls.c \ 35 arch/$(UARCH)/src/ddi.c \ 39 36 arch/$(UARCH)/src/stacktrace.c \ 40 37 arch/$(UARCH)/src/stacktrace_asm.S 41 38 42 GCC_CFLAGS += -fno-omit-frame-pointer 43 LFLAGS += -N 44 45 ENDIANESS = LE 46 47 BFD_NAME = elf64-x86-64 48 BFD_ARCH = i386:x86-64 39 .PRECIOUS: arch/$(UARCH)/src/entry.o -
uspace/lib/c/arch/ia64/_link.ld.in
r24a2517 rc621f4aa 1 STARTUP(LIBC_P REFIX/arch/UARCH/src/entry.o)1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o) 2 2 ENTRY(__entry) 3 3 -
uspace/lib/c/arch/ia64/include/atomic.h
r24a2517 rc621f4aa 42 42 static inline void atomic_inc(atomic_t *val) 43 43 { 44 longv;44 atomic_count_t v; 45 45 46 46 asm volatile ( … … 53 53 static inline void atomic_dec(atomic_t *val) 54 54 { 55 longv;55 atomic_count_t v; 56 56 57 57 asm volatile ( … … 62 62 } 63 63 64 static inline longatomic_preinc(atomic_t *val)64 static inline atomic_count_t atomic_preinc(atomic_t *val) 65 65 { 66 longv;66 atomic_count_t v; 67 67 68 68 asm volatile ( … … 75 75 } 76 76 77 static inline longatomic_predec(atomic_t *val)77 static inline atomic_count_t atomic_predec(atomic_t *val) 78 78 { 79 longv;79 atomic_count_t v; 80 80 81 81 asm volatile ( … … 88 88 } 89 89 90 static inline longatomic_postinc(atomic_t *val)90 static inline atomic_count_t atomic_postinc(atomic_t *val) 91 91 { 92 longv;92 atomic_count_t v; 93 93 94 94 asm volatile ( … … 101 101 } 102 102 103 static inline longatomic_postdec(atomic_t *val)103 static inline atomic_count_t atomic_postdec(atomic_t *val) 104 104 { 105 longv;105 atomic_count_t v; 106 106 107 107 asm volatile ( -
uspace/lib/c/arch/ia64/include/ddi.h
r24a2517 rc621f4aa 39 39 #include <libarch/types.h> 40 40 41 #define IO_SPACE_BOUNDARY ( 64 * 1024)41 #define IO_SPACE_BOUNDARY ((void *) (64 * 1024)) 42 42 43 43 uint64_t get_ia64_iospace_address(void); -
uspace/lib/c/arch/ia64/include/faddr.h
r24a2517 rc621f4aa 27 27 */ 28 28 29 /** @addtogroup libcia64 29 /** @addtogroup libcia64 30 30 * @{ 31 31 */ … … 38 38 #include <libarch/types.h> 39 39 40 /** 40 /** 41 41 * 42 42 * Calculate absolute address of function 43 43 * referenced by fptr pointer. 44 44 * 45 * @param f Function pointer.45 * @param fptr Function pointer. 46 46 * 47 47 */ 48 #define FADDR(f ) (*((uintptr_t *)(f)));48 #define FADDR(fptr) (((fncptr_t *) (fptr))->fnc) 49 49 50 50 #endif -
uspace/lib/c/arch/ia64/include/fibril.h
r24a2517 rc621f4aa 106 106 uint64_t pr; 107 107 108 __r128f2 __attribute__ ((aligned(16)));109 __r128f3;110 __r128f4;111 __r128f5;108 uint128_t f2 __attribute__ ((aligned(16))); 109 uint128_t f3; 110 uint128_t f4; 111 uint128_t f5; 112 112 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;113 uint128_t f16; 114 uint128_t f17; 115 uint128_t f18; 116 uint128_t f19; 117 uint128_t f20; 118 uint128_t f21; 119 uint128_t f22; 120 uint128_t f23; 121 uint128_t f24; 122 uint128_t f25; 123 uint128_t f26; 124 uint128_t f27; 125 uint128_t f28; 126 uint128_t f29; 127 uint128_t f30; 128 uint128_t f31; 129 129 130 130 } context_t; -
uspace/lib/c/arch/ia64/include/types.h
r24a2517 rc621f4aa 27 27 */ 28 28 29 /** @addtogroup libcia64 29 /** @addtogroup libcia64 30 30 * @{ 31 31 */ … … 38 38 #define __64_BITS__ 39 39 40 typedef unsigned long long sysarg_t; 40 #include <libarch/common.h> 41 41 42 typedef char int8_t; 43 typedef short int int16_t; 44 typedef int int32_t; 45 typedef long int int64_t; 42 #define SIZE_MIN UINT64_MIN 43 #define SIZE_MAX UINT64_MAX 46 44 47 typedef unsigned char uint8_t; 48 typedef unsigned short int uint16_t; 49 typedef unsigned int uint32_t; 50 typedef unsigned long int uint64_t; 45 #define SSIZE_MIN INT64_MIN 46 #define SSIZE_MAX INT64_MAX 47 48 typedef struct { 49 uint64_t lo; 50 int64_t hi; 51 } int128_t; 52 53 typedef struct { 54 uint64_t lo; 55 uint64_t hi; 56 } uint128_t; 57 58 typedef uint64_t sysarg_t; 51 59 52 60 typedef int64_t ssize_t; … … 54 62 55 63 typedef uint64_t uintptr_t; 64 typedef uint64_t atomic_count_t; 65 typedef int64_t atomic_signed_t; 56 66 57 typedef unsigned char __r8; /* Reserve byte */ 58 typedef unsigned short __r16; 59 typedef unsigned int __r32; 60 typedef unsigned long __r64; 61 62 typedef struct __r128{ 63 __r64 lo; 64 __r64 hi; 65 } __r128; 67 typedef struct { 68 uintptr_t fnc; 69 uintptr_t gp; 70 } __attribute__((may_alias)) fncptr_t; 66 71 67 72 #endif -
uspace/lib/c/arch/ia64/src/entry.s
r24a2517 rc621f4aa 39 39 __entry: 40 40 alloc loc0 = ar.pfs, 0, 1, 2, 0 41 movl r1= _gp41 movl gp = _gp 42 42 43 43 # Pass PCB pointer as the first argument to __main -
uspace/lib/c/arch/ia64/src/thread_entry.s
r24a2517 rc621f4aa 37 37 alloc loc0 = ar.pfs, 0, 1, 1, 0 38 38 39 movl r1= _gp39 movl gp = _gp 40 40 41 41 #
Note:
See TracChangeset
for help on using the changeset viewer.
