20000317 sourceware import
This commit is contained in:
64
libgloss/mcore/syscalls.S
Normal file
64
libgloss/mcore/syscalls.S
Normal file
@ -0,0 +1,64 @@
|
||||
.macro FUNC_START name
|
||||
.text
|
||||
.globl \name
|
||||
.globl _\name
|
||||
\name:
|
||||
_\name:
|
||||
.endm
|
||||
|
||||
FUNC_START _sbrk
|
||||
mov r4, r2 // save increment
|
||||
lrw r3, brkval
|
||||
ldw r2, (r3) // get next spot
|
||||
|
||||
movi r5, 7
|
||||
addi r2, 7 // round up to 8 bytes
|
||||
andn r2, r5
|
||||
|
||||
addu r4, r2 // save updated pointer
|
||||
stw r4, (r3)
|
||||
jmp r15
|
||||
|
||||
// brk() could go in here too...
|
||||
|
||||
.data
|
||||
.import _end
|
||||
brkval: .long _end
|
||||
|
||||
|
||||
FUNC_START _exit
|
||||
mov r1, r1 // accomodate simulator glitch...
|
||||
.short 0x5000
|
||||
br _exit // hard loop here
|
||||
|
||||
// 0x5001 - printf
|
||||
// 0x5002 - scanf
|
||||
|
||||
FUNC_START utime
|
||||
.short 0x5003
|
||||
jmp r15
|
||||
|
||||
|
||||
.macro stub name value
|
||||
FUNC_START \name
|
||||
movi r1, \value
|
||||
.short 0x50FF
|
||||
jmp r15
|
||||
.endm
|
||||
|
||||
stub _close 6
|
||||
stub _lseek 19
|
||||
stub _open 5
|
||||
stub _read 3
|
||||
stub _times 43
|
||||
stub _unlink 10
|
||||
stub _write 4
|
||||
|
||||
//stub access 33
|
||||
//stub creat 8
|
||||
//stub link 9
|
||||
//stub time 13
|
||||
|
||||
//stub profil 98 // movi r6, 2
|
||||
//stub lprofil 98 // movi r6, 4
|
||||
|
Reference in New Issue
Block a user