My root task (root thread created by kernel) checks for fault from the
other threads, which are created in root thread with badged fault_ep
seL4_Word badge;
seL4_MessageInfo_t messageInfo = seL4_NBRecv(init_objects.fault_cap,
&badge);
if (seL4_MessageInfo_get_label(messageInfo) != seL4_Fault_NullFault )
{
process_fault(messageInfo, badge);
}
Normally I don't have any faults, but every time I have
seL4_MessageInfo_get_label(messageInfo) == 4, which is not in
seL4_Fault_tag enumeration type
enum seL4_Fault_tag {
seL4_Fault_NullFault = 0,
seL4_Fault_CapFault = 1,
seL4_Fault_UnknownSyscall = 2,
seL4_Fault_UserException = 3,
seL4_Fault_VMFault = 5,
seL4_Fault_VGICMaintenance = 6,
seL4_Fault_VCPUFault = 7,
seL4_Fault_VPPIEvent = 8
};
Could somebody explain?
Thanks,