Difference between revisions of "Talk:Kernel Syscalls"

From The iPhone Wiki
Jump to: navigation, search
Line 1: Line 1:
 
i dont know if its right, pls correct me if im wrong :) --[[User:Zmaster|Zmaster]] 13:58, 29 November 2011 (MST)
 
i dont know if its right, pls correct me if im wrong :) --[[User:Zmaster|Zmaster]] 13:58, 29 November 2011 (MST)
   
  +
<del>
 
HTTP/i0nic:
 
HTTP/i0nic:
 
The following is hardly "bogus".
 
The following is hardly "bogus".
Line 6: Line 7:
 
0x30d2ad58 <chown+4>: svc 0x00000080
 
0x30d2ad58 <chown+4>: svc 0x00000080
 
is a direct disassembly of libSystem. You can see that with gdb on a jb device.
 
is a direct disassembly of libSystem. You can see that with gdb on a jb device.
  +
</del>
   
SVC is an ARM instruction to invoke a "supervisor call". The 0x80 is the call #, because the chip allows an interrupt vector, much like Intel's INT instruction. Then, you place the syscall # (in the above example, chown) in r12. [[User:morpheus|morpheus]] ||3/1/2012, 20:01 EST.
+
<del>SVC is an ARM instruction to invoke a "supervisor call". The 0x80 is the call #, because the chip allows an interrupt vector, much like Intel's INT instruction. Then, you place the syscall # (in the above example, chown) in r12. [[User:morpheus|morpheus]] ||3/1/2012, 20:01 EST.
  +
</del>
  +
  +
-- Edit:
  +
  +
OOOOOH. Now I get it. He meant the CPU syscalls, not the kernel syscalls. This needs more research (who originally put that part?)

Revision as of 02:04, 2 March 2012

i dont know if its right, pls correct me if im wrong :) --Zmaster 13:58, 29 November 2011 (MST)

HTTP/i0nic: The following is hardly "bogus". 0x30d2ad54 <chown>: mov r12, #16  ; 0x10, being # of chown 0x30d2ad58 <chown+4>: svc 0x00000080 is a direct disassembly of libSystem. You can see that with gdb on a jb device.

SVC is an ARM instruction to invoke a "supervisor call". The 0x80 is the call #, because the chip allows an interrupt vector, much like Intel's INT instruction. Then, you place the syscall # (in the above example, chown) in r12. morpheus ||3/1/2012, 20:01 EST.

-- Edit:

OOOOOH. Now I get it. He meant the CPU syscalls, not the kernel syscalls. This needs more research (who originally put that part?)