Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Part #274, Cleanup and add doxygen for cfe_psp.h #381

Merged
merged 1 commit into from
Dec 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
887 changes: 693 additions & 194 deletions fsw/inc/cfe_psp.h

Large diffs are not rendered by default.

13 changes: 6 additions & 7 deletions fsw/mcp750-vxworks/src/cfe_psp_exception.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,13 +152,12 @@ void CFE_PSP_ExceptionHook(TASK_ID task_id, int vector, void *vpEsf)
}
}

/*
**
** Purpose: This function sets a default exception environment that can be used
**
** Notes: The exception environment is local to each task Therefore this must be
** called for each task that that wants to do floating point and catch exceptions
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_SetDefaultExceptionEnvironment(void)
{
vxMsrSet(vxMsrGet() | _PPC_MSR_EE | /* enable the external interrupt */
Expand Down
2 changes: 1 addition & 1 deletion fsw/mcp750-vxworks/src/cfe_psp_memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -538,4 +538,4 @@ int32 CFE_PSP_GetCFETextSegmentInfo(cpuaddr *PtrToCFESegment, uint32 *SizeOfCFES
}

return return_code;
}
}
20 changes: 6 additions & 14 deletions fsw/mcp750-vxworks/src/cfe_psp_ssr.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,20 +60,12 @@
#include "cfe_psp.h"
#include "cfe_psp_memory.h"

/******************************************************************************
**
** Purpose:
** Initializes the Solid State Recorder device. For the MCP750, this simply
** initializes the Hard disk device.
**
** Arguments:
** bus, device, device name
**
** Return:
** (none)
*/

/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
int32 CFE_PSP_InitSSR(uint32 bus, uint32 device, char *DeviceName)
{
int32 ReturnCode;
Expand Down
118 changes: 36 additions & 82 deletions fsw/mcp750-vxworks/src/cfe_psp_support.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,12 @@
*/
extern CFE_PSP_MemoryBlock_t MCP750_ReservedMemBlock;

/******************************************************************************
**
** Purpose:
** Provides a common interface to the processor reset.
**
** Arguments:
** reset_type : Type of reset.
**
** Return:
** (none)
*/

/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_Restart(uint32 reset_type)
{
if (reset_type == CFE_PSP_RST_TYPE_POWERON)
Expand All @@ -99,38 +93,24 @@ void CFE_PSP_Restart(uint32 reset_type)
}
}

/******************************************************************************
**
** Purpose:
** Provides a common interface to abort the cFE startup process and return
** back to the OS.
**
** Arguments:
** ErrorCode : Reason for Exiting.
**
** Return:
** (none)
*/

/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_Panic(int32 ErrorCode)
{
printf("CFE_PSP_Panic Called with error code = 0x%08X. Exiting.\n", (unsigned int)ErrorCode);
exit(-1); /* Need to improve this */
}

/******************************************************************************
**
** Purpose:
** Provides a common interface to flush the processor caches. This routine
** is in the BSP because it is sometimes implemented in hardware and
** sometimes taken care of by the RTOS.
**
** Arguments:
**
** Return:
** (none)
*/

/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_FlushCaches(uint32 type, void *address, uint32 size)
{
if (type == 1)
Expand All @@ -139,60 +119,34 @@ void CFE_PSP_FlushCaches(uint32 type, void *address, uint32 size)
}
}

/*
**
** Purpose:
** return the processor ID.
**
**
** Parameters:
**
** Global Inputs: None
**
** Global Outputs: None
**
**
**
** Return Values: Processor ID
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
uint32 CFE_PSP_GetProcessorId(void)
{
return CFE_PSP_CPU_ID;
}

/*
**
** Purpose:
** return the spacecraft ID.
**
** Parameters:
**
** Global Inputs: None
**
** Global Outputs: None
**
**
** Return Values: Spacecraft ID
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
uint32 CFE_PSP_GetSpacecraftId(void)
{
return CFE_PSP_SPACECRAFT_ID;
}

/*
**
** Purpose:
** return the processor name.
**
** Parameters:
**
** Global Inputs: None
**
** Global Outputs: None
**
**
** Return Values: Processor name
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
const char *CFE_PSP_GetProcessorName(void)
{
return CFE_PSP_CPU_NAME;
Expand Down
108 changes: 36 additions & 72 deletions fsw/mcp750-vxworks/src/cfe_psp_watchdog.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,12 @@
*/
uint32 CFE_PSP_WatchdogValue = CFE_PSP_WATCHDOG_MAX;

/******************************************************************************
**
** Purpose:
** To setup the timer resolution and/or other settings custom to this platform.
**
** Arguments:
**
** Return:
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_WatchdogInit(void)
{
/*
Expand All @@ -91,15 +88,12 @@ void CFE_PSP_WatchdogInit(void)
CFE_PSP_WatchdogValue = CFE_PSP_WATCHDOG_MAX;
}

/******************************************************************************
**
** Purpose:
** Enable the watchdog timer
**
** Arguments:
**
** Return:
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_WatchdogEnable(void)
{
/* Arm the WDT2 control register */
Expand All @@ -109,15 +103,12 @@ void CFE_PSP_WatchdogEnable(void)
PCI_OUT_LONG(0xFEFF0068, 0xFFFFFFAA);
}

/******************************************************************************
**
** Purpose:
** Disable the watchdog timer
**
** Arguments:
**
** Return:
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_WatchdogDisable(void)
{
/* Arm the WDT2 control register */
Expand All @@ -127,23 +118,12 @@ void CFE_PSP_WatchdogDisable(void)
PCI_OUT_LONG(0xFEFF0068, 0xFFFF7FAA);
}

/******************************************************************************
**
** Purpose:
** Load the watchdog timer with a count that corresponds to the millisecond
** time given in the parameter.
**
** Arguments:
** None.
**
** Return:
** None
**
** Note:
** Currently an ExpireTime value of zero will result in the minimum reset time
** of 4.5 seconds. All other ExpireTime values will result in a reset time of
** 5.5 seconds. See comments below.
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_WatchdogService(void)
{
/* Arm the WDT2 control register */
Expand Down Expand Up @@ -171,39 +151,23 @@ void CFE_PSP_WatchdogService(void)
}
}

/******************************************************************************
**
** Purpose:
** Get the current watchdog value.
**
** Arguments:
** none
**
** Return:
** the current watchdog value
**
** Notes:
**
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
uint32 CFE_PSP_WatchdogGet(void)
{
return CFE_PSP_WatchdogValue;
}

/******************************************************************************
**
** Purpose:
** Get the current watchdog value.
**
** Arguments:
** The new watchdog value
**
** Return:
** nothing
**
** Notes:
**
*/
/*----------------------------------------------------------------
*
* Implemented per public API
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_PSP_WatchdogSet(uint32 WatchdogValue)
{
CFE_PSP_WatchdogValue = WatchdogValue;
Expand Down
Loading