L4_SYSCALL_INVOKE is a negative PC value?

Adam Lackorzynski adam at os.inf.tu-dresden.de
Sun Sep 28 23:51:34 CEST 2014


On Sun Sep 28, 2014 at 03:26:53 +0000, Zachary wrote:
> Thank you, Adam. Based on your reply, I have another question.
> 
> As the macro defined in L4Re source code, the branch adress is:
> L4_SYSCALL_INVOKE		0xFFFFFFF4
> L4_SYSCALL_MEM_OP		0xFFFFFFF0
> 
> This means the "L4_SYSCALL_INVOKE" is at the higher address.
> 
> And in asm_entry.h, the syscall table is:
> .macro GEN_SYSCALL_TABLE
> .align 4
> .global sys_call_table
> sys_call_table:
> 	...
> 	.word sys_kdb_ke
> 	.word sys_ipc_wrapper
> 	.word sys_arm_mem_op
> 	...
> .endm
> 
> On the contrary, this table tells me that the "sys_ipc_wrapper" is at the 
> lower address, so, why this happens? 

The offsets into the table are just calculated so that it works. Please
see the usage sites of sys_call_table in the same file.



Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list