Fix benchmark_debug_syscall_start
The lowest syscall number is -8, which doesnt' fit in 3 bits -> change to 4. Also, we were storing the -ve number, which also doesn't fit into 3 bits -> invert it when we store it.
This commit is contained in:
parent
1c50cec9e8
commit
49f26d5c84
2 changed files with 3 additions and 3 deletions
|
|
@ -60,7 +60,7 @@ benchmark_debug_syscall_start(word_t cptr, word_t msgInfo, word_t syscall)
|
||||||
seL4_MessageInfo_t info = messageInfoFromWord_raw(msgInfo);
|
seL4_MessageInfo_t info = messageInfoFromWord_raw(msgInfo);
|
||||||
lookupCapAndSlot_ret_t lu_ret = lookupCapAndSlot(NODE_STATE(ksCurThread), cptr);
|
lookupCapAndSlot_ret_t lu_ret = lookupCapAndSlot(NODE_STATE(ksCurThread), cptr);
|
||||||
ksKernelEntry.path = Entry_Syscall;
|
ksKernelEntry.path = Entry_Syscall;
|
||||||
ksKernelEntry.syscall_no = syscall;
|
ksKernelEntry.syscall_no = -syscall;
|
||||||
ksKernelEntry.cap_type = cap_get_capType(lu_ret.cap);
|
ksKernelEntry.cap_type = cap_get_capType(lu_ret.cap);
|
||||||
ksKernelEntry.invocation_tag = seL4_MessageInfo_get_label(info);
|
ksKernelEntry.invocation_tag = seL4_MessageInfo_get_label(info);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,10 @@ typedef struct PACKED kernel_entry {
|
||||||
};
|
};
|
||||||
/* Tracked kernel entry info filled from outside this file */
|
/* Tracked kernel entry info filled from outside this file */
|
||||||
struct {
|
struct {
|
||||||
seL4_Word syscall_no: 3;
|
seL4_Word syscall_no: 4;
|
||||||
seL4_Word cap_type: 5;
|
seL4_Word cap_type: 5;
|
||||||
seL4_Word is_fastpath: 1;
|
seL4_Word is_fastpath: 1;
|
||||||
seL4_Word invocation_tag: 20;
|
seL4_Word invocation_tag: 19;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} kernel_entry_t;
|
} kernel_entry_t;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue