diff --git a/include/arch/arm/arch/64/mode/fastpath/fastpath.h b/include/arch/arm/arch/64/mode/fastpath/fastpath.h index bfa61b1ae8de9107a4d75ea9748272f758db7375..36409aab7033c326caa2c116b144a94fc077c6af 100644 --- a/include/arch/arm/arch/64/mode/fastpath/fastpath.h +++ b/include/arch/arm/arch/64/mode/fastpath/fastpath.h @@ -66,7 +66,8 @@ static inline void mdb_node_ptr_set_mdbPrev_np(mdb_node_t *node_ptr, word_t mdbP static inline bool_t isValidVTableRoot_fp(cap_t vspace_root_cap) { - return cap_capType_equals(vspace_root_cap, cap_page_global_directory_cap) && cap_page_global_directory_cap_get_capPGDIsMapped(vspace_root_cap); + return cap_capType_equals(vspace_root_cap, cap_page_global_directory_cap) + && cap_page_global_directory_cap_get_capPGDIsMapped(vspace_root_cap); } /* This is an accelerated check that msgLength, which appears diff --git a/include/arch/arm/arch/kernel/boot.h b/include/arch/arm/arch/kernel/boot.h index d6537ab389b9cfea46944dd516018fe64c76f026..873386be43f9d4f5820839e24eeb2b1aa88b1bfc 100644 --- a/include/arch/arm/arch/kernel/boot.h +++ b/include/arch/arm/arch/kernel/boot.h @@ -14,7 +14,8 @@ #include <types.h> cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large); -cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable); +cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable); void init_kernel( paddr_t ui_p_reg_start, diff --git a/include/arch/arm/arch/kernel/vspace.h b/include/arch/arm/arch/kernel/vspace.h index 1437251431602c364cd00cfccc53634a5fe3c69e..1dd3c3c151e1a7a5fbb0610bb44e19f31cf19042 100644 --- a/include/arch/arm/arch/kernel/vspace.h +++ b/include/arch/arm/arch/kernel/vspace.h @@ -22,7 +22,8 @@ cap_t create_it_address_space(cap_t root_cnode_cap, v_region_t it_v_reg); bool_t create_device_frames(cap_t root_cnode_cap); cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large); -cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable); +cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable); void map_kernel_window(void); void map_kernel_frame(paddr_t paddr, pptr_t vaddr, vm_rights_t vm_rights, vm_attributes_t vm_attributes); diff --git a/include/arch/arm/arch/machine/gic_pl390.h b/include/arch/arm/arch/machine/gic_pl390.h index b739e036b8e7ce98cd38b7bd7d80780fc9ca230f..d06ed3755fee2f222eea887acb93bc9aa4e0260e 100644 --- a/include/arch/arm/arch/machine/gic_pl390.h +++ b/include/arch/arm/arch/machine/gic_pl390.h @@ -218,7 +218,8 @@ static inline void maskInterrupt(bool_t disable, interrupt_t irq) static inline void ackInterrupt(irq_t irq) { - assert(IS_IRQ_VALID(active_irq[SMP_TERNARY(getCurrentCPUIndex(), 0)]) && (active_irq[SMP_TERNARY(getCurrentCPUIndex(), 0)] & IRQ_MASK) == irq); + assert(IS_IRQ_VALID(active_irq[SMP_TERNARY(getCurrentCPUIndex(), 0)]) + && (active_irq[SMP_TERNARY(getCurrentCPUIndex(), 0)] & IRQ_MASK) == irq); if (is_irq_edge_triggered(irq)) { dist_pending_clr(irq); } diff --git a/include/arch/arm/arch/model/smp.h b/include/arch/arm/arch/model/smp.h index 53b0566fa65177f5a178bf1b6ef6109de71ad597..087dc162038eb83088b2d9f8dae53f7e2a37621b 100644 --- a/include/arch/arm/arch/model/smp.h +++ b/include/arch/arm/arch/model/smp.h @@ -23,7 +23,8 @@ static inline cpu_id_t cpuIndexToID(word_t index) return BIT(index); } -static inline bool_t try_arch_atomic_exchange(void *ptr, void *new_val, void **prev, int success_memorder, int failure_memorder) +static inline bool_t try_arch_atomic_exchange(void *ptr, void *new_val, void **prev, int success_memorder, + int failure_memorder) { uint32_t atomic_status; void *temp; diff --git a/include/arch/arm/arch/object/iospace.h b/include/arch/arm/arch/object/iospace.h index 860ad01c7552f04b62f6a36cb65c42c080c777a7..8ed98e2de3f2b44e124836db8fa58903ad2f26f2 100644 --- a/include/arch/arm/arch/object/iospace.h +++ b/include/arch/arm/arch/object/iospace.h @@ -18,8 +18,10 @@ #ifdef CONFIG_ARM_SMMU seL4_SlotRegion create_iospace_caps(cap_t root_cnode_cap); -exception_t decodeARMIOPTInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer); -exception_t decodeARMIOMapInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t decodeARMIOPTInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, + word_t *buffer); +exception_t decodeARMIOMapInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, + word_t *buffer); exception_t performPageInvocationUnmapIO(cap_t cap, cte_t *slot); exception_t decodeARMIOSpaceInvocation(word_t invLabel, cap_t cap); void unmapIOPage(cap_t cap); @@ -34,12 +36,14 @@ static inline seL4_SlotRegion create_iospace_caps(cap_t root_cnode_cap) return S_REG_EMPTY; } -static inline exception_t decodeARMIOPTInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer) +static inline exception_t decodeARMIOPTInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, + extra_caps_t excaps, word_t *buffer) { return EXCEPTION_NONE; } -static inline exception_t decodeARMIOMapInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer) +static inline exception_t decodeARMIOMapInvocation(word_t invLabel, uint32_t length, cte_t *slot, cap_t cap, + extra_caps_t excaps, word_t *buffer) { return EXCEPTION_NONE; } diff --git a/include/arch/riscv/arch/kernel/boot.h b/include/arch/riscv/arch/kernel/boot.h index fa70a076bc418bc78f1360368f87ba78523b3969..cf2df8b7b97aa6681da9900163b8fb3f05d23103 100644 --- a/include/arch/riscv/arch/kernel/boot.h +++ b/include/arch/riscv/arch/kernel/boot.h @@ -22,7 +22,8 @@ #include <types.h> cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large); -cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable); +cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable); void init_kernel( paddr_t ui_p_reg_start, diff --git a/include/arch/riscv/arch/kernel/traps.h b/include/arch/riscv/arch/kernel/traps.h index 35acea8355e06722d29187a5cde7bffe711040ab..9a02161d68daba09056f687bb96fde90d6c9023b 100644 --- a/include/arch/riscv/arch/kernel/traps.h +++ b/include/arch/riscv/arch/kernel/traps.h @@ -30,7 +30,8 @@ static inline void arch_c_exit_hook(void) { } -void c_handle_syscall(word_t cptr, word_t msgInfo, word_t unused1, word_t unused2, word_t unused3, word_t unused4, word_t unused5, syscall_t syscall) +void c_handle_syscall(word_t cptr, word_t msgInfo, word_t unused1, word_t unused2, word_t unused3, word_t unused4, + word_t unused5, syscall_t syscall) VISIBLE NORETURN; void c_handle_interrupt(void) diff --git a/include/arch/x86/arch/32/mode/fastpath/fastpath.h b/include/arch/x86/arch/32/mode/fastpath/fastpath.h index 6907f3d75e1ea5caf4dd1de291f2d40c0cfb600e..c45af15b003fdd9853c825485118f2fa61e7746a 100644 --- a/include/arch/x86/arch/32/mode/fastpath/fastpath.h +++ b/include/arch/x86/arch/32/mode/fastpath/fastpath.h @@ -68,7 +68,8 @@ static inline void mdb_node_ptr_set_mdbPrev_np(mdb_node_t *node_ptr, word_t mdbP static inline bool_t isValidVTableRoot_fp(cap_t vspace_root_cap) { - return cap_capType_equals(vspace_root_cap, cap_page_directory_cap) && cap_page_directory_cap_get_capPDIsMapped(vspace_root_cap); + return cap_capType_equals(vspace_root_cap, cap_page_directory_cap) + && cap_page_directory_cap_get_capPDIsMapped(vspace_root_cap); } static inline void fastpath_copy_mrs(word_t length, tcb_t *src, tcb_t *dest) diff --git a/include/arch/x86/arch/32/mode/stack.h b/include/arch/x86/arch/32/mode/stack.h index 8a235b97eb027b7ef94724c8ccc90fd3101bf389..3dd668bc8b4d41980ecf358fe7aab124136f1ef8 100644 --- a/include/arch/x86/arch/32/mode/stack.h +++ b/include/arch/x86/arch/32/mode/stack.h @@ -38,7 +38,8 @@ static inline void setKernelEntryStackPointer(tcb_t *target_thread) * current CPU, because we use per-CPU stacks. */ /* save kernel stack pointer for next exception */ - SMP_COND_STATEMENT(kernel_stack_top = ((word_t)kernel_stack_alloc[getCurrentCPUIndex()]) + BIT(CONFIG_KERNEL_STACK_BITS) - 4); + SMP_COND_STATEMENT(kernel_stack_top = ((word_t)kernel_stack_alloc[getCurrentCPUIndex()]) + BIT( + CONFIG_KERNEL_STACK_BITS) - 4); SMP_COND_STATEMENT(NODE_STATE(ksCurThread)->tcbArch.tcbContext.kernelSP = kernel_stack_top); register_context_top = (word_t)&target_thread->tcbArch.tcbContext.registers[n_contextRegisters]; diff --git a/include/arch/x86/arch/64/mode/fastpath/fastpath.h b/include/arch/x86/arch/64/mode/fastpath/fastpath.h index 8907a9502ca3075a67760393f6c45ff6439938b1..3ecff9fec5cc4ec3ff2a4a07cb730ebc1ea64a40 100644 --- a/include/arch/x86/arch/64/mode/fastpath/fastpath.h +++ b/include/arch/x86/arch/64/mode/fastpath/fastpath.h @@ -126,7 +126,8 @@ fastpath_mi_check(word_t msgInfo) static inline void NORETURN FORCE_INLINE fastpath_restore(word_t badge, word_t msgInfo, tcb_t *cur_thread) { - if (config_set(CONFIG_SYSENTER) && config_set(CONFIG_HARDWARE_DEBUG_API) && ((getRegister(NODE_STATE(ksCurThread), FLAGS) & FLAGS_TF) != 0)) { + if (config_set(CONFIG_SYSENTER) && config_set(CONFIG_HARDWARE_DEBUG_API) + && ((getRegister(NODE_STATE(ksCurThread), FLAGS) & FLAGS_TF) != 0)) { /* If single stepping using sysenter we need to do a return using iret to avoid * a race condition in restoring the flags (which enables stepping and interrupts) and * calling sysexit. This case is handled in restore_user_context so we just go there diff --git a/include/arch/x86/arch/kernel/boot.h b/include/arch/x86/arch/kernel/boot.h index 1e7fd5311c73e49a687b680cd66c98a76234f292..1fba545f638c616cd5510b58260041d8cad84b72 100644 --- a/include/arch/x86/arch/kernel/boot.h +++ b/include/arch/x86/arch/kernel/boot.h @@ -29,7 +29,8 @@ typedef struct ui_info { } ui_info_t; cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large); -cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable); +cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable); bool_t init_sys_state( cpu_id_t cpu_id, diff --git a/include/arch/x86/arch/kernel/ept.h b/include/arch/x86/arch/kernel/ept.h index 356a3b21ee49708fd2facdbcecfee3e27b55fafd..4c5b584acbd150b93a9e29fea88869c442d60e9d 100644 --- a/include/arch/x86/arch/kernel/ept.h +++ b/include/arch/x86/arch/kernel/ept.h @@ -51,10 +51,14 @@ EPTPageTableMapped_ret_t EPTPageTableMapped(asid_t asid, vptr_t vaddr, ept_pte_t findEPTForASID_ret_t findEPTForASID(asid_t asid); void deleteEPTASID(asid_t asid, ept_pml4e_t *ept); -exception_t decodeX86EPTInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); -exception_t decodeX86EPTPDInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); -exception_t decodeX86EPTPTInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); -exception_t decodeX86EPTPageMap(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t decodeX86EPTInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *cte, cap_t cap, + extra_caps_t excaps, word_t *buffer); +exception_t decodeX86EPTPDInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, + word_t *buffer); +exception_t decodeX86EPTPTInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, + word_t *buffer); +exception_t decodeX86EPTPageMap(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, + word_t *buffer); exception_t performX86EPTPageInvocationUnmap(cap_t cap, cte_t *ctSlot); void unmapEPTPDPT(asid_t asid, vptr_t vaddr, ept_pdpte_t *pdpt); void unmapEPTPageDirectory(asid_t asid, vptr_t vaddr, ept_pde_t *pd); diff --git a/include/arch/x86/arch/kernel/vspace.h b/include/arch/x86/arch/kernel/vspace.h index 9529be9b6b5d3aabeb3d75a10d0b3fa5fcd99c98..947d3f5fca7e411784e60b869127a6bfe4fa214d 100644 --- a/include/arch/x86/arch/kernel/vspace.h +++ b/include/arch/x86/arch/kernel/vspace.h @@ -97,7 +97,8 @@ findVSpaceForASID_ret_t findVSpaceForASID(asid_t asid); void unmapPage(vm_page_size_t page_size, asid_t asid, vptr_t vptr, void *pptr); /* returns whether the translation was removed and needs to be flushed from the hardware (i.e. tlb) */ bool_t modeUnmapPage(vm_page_size_t page_size, vspace_root_t *vroot, vptr_t vptr, void *pptr); -exception_t decodeX86ModeMapRemapPage(word_t invLabel, vm_page_size_t page_size, cte_t *cte, cap_t cap, vspace_root_t *vroot, vptr_t vptr, paddr_t paddr, vm_rights_t vm_rights, vm_attributes_t vm_attr); +exception_t decodeX86ModeMapRemapPage(word_t invLabel, vm_page_size_t page_size, cte_t *cte, cap_t cap, + vspace_root_t *vroot, vptr_t vptr, paddr_t paddr, vm_rights_t vm_rights, vm_attributes_t vm_attr); void setVMRoot(tcb_t *tcb); bool_t CONST isValidVTableRoot(cap_t cap); bool_t CONST isValidNativeRoot(cap_t cap); @@ -111,10 +112,12 @@ exception_t decodeX86MMUInvocation(word_t invLabel, word_t length, cptr_t cptr, exception_t decodeX86ModeMMUInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); -exception_t decodeIA32PageDirectoryInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t decodeIA32PageDirectoryInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, + extra_caps_t excaps, word_t *buffer); /* common functions for x86 */ -exception_t decodeX86FrameInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t decodeX86FrameInvocation(word_t invLabel, word_t length, cte_t *cte, cap_t cap, extra_caps_t excaps, + word_t *buffer); uint32_t CONST WritableFromVMRights(vm_rights_t vm_rights); uint32_t CONST SuperUserFromVMRights(vm_rights_t vm_rights); diff --git a/include/arch/x86/arch/model/smp.h b/include/arch/x86/arch/model/smp.h index 986b94524a24b431345d1a4f96ef43c1380a8b93..fc2e1bcf27e502ac937a23e2e47a78bfd898fbbd 100644 --- a/include/arch/x86/arch/model/smp.h +++ b/include/arch/x86/arch/model/smp.h @@ -43,7 +43,8 @@ static inline PURE word_t getCurrentCPUID(void) return cpu_mapping.index_to_cpu_id[getCurrentCPUIndex()]; } -static inline bool_t try_arch_atomic_exchange(void *ptr, void *new_val, void **prev, int success_memorder, int failure_memorder) +static inline bool_t try_arch_atomic_exchange(void *ptr, void *new_val, void **prev, int success_memorder, + int failure_memorder) { *prev = __atomic_exchange_n((void **) ptr, new_val, success_memorder); return true; diff --git a/include/arch/x86/arch/object/ioport.h b/include/arch/x86/arch/object/ioport.h index d209cc371b74f3fb84a6259370ada9106b7faf54..66df644df0eb558ff857308ea9fba8d98865376e 100644 --- a/include/arch/x86/arch/object/ioport.h +++ b/include/arch/x86/arch/object/ioport.h @@ -20,8 +20,10 @@ /* given a pointer to an 8K IO port bitmap, set a range of bits to 0 or 1 based on the `set` parameter */ void setIOPortMask(void *ioport_bitmap, uint16_t low, uint16_t high, bool_t set); -exception_t decodeX86PortInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, extra_caps_t excaps, bool_t call, word_t *buffer); -exception_t decodeX86PortControlInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t decodeX86PortInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, + extra_caps_t excaps, bool_t call, word_t *buffer); +exception_t decodeX86PortControlInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, + extra_caps_t excaps, word_t *buffer); /* used to clean up the final capability to an allocated I/O port range */ void freeIOPortRange(uint16_t first_port, uint16_t last_port); diff --git a/include/arch/x86/arch/object/iospace.h b/include/arch/x86/arch/object/iospace.h index 6940824f393daada650bcead8f0b4a49f3361fdc..7e5f7493624198779b7f3b753ee618d55e1e4668 100644 --- a/include/arch/x86/arch/object/iospace.h +++ b/include/arch/x86/arch/object/iospace.h @@ -39,7 +39,8 @@ struct lookupIOPTSlot_ret { typedef struct lookupIOPTSlot_ret lookupIOPTSlot_ret_t; cap_t master_iospace_cap(void); -exception_t decodeX86IOPTInvocation(word_t invLabel, word_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t decodeX86IOPTInvocation(word_t invLabel, word_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, + word_t *buffer); exception_t decodeX86IOMapInvocation(word_t length, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer); exception_t decodeX86IOSpaceInvocation(word_t invLabel, cap_t cap); exception_t performX86IOUnMapInvocation(cap_t cap, cte_t *ctSlot); diff --git a/include/arch/x86/arch/object/objecttype.h b/include/arch/x86/arch/object/objecttype.h index 3d1730c4f3dfadadc8d44606f91196e5167e0c7f..6d4b33556cb6e160ee5d4baa4f7403591e66d067 100644 --- a/include/arch/x86/arch/object/objecttype.h +++ b/include/arch/x86/arch/object/objecttype.h @@ -26,7 +26,8 @@ bool_t CONST Arch_sameRegionAs(cap_t cap_a, cap_t cap_b); bool_t CONST Arch_sameObjectAs(cap_t cap_a, cap_t cap_b); bool_t CONST Arch_isFrameType(word_t type); cap_t Arch_createObject(object_t t, void *regionBase, word_t userSize, bool_t deviceMemory); -exception_t Arch_decodeInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, extra_caps_t excaps, bool_t call, word_t *buffer); +exception_t Arch_decodeInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, + extra_caps_t excaps, bool_t call, word_t *buffer); void Arch_prepareThreadDelete(tcb_t *thread); word_t Arch_getObjectSize(word_t t); @@ -36,7 +37,8 @@ deriveCap_ret_t Mode_deriveCap(cte_t *slot, cap_t cap); finaliseCap_ret_t Mode_finaliseCap(cap_t cap, bool_t final); bool_t CONST Mode_sameRegionAs(cap_t cap_a, cap_t cap_b); cap_t Mode_createObject(object_t t, void *regionBase, word_t userSize, bool_t deviceMemory); -exception_t Mode_decodeInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, extra_caps_t excaps, word_t *buffer); +exception_t Mode_decodeInvocation(word_t invLabel, word_t length, cptr_t cptr, cte_t *slot, cap_t cap, + extra_caps_t excaps, word_t *buffer); word_t Mode_getObjectSize(word_t t); void Arch_postCapDeletion(cap_t cap); diff --git a/include/kernel/boot.h b/include/kernel/boot.h index cc8cb8bfe6cccb6fa5fd92b5daf93d804ed34433..08454ad94a6e5a549b061b158dbafcdf5857aa2e 100644 --- a/include/kernel/boot.h +++ b/include/kernel/boot.h @@ -54,7 +54,8 @@ bool_t provide_cap(cap_t root_cnode_cap, cap_t cap); cap_t create_it_asid_pool(cap_t root_cnode_cap); void write_it_pd_pts(cap_t root_cnode_cap, cap_t it_pd_cap); bool_t create_idle_thread(void); -bool_t create_untypeds_for_region(cap_t root_cnode_cap, bool_t device_memory, region_t reg, seL4_SlotPos first_untyped_slot); +bool_t create_untypeds_for_region(cap_t root_cnode_cap, bool_t device_memory, region_t reg, + seL4_SlotPos first_untyped_slot); bool_t create_kernel_untypeds(cap_t root_cnode_cap, region_t boot_mem_reuse_reg, seL4_SlotPos first_untyped_slot); void bi_finalise(void); bool_t create_irq_cnode(void); diff --git a/libsel4/arch_include/arm/sel4/arch/functions.h b/libsel4/arch_include/arm/sel4/arch/functions.h index 6317ab9e7a3205981c7fea44d37b45cb32c63b4d..f4392d40e484b2070c8a00df1be361c5733deb24 100644 --- a/libsel4/arch_include/arm/sel4/arch/functions.h +++ b/libsel4/arch_include/arm/sel4/arch/functions.h @@ -52,7 +52,8 @@ LIBSEL4_INLINE_FUNC void seL4_SetCap(int i, seL4_CPtr cptr) seL4_GetIPCBuffer()->caps_or_badges[i] = (seL4_Word)cptr; } -LIBSEL4_INLINE_FUNC void seL4_GetCapReceivePath(seL4_CPtr *receiveCNode, seL4_CPtr *receiveIndex, seL4_Word *receiveDepth) +LIBSEL4_INLINE_FUNC void seL4_GetCapReceivePath(seL4_CPtr *receiveCNode, seL4_CPtr *receiveIndex, + seL4_Word *receiveDepth) { seL4_IPCBuffer *ipcbuffer = seL4_GetIPCBuffer(); if (receiveCNode != (void *)0) { diff --git a/libsel4/arch_include/arm/sel4/arch/syscalls.h b/libsel4/arch_include/arm/sel4/arch/syscalls.h index f0a85355df0a26259687faef6562f792089706d1..2a4655e93cfab45cdef2c1112e3cb73d5c6ebbb1 100644 --- a/libsel4/arch_include/arm/sel4/arch/syscalls.h +++ b/libsel4/arch_include/arm/sel4/arch/syscalls.h @@ -242,7 +242,8 @@ LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecv(seL4_CPtr src, seL4_Messag return info; } -LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, +LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr src, seL4_MessageInfo_t msgInfo, + seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) { seL4_MessageInfo_t info; @@ -406,7 +407,8 @@ LIBSEL4_INLINE_FUNC seL4_Error seL4_BenchmarkSetLogBuffer(seL4_Word frame_cptr) seL4_Word unused3 = 0; seL4_Word unused4 = 0; - arm_sys_send_recv(seL4_SysBenchmarkSetLogBuffer, frame_cptr, &frame_cptr, 0, &unused0, &unused1, &unused2, &unused3, &unused4); + arm_sys_send_recv(seL4_SysBenchmarkSetLogBuffer, frame_cptr, &frame_cptr, 0, &unused0, &unused1, &unused2, &unused3, + &unused4); return (seL4_Error) frame_cptr; } @@ -433,7 +435,8 @@ LIBSEL4_INLINE_FUNC void seL4_BenchmarkGetThreadUtilisation(seL4_Word tcb_cptr) seL4_Word unused4 = 0; seL4_Word unused5 = 0; - arm_sys_send_recv(seL4_SysBenchmarkGetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, &unused4, &unused5); + arm_sys_send_recv(seL4_SysBenchmarkGetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, &unused4, + &unused5); } LIBSEL4_INLINE_FUNC void seL4_BenchmarkResetThreadUtilisation(seL4_Word tcb_cptr) @@ -445,7 +448,8 @@ LIBSEL4_INLINE_FUNC void seL4_BenchmarkResetThreadUtilisation(seL4_Word tcb_cptr seL4_Word unused4 = 0; seL4_Word unused5 = 0; - arm_sys_send_recv(seL4_SysBenchmarkResetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, &unused4, &unused5); + arm_sys_send_recv(seL4_SysBenchmarkResetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, + &unused4, &unused5); } #endif /* CONFIG_BENCHMARK_TRACK_UTILISATION */ #endif /* CONFIG_ENABLE_BENCHMARKS */ diff --git a/libsel4/arch_include/riscv/sel4/arch/functions.h b/libsel4/arch_include/riscv/sel4/arch/functions.h index 0970db60f84ed1a1bb31415ae23249a07abe372e..c1b32da84e2c0b6ac75e3f20111d4965f302f61a 100644 --- a/libsel4/arch_include/riscv/sel4/arch/functions.h +++ b/libsel4/arch_include/riscv/sel4/arch/functions.h @@ -64,7 +64,8 @@ LIBSEL4_INLINE_FUNC void seL4_SetCap(int i, seL4_CPtr cptr) seL4_GetIPCBuffer()->caps_or_badges[i] = (seL4_Word)cptr; } -LIBSEL4_INLINE_FUNC void seL4_GetCapReceivePath(seL4_CPtr *receiveCNode, seL4_CPtr *receiveIndex, seL4_Word *receiveDepth) +LIBSEL4_INLINE_FUNC void seL4_GetCapReceivePath(seL4_CPtr *receiveCNode, seL4_CPtr *receiveIndex, + seL4_Word *receiveDepth) { seL4_IPCBuffer *ipcbuffer = seL4_GetIPCBuffer(); if (receiveCNode != (void *)0) { diff --git a/libsel4/arch_include/riscv/sel4/arch/syscalls.h b/libsel4/arch_include/riscv/sel4/arch/syscalls.h index d15e93ec9830fc071467d921e8cbb27a7f9cb91a..51c9622a389a27e815d01b52b2eec20830d45b82 100644 --- a/libsel4/arch_include/riscv/sel4/arch/syscalls.h +++ b/libsel4/arch_include/riscv/sel4/arch/syscalls.h @@ -397,7 +397,8 @@ LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecv(seL4_CPtr src, seL4_Messag } -LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, +LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr src, seL4_MessageInfo_t msgInfo, + seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) { seL4_MessageInfo_t info; diff --git a/libsel4/arch_include/x86/sel4/arch/functions.h b/libsel4/arch_include/x86/sel4/arch/functions.h index cf0590e7864e44d83ab32f521dc1663576127647..071df66977dc2b16c6bc007f82d8ac84f3c5fc96 100644 --- a/libsel4/arch_include/x86/sel4/arch/functions.h +++ b/libsel4/arch_include/x86/sel4/arch/functions.h @@ -59,7 +59,8 @@ LIBSEL4_INLINE_FUNC void seL4_SetCap(int i, seL4_CPtr cptr) SEL4_SET_IPCBUF_SCALE(caps_or_badges, i, cptr); } -LIBSEL4_INLINE_FUNC void seL4_GetCapReceivePath(seL4_CPtr *receiveCNode, seL4_CPtr *receiveIndex, seL4_Word *receiveDepth) +LIBSEL4_INLINE_FUNC void seL4_GetCapReceivePath(seL4_CPtr *receiveCNode, seL4_CPtr *receiveIndex, + seL4_Word *receiveDepth) { if (receiveCNode != seL4_Null) { SEL4_GET_IPCBUF(receiveCNode, *receiveCNode); diff --git a/libsel4/include/sel4/bootinfo.h b/libsel4/include/sel4/bootinfo.h index ca0a9dfa724b50491b1b9ca7236648a7ade29b5e..82e76e0b268190a334a2770eeaac78907fff67a0 100644 --- a/libsel4/include/sel4/bootinfo.h +++ b/libsel4/include/sel4/bootinfo.h @@ -17,7 +17,9 @@ #include <sel4/bootinfo_types.h> #include <sel4/macros.h> -void seL4_InitBootInfo(seL4_BootInfo *bi) SEL4_DEPRECATED("libsel4 management of bootinfo is deprecated, see the BootInfo Frame section of the manual"); -seL4_BootInfo *seL4_GetBootInfo(void) SEL4_DEPRECATED("libsel4 management of bootinfo is deprecated, see the BootInfo Frame section of the manual"); +void seL4_InitBootInfo(seL4_BootInfo *bi) +SEL4_DEPRECATED("libsel4 management of bootinfo is deprecated, see the BootInfo Frame section of the manual"); +seL4_BootInfo *seL4_GetBootInfo(void) +SEL4_DEPRECATED("libsel4 management of bootinfo is deprecated, see the BootInfo Frame section of the manual"); #endif // __LIBSEL4_BOOTINFO_H diff --git a/libsel4/include/sel4/deprecated.h b/libsel4/include/sel4/deprecated.h index 89330d1935d2040f40e15039f1787415fedc87f4..18893eedface978472c1f6a6f45e97146fb56c47 100644 --- a/libsel4/include/sel4/deprecated.h +++ b/libsel4/include/sel4/deprecated.h @@ -128,7 +128,8 @@ static inline SEL4_DEPRECATED("Badges do not need to be constructed") seL4_Word return badge; } -static inline SEL4_DEPRECATED("Use seL4_CNode_CapData_new().words[0]") seL4_Word seL4_CapData_Guard_new(seL4_Word guard, seL4_Word bits) +static inline SEL4_DEPRECATED("Use seL4_CNode_CapData_new().words[0]") seL4_Word seL4_CapData_Guard_new(seL4_Word guard, + seL4_Word bits) { return seL4_CNode_CapData_new(guard, bits).words[0]; } diff --git a/libsel4/include/sel4/objecttype.h b/libsel4/include/sel4/objecttype.h index d557ebf6287eefe01585f00b933bbc3fd806fac3..0499d8e155fb3e068410384143ca7cf973b65aea 100644 --- a/libsel4/include/sel4/objecttype.h +++ b/libsel4/include/sel4/objecttype.h @@ -22,7 +22,8 @@ typedef enum api_object { seL4_NonArchObjectTypeCount, } seL4_ObjectType; -__attribute__((deprecated("use seL4_NotificationObject"))) static const seL4_ObjectType seL4_AsyncEndpointObject = seL4_NotificationObject; +__attribute__((deprecated("use seL4_NotificationObject"))) static const seL4_ObjectType seL4_AsyncEndpointObject = + seL4_NotificationObject; typedef seL4_Word api_object_t; diff --git a/libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/syscalls.h b/libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/syscalls.h index a96269a0b79db374bbad9d1627b6082eaacabab0..dbf1cf93f304bf99f61fbf98b82cb08e67e76dc9 100644 --- a/libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/syscalls.h +++ b/libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/syscalls.h @@ -49,7 +49,8 @@ * any data (e.g. seL4_Yield) */ -static inline void arm_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, seL4_Word mr2, seL4_Word mr3) +static inline void arm_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, + seL4_Word mr2, seL4_Word mr3) { register seL4_Word destptr asm("r0") = dest; register seL4_Word info asm("r1") = info_arg; @@ -70,7 +71,8 @@ static inline void arm_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info_ar ); } -static inline void arm_sys_reply(seL4_Word sys, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, seL4_Word mr2, seL4_Word mr3) +static inline void arm_sys_reply(seL4_Word sys, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, seL4_Word mr2, + seL4_Word mr3) { register seL4_Word info asm("r1") = info_arg; @@ -104,7 +106,8 @@ static inline void arm_sys_send_null(seL4_Word sys, seL4_Word src, seL4_Word inf ); } -static inline void arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) +static inline void arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, + seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) { register seL4_Word src_and_badge asm("r0") = src; register seL4_Word info asm("r1"); @@ -132,7 +135,8 @@ static inline void arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_bad *out_mr3 = msg3; } -static inline void arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) +static inline void arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, + seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) { register seL4_Word destptr asm("r0") = dest; register seL4_Word info asm("r1") = info_arg; diff --git a/libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/syscalls.h b/libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/syscalls.h index ac5e75e00868948bf1ee9cac30014a6529d7e5df..185d7e37c7beb4f633b2cec9a66a9baf18460e74 100644 --- a/libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/syscalls.h +++ b/libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/syscalls.h @@ -49,7 +49,8 @@ * any data (e.g. seL4_Yield) */ -static inline void arm_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, seL4_Word mr2, seL4_Word mr3) +static inline void arm_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, + seL4_Word mr2, seL4_Word mr3) { register seL4_Word destptr asm("x0") = dest; register seL4_Word info asm("x1") = info_arg; @@ -70,7 +71,8 @@ static inline void arm_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info_ar ); } -static inline void arm_sys_reply(seL4_Word sys, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, seL4_Word mr2, seL4_Word mr3) +static inline void arm_sys_reply(seL4_Word sys, seL4_Word info_arg, seL4_Word mr0, seL4_Word mr1, seL4_Word mr2, + seL4_Word mr3) { register seL4_Word info asm("x1") = info_arg; @@ -104,7 +106,8 @@ static inline void arm_sys_send_null(seL4_Word sys, seL4_Word src, seL4_Word inf ); } -static inline void arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) +static inline void arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, + seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) { register seL4_Word src_and_badge asm("x0") = src; register seL4_Word info asm("x1"); @@ -132,7 +135,8 @@ static inline void arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_bad *out_mr3 = msg3; } -static inline void arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) +static inline void arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, + seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) { register seL4_Word destptr asm("x0") = dest; register seL4_Word info asm("x1") = info_arg; diff --git a/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/syscalls.h b/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/syscalls.h index cc4e111c9104a423d8a55254cd851ae181710cdc..b09251dd6e7ce3b87d3206bd8e2f1df42d644b55 100644 --- a/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/syscalls.h +++ b/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/syscalls.h @@ -90,7 +90,8 @@ static inline void x86_sys_send_null(seL4_Word sys, seL4_Word src, seL4_Word inf ); } -static inline void x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr1, seL4_Word *out_mr2) +static inline void x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, + seL4_Word *out_mr1, seL4_Word *out_mr2) { asm volatile( "pushl %%ebp \n" @@ -115,7 +116,8 @@ static inline void x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_bad ); } -static inline void x86_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2) +static inline void x86_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info, + seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2) { asm volatile( "pushl %%ebp \n" @@ -219,7 +221,8 @@ static inline void x86_sys_send_null(seL4_Word sys, seL4_Word dest, seL4_Word in ); } -static inline void x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr1, seL4_Word *out_mr2) +static inline void x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, + seL4_Word *out_mr1, seL4_Word *out_mr2) { asm volatile(\ "pushl %%ebp \n" @@ -239,7 +242,8 @@ static inline void x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_bad ); } -static inline void x86_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2) +static inline void x86_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info, + seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2) { asm volatile( "pushl %%ebp \n" @@ -439,7 +443,8 @@ LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecv(seL4_CPtr dest, seL4_Messa return info; } -LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender, +LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, + seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1) { seL4_MessageInfo_t info; diff --git a/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls.h b/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls.h index 78345320e4d18bee18145a209726a37b2280d104..219bb14b4496e6e6e69045b7baec4185b8c596f1 100644 --- a/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls.h +++ b/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls.h @@ -236,7 +236,8 @@ LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecv(seL4_CPtr dest, seL4_Messa return info; } -LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender, +LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_ReplyRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, + seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) { seL4_MessageInfo_t info; @@ -447,7 +448,8 @@ LIBSEL4_INLINE_FUNC seL4_Error seL4_BenchmarkSetLogBuffer(seL4_Word frame_cptr) seL4_Word unused3 = 0; seL4_Word unused4 = 0; - x64_sys_send_recv(seL4_SysBenchmarkSetLogBuffer, frame_cptr, &frame_cptr, 0, &unused0, &unused1, &unused2, &unused3, &unused4); + x64_sys_send_recv(seL4_SysBenchmarkSetLogBuffer, frame_cptr, &frame_cptr, 0, &unused0, &unused1, &unused2, &unused3, + &unused4); return (seL4_Error) frame_cptr; } @@ -474,7 +476,8 @@ LIBSEL4_INLINE_FUNC void seL4_BenchmarkGetThreadUtilisation(seL4_Word tcb_cptr) seL4_Word unused4 = 0; seL4_Word unused5 = 0; - x64_sys_send_recv(seL4_SysBenchmarkGetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, &unused4, &unused5); + x64_sys_send_recv(seL4_SysBenchmarkGetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, &unused4, + &unused5); } LIBSEL4_INLINE_FUNC void seL4_BenchmarkResetThreadUtilisation(seL4_Word tcb_cptr) @@ -486,7 +489,8 @@ LIBSEL4_INLINE_FUNC void seL4_BenchmarkResetThreadUtilisation(seL4_Word tcb_cptr seL4_Word unused4 = 0; seL4_Word unused5 = 0; - x64_sys_send_recv(seL4_SysBenchmarkResetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, &unused4, &unused5); + x64_sys_send_recv(seL4_SysBenchmarkResetThreadUtilisation, tcb_cptr, &unused0, 0, &unused1, &unused2, &unused3, + &unused4, &unused5); } #endif /* CONFIG_BENCHMARK_TRACK_UTILISATION */ #endif /* CONFIG_ENABLE_BENCHMARKS */ diff --git a/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_syscall.h b/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_syscall.h index d6f33ec2da0c41e02cf2100d3b2447f90e93196b..f2d3b13061e3e96c5647b8b90358e3fb40ef22df 100644 --- a/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_syscall.h +++ b/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_syscall.h @@ -17,7 +17,8 @@ #include <sel4/arch/functions.h> #include <sel4/types.h> -static inline void x64_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info, seL4_Word msg0, seL4_Word msg1, seL4_Word msg2, seL4_Word msg3) +static inline void x64_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info, seL4_Word msg0, seL4_Word msg1, + seL4_Word msg2, seL4_Word msg3) { register seL4_Word mr0 asm("r10") = msg0; register seL4_Word mr1 asm("r8") = msg1; @@ -40,7 +41,8 @@ static inline void x64_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info, s ); } -static inline void x64_sys_reply(seL4_Word sys, seL4_Word info, seL4_Word msg0, seL4_Word msg1, seL4_Word msg2, seL4_Word msg3) +static inline void x64_sys_reply(seL4_Word sys, seL4_Word info, seL4_Word msg0, seL4_Word msg1, seL4_Word msg2, + seL4_Word msg3) { register seL4_Word mr0 asm("r10") = msg0; register seL4_Word mr1 asm("r8") = msg1; @@ -76,7 +78,8 @@ static inline void x64_sys_send_null(seL4_Word sys, seL4_Word dest, seL4_Word in ); } -static inline void x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) +static inline void x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, + seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) { register seL4_Word mr0 asm("r10"); register seL4_Word mr1 asm("r8"); @@ -103,7 +106,8 @@ static inline void x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_bad *out_mr3 = mr3; } -static inline void x64_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_dest, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) +static inline void x64_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_dest, seL4_Word info, + seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) { register seL4_Word mr0 asm("r10") = *in_out_mr0; register seL4_Word mr1 asm("r8") = *in_out_mr1; diff --git a/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_sysenter.h b/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_sysenter.h index 9329d11097e10eca0b0ec0cd8333e94e46cccbbd..64a81d0f26723941d525054a8893a70beed4b8f0 100644 --- a/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_sysenter.h +++ b/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/syscalls_sysenter.h @@ -17,7 +17,8 @@ #include <sel4/arch/functions.h> #include <sel4/types.h> -static inline void x64_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info, seL4_Word msg0, seL4_Word msg1, seL4_Word msg2, seL4_Word msg3) +static inline void x64_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info, seL4_Word msg0, seL4_Word msg1, + seL4_Word msg2, seL4_Word msg3) { register seL4_Word mr0 asm("r10") = msg0; register seL4_Word mr1 asm("r8") = msg1; @@ -41,7 +42,8 @@ static inline void x64_sys_send(seL4_Word sys, seL4_Word dest, seL4_Word info, s ); } -static inline void x64_sys_reply(seL4_Word sys, seL4_Word info, seL4_Word msg0, seL4_Word msg1, seL4_Word msg2, seL4_Word msg3) +static inline void x64_sys_reply(seL4_Word sys, seL4_Word info, seL4_Word msg0, seL4_Word msg1, seL4_Word msg2, + seL4_Word msg3) { register seL4_Word mr0 asm("r10") = msg0; register seL4_Word mr1 asm("r8") = msg1; @@ -79,7 +81,8 @@ static inline void x64_sys_send_null(seL4_Word sys, seL4_Word dest, seL4_Word in ); } -static inline void x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) +static inline void x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, + seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3) { register seL4_Word mr0 asm("r10"); register seL4_Word mr1 asm("r8"); @@ -108,7 +111,8 @@ static inline void x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_bad *out_mr3 = mr3; } -static inline void x64_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_dest, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) +static inline void x64_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_dest, seL4_Word info, + seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3) { register seL4_Word mr0 asm("r10") = *in_out_mr0; register seL4_Word mr1 asm("r8") = *in_out_mr1; diff --git a/src/api/syscall.c b/src/api/syscall.c index 23cfa7830f885008218ded33a8cc001c4d37c7a9..3df631915571eb321018f57768ff00c3a07e113d 100644 --- a/src/api/syscall.c +++ b/src/api/syscall.c @@ -123,7 +123,8 @@ exception_t handleUnknownSyscall(word_t w) #ifdef CONFIG_DANGEROUS_CODE_INJECTION if (w == SysDebugRun) { - ((void (*)(void *))getRegister(NODE_STATE(ksCurThread), capRegister))((void *)getRegister(NODE_STATE(ksCurThread), msgInfoRegister)); + ((void (*)(void *))getRegister(NODE_STATE(ksCurThread), capRegister))((void *)getRegister(NODE_STATE(ksCurThread), + msgInfoRegister)); return EXCEPTION_NONE; } #endif diff --git a/src/arch/arm/32/kernel/vspace.c b/src/arch/arm/32/kernel/vspace.c index 65ad19c7881d0beef3375ede06661fefb4df29c5..93b77e105de5d09e5d98701fbe8d8ec6b679c8da 100644 --- a/src/arch/arm/32/kernel/vspace.c +++ b/src/arch/arm/32/kernel/vspace.c @@ -594,7 +594,8 @@ BOOT_CODE cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large) return create_it_frame_cap(pptr, 0, asidInvalid, use_large); } -BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable) +BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable) { cap_t cap = create_it_frame_cap(pptr, vptr, asid, use_large); map_it_frame_cap(pd_cap, cap, executable); @@ -2301,7 +2302,8 @@ static exception_t decodeARMPageTableInvocation(word_t invLabel, word_t length, asid = cap_page_directory_cap_get_capPDMappedASID(pdCap); if (unlikely(vaddr >= kernelBase)) { - userError("ARMPageTableMap: Virtual address cannot be in kernel window. vaddr: 0x%08lx, kernelBase: 0x%08x", vaddr, kernelBase); + userError("ARMPageTableMap: Virtual address cannot be in kernel window. vaddr: 0x%08lx, kernelBase: 0x%08x", vaddr, + kernelBase); current_syscall_error.type = seL4_InvalidArgument; current_syscall_error.invalidArgumentNumber = 0; diff --git a/src/arch/arm/64/kernel/vspace.c b/src/arch/arm/64/kernel/vspace.c index 5849ad0688c7f6e9d928478f8f243aed7a37c616..2e6e423f4cd4359a504e6167a6e3a1ab32f5fd9e 100644 --- a/src/arch/arm/64/kernel/vspace.c +++ b/src/arch/arm/64/kernel/vspace.c @@ -542,7 +542,8 @@ BOOT_CODE cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large) return create_it_frame_cap(pptr, 0, asidInvalid, use_large); } -BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable) +BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t pd_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable) { cap_t cap = create_it_frame_cap(pptr, vptr, asid, use_large); map_it_frame_cap(pd_cap, cap, executable); diff --git a/src/arch/arm/object/iospace.c b/src/arch/arm/object/iospace.c index ea1efdbe782d229fea9b357531e2e31dcbb05a9c..fe20be0a0b72166cd58df81cb22e539f4f751a24 100644 --- a/src/arch/arm/object/iospace.c +++ b/src/arch/arm/object/iospace.c @@ -396,7 +396,8 @@ void deleteIOPageTable(cap_t io_pt_cap) if (isIOPDEValid(lu_ret.iopdSlot) && iopde_ptr_get_page_size(lu_ret.iopdSlot) == iopde_iopde_pt && - iopde_iopde_pt_ptr_get_address(lu_ret.iopdSlot) != (pptr_to_paddr((void *)cap_io_page_table_cap_get_capIOPTBasePtr(io_pt_cap)))) { + iopde_iopde_pt_ptr_get_address(lu_ret.iopdSlot) != (pptr_to_paddr((void *)cap_io_page_table_cap_get_capIOPTBasePtr( + io_pt_cap)))) { return; } diff --git a/src/arch/riscv/c_traps.c b/src/arch/riscv/c_traps.c index 2a71d2459bee02903c26f6d2788037c77bcf3abb..fd8cf3f4e842d07c07485d94620df33bdc8bb552 100644 --- a/src/arch/riscv/c_traps.c +++ b/src/arch/riscv/c_traps.c @@ -145,7 +145,8 @@ void NORETURN slowpath(syscall_t syscall) UNREACHABLE(); } -void VISIBLE NORETURN c_handle_syscall(word_t cptr, word_t msgInfo, word_t unused1, word_t unused2, word_t unused3, word_t unused4, word_t unused5, syscall_t syscall) +void VISIBLE NORETURN c_handle_syscall(word_t cptr, word_t msgInfo, word_t unused1, word_t unused2, word_t unused3, + word_t unused4, word_t unused5, syscall_t syscall) { NODE_LOCK_SYS; diff --git a/src/arch/x86/32/c_traps.c b/src/arch/x86/32/c_traps.c index 3ca310a131db6fc8036e7a24f89ef3dfef219ac5..ca5d3da0ce000187cd49811f8454f60ee8db2af0 100644 --- a/src/arch/x86/32/c_traps.c +++ b/src/arch/x86/32/c_traps.c @@ -41,7 +41,8 @@ static void NORETURN restore_vmx(void) loadAllDisabledBreakpointState(ksCurThread); #endif #ifdef ENABLE_SMP_SUPPORT - NODE_STATE(ksCurThread)->tcbArch.tcbVCPU->kernelSP = ((word_t)kernel_stack_alloc[getCurrentCPUIndex()]) + BIT(CONFIG_KERNEL_STACK_BITS) - 4; + NODE_STATE(ksCurThread)->tcbArch.tcbVCPU->kernelSP = ((word_t)kernel_stack_alloc[getCurrentCPUIndex()]) + BIT( + CONFIG_KERNEL_STACK_BITS) - 4; #endif /* ENABLE_SMP_SUPPORT */ if (NODE_STATE(ksCurThread)->tcbArch.tcbVCPU->launched) { /* attempt to do a vmresume */ diff --git a/src/arch/x86/32/kernel/vspace.c b/src/arch/x86/32/kernel/vspace.c index bb3b2cb9386c0ab8bbe0206d99dd0741f7a0d8fc..2db8f2c52b737a3dfe65dcc7bdd328c7ad09a836 100644 --- a/src/arch/x86/32/kernel/vspace.c +++ b/src/arch/x86/32/kernel/vspace.c @@ -58,7 +58,8 @@ BOOT_CODE void init_tss(tss_t *tss) 0, /* esp0 */ 0 /* prev_task */ ); - memset(&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map[0], 0xff, sizeof(x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map)); + memset(&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map[0], 0xff, + sizeof(x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map)); } /* initialise Global Descriptor Table (GDT) */ @@ -477,7 +478,8 @@ BOOT_CODE cap_t create_it_address_space(cap_t root_cnode_cap, v_region_t it_v_re return vspace_cap; } -static BOOT_CODE cap_t create_it_frame_cap(pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, vm_page_map_type_t map_type) +static BOOT_CODE cap_t create_it_frame_cap(pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + vm_page_map_type_t map_type) { vm_page_size_t frame_size; @@ -505,7 +507,8 @@ BOOT_CODE cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large) return create_it_frame_cap(pptr, 0, asidInvalid, use_large, X86_MappingNone); } -BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t vspace_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable UNUSED) +BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t vspace_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable UNUSED) { cap_t cap = create_it_frame_cap(pptr, vptr, asid, use_large, X86_MappingVSpace); map_it_frame_cap(vspace_cap, cap); @@ -662,7 +665,8 @@ bool_t modeUnmapPage(vm_page_size_t page_size, vspace_root_t *vroot, vptr_t vadd return false; } -exception_t decodeX86ModeMapRemapPage(word_t invLabel, vm_page_size_t page_size, cte_t *cte, cap_t cap, vspace_root_t *vroot, vptr_t vaddr, paddr_t paddr, vm_rights_t vm_rights, vm_attributes_t vm_attr) +exception_t decodeX86ModeMapRemapPage(word_t invLabel, vm_page_size_t page_size, cte_t *cte, cap_t cap, + vspace_root_t *vroot, vptr_t vaddr, paddr_t paddr, vm_rights_t vm_rights, vm_attributes_t vm_attr) { fail("Invalid Page type"); } diff --git a/src/arch/x86/32/kernel/vspace_32paging.c b/src/arch/x86/32/kernel/vspace_32paging.c index f0633034eb5cde5b415431a319f51f5c35e78b70..9ae84caad73b0a489bac7c317cd19d25cabe548e 100644 --- a/src/arch/x86/32/kernel/vspace_32paging.c +++ b/src/arch/x86/32/kernel/vspace_32paging.c @@ -224,7 +224,8 @@ void unmapPageDirectory(asid_t asid, vptr_t vaddr, pde_t *pd) deleteASID(asid, pd); } -static exception_t performIA32PageDirectoryGetStatusBits(lookupPTSlot_ret_t ptSlot, lookupPDSlot_ret_t pdSlot, word_t *buffer) +static exception_t performIA32PageDirectoryGetStatusBits(lookupPTSlot_ret_t ptSlot, lookupPDSlot_ret_t pdSlot, + word_t *buffer) { if (pdSlot.status == EXCEPTION_NONE && ((pde_ptr_get_page_size(pdSlot.pdSlot) == pde_pde_large) && diff --git a/src/arch/x86/64/c_traps.c b/src/arch/x86/64/c_traps.c index 9fd0b39c3d35180bea61d74d22fa2c7dfe8c5812..250d3327b43ff8882b5d3a26dc4c5593f273f5c6 100644 --- a/src/arch/x86/64/c_traps.c +++ b/src/arch/x86/64/c_traps.c @@ -194,7 +194,8 @@ void VISIBLE NORETURN restore_user_context(void) // There is a special case where if we would be returning from a sysenter, // but are current singlestepping, do a full return like an interrupt if (likely(cur_thread->tcbArch.tcbContext.registers[Error] == -1) && - (!config_set(CONFIG_SYSENTER) || !config_set(CONFIG_HARDWARE_DEBUG_API) || ((cur_thread->tcbArch.tcbContext.registers[FLAGS] & FLAGS_TF) == 0))) { + (!config_set(CONFIG_SYSENTER) || !config_set(CONFIG_HARDWARE_DEBUG_API) + || ((cur_thread->tcbArch.tcbContext.registers[FLAGS] & FLAGS_TF) == 0))) { if (config_set(CONFIG_KERNEL_SKIM_WINDOW)) { /* if we are using the SKIM window then we are trying to hide kernel state from * the user in the case of Meltdown where the kernel region is effectively readable diff --git a/src/arch/x86/64/kernel/vspace.c b/src/arch/x86/64/kernel/vspace.c index 460bf6dba75869833f09a4502ce76aec083ec561..9f412941ca09f4a6c7380ab64ee8e78b8bda9232 100644 --- a/src/arch/x86/64/kernel/vspace.c +++ b/src/arch/x86/64/kernel/vspace.c @@ -327,7 +327,8 @@ BOOT_CODE void init_tss(tss_t *tss) 0, 0 /* rsp 0 */ ); /* set the IO map to all 1 to block user IN/OUT instructions */ - memset(&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map[0], 0xff, sizeof(x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map)); + memset(&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map[0], 0xff, + sizeof(x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.io_map)); } BOOT_CODE void init_syscall_msrs(void) @@ -799,7 +800,8 @@ BOOT_CODE cap_t create_unmapped_it_frame_cap(pptr_t pptr, bool_t use_large) return create_it_frame_cap(pptr, 0, asidInvalid, use_large, X86_MappingNone); } -BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t vspace_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, bool_t executable UNUSED) +BOOT_CODE cap_t create_mapped_it_frame_cap(cap_t vspace_cap, pptr_t pptr, vptr_t vptr, asid_t asid, bool_t use_large, + bool_t executable UNUSED) { cap_t cap = create_it_frame_cap(pptr, vptr, asid, use_large, X86_MappingVSpace); map_it_frame_cap(vspace_cap, cap); @@ -1132,7 +1134,8 @@ static exception_t performX64PageDirectoryInvocationUnmap(cap_t cap, cte_t *ctSl return EXCEPTION_NONE; } -static exception_t performX64PageDirectoryInvocationMap(cap_t cap, cte_t *ctSlot, pdpte_t pdpte, pdpte_t *pdptSlot, vspace_root_t *vspace) +static exception_t performX64PageDirectoryInvocationMap(cap_t cap, cte_t *ctSlot, pdpte_t pdpte, pdpte_t *pdptSlot, + vspace_root_t *vspace) { ctSlot->cap = cap; *pdptSlot = pdpte; @@ -1296,7 +1299,8 @@ static exception_t performX64PDPTInvocationUnmap(cap_t cap, cte_t *ctSlot) return EXCEPTION_NONE; } -static exception_t performX64PDPTInvocationMap(cap_t cap, cte_t *ctSlot, pml4e_t pml4e, pml4e_t *pml4Slot, vspace_root_t *vspace) +static exception_t performX64PDPTInvocationMap(cap_t cap, cte_t *ctSlot, pml4e_t pml4e, pml4e_t *pml4Slot, + vspace_root_t *vspace) { ctSlot->cap = cap; *pml4Slot = pml4e; @@ -1492,7 +1496,8 @@ struct create_mapping_pdpte_return { }; typedef struct create_mapping_pdpte_return create_mapping_pdpte_return_t; -static create_mapping_pdpte_return_t createSafeMappingEntries_PDPTE(paddr_t base, word_t vaddr, vm_rights_t vmRights, vm_attributes_t attr, +static create_mapping_pdpte_return_t createSafeMappingEntries_PDPTE(paddr_t base, word_t vaddr, vm_rights_t vmRights, + vm_attributes_t attr, vspace_root_t *vspace) { create_mapping_pdpte_return_t ret; @@ -1522,7 +1527,8 @@ static create_mapping_pdpte_return_t createSafeMappingEntries_PDPTE(paddr_t base return ret; } -exception_t decodeX86ModeMapRemapPage(word_t label, vm_page_size_t page_size, cte_t *cte, cap_t cap, vspace_root_t *vroot, vptr_t vaddr, paddr_t paddr, vm_rights_t vm_rights, vm_attributes_t vm_attr) +exception_t decodeX86ModeMapRemapPage(word_t label, vm_page_size_t page_size, cte_t *cte, cap_t cap, + vspace_root_t *vroot, vptr_t vaddr, paddr_t paddr, vm_rights_t vm_rights, vm_attributes_t vm_attr) { if (config_set(CONFIG_HUGE_PAGE) && page_size == X64_HugePage) { create_mapping_pdpte_return_t map_ret; diff --git a/src/arch/x86/c_traps.c b/src/arch/x86/c_traps.c index 7513909f4cec7963e644849b964bc45c58f3f0b4..524c292467b29240e65cbfb3fd98231030f73fe5 100644 --- a/src/arch/x86/c_traps.c +++ b/src/arch/x86/c_traps.c @@ -110,7 +110,8 @@ void NORETURN slowpath(syscall_t syscall) #ifdef CONFIG_VTX if (syscall == SysVMEnter && NODE_STATE(ksCurThread)->tcbArch.tcbVCPU) { vcpu_update_state_sysvmenter(NODE_STATE(ksCurThread)->tcbArch.tcbVCPU); - if (NODE_STATE(ksCurThread)->tcbBoundNotification && notification_ptr_get_state(NODE_STATE(ksCurThread)->tcbBoundNotification) == NtfnState_Active) { + if (NODE_STATE(ksCurThread)->tcbBoundNotification + && notification_ptr_get_state(NODE_STATE(ksCurThread)->tcbBoundNotification) == NtfnState_Active) { completeSignal(NODE_STATE(ksCurThread)->tcbBoundNotification, NODE_STATE(ksCurThread)); setRegister(NODE_STATE(ksCurThread), msgInfoRegister, SEL4_VMENTER_RESULT_NOTIF); /* Any guest state that we should return is in the same diff --git a/src/arch/x86/kernel/boot_sys.c b/src/arch/x86/kernel/boot_sys.c index 36753a47df63f6f6f221142ced824f570f1c7eea..d0d08a20ce686d5c462ca24782228039a6feeaa7 100644 --- a/src/arch/x86/kernel/boot_sys.c +++ b/src/arch/x86/kernel/boot_sys.c @@ -460,7 +460,8 @@ static BOOT_CODE bool_t try_boot_sys(void) } /* query available CPUs from ACPI */ - boot_state.num_cpus = acpi_madt_scan(&boot_state.acpi_rsdp, boot_state.cpus, &boot_state.num_ioapic, boot_state.ioapic_paddr); + boot_state.num_cpus = acpi_madt_scan(&boot_state.acpi_rsdp, boot_state.cpus, &boot_state.num_ioapic, + boot_state.ioapic_paddr); if (boot_state.num_cpus == 0) { printf("No CPUs detected\n"); return false; diff --git a/src/arch/x86/kernel/cmdline.c b/src/arch/x86/kernel/cmdline.c index a4fa92c5055614915f8a56b624a48eff6ce490c0..932aa6e9efba0c17bfb8983831bc594bdc8908ca 100644 --- a/src/arch/x86/kernel/cmdline.c +++ b/src/arch/x86/kernel/cmdline.c @@ -44,7 +44,8 @@ static int UNUSED parse_opt(const char *cmdline, const char *opt, char *value, i break; } - for (optptr = opt; *optptr && *cmdline && (*cmdline != '=') && !is_space(*cmdline) && (*optptr == *cmdline); optptr++, cmdline++); + for (optptr = opt; *optptr && *cmdline && (*cmdline != '=') && !is_space(*cmdline) + && (*optptr == *cmdline); optptr++, cmdline++); if (*optptr == '\0' && *cmdline == '=') { cmdline++; diff --git a/src/arch/x86/kernel/ept.c b/src/arch/x86/kernel/ept.c index a01c530ce01ea6dab8086885f6c3727d99c6e9e7..bd4e9a818d1312486c1318cdee786cbba5dd9d2b 100644 --- a/src/arch/x86/kernel/ept.c +++ b/src/arch/x86/kernel/ept.c @@ -255,7 +255,8 @@ static exception_t performEPTPDPTInvocationUnmap(cap_t cap, cte_t *cte) return EXCEPTION_NONE; } -static exception_t performEPTPDPTInvocationMap(cap_t cap, cte_t *cte, ept_pml4e_t pml4e, ept_pml4e_t *pml4Slot, ept_pml4e_t *pml4) +static exception_t performEPTPDPTInvocationMap(cap_t cap, cte_t *cte, ept_pml4e_t pml4e, ept_pml4e_t *pml4Slot, + ept_pml4e_t *pml4) { cte->cap = cap; *pml4Slot = pml4e; @@ -459,7 +460,8 @@ static exception_t performEPTPDInvocationUnmap(cap_t cap, cte_t *cte) return EXCEPTION_NONE; } -static exception_t performEPTPDInvocationMap(cap_t cap, cte_t *cte, ept_pdpte_t pdpte, ept_pdpte_t *pdptSlot, ept_pml4e_t *pml4) +static exception_t performEPTPDInvocationMap(cap_t cap, cte_t *cte, ept_pdpte_t pdpte, ept_pdpte_t *pdptSlot, + ept_pml4e_t *pml4) { cte->cap = cap; *pdptSlot = pdpte; @@ -778,7 +780,8 @@ static exception_t performEPTPageMapPTE(cap_t cap, cte_t *cte, ept_pte_t *ptSlot return EXCEPTION_NONE; } -static exception_t performEPTPageMapPDE(cap_t cap, cte_t *cte, ept_pde_t *pdSlot, ept_pde_t pde1, ept_pde_t pde2, ept_pml4e_t *pml4) +static exception_t performEPTPageMapPDE(cap_t cap, cte_t *cte, ept_pde_t *pdSlot, ept_pde_t pde1, ept_pde_t pde2, + ept_pml4e_t *pml4) { pdSlot[0] = pde1; if (LARGE_PAGE_BITS == 22) { diff --git a/src/arch/x86/kernel/vspace.c b/src/arch/x86/kernel/vspace.c index ff5caf83497ff20028f7e1b0b2213b020a5a8a45..0ff6d30fffce9ad15b1dd250942122173a04791f 100644 --- a/src/arch/x86/kernel/vspace.c +++ b/src/arch/x86/kernel/vspace.c @@ -128,7 +128,8 @@ bool_t CONST isValidVTableRoot(cap_t cap) } -BOOT_CODE bool_t map_kernel_window_devices(pte_t *pt, uint32_t num_ioapic, paddr_t *ioapic_paddrs, uint32_t num_drhu, paddr_t *drhu_list) +BOOT_CODE bool_t map_kernel_window_devices(pte_t *pt, uint32_t num_ioapic, paddr_t *ioapic_paddrs, uint32_t num_drhu, + paddr_t *drhu_list) { word_t idx = (PPTR_KDEV & MASK(LARGE_PAGE_BITS)) >> PAGE_BITS; paddr_t phys; @@ -692,7 +693,8 @@ void flushTable(vspace_root_t *vspace, word_t vptr, pte_t *pt, asid_t asid) /* find valid mappings */ for (i = 0; i < BIT(PT_INDEX_BITS); i++) { if (pte_get_present(pt[i])) { - if (config_set(CONFIG_SUPPORT_PCID) || (isValidNativeRoot(threadRoot) && (vspace_root_t *)pptr_of_cap(threadRoot) == vspace)) { + if (config_set(CONFIG_SUPPORT_PCID) || (isValidNativeRoot(threadRoot) + && (vspace_root_t *)pptr_of_cap(threadRoot) == vspace)) { invalidateTranslationSingleASID(vptr + (i << PAGE_BITS), asid, SMP_TERNARY(tlb_bitmap_get(vspace), 0)); } @@ -752,7 +754,8 @@ void unmapPage(vm_page_size_t page_size, asid_t asid, vptr_t vptr, void *pptr) /* check if page belongs to current address space */ threadRoot = TCB_PTR_CTE_PTR(NODE_STATE(ksCurThread), tcbVTable)->cap; - if (config_set(CONFIG_SUPPORT_PCID) || (isValidNativeRoot(threadRoot) && (vspace_root_t *)pptr_of_cap(threadRoot) == find_ret.vspace_root)) { + if (config_set(CONFIG_SUPPORT_PCID) || (isValidNativeRoot(threadRoot) + && (vspace_root_t *)pptr_of_cap(threadRoot) == find_ret.vspace_root)) { invalidateTranslationSingleASID(vptr, asid, SMP_TERNARY(tlb_bitmap_get(find_ret.vspace_root), 0)); } @@ -788,7 +791,8 @@ void unmapPageTable(asid_t asid, vptr_t vaddr, pte_t *pt) SMP_TERNARY(tlb_bitmap_get(find_ret.vspace_root), 0)); } -static exception_t performX86PageInvocationMapPTE(cap_t cap, cte_t *ctSlot, pte_t *ptSlot, pte_t pte, vspace_root_t *vspace) +static exception_t performX86PageInvocationMapPTE(cap_t cap, cte_t *ctSlot, pte_t *ptSlot, pte_t pte, + vspace_root_t *vspace) { ctSlot->cap = cap; *ptSlot = pte; @@ -797,7 +801,8 @@ static exception_t performX86PageInvocationMapPTE(cap_t cap, cte_t *ctSlot, pte_ return EXCEPTION_NONE; } -static exception_t performX86PageInvocationMapPDE(cap_t cap, cte_t *ctSlot, pde_t *pdSlot, pde_t pde, vspace_root_t *vspace) +static exception_t performX86PageInvocationMapPDE(cap_t cap, cte_t *ctSlot, pde_t *pdSlot, pde_t pde, + vspace_root_t *vspace) { ctSlot->cap = cap; *pdSlot = pde; @@ -875,7 +880,8 @@ struct create_mapping_pte_return { }; typedef struct create_mapping_pte_return create_mapping_pte_return_t; -static create_mapping_pte_return_t createSafeMappingEntries_PTE(paddr_t base, word_t vaddr, vm_rights_t vmRights, vm_attributes_t attr, +static create_mapping_pte_return_t createSafeMappingEntries_PTE(paddr_t base, word_t vaddr, vm_rights_t vmRights, + vm_attributes_t attr, vspace_root_t *vspace) { create_mapping_pte_return_t ret; @@ -903,7 +909,8 @@ struct create_mapping_pde_return { }; typedef struct create_mapping_pde_return create_mapping_pde_return_t; -static create_mapping_pde_return_t createSafeMappingEntries_PDE(paddr_t base, word_t vaddr, vm_rights_t vmRights, vm_attributes_t attr, +static create_mapping_pde_return_t createSafeMappingEntries_PDE(paddr_t base, word_t vaddr, vm_rights_t vmRights, + vm_attributes_t attr, vspace_root_t *vspace) { create_mapping_pde_return_t ret; @@ -1239,7 +1246,8 @@ static exception_t performX86PageTableInvocationUnmap(cap_t cap, cte_t *ctSlot) return EXCEPTION_NONE; } -static exception_t performX86PageTableInvocationMap(cap_t cap, cte_t *ctSlot, pde_t pde, pde_t *pdSlot, vspace_root_t *root) +static exception_t performX86PageTableInvocationMap(cap_t cap, cte_t *ctSlot, pde_t pde, pde_t *pdSlot, + vspace_root_t *root) { ctSlot->cap = cap; *pdSlot = pde; @@ -1502,7 +1510,8 @@ exception_t decodeX86MMUInvocation( /* Find first free ASID */ asid = cap_asid_pool_cap_get_capASIDBase(cap); - for (i = 0; i < BIT(asidLowBits) && (asid + i == 0 || asid_map_get_type(pool->array[i]) != asid_map_asid_map_none); i++); + for (i = 0; i < BIT(asidLowBits) && (asid + i == 0 + || asid_map_get_type(pool->array[i]) != asid_map_asid_map_none); i++); if (i == BIT(asidLowBits)) { current_syscall_error.type = seL4_DeleteFirst; diff --git a/src/arch/x86/machine/hardware.c b/src/arch/x86/machine/hardware.c index ef77d9f54b2f8b4aad1355bc725ff95a4764922a..898465b55946e0e96ff12aec0818703d7ca9185a 100644 --- a/src/arch/x86/machine/hardware.c +++ b/src/arch/x86/machine/hardware.c @@ -26,7 +26,8 @@ BOOT_CODE void init_sysenter_msrs(void) /* manually add 4 bytes to x86KStss so that it is valid for both * 32-bit and 64-bit, although only ia32 actually requires a valid * sysenter esp */ - x86_wrmsr(IA32_SYSENTER_ESP_MSR, (uint64_t)(word_t)((char *)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.tss.words[0] + 4)); + x86_wrmsr(IA32_SYSENTER_ESP_MSR, (uint64_t)(word_t)((char *)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.tss.words[0] + + 4)); } } diff --git a/src/arch/x86/object/interrupt.c b/src/arch/x86/object/interrupt.c index b9970810e645d8d3d9b5c177d89d454639fb5477..029b95569707aacf7e6753f1f202a436efa3e47c 100644 --- a/src/arch/x86/object/interrupt.c +++ b/src/arch/x86/object/interrupt.c @@ -61,7 +61,8 @@ static exception_t Arch_invokeIRQControl(irq_t irq, cte_t *handlerSlot, cte_t *c return invokeIRQControl(irq, handlerSlot, controlSlot); } -static exception_t invokeIssueIRQHandlerIOAPIC(irq_t irq, word_t ioapic, word_t pin, word_t level, word_t polarity, word_t vector, +static exception_t invokeIssueIRQHandlerIOAPIC(irq_t irq, word_t ioapic, word_t pin, word_t level, word_t polarity, + word_t vector, cte_t *handlerSlot, cte_t *controlSlot) { x86_irq_state_t irqState = x86_irq_state_irq_ioapic_new(ioapic, pin, level, polarity, 1); @@ -69,7 +70,8 @@ static exception_t invokeIssueIRQHandlerIOAPIC(irq_t irq, word_t ioapic, word_t return Arch_invokeIRQControl(irq, handlerSlot, controlSlot, irqState); } -exception_t Arch_decodeIRQControlInvocation(word_t invLabel, word_t length, cte_t *srcSlot, extra_caps_t excaps, word_t *buffer) +exception_t Arch_decodeIRQControlInvocation(word_t invLabel, word_t length, cte_t *srcSlot, extra_caps_t excaps, + word_t *buffer) { word_t index, depth; cte_t *destSlot; diff --git a/src/arch/x86/object/iospace.c b/src/arch/x86/object/iospace.c index d495740fc88ce21beb761f5caea12224aa813329..889e9478185fe5b0d3c55f3d89b3d78ad17ec05c 100644 --- a/src/arch/x86/object/iospace.c +++ b/src/arch/x86/object/iospace.c @@ -93,7 +93,8 @@ static lookupIOPTSlot_ret_t lookupIOPTSlot_resolve_levels(vtd_pte_t *iopt, word_ return ret; } - iopt_index = (translation >> (VTD_PT_INDEX_BITS * (x86KSnumIOPTLevels - 1 - (levels_to_resolve - levels_remaining)))) & MASK(VTD_PT_INDEX_BITS); + iopt_index = (translation >> (VTD_PT_INDEX_BITS * (x86KSnumIOPTLevels - 1 - (levels_to_resolve - levels_remaining)))) & + MASK(VTD_PT_INDEX_BITS); iopt_slot = iopt + iopt_index; if (!vtd_pte_ptr_get_write(iopt_slot) || levels_remaining == 0) { @@ -150,7 +151,8 @@ static exception_t performX86IOPTInvocationUnmap(cap_t cap, cte_t *ctSlot) return EXCEPTION_NONE; } -static exception_t performX86IOPTInvocationMapContextRoot(cap_t cap, cte_t *ctSlot, vtd_cte_t vtd_cte, vtd_cte_t *vtd_context_slot) +static exception_t performX86IOPTInvocationMapContextRoot(cap_t cap, cte_t *ctSlot, vtd_cte_t vtd_cte, + vtd_cte_t *vtd_context_slot) { *vtd_context_slot = vtd_cte; flushCacheRange(vtd_context_slot, VTD_CTE_SIZE_BITS); @@ -439,7 +441,8 @@ void deleteIOPageTable(cap_t io_pt_cap) if (lu_ret.status != EXCEPTION_NONE || lu_ret.level != 0) { return; } - if (vtd_pte_ptr_get_addr(lu_ret.ioptSlot) != pptr_to_paddr((void *)cap_io_page_table_cap_get_capIOPTBasePtr(io_pt_cap))) { + if (vtd_pte_ptr_get_addr(lu_ret.ioptSlot) != pptr_to_paddr((void *)cap_io_page_table_cap_get_capIOPTBasePtr( + io_pt_cap))) { return; } *lu_ret.ioptSlot = vtd_pte_new( diff --git a/src/arch/x86/object/vcpu.c b/src/arch/x86/object/vcpu.c index 2f27012de1e3ff829a6c03eb6c3c93b2c557be64..29cf162e215a5776914d732499344097f6d95e9c 100644 --- a/src/arch/x86/object/vcpu.c +++ b/src/arch/x86/object/vcpu.c @@ -159,7 +159,8 @@ static void switchVCPU(vcpu_t *vcpu) vmwrite(VMX_HOST_TR_BASE, (word_t)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss); vmwrite(VMX_HOST_GDTR_BASE, (word_t)x86KSGlobalState[CURRENT_CPU_INDEX()].x86KSgdt); vmwrite(VMX_HOST_IDTR_BASE, (word_t)x86KSGlobalState[CURRENT_CPU_INDEX()].x86KSidt); - vmwrite(VMX_HOST_SYSENTER_ESP, (uint64_t)(word_t)((char *)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.tss.words[0] + 4)); + vmwrite(VMX_HOST_SYSENTER_ESP, (uint64_t)(word_t)((char *)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.tss.words[0] + + 4)); } vcpu->last_cpu = getCurrentCPUIndex(); #endif @@ -435,7 +436,8 @@ void vcpu_init(vcpu_t *vcpu) vmwrite(VMX_HOST_SYSENTER_CS, (word_t)SEL_CS_0); vmwrite(VMX_HOST_SYSENTER_EIP, (word_t)&handle_syscall); if (!config_set(CONFIG_HARDWARE_DEBUG_API)) { - vmwrite(VMX_HOST_SYSENTER_ESP, (uint64_t)(word_t)((char *)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.tss.words[0] + 4)); + vmwrite(VMX_HOST_SYSENTER_ESP, (uint64_t)(word_t)((char *)&x86KSGlobalState[CURRENT_CPU_INDEX()].x86KStss.tss.words[0] + + 4)); } /* Set host SP to point just beyond the first field to be stored on exit. */ vmwrite(VMX_HOST_RSP, (word_t)&vcpu->gp_registers[n_vcpu_gp_register]); @@ -912,7 +914,8 @@ void vcpu_update_state_sysvmenter(vcpu_t *vcpu) return; } vmwrite(VMX_GUEST_RIP, getSyscallArg(0, buffer)); - vmwrite(VMX_CONTROL_PRIMARY_PROCESSOR_CONTROLS, applyFixedBits(getSyscallArg(1, buffer), primary_control_high, primary_control_low)); + vmwrite(VMX_CONTROL_PRIMARY_PROCESSOR_CONTROLS, applyFixedBits(getSyscallArg(1, buffer), primary_control_high, + primary_control_low)); vmwrite(VMX_CONTROL_ENTRY_INTERRUPTION_INFO, getSyscallArg(2, buffer)); } @@ -1067,7 +1070,8 @@ static void setMRs_vmexit(uint32_t reason, word_t qualification) buffer = lookupIPCBuffer(true, NODE_STATE(ksCurThread)); setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_CALL_EIP_MR, vmread(VMX_GUEST_RIP)); - setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_CALL_CONTROL_PPC_MR, vmread(VMX_CONTROL_PRIMARY_PROCESSOR_CONTROLS)); + setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_CALL_CONTROL_PPC_MR, + vmread(VMX_CONTROL_PRIMARY_PROCESSOR_CONTROLS)); setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_CALL_CONTROL_ENTRY_MR, vmread(VMX_CONTROL_ENTRY_INTERRUPTION_INFO)); setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_FAULT_REASON_MR, reason); setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_FAULT_QUALIFICATION_MR, qualification); @@ -1079,7 +1083,8 @@ static void setMRs_vmexit(uint32_t reason, word_t qualification) setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_FAULT_CR3_MR, vmread(VMX_GUEST_CR3)); for (i = 0; i < n_vcpu_gp_register; i++) { - setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_FAULT_EAX + i, NODE_STATE(ksCurThread)->tcbArch.tcbVCPU->gp_registers[i]); + setMR(NODE_STATE(ksCurThread), buffer, SEL4_VMENTER_FAULT_EAX + i, + NODE_STATE(ksCurThread)->tcbArch.tcbVCPU->gp_registers[i]); } } diff --git a/src/benchmark/benchmark_utilisation.c b/src/benchmark/benchmark_utilisation.c index b4c92fef1a4d1e6ff5ddc68dced270c024f7968a..f528384c3de6923389c021b3b4f7831a07df7c85 100644 --- a/src/benchmark/benchmark_utilisation.c +++ b/src/benchmark/benchmark_utilisation.c @@ -36,9 +36,11 @@ void benchmark_track_utilisation_dump(void) tcb = TCB_PTR(cap_thread_cap_get_capTCBPtr(lu_ret.cap)); buffer[BENCHMARK_TCB_UTILISATION] = tcb->benchmark.utilisation; /* Requested thread utilisation */ - buffer[BENCHMARK_IDLE_LOCALCPU_UTILISATION] = NODE_STATE(ksIdleThread)->benchmark.utilisation; /* Idle thread utilisation of current CPU */ + buffer[BENCHMARK_IDLE_LOCALCPU_UTILISATION] = NODE_STATE( + ksIdleThread)->benchmark.utilisation; /* Idle thread utilisation of current CPU */ #ifdef ENABLE_SMP_SUPPORT - buffer[BENCHMARK_IDLE_TCBCPU_UTILISATION] = NODE_STATE_ON_CORE(ksIdleThread, tcb->tcbAffinity)->benchmark.utilisation; /* Idle thread utilisation of CPU the TCB is running on */ + buffer[BENCHMARK_IDLE_TCBCPU_UTILISATION] = NODE_STATE_ON_CORE(ksIdleThread, + tcb->tcbAffinity)->benchmark.utilisation; /* Idle thread utilisation of CPU the TCB is running on */ #else buffer[BENCHMARK_IDLE_TCBCPU_UTILISATION] = buffer[BENCHMARK_IDLE_LOCALCPU_UTILISATION]; #endif diff --git a/src/kernel/boot.c b/src/kernel/boot.c index aad90663757c9517cc80e9852c1ca829654d25da..0aa554fb11ca1125d380a2477d398f9070b273fa 100644 --- a/src/kernel/boot.c +++ b/src/kernel/boot.c @@ -545,7 +545,8 @@ BOOT_CODE bool_t create_untypeds_for_region( return true; } -BOOT_CODE bool_t create_kernel_untypeds(cap_t root_cnode_cap, region_t boot_mem_reuse_reg, seL4_SlotPos first_untyped_slot) +BOOT_CODE bool_t create_kernel_untypeds(cap_t root_cnode_cap, region_t boot_mem_reuse_reg, + seL4_SlotPos first_untyped_slot) { word_t i; region_t reg; diff --git a/src/plat/pc99/machine/ioapic.c b/src/plat/pc99/machine/ioapic.c index b66b8e911e0395e6e13be52419bcbdf84be366c8..0b6e1bf83cf9fb460893e7bba8e8c97853bbcf31 100644 --- a/src/plat/pc99/machine/ioapic.c +++ b/src/plat/pc99/machine/ioapic.c @@ -64,7 +64,8 @@ static void single_ioapic_init(word_t ioapic, cpu_id_t delivery_cpu) for (i = 0; i < IOAPIC_IRQ_LINES; i++) { /* Send to desired cpu */ ioapic_write(ioapic, IOAPIC_REGSEL, IOREDTBL_HIGH(i)); - ioapic_write(ioapic, IOAPIC_WINDOW, (ioapic_read(ioapic, IOAPIC_WINDOW) & MASK(IOREDTBL_HIGH_RESERVED_BITS)) | (delivery_cpu << IOREDTBL_HIGH_RESERVED_BITS)); + ioapic_write(ioapic, IOAPIC_WINDOW, (ioapic_read(ioapic, + IOAPIC_WINDOW) & MASK(IOREDTBL_HIGH_RESERVED_BITS)) | (delivery_cpu << IOREDTBL_HIGH_RESERVED_BITS)); /* mask and set 0 vector */ ioredtbl_state[i] = IOREDTBL_LOW_INTERRUPT_MASK; ioapic_write(ioapic, IOAPIC_REGSEL, IOREDTBL_LOW(i));