Hi Shuo Wang,
thanks for having taken the time to provide some insights about the background of our work!
The diff between Genode 13.02 and your version is more than 170 thousand lines. Unfortunately, your group hasn't branched off from the commit tagged as "13.02" but some commit after that. So it is hardly possible to see the real diff.
The modification they made on UTCB was that they added some structs in utcb.h, which is located in genode-13.02/base-foc/contrib/l4/pkg/l4sys/include/ (13.02), or genode-14.08/contrib/foc-<checksum>/src/kernel/foc/l4/pkg/l4sys/include (14.08).
The modified utcb.h was uploaded in https://github.com/kloisiie/vsos%E2%80%8D/tree/master/doc.
The lines added to the utcb.h is listed below: typedef struct l4_msg_id_t { l4_umword_t senderID; /**< Message registers */ l4_umword_t receiverID; /**< Message registers */ } l4_msg_id_t;
L4_INLINE l4_msg_id_t *l4_utcb_id(void) L4_NOTHROW; L4_INLINE l4_msg_id_t *l4_utcb_id_u(l4_utcb_t *u) L4_NOTHROW;
/**************************************************************************
- Implementations
**************************************************************************/
L4_INLINE l4_msg_id_t *l4_utcb_id_u(l4_utcb_t *u) L4_NOTHROW { return (l4_msg_id_t*)((char*)u + L4_UTCB_USER_ID_OFFSET); }
L4_INLINE l4_msg_id_t *l4_utcb_id(void) L4_NOTHROW { return l4_utcb_id_u(l4_utcb());}
With the change applied, there is still a compile error:
COMPILE utcb.o In file included from /open/incoming/vsos/build/include/x86/l4/sys/utcb.h:95:0, from /open/incoming/vsos/build/l4/source/pkg/l4sys/lib/src/utcb.c:27: /open/incoming/vsos/build/include/l4/sys/utcb.h: In function ‘l4_utcb_id_u’: /open/incoming/vsos/build/include/l4/sys/utcb.h:323:36: error: ‘L4_UTCB_USER_ID_OFFSET’ undeclared (first use in this function) /open/incoming/vsos/build/include/l4/sys/utcb.h:323:36: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [utcb.o] Error 1 make[2]: *** [syscall.lib] Error 2
Where should the definition of L4_UTCB_USER_ID_OFFSET come from?
Best regards Norman