Hello Norman,
Thank you for your advice.
I uploaded the essential files as you said, and I will take some time to make VSOS a branch of genode.
This project was a project by a team, which was made up of over 20 members. Following the leader of the team, they implemented some security functions (such as trusted boot, trusted path and trusted recovery, etc) and developed a series of applications in the project offline and privately. I joined the team for not a long time, just only several months.
In March, 2014, all members of the team but me quit the project and were sent to another city for some irresistible reasons by top leader of the team, and I nearly lost touch with them.
Therefore, I'm the only member of the project now, and it will take a lot of time for me to be familiar with all functions they added and clean up the project. And the performance analysis improvement of the VSOS is my master's thesis assigned by my master advisor.
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 /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());}