Changeset 021d471 in mainline
- Timestamp:
- 2006-02-06T15:56:40Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9b9f195
- Parents:
- f5935ed
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips32/include/asm/regname.h
rf5935ed r021d471 63 63 #define ra 31 64 64 65 #define index 066 #define r andom 165 #define rindex 0 66 #define rrandom 1 67 67 #define entrylo0 2 68 68 #define entrylo1 3 … … 77 77 #define cause 13 78 78 #define epc 14 79 #define config 1679 #define rconfig 16 80 80 #define lladdr 17 81 81 #define watchlo 18 82 82 #define watchhi 19 83 83 #define xcontext 20 84 #define debug 2384 #define rdebug 23 85 85 #define depc 24 86 86 #define eepc 30 -
arch/mips32/src/exception.c
rf5935ed r021d471 41 41 #include <console/kconsole.h> 42 42 #include <arch/debugger.h> 43 #include <syscall/syscall.h> 43 44 44 45 static char * exctable[] = { … … 135 136 } 136 137 138 #include <debug.h> 139 /** Handle syscall userspace call */ 140 static void syscall_exception(int n, void *data) 141 { 142 struct exception_regdump *pstate = (struct exception_regdump *)data; 143 144 if (pstate->a3 < SYSCALL_END) 145 pstate->v0 = syscall_table[pstate->a3](pstate->a0, 146 pstate->a1, 147 pstate->a2); 148 else 149 panic("Undefined syscall %d", pstate->a3); 150 pstate->epc += 4; 151 } 152 137 153 138 154 void exception(struct exception_regdump *pstate) … … 191 207 exc_register(EXC_CpU, "cpunus", cpuns_exception); 192 208 #endif 193 } 209 exc_register(EXC_Sys, "syscall", syscall_exception); 210 } -
arch/mips32/src/mips32.c
rf5935ed r021d471 96 96 arc_print_memory_map(); 97 97 arc_print_devices(); 98 99 /* Setup usermode...*/ 100 config.init_addr = 0x20000000; 101 config.init_size = FRAME_SIZE; 98 102 } 99 103 … … 110 114 } 111 115 116 /* Stack pointer saved when entering user mode */ 117 /* TODO: How do we do it on SMP system???? */ 118 119 /* Why the hell moves the linker the variable 64K away in assembler 120 * when not in .text section ???????? 121 */ 122 __address supervisor_sp __attribute__ ((section (".text"))); 123 112 124 void userspace(void) 113 125 { … … 123 135 } 124 136 125 /* Stack pointer saved when entering user mode */126 /* TODO: How do we do it on SMP system???? */127 __address supervisor_sp;128 129 137 void before_thread_runs_arch(void) 130 138 { -
contrib/conf/msim.conf
rf5935ed r021d471 8 8 add rwm mainmem 0x00100000 16M load "kernel.bin" 9 9 add rom startmem 0x1fc00000 1k load "load.bin" 10 add rwm init 0x00110000 64k load "init"10 add rwm init 0x20000000 1M load "init 11 11 12 12 add dprinter printer 0x10000000 -
contrib/conf/spmips.conf
rf5935ed r021d471 22 22 (0x180003fe, tty0, 0, 6, 1), 23 23 (0x180003ff, tty0, 0, 7, 1), 24 (0x1c000000, hfs0, 0, 0, 16)) 24 (0x1c000000, hfs0, 0, 0, 16), 25 (0x20000000, initmem0, 0, 0, 0x20000)) 25 26 } 26 27 … … 37 38 size: 0x08000000 38 39 } 40 41 OBJECT initmem0 TYPE ram { 42 image: initmem0-image 43 } 44 OBJECT initmem0-image TYPE image { 45 queue: cpu0 46 size: 0x20000 47 files: (("../../../uspace/init/init", "ro", 0,0)) 48 } 49 39 50 OBJECT rom0 TYPE rom { 40 51 image: rom0-image -
generic/src/main/kinit.c
rf5935ed r021d471 145 145 */ 146 146 147 if ( KA2PA(config.init_addr)% FRAME_SIZE)147 if (config.init_addr % FRAME_SIZE) 148 148 panic("config.init_addr is not frame aligned"); 149 149 … … 162 162 */ 163 163 164 frame = KA2PA(config.init_addr); 164 frame = config.init_addr; 165 if (IS_KA(frame)) 166 frame = KA2PA(frame); 167 165 168 frames = config.init_size / FRAME_SIZE; 166 169 if (config.init_size % FRAME_SIZE > 0)
Note:
See TracChangeset
for help on using the changeset viewer.