Uses sim callback interface for system calls in RedBoot SWI support.
authorNick Clifton <nickc@redhat.com>
Thu, 9 May 2002 10:29:08 +0000 (10:29 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 9 May 2002 10:29:08 +0000 (10:29 +0000)
sim/arm/armos.c

index bdc53d4e6c381770c82e27cb705fc3e68f5c6a29..d833665ac2d56e7868c754fe4a893ed2bab6eb13 100644 (file)
@@ -171,7 +171,8 @@ ARMul_OSInit (ARMul_State * state)
   instr = 0xe59ff000 | (ADDRSOFTVECTORS - 8);          /* Load pc from soft vector */
   
   for (i = ARMul_ResetV; i <= ARMFIQV; i += 4)
-    ARMul_WriteWord (state, i, instr); /* Write hardware vectors.  */
+    /* Write hardware vectors.  */
+    ARMul_WriteWord (state, i, instr);
   
   SWI_vector_installed = 0;
 
@@ -658,8 +659,8 @@ ARMul_OSHandleSWI (ARMul_State * state, ARMword number)
          return TRUE;
 
        case 3:  /* Close.  */
-         state->Reg[0] = close (state->Reg[1]);
-         OSptr->ErrorNo = errno;
+         state->Reg[0] = sim_callback->close (sim_callback, state->Reg[1]);
+         OSptr->ErrorNo = sim_callback->get_errno (sim_callback);
          return TRUE;
 
        case 4:  /* Read.  */
@@ -671,14 +672,18 @@ ARMul_OSHandleSWI (ARMul_State * state, ARMword number)
          return TRUE;
 
        case 6:  /* Lseek.  */
-         state->Reg[0] = lseek (state->Reg[1], state->Reg[2], state->Reg[3]);
-         OSptr->ErrorNo = errno;
+         state->Reg[0] = sim_callback->lseek (sim_callback,
+                                              state->Reg[1],
+                                              state->Reg[2],
+                                              state->Reg[3]);
+         OSptr->ErrorNo = sim_callback->get_errno (sim_callback);
          return TRUE;
 
        case 17: /* Utime.  */
-         state->Reg[0] = (ARMword) time (state->Reg[1]);
-         OSptr->ErrorNo = errno;
-         return (TRUE);
+         state->Reg[0] = (ARMword) sim_callback->time (sim_callback,
+                                                       (long *) state->Reg[1]);
+         OSptr->ErrorNo = sim_callback->get_errno (sim_callback);
+         return TRUE;
 
        case 7:  /* Unlink.  */
        case 8:  /* Getpid.  */
This page took 0.026635 seconds and 4 git commands to generate.