GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCM / dev > lcm_siu / rhel5-32


Interface   Data Structures   File List   Data Fields   Globals  

LCM_scrubArch.c.xx-xxx-xxx File Reference

LCM memory scrubbing/exception handling functions (for non-rad750). More...

#include <LCM/LCM_msgs.h>
#include <LCM/LCM_pubdefs.h>
#include <PBS/WCT.h>
#include <PBS/WUT.h>
#include <LCM_prvdefs.h>

Functions

void LCM_scrubMemAuto (LCM_Control *ctl)
 Architecture specific implementation of LLCMSCRUBRUN command.
unsigned int LCM_scrubSurom (LCM_SuromError *rom, unsigned int *hcs, unsigned int *bcs)
 Scrub through SUROM contents to check integrity.
unsigned int LCM_scrubTaskInitialize (LCM_Control *ctl)
 One-time call in LCM task context to start the scrub sub-function.


Detailed Description

LCM memory scrubbing/exception handling functions (for non-rad750).

CVS $Id: LCM_scrubArch.c.xx-xxx-xxx,v 1.3 2011/03/29 21:59:34 apw Exp $
Author:
A.P.Waite
LCM_scrubArch.c.xx-xxx-xxx handles the memory scrubbing and PCI/memory error exception handling sub-functions of LCM. Or rather it doesn't. This implementation is for all architectures other than rad750. This is complete fakery.

Function Documentation

void LCM_scrubMemAuto ( LCM_Control ctl  ) 

Architecture specific implementation of LLCMSCRUBRUN command.

LCM_scrubMemAuto() implements the LLCMSCRUBRUN command for non-rad750.

References _LCM_Control::scrub_end, and _LCM_Control::scrub_start.

Referenced by LCM_ScrubRun(), LCM_scrubTaskInitialize(), and LCM_scrubTimer().

unsigned int LCM_scrubSurom ( LCM_SuromError rom,
unsigned int *  hcs,
unsigned int *  bcs 
)

Scrub through SUROM contents to check integrity.

Return values:
LCM_SUCCESS Always
LCM_scrubSurom() performs memory reads through the rad750 SUROM to check for integrity. For all architectures except rad750, there is no SUROM (at least, not in the sense that applies to the rad750 SUROM). Nevetheless, try for some fidelity (even if this only ever reports that scrubbing induced no memory errors).

References _LCM_SuromError::cme, and _LCM_SuromError::ume.

unsigned int LCM_scrubTaskInitialize ( LCM_Control ctl  ) 

One-time call in LCM task context to start the scrub sub-function.

Parameters:
ctl (in) LCM control block
LCM_scrubTaskInitialize() is run once only in the LCM task context to do any final initialization required by the scrub/exception handling subfunction. For all architectures except rad750, scrubbing is not available. Nevetheless, try for some fidelity with the scrub timer logic.

References LCM_SCRUB_INITIAL_PERIOD, LCM_scrubMemAuto(), LCM_scrubTimer(), _LCM_Control::scrub_period, and _LCM_Control::scrub_timer.

Referenced by taskStartOnce().


Generated on Wed Mar 30 16:05:44 2011 by  doxygen 1.5.8