- Timestamp:
- 2006-03-12T18:27:33Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f972b89
- Parents:
- a82500ce
- Location:
- arch
- Files:
-
- 20 edited
-
amd64/Makefile.inc (modified) (1 diff)
-
amd64/_link.ld.in (modified) (1 diff)
-
amd64/include/elf.h (modified) (1 diff)
-
amd64/include/types.h (modified) (1 diff)
-
amd64/src/userspace.c (modified) (2 diffs)
-
ia32/Makefile.inc (modified) (1 diff)
-
ia32/include/elf.h (modified) (1 diff)
-
ia32/include/types.h (modified) (1 diff)
-
ia32/src/userspace.c (modified) (2 diffs)
-
ia64/Makefile.inc (modified) (1 diff)
-
ia64/include/elf.h (modified) (1 diff)
-
ia64/src/ia64.c (modified) (2 diffs)
-
mips32/Makefile.inc (modified) (3 diffs)
-
mips32/include/elf.h (modified) (2 diffs)
-
mips32/src/mips32.c (modified) (2 diffs)
-
ppc32/Makefile.inc (modified) (1 diff)
-
ppc32/include/elf.h (modified) (2 diffs)
-
ppc32/include/types.h (modified) (1 diff)
-
sparc64/Makefile.inc (modified) (1 diff)
-
sparc64/include/elf.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/Makefile.inc
ra82500ce rde6b301 44 44 45 45 CFLAGS += -fno-unwind-tables -m64 -mcmodel=kernel -mno-red-zone 46 DEFS += -D_CPU=${CPU} 46 DEFS += -D_CPU=${CPU} -D__64_BITS__ 47 47 48 48 ## Accepted CPUs -
arch/amd64/_link.ld.in
ra82500ce rde6b301 55 55 56 56 #ifdef CONFIG_SMP 57 58 57 _hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start); 59 58 ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET; -
arch/amd64/include/elf.h
ra82500ce rde6b301 30 30 #define __amd64_ELF_H__ 31 31 32 #include <elf64.h>33 34 32 #define ELF_MACHINE EM_X86_64 35 33 #define ELF_DATA_ENCODING ELFDATA2LSB 36 34 #define ELF_CLASS ELFCLASS64 37 35 38 /*39 * Main ELF loader function40 */41 #define elf_load(header, as) elf64_load(header, as)42 43 36 #endif -
arch/amd64/include/types.h
ra82500ce rde6b301 33 33 34 34 typedef signed char __s8; 35 typedef signed short __s16; 36 typedef signed int __s32; 37 typedef signed long long __s64; 35 38 36 39 typedef unsigned char __u8; -
arch/amd64/src/userspace.c
ra82500ce rde6b301 40 40 * 41 41 */ 42 void userspace( void)42 void userspace(__address entry) 43 43 { 44 44 ipl_t ipl; … … 62 62 "r" (ipl), 63 63 "i" (gdtselector(UTEXT_DES) | PL_USER), 64 " i" (UTEXT_ADDRESS));64 "r" (entry)); 65 65 66 66 /* Unreachable */ -
arch/ia32/Makefile.inc
ra82500ce rde6b301 43 43 endif 44 44 45 DEFS += -D_CPU=${IA32_CPU} 45 DEFS += -D_CPU=${IA32_CPU} -D__32_BITS__ 46 46 47 47 ## Accepted CPUs -
arch/ia32/include/elf.h
ra82500ce rde6b301 30 30 #define __ia32_ELF_H__ 31 31 32 #include <elf32.h>33 34 32 #define ELF_MACHINE EM_386 35 33 #define ELF_DATA_ENCODING ELFDATA2LSB 36 34 #define ELF_CLASS ELFCLASS32 37 35 38 /*39 * Main ELF loader function40 */41 #define elf_load(header, as) elf32_load(header, as)42 43 36 #endif -
arch/ia32/include/types.h
ra82500ce rde6b301 33 33 34 34 typedef signed char __s8; 35 typedef signed short __s16; 36 typedef signed long __s32; 37 typedef signed long long __s64; 35 38 36 39 typedef unsigned char __u8; 37 40 typedef unsigned short __u16; 38 41 typedef unsigned long __u32; 39 typedef long long __u64;42 typedef unsigned long long __u64; 40 43 41 44 typedef __u32 __address; -
arch/ia32/src/userspace.c
ra82500ce rde6b301 40 40 * 41 41 */ 42 void userspace( void)42 void userspace(__address entry) 43 43 { 44 44 ipl_t ipl; … … 61 61 "iret" 62 62 : 63 : "i" (selector(UDATA_DES) | PL_USER), "r" (USTACK_ADDRESS+(THREAD_STACK_SIZE)), "r" (ipl), "i" (selector(UTEXT_DES) | PL_USER), " i" (UTEXT_ADDRESS)63 : "i" (selector(UDATA_DES) | PL_USER), "r" (USTACK_ADDRESS+(THREAD_STACK_SIZE)), "r" (ipl), "i" (selector(UTEXT_DES) | PL_USER), "r" (entry) 64 64 : "eax"); 65 65 -
arch/ia64/Makefile.inc
ra82500ce rde6b301 46 46 AFLAGS += -mconstant-gp 47 47 48 DEFS += -D INIT_ADDRESS=$(INIT_ADDRESS) -DINIT_SIZE=$(INIT_SIZE)48 DEFS += -D__64_BITS__ -DINIT_ADDRESS=$(INIT_ADDRESS) -DINIT_SIZE=$(INIT_SIZE) 49 49 50 50 ## Compile with page hash table support. -
arch/ia64/include/elf.h
ra82500ce rde6b301 30 30 #define __ia64_ELF_H__ 31 31 32 #include <elf64.h>33 34 32 #define ELF_MACHINE EM_IA_64 35 33 #define ELF_DATA_ENCODING ELFDATA2LSB 36 34 #define ELF_CLASS ELFCLASS64 37 35 38 /*39 * Main ELF loader function40 */41 #define elf_load(header, as) elf64_load(header, as)42 43 36 #endif -
arch/ia64/src/ia64.c
ra82500ce rde6b301 67 67 68 68 /** Enter userspace and never return. */ 69 void userspace( void)69 void userspace(__address entry) 70 70 { 71 71 psr_t psr; … … 84 84 rsc.mode = 3; /* eager mode */ 85 85 86 switch_to_userspace( UTEXT_ADDRESS, USTACK_ADDRESS+PAGE_SIZE-1, USTACK_ADDRESS, psr.value, rsc.value);86 switch_to_userspace(entry, USTACK_ADDRESS+PAGE_SIZE-1, USTACK_ADDRESS, psr.value, rsc.value); 87 87 88 88 while (1) { -
arch/mips32/Makefile.inc
ra82500ce rde6b301 42 42 43 43 KERNEL_LOAD_ADDRESS = 0x80100000 44 INIT_ADDRESS = 0x 2000000044 INIT_ADDRESS = 0x81000000 45 45 INIT_SIZE = 65536 46 46 47 47 CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss 48 48 49 DEFS += -D MACHINE=${MIPS_MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE}49 DEFS += -D__32_BITS__ -DMACHINE=${MIPS_MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE} 50 50 51 51 ## Compile with hierarchical page tables support. … … 81 81 BFD = ecoff-littlemips 82 82 CFLAGS += -DARCH_HAS_FPU -mips3 83 INIT_ADDRESS = 0x 180000083 INIT_ADDRESS = 0x81800000 84 84 endif 85 85 ifeq ($(MIPS_MACHINE),bgxemul) … … 89 89 TOOLCHAIN_DIR = /usr/local/mips/bin 90 90 CFLAGS += -EB -DBIG_ENDIAN -DARCH_HAS_FPU -mips3 91 INIT_ADDRESS = 0x 180000091 INIT_ADDRESS = 0x81800000 92 92 endif 93 93 ifeq ($(MIPS_MACHINE),simics) -
arch/mips32/include/elf.h
ra82500ce rde6b301 27 27 */ 28 28 29 #ifndef __ia32_ELF_H__ 30 #define __ia32_ELF_H__ 31 32 #include <elf32.h> 29 #ifndef __mips32_ELF_H__ 30 #define __mips32_ELF_H__ 33 31 34 32 #define ELF_MACHINE EM_MIPS … … 36 34 #define ELF_CLASS ELFCLASS32 37 35 38 /*39 * Main ELF loader function40 */41 #define elf_load(header, as) elf32_load(header, as)42 43 36 #endif -
arch/mips32/src/mips32.c
ra82500ce rde6b301 119 119 __address supervisor_sp __attribute__ ((section (".text"))); 120 120 121 void userspace( void)121 void userspace(__address entry) 122 122 { 123 123 /* EXL=1, UM=1, IE=1 */ … … 125 125 cp0_status_um_bit | 126 126 cp0_status_ie_enabled_bit)); 127 cp0_epc_write( UTEXT_ADDRESS);127 cp0_epc_write(entry); 128 128 userspace_asm(USTACK_ADDRESS+PAGE_SIZE); 129 129 while (1) -
arch/ppc32/Makefile.inc
ra82500ce rde6b301 41 41 LFLAGS += -no-check-sections -N 42 42 43 DEFS += -D__32_BITS__ 44 43 45 ## Own configuration directives 44 46 # -
arch/ppc32/include/elf.h
ra82500ce rde6b301 27 27 */ 28 28 29 #ifndef __ia32_ELF_H__ 30 #define __ia32_ELF_H__ 31 32 #include <elf32.h> 29 #ifndef __ppc32_ELF_H__ 30 #define __ppc32_ELF_H__ 33 31 34 32 #define ELF_MACHINE EM_PPC … … 36 34 #define ELF_CLASS ELFCLASS32 37 35 38 /*39 * Main ELF loader function40 */41 #define elf_load(header, as) elf32_load(header, as)42 43 36 #endif -
arch/ppc32/include/types.h
ra82500ce rde6b301 33 33 34 34 typedef signed char __s8; 35 typedef signed short __s16; 36 typedef signed long __s32; 37 typedef signed long long __s64; 35 38 36 39 typedef unsigned char __u8; 37 40 typedef unsigned short __u16; 38 41 typedef unsigned long __u32; 39 typedef long long __u64;42 typedef unsigned long long __u64; 40 43 41 44 typedef __u32 __address; -
arch/sparc64/Makefile.inc
ra82500ce rde6b301 41 41 CFLAGS += -mcpu=ultrasparc -m64 42 42 LFLAGS += -no-check-sections -N 43 44 DEFS += -D__64_BITS__ 43 45 44 46 ## Own configuration directives -
arch/sparc64/include/elf.h
ra82500ce rde6b301 27 27 */ 28 28 29 #ifndef __ia64_ELF_H__ 30 #define __ia64_ELF_H__ 31 32 #include <elf64.h> 29 #ifndef __sparc64_ELF_H__ 30 #define __sparc64_ELF_H__ 33 31 34 32 #define ELF_MACHINE EM_SPARCV9 … … 36 34 #define ELF_CLASS ELFCLASS64 37 35 38 /*39 * Main ELF loader function40 */41 #define elf_load(header, as) elf64_load(header, as)42 43 36 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
