Changeset 742 for soft/giet_vm/giet_kernel/giet.s
- Timestamp:
- Dec 10, 2015, 1:38:43 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_kernel/giet.s
r346 r742 1 1 /************************************************************************************ 2 * GIET: Interruption/Exception/Trap Handler for MIPS32 processor 2 * This file contains the two entry points in the GIET_VM code: 3 * - the _init entry point (from the boot code) is 0x80000000 4 * - the _giet entry point (from user applications) is 0x80000180 5 * => The base address of the segment containing this code MUST be 0x80000000. 3 6 * 4 * The base address of the segment containing this code MUST be 0x80000000, in 5 * order to have the entry point at address 0x80000180!!! All messages are 6 * printed on the TTY corresponding to the task&processor identifiers. 7 * 8 * It uses two arrays of functions: 7 * The _giet uses two arrays of functions: 9 8 * - the _cause_vector[16] array defines the 16 causes to enter the GIET 10 9 * it is initialized in th exc_handler.c file … … 14 13 15 14 .section .giet, "ax", @progbits 16 .space 0x180 15 16 /* 17 * INIT entry point (at address 0x80000000) 18 */ 19 20 .func _init 21 .type _init, %function 22 23 _init: 24 la $26, _kernel_init 25 jr $26 /* jump to _kernel_init */ 26 27 .endfunc 28 .size _init, .-_init 29 30 .space 0x170 /* the _entry function occupies 16 bytes */ 17 31 18 32 /* … … 29 43 addu $26, $26, $27 /* $26 <= &_cause_vector[XCODE] */ 30 44 lw $26, ($26) /* $26 <= _cause_vector[XCODE] */ 31 jr $26 /* Jump indexed by XCODE */45 jr $26 /* Jump to handler indexed by XCODE */ 32 46 33 47 .endfunc … … 35 49 36 50 /* 37 * *** Sys tem Call Handler ***51 * *** Syscall Handler *** 38 52 * 39 53 * A system call is handled as a special function call.
Note: See TracChangeset
for help on using the changeset viewer.