13 #include <sys/times.h> 23 #define MAX_STACK_SIZE 0x200 25 extern int __io_putchar(
int ch) __attribute__((weak));
26 extern int __io_getchar(
void) __attribute__((weak));
29 register char * stack_ptr
asm(
"sp");
35 caddr_t _sbrk(
int incr)
38 static char *heap_end;
47 prev_heap_end = heap_end;
51 min_stack_ptr = (
char*)(*(
unsigned int *)*(
unsigned int *)0xE000ED08);
53 min_stack_ptr -= MAX_STACK_SIZE;
55 if (heap_end + incr > min_stack_ptr)
57 if (heap_end + incr > stack_ptr)
68 return (caddr_t) prev_heap_end;
74 int _gettimeofday (
struct timeval * tp,
struct timezone * tzp)
79 tzp->tz_minuteswest = 0;
85 void initialise_monitor_handles()
94 int _kill(
int pid,
int sig)
100 void _exit (
int status)
106 int _write(
int file,
char *ptr,
int len)
110 for (DataIdx = 0; DataIdx < len; DataIdx++)
112 __io_putchar( *ptr++ );
122 int _fstat(
int file,
struct stat *st)
124 st->st_mode = S_IFCHR;
128 int _isatty(
int file)
133 int _lseek(
int file,
int ptr,
int dir)
138 int _read(
int file,
char *ptr,
int len)
141 *ptr = __io_getchar();
145 int _open(
char *path,
int flags, ...)
151 int _wait(
int *status)
157 int _unlink(
char *name)
163 int _times(
struct tms *buf)
168 int _stat(
char *file,
struct stat *st)
170 st->st_mode = S_IFCHR;
174 int _link(
char *old,
char *
new)
186 int _execve(
char *name,
char **argv,
char **env)