The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Talk:Kernel Syscalls"
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?)