- Timestamp:
- 2012-12-29T22:16:16Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 26e550c2
- Parents:
- ce60be1 (diff), b55877d (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
- Files:
-
- 6 deleted
- 16 edited
-
arch/amd64/Makefile.inc (modified) (1 diff)
-
arch/amd64/include/debugger.h (deleted)
-
arch/amd64/src/amd64.c (modified) (2 diffs)
-
arch/amd64/src/debugger.c (deleted)
-
arch/amd64/src/fpu_context.c (modified) (1 diff)
-
arch/arm32/Makefile.inc (modified) (2 diffs)
-
arch/arm32/include/fpu_context.h (modified) (1 diff)
-
arch/arm32/include/mach/testarm/testarm.h (deleted)
-
arch/arm32/src/exception.c (modified) (2 diffs)
-
arch/arm32/src/mach/gta02/gta02.c (modified) (1 diff)
-
arch/arm32/src/mach/testarm/testarm.c (deleted)
-
arch/arm32/src/machine_func.c (modified) (2 diffs)
-
arch/arm32/src/ras.c (modified) (3 diffs)
-
arch/ia32/Makefile.inc (modified) (1 diff)
-
arch/ia32/include/debugger.h (deleted)
-
arch/ia32/src/debugger.c (deleted)
-
arch/ia32/src/fpu_context.c (modified) (3 diffs)
-
arch/ia32/src/ia32.c (modified) (2 diffs)
-
arch/mips32/include/mm/tlb.h (modified) (1 diff)
-
generic/include/console/console.h (modified) (1 diff)
-
generic/src/console/console.c (modified) (3 diffs)
-
generic/src/proc/scheduler.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/Makefile.inc
rce60be1 rb26396e 76 76 arch/$(KARCH)/src/proc/thread.c \ 77 77 arch/$(KARCH)/src/userspace.c \ 78 arch/$(KARCH)/src/syscall.c \ 79 arch/$(KARCH)/src/debugger.c 78 arch/$(KARCH)/src/syscall.c 80 79 81 80 ifeq ($(CONFIG_SMP),y) -
kernel/arch/amd64/src/amd64.c
rce60be1 rb26396e 43 43 #include <arch/bios/bios.h> 44 44 #include <arch/boot/boot.h> 45 #include <arch/debugger.h>46 45 #include <arch/drivers/i8254.h> 47 46 #include <arch/drivers/i8259.h> … … 161 160 #endif 162 161 163 /* Enable debugger */164 debugger_init();165 162 /* Merge all memory zones to 1 big zone */ 166 163 zone_merge_all(); -
kernel/arch/amd64/src/fpu_context.c
rce60be1 rb26396e 57 57 { 58 58 /* TODO: Zero all SSE, MMX etc. registers */ 59 /* Default value of SCR register is 0x1f80, 60 * it masks all FPU exceptions*/ 59 61 asm volatile ( 60 62 "fninit\n" -
kernel/arch/arm32/Makefile.inc
rce60be1 rb26396e 52 52 arch/$(KARCH)/src/machine_func.c \ 53 53 arch/$(KARCH)/src/context.S \ 54 arch/$(KARCH)/src/fpu_context.c \55 54 arch/$(KARCH)/src/dummy.S \ 56 55 arch/$(KARCH)/src/cpu/cpu.c \ … … 69 68 arch/$(KARCH)/src/ras.c 70 69 70 ifeq ($(CONFIG_FPU),y) 71 ARCH_SOURCES += arch/$(KARCH)/src/fpu_context.c 72 endif 73 71 74 ifeq ($(MACHINE),gta02) 72 75 ARCH_SOURCES += arch/$(KARCH)/src/mach/gta02/gta02.c 73 endif74 75 ifeq ($(MACHINE),testarm)76 ARCH_SOURCES += arch/$(KARCH)/src/mach/testarm/testarm.c77 76 endif 78 77 -
kernel/arch/arm32/include/fpu_context.h
rce60be1 rb26396e 31 31 */ 32 32 /** @file 33 * @brief FPU context (not implemented). 34 * 35 * GXemul doesn't support FPU on its ARM CPU. 33 * @brief FPU context. 36 34 */ 37 35 -
kernel/arch/arm32/src/exception.c
rce60be1 rb26396e 167 167 static void undef_insn_exception(unsigned int exc_no, istate_t *istate) 168 168 { 169 if (!handle_if_fpu_exception()) { 170 fault_if_from_uspace(istate, "Undefined instruction."); 171 panic_badtrap(istate, exc_no, "Undefined instruction."); 172 } else { 169 #ifdef CONFIG_FPU 170 if (handle_if_fpu_exception()) { 173 171 /* 174 172 * Retry the failing instruction, … … 177 175 */ 178 176 istate->pc -= 4; 177 return; 179 178 } 179 #endif 180 fault_if_from_uspace(istate, "Undefined instruction."); 181 panic_badtrap(istate, exc_no, "Undefined instruction."); 180 182 } 181 183 -
kernel/arch/arm32/src/mach/gta02/gta02.c
rce60be1 rb26396e 27 27 */ 28 28 29 /** @addtogroup arm32g xemul29 /** @addtogroup arm32gta02 30 30 * @{ 31 31 */ -
kernel/arch/arm32/src/machine_func.c
rce60be1 rb26396e 41 41 #include <arch/mach/gta02/gta02.h> 42 42 #include <arch/mach/integratorcp/integratorcp.h> 43 #include <arch/mach/testarm/testarm.h>44 43 #include <arch/mach/beagleboardxm/beagleboardxm.h> 45 44 … … 52 51 #if defined(MACHINE_gta02) 53 52 machine_ops = >a02_machine_ops; 54 #elif defined(MACHINE_testarm)55 machine_ops = &gxemul_machine_ops;56 53 #elif defined(MACHINE_integratorcp) 57 54 machine_ops = &icp_machine_ops; -
kernel/arch/arm32/src/ras.c
rce60be1 rb26396e 67 67 void ras_check(unsigned int n, istate_t *istate) 68 68 { 69 bool restart = false; 69 bool restart_needed = false; 70 uintptr_t restart_pc = 0; 70 71 71 72 if (istate_from_uspace(istate)) { … … 73 74 if ((ras_page[RAS_START] < istate->pc) && 74 75 (ras_page[RAS_END] > istate->pc)) { 75 restart = true; 76 restart_needed = true; 77 restart_pc = ras_page[RAS_START]; 76 78 } 77 79 ras_page[RAS_START] = 0; … … 81 83 82 84 exc_dispatch(n, istate); 83 if (restart )84 istate->pc = r as_page[RAS_START];85 if (restart_needed) 86 istate->pc = restart_pc; 85 87 } 86 88 -
kernel/arch/ia32/Makefile.inc
rce60be1 rb26396e 105 105 arch/$(KARCH)/src/boot/memmap.c \ 106 106 arch/$(KARCH)/src/fpu_context.c \ 107 arch/$(KARCH)/src/debugger.c \108 107 arch/$(KARCH)/src/syscall.c -
kernel/arch/ia32/src/fpu_context.c
rce60be1 rb26396e 37 37 #include <arch.h> 38 38 #include <cpu.h> 39 40 41 /** x87 FPU scr values (P3+ MMX2) */ 42 enum { 43 X87_FLUSH_ZERO_FLAG = (1 << 15), 44 X87_ROUND_CONTROL_MASK = (0x3 << 13), 45 x87_ROUND_TO_NEAREST_EVEN = (0x0 << 13), 46 X87_ROUND_DOWN_TO_NEG_INF = (0x1 << 13), 47 X87_ROUND_UP_TO_POS_INF = (0x2 << 13), 48 X87_ROUND_TO_ZERO = (0x3 << 13), 49 X87_PRECISION_MASK = (1 << 12), 50 X87_UNDERFLOW_MASK = (1 << 11), 51 X87_OVERFLOW_MASK = (1 << 10), 52 X87_ZERO_DIV_MASK = (1 << 9), 53 X87_DENORMAL_OP_MASK = (1 << 8), 54 X87_INVALID_OP_MASK = (1 << 7), 55 X87_DENOM_ZERO_FLAG = (1 << 6), 56 X87_PRECISION_EXC_FLAG = (1 << 5), 57 X87_UNDERFLOW_EXC_FLAG = (1 << 4), 58 X87_OVERFLOW_EXC_FLAG = (1 << 3), 59 X87_ZERO_DIV_EXC_FLAG = (1 << 2), 60 X87_DENORMAL_EXC_FLAG = (1 << 1), 61 X87_INVALID_OP_EXC_FLAG = (1 << 0), 62 63 X87_ALL_MASK = X87_PRECISION_MASK | X87_UNDERFLOW_MASK | X87_OVERFLOW_MASK | X87_ZERO_DIV_MASK | X87_DENORMAL_OP_MASK | X87_INVALID_OP_MASK, 64 }; 65 39 66 40 67 typedef void (*fpu_context_function)(fpu_context_t *fctx); … … 98 125 } 99 126 127 /** Initialize x87 FPU. Mask all exceptions. */ 100 128 void fpu_init() 101 129 { … … 111 139 "ldmxcsr %[help0]\n" 112 140 : [help0] "+m" (help0), [help1] "+r" (help1) 113 : [magic] "i" ( 0x1f80)141 : [magic] "i" (X87_ALL_MASK) 114 142 ); 115 143 } -
kernel/arch/ia32/src/ia32.c
rce60be1 rb26396e 45 45 #include <arch/bios/bios.h> 46 46 #include <arch/boot/boot.h> 47 #include <arch/debugger.h>48 47 #include <arch/drivers/i8254.h> 49 48 #include <arch/drivers/i8259.h> … … 118 117 #endif 119 118 120 /* Enable debugger */121 debugger_init();122 119 /* Merge all memory zones to 1 big zone */ 123 120 zone_merge_all(); -
kernel/arch/mips32/include/mm/tlb.h
rce60be1 rb26396e 112 112 #ifdef __BE__ 113 113 unsigned p : 1; 114 unsigned : 2 7;115 unsigned index : 4;114 unsigned : 25; 115 unsigned index : 6; 116 116 #else 117 unsigned index : 4;118 unsigned : 2 7;117 unsigned index : 6; 118 unsigned : 25; 119 119 unsigned p : 1; 120 120 #endif -
kernel/generic/include/console/console.h
rce60be1 rb26396e 67 67 extern wchar_t getc(indev_t *indev); 68 68 extern size_t gets(indev_t *indev, char *buf, size_t buflen); 69 extern sysarg_t sys_klog(int fd, const void *buf, size_t size);69 extern sysarg_t sys_klog(int cmd, const void *buf, size_t size); 70 70 71 71 extern void grab_console(void); -
kernel/generic/src/console/console.c
rce60be1 rb26396e 52 52 #include <errno.h> 53 53 #include <str.h> 54 #include <abi/klog.h> 54 55 55 56 #define KLOG_PAGES 8 … … 335 336 * 336 337 */ 337 sysarg_t sys_klog(int fd, const void *buf, size_t size)338 sysarg_t sys_klog(int cmd, const void *buf, size_t size) 338 339 { 339 340 char *data; 340 341 int rc; 341 342 343 switch (cmd) { 344 case KLOG_UPDATE: 345 klog_update(NULL); 346 return EOK; 347 case KLOG_WRITE: 348 case KLOG_COMMAND: 349 break; 350 default: 351 return ENOTSUP; 352 } 353 342 354 if (size > PAGE_SIZE) 343 355 return (sysarg_t) ELIMIT; … … 355 367 data[size] = 0; 356 368 357 printf("%s", data); 369 switch (cmd) { 370 case KLOG_WRITE: 371 printf("%s", data); 372 break; 373 case KLOG_COMMAND: 374 if (!stdin) 375 break; 376 for (unsigned int i = 0; i < size; i++) 377 indev_push_character(stdin, data[i]); 378 indev_push_character(stdin, '\n'); 379 break; 380 } 381 358 382 free(data); 359 } else 360 klog_update(NULL); 361 383 } 384 362 385 return size; 363 386 } -
kernel/generic/src/proc/scheduler.c
rce60be1 rb26396e 92 92 else 93 93 fpu_disable(); 94 #el se94 #elif defined CONFIG_FPU 95 95 fpu_enable(); 96 96 if (THREAD->fpu_context_exists) … … 327 327 THREAD->kcycles += get_cycle() - THREAD->last_cycle; 328 328 329 #if ndef CONFIG_FPU_LAZY329 #if (defined CONFIG_FPU) && (!defined CONFIG_FPU_LAZY) 330 330 fpu_context_save(THREAD->saved_fpu_context); 331 331 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
