Skip to content

Commit

Permalink
fix(inline): Fix inline functions
Browse files Browse the repository at this point in the history
Both MISRA and clang compiler force inline functions to be static.
Functions that are used in multiple sources stop being inline because they
cannot be static.
The other inline functions become static and their prototype is removed from
the header

Signed-off-by: Miguel Silva <miguelafsilva5@gmail.com>
  • Loading branch information
miguelafsilva5 committed Jul 26, 2024
1 parent 420eb76 commit 4d6081e
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 18 deletions.
4 changes: 0 additions & 4 deletions src/arch/armv8/armv8-a/inc/arch/smmuv2.h
Original file line number Diff line number Diff line change
Expand Up @@ -380,10 +380,6 @@ ssize_t smmu_alloc_sme(void);
void smmu_write_ctxbnk(size_t ctx_id, paddr_t root_pt, asid_t vm_id);
void smmu_write_sme(size_t sme, streamid_t mask, streamid_t id, bool group);
void smmu_write_s2c(size_t sme, size_t ctx_id);
size_t smmu_sme_get_ctx(size_t sme);
streamid_t smmu_sme_get_id(size_t sme);
streamid_t smmu_sme_get_mask(size_t sme);
bool smmu_sme_is_group(size_t sme);
bool smmu_compatible_sme_exists(streamid_t mask, streamid_t id, size_t ctx, bool group);

#endif
2 changes: 1 addition & 1 deletion src/arch/armv8/armv8-a/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ static bool iommu_vm_arch_add(struct vm* vm, streamid_t mask, streamid_t id)
return true;
}

inline bool iommu_arch_vm_add_device(struct vm* vm, streamid_t id)
bool iommu_arch_vm_add_device(struct vm* vm, streamid_t id)
{
return iommu_vm_arch_add(vm, 0, id);
}
Expand Down
8 changes: 4 additions & 4 deletions src/arch/armv8/armv8-a/smmuv2.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,22 +52,22 @@ struct smmu_priv smmu;
/**
* Accessors inline functions.
*/
inline bool smmu_sme_is_group(size_t sme)
static inline bool smmu_sme_is_group(size_t sme)
{
return bitmap_get(smmu.grp_bitmap, sme);
}

inline size_t smmu_sme_get_ctx(size_t sme)
static inline size_t smmu_sme_get_ctx(size_t sme)
{
return S2CR_CBNDX(smmu.hw.glbl_rs0->S2CR[sme]);
}

inline streamid_t smmu_sme_get_id(size_t sme)
static inline streamid_t smmu_sme_get_id(size_t sme)
{
return SMMU_SMR_ID(smmu.hw.glbl_rs0->SMR[sme]);
}

inline streamid_t smmu_sme_get_mask(size_t sme)
static inline streamid_t smmu_sme_get_mask(size_t sme)
{
return SMMU_SMR_MASK(smmu.hw.glbl_rs0->SMR[sme]);
}
Expand Down
2 changes: 1 addition & 1 deletion src/arch/armv8/interrupts.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ bool interrupts_arch_check(irqid_t int_id)
return gic_get_pend(int_id);
}

inline bool interrupts_arch_conflict(bitmap_t* interrupt_bitmap, irqid_t int_id)
bool interrupts_arch_conflict(bitmap_t* interrupt_bitmap, irqid_t int_id)
{
return (bitmap_get(interrupt_bitmap, int_id) && int_id > GIC_CPU_PRIV);
}
Expand Down
2 changes: 1 addition & 1 deletion src/arch/armv8/vgic.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ extern volatile const size_t VGIC_IPI_ID;
void vgic_ipi_handler(uint32_t event, uint64_t data);
CPU_MSG_HANDLER(vgic_ipi_handler, VGIC_IPI_ID)

inline struct vgic_int* vgic_get_int(struct vcpu* vcpu, irqid_t int_id, vcpuid_t vgicr_id)
struct vgic_int* vgic_get_int(struct vcpu* vcpu, irqid_t int_id, vcpuid_t vgicr_id)
{
if (int_id < GIC_CPU_PRIV) {
struct vcpu* target_vcpu = vgicr_id == vcpu->id ? vcpu : vm_get_vcpu(vcpu->vm, vgicr_id);
Expand Down
2 changes: 1 addition & 1 deletion src/arch/riscv/interrupts.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ void interrupts_arch_clear(irqid_t int_id)
}
}

inline bool interrupts_arch_conflict(bitmap_t* interrupt_bitmap, irqid_t int_id)
bool interrupts_arch_conflict(bitmap_t* interrupt_bitmap, irqid_t int_id)
{
return bitmap_get(interrupt_bitmap, int_id);
}
Expand Down
2 changes: 1 addition & 1 deletion src/arch/riscv/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ static bool iommu_vm_arch_add(struct vm* vm, deviceid_t dev_id)
*
* @returns true on success, false on error.
*/
inline bool iommu_arch_vm_add_device(struct vm* vm, deviceid_t dev_id)
bool iommu_arch_vm_add_device(struct vm* vm, deviceid_t dev_id)
{
return iommu_vm_arch_add(vm, dev_id);
}
Expand Down
10 changes: 5 additions & 5 deletions src/core/interrupts.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,27 @@ spinlock_t irq_reserve_lock = SPINLOCK_INITVAL;

irq_handler_t interrupt_handlers[MAX_INTERRUPTS];

inline void interrupts_cpu_sendipi(cpuid_t target_cpu, irqid_t ipi_id)
void interrupts_cpu_sendipi(cpuid_t target_cpu, irqid_t ipi_id)
{
interrupts_arch_ipi_send(target_cpu, ipi_id);
}

inline void interrupts_cpu_enable(irqid_t int_id, bool en)
void interrupts_cpu_enable(irqid_t int_id, bool en)
{
interrupts_arch_enable(int_id, en);
}

inline bool interrupts_check(irqid_t int_id)
bool interrupts_check(irqid_t int_id)
{
return interrupts_arch_check(int_id);
}

inline void interrupts_clear(irqid_t int_id)
void interrupts_clear(irqid_t int_id)
{
interrupts_arch_clear(int_id);
}

inline void interrupts_init(void)
void interrupts_init(void)
{
interrupts_arch_init();

Expand Down

0 comments on commit 4d6081e

Please sign in to comment.