* armos.c (ARMul_OSHandleSWI): Handle the RedBoot system
call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
This commit is contained in:
parent
9c703ebff4
commit
eeea466063
2 changed files with 25 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2006-02-01 Shaun Jackman <sjackman@gmail.com>
|
||||
|
||||
* armos.c (ARMul_OSHandleSWI): Handle the RedBoot system
|
||||
call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
|
||||
|
||||
2005-11-23 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* wrapper.c (gdb/signals.h): Include it.
|
||||
|
@ -7,7 +12,7 @@
|
|||
|
||||
2005-11-16 Shaun Jackman <sjackman@gmail.com>
|
||||
|
||||
* sim/arm/armos.c: Include limits.h
|
||||
* armos.c: Include limits.h
|
||||
(unlink): Remove this macro. It is unused in this file and
|
||||
conflicts with sim_callback->unlink.
|
||||
(PATH_MAX): Define as 1024 if not already defined.
|
||||
|
|
|
@ -859,9 +859,26 @@ ARMul_OSHandleSWI (ARMul_State * state, ARMword number)
|
|||
case 18: /* Time. */
|
||||
sim_callback->printf_filtered
|
||||
(sim_callback,
|
||||
"sim: unhandled RedBoot syscall '%d' encountered - ignoring\n",
|
||||
"sim: unhandled RedBoot syscall `%d' encountered - "
|
||||
"returning ENOSYS\n",
|
||||
state->Reg[0]);
|
||||
return FALSE;
|
||||
state->Reg[0] = -1;
|
||||
OSptr->ErrorNo = cb_host_to_target_errno
|
||||
(sim_callback, ENOSYS);
|
||||
break;
|
||||
case 1001: /* Meminfo. */
|
||||
{
|
||||
ARMword totmem = state->Reg[1],
|
||||
topmem = state->Reg[2];
|
||||
ARMword stack = state->MemSize > 0
|
||||
? state->MemSize : ADDRUSERSTACK;
|
||||
if (totmem != 0)
|
||||
ARMul_WriteWord (state, totmem, stack);
|
||||
if (topmem != 0)
|
||||
ARMul_WriteWord (state, topmem, stack);
|
||||
state->Reg[0] = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
sim_callback->printf_filtered
|
||||
|
|
Loading…
Reference in a new issue