* armos.c (ARMul_OSHandleSWI): Handle the RedBoot system

call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
This commit is contained in:
Daniel Jacobowitz
2006-02-02 01:48:16 +00:00
parent 9c703ebff4
commit eeea466063
2 changed files with 25 additions and 3 deletions

View File

@@ -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