Skip to content

Part cFS/Documents#11, Merge Internal Updates#468

Merged
dzbaker merged 1 commit intodevfrom
v7.0.1-integration
Apr 7, 2026
Merged

Part cFS/Documents#11, Merge Internal Updates#468
dzbaker merged 1 commit intodevfrom
v7.0.1-integration

Conversation

@dzbaker
Copy link
Copy Markdown
Contributor

@dzbaker dzbaker commented Apr 2, 2026

Synchronizing current state of internal development branch with open source.

* a common API to be used while still allowing full freedom to handle many different device types.
*/
typedef int32 (*CFE_PSP_IODriver_ApiFunc_t)(uint32 CommandCode, uint16 Instance, uint16 SubChannel,
typedef int32 (*CFE_PSP_IODriver_ApiFunc_t)(uint32 CommandCode,

Check notice

Code scanning / CodeQL

Hidden pointer indirection Note

The typedef CFE_PSP_IODriver_ApiFunc_t hides pointer indirection.
static osal_id_t CFE_PSP_IODriver_Mutex_Table[CFE_PSP_IODRIVER_LOCK_TABLE_SIZE];

const CFE_PSP_IODriver_API_t CFE_PSP_IODriver_DEFAULT_API = {.DeviceCommand = NULL, .DeviceMutex = NULL};
const CFE_PSP_IODriver_API_t CFE_PSP_IODriver_DEFAULT_API = { .DeviceCommand = NULL, .DeviceMutex = NULL };

Check notice

Code scanning / CodeQL

Variable scope too large Note

The variable CFE_PSP_IODriver_DEFAULT_API is only accessed in
CFE_PSP_IODriver_GetAPI
and should be scoped accordingly.

int32 CFE_PSP_IODriver_Command(const CFE_PSP_IODriver_Location_t *Location, uint32 CommandCode,
CFE_PSP_IODriver_Arg_t Arg)
int32 CFE_PSP_IODriver_Command(const CFE_PSP_IODriver_Location_t *Location,

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
Location->SubchannelId, Arg));
MutexId = CFE_PSP_IODriver_GetMutex(
Location->PspModuleId,
API->DeviceMutex(CommandCode, Location->SubsystemId, Location->SubchannelId, Arg));

Check notice

Code scanning / CodeQL

Use of non-constant function pointer Note

This call does not go through a const function pointer.

static const char *linux_sysmon_subsystem_names[] = {"aggregate", "per-cpu", NULL};
static const char *linux_sysmon_subchannel_names[] = {"cpu-load", NULL};
static const char *linux_sysmon_subsystem_names[] = { "aggregate", "per-cpu", NULL };

Check notice

Code scanning / CodeQL

Variable scope too large Note

The variable linux_sysmon_subsystem_names is only accessed in
linux_sysmon_aggregate_dispatch
and should be scoped accordingly.
static const char *linux_sysmon_subsystem_names[] = {"aggregate", "per-cpu", NULL};
static const char *linux_sysmon_subchannel_names[] = {"cpu-load", NULL};
static const char *linux_sysmon_subsystem_names[] = { "aggregate", "per-cpu", NULL };
static const char *linux_sysmon_subchannel_names[] = { "cpu-load", NULL };

Check notice

Code scanning / CodeQL

Variable scope too large Note

The variable linux_sysmon_subchannel_names is only accessed in
linux_sysmon_aggregate_dispatch
and should be scoped accordingly.
int32_t linux_sysmon_DevCmd(uint32_t CommandCode, uint16_t SubsystemId, uint16_t SubchannelId,
CFE_PSP_IODriver_Arg_t Arg)
int32_t
linux_sysmon_DevCmd(uint32_t CommandCode, uint16_t SubsystemId, uint16_t SubchannelId, CFE_PSP_IODriver_Arg_t Arg)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
{"cpuname", required_argument, NULL, 'N'},
{"help", no_argument, NULL, 'h'},
{NULL, no_argument, NULL, 0}};
static const struct option longOpts[] = {

Check notice

Code scanning / CodeQL

Variable scope too large Note

The variable longOpts is only accessed in
OS_Application_Startup
and should be scoped accordingly.
*-----------------------------------------------------------------*/
int32 CFE_PSP_MemRangeSet(uint32 RangeNum, uint32 MemoryType, cpuaddr StartAddr, size_t Size, size_t WordSize,
uint32 Attributes)
int32 CFE_PSP_MemRangeSet(uint32 RangeNum,

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
*-----------------------------------------------------------------*/
int32 CFE_PSP_MemRangeGet(uint32 RangeNum, uint32 *MemoryType, cpuaddr *StartAddr, size_t *Size, size_t *WordSize,
uint32 *Attributes)
int32 CFE_PSP_MemRangeGet(uint32 RangeNum,

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
@dzbaker dzbaker changed the base branch from main to dev April 7, 2026 13:17
@dzbaker dzbaker merged commit 766dc8c into dev Apr 7, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants