diff --git a/libsel4simple/arch_include/arm/simple/arch/simple.h b/libsel4simple/arch_include/arm/simple/arch/simple.h index dac7eb128..1f95d2894 100644 --- a/libsel4simple/arch_include/arm/simple/arch/simple.h +++ b/libsel4simple/arch_include/arm/simple/arch/simple.h @@ -16,7 +16,13 @@ /* Simple does not address initial null caps, including seL4_CapNull. * seL4_CapIOSpace, seL4_CapIOPortControl are null on architectures other than x86 */ -#define SIMPLE_SKIPPED_INIT_CAPS 3 +#ifdef CONFIG_KERNEL_MCS +#define SKIP_THREADSC 0 +#else +#define SKIP_THREADSC 1 +#endif + +#define SIMPLE_SKIPPED_INIT_CAPS (3 + SKIP_THREADSC) /* Request a cap to a specific IRQ number on the system * diff --git a/libsel4simple/arch_include/x86/simple/arch/simple.h b/libsel4simple/arch_include/x86/simple/arch/simple.h index b1d396ebd..f8c40efe9 100644 --- a/libsel4simple/arch_include/x86/simple/arch/simple.h +++ b/libsel4simple/arch_include/x86/simple/arch/simple.h @@ -16,12 +16,20 @@ /* Simple does not address initial null caps, including seL4_CapNull */ #ifdef CONFIG_IOMMU -#define SIMPLE_SKIPPED_INIT_CAPS 1 +#define SKIP_IOSPACE 0 #else /* seL4_CapIOSpace is null if IOMMU isn't supported */ -#define SIMPLE_SKIPPED_INIT_CAPS 2 +#define SKIP_IOSPACE 1 #endif +#ifdef CONFIG_KERNEL_MCS +#define SKIP_THREADSC 0 +#else +#define SKIP_THREADSC 1 +#endif + +#define SIMPLE_SKIPPED_INIT_CAPS (1 + SKIP_IOSPACE + SKIP_THREADSC) + /** * Request a cap to the IOPorts *