From 08961278f496e058964d217593a06303ea96b4f3 Mon Sep 17 00:00:00 2001 From: Andres Lugo-Reyes Date: Mon, 12 Dec 2016 14:48:59 -0600 Subject: dcom/ thread/ rtls/ TODO clean up Also moved files common to occ_405/, occ_gpe0/, occ_gpe1/, etc, to a new common directory to keep src/ clean Change-Id: Ib45d70d048a135832592953c955a325d20fa19ae RTC: 163363 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33640 Tested-by: FSP CI Jenkins Reviewed-by: Martha Broyles Reviewed-by: William A. Bryan --- src/occ_405/dcom/dcom.c | 10 ++++----- src/occ_405/dcom/dcom.h | 42 ++++++++++++++++-------------------- src/occ_405/dcom/dcomMasterTx.c | 42 +++++++++--------------------------- src/occ_405/dcom/dcomSlaveRx.c | 1 - src/occ_405/dcom/dcomSlaveTx.c | 5 +++-- src/occ_405/dcom/dcom_thread.c | 4 ++-- src/occ_405/img_defs.mk | 2 +- src/occ_405/mode.c | 3 +-- src/occ_405/mode.h | 3 +-- src/occ_405/rtls/rtls.c | 20 +++++------------ src/occ_405/rtls/rtls.h | 4 ++-- src/occ_405/rtls/rtls_tables.c | 10 ++++----- src/occ_405/rtls/test/rtls_tables.c | 10 ++++----- src/occ_405/thread/chom.c | 17 --------------- src/occ_405/thread/test/threadtest.c | 30 +++++++++----------------- src/occ_405/thread/threadSch.c | 10 +++++---- 16 files changed, 74 insertions(+), 139 deletions(-) (limited to 'src/occ_405') diff --git a/src/occ_405/dcom/dcom.c b/src/occ_405/dcom/dcom.c index 6c086a2..399bfe1 100755 --- a/src/occ_405/dcom/dcom.c +++ b/src/occ_405/dcom/dcom.c @@ -40,7 +40,7 @@ #include #include #include "scom.h" -#include "pss_constants.h" // @TODO: move with HW registers? +#include "pss_constants.h" extern uint8_t G_occ_interrupt_type; @@ -207,11 +207,11 @@ void dcom_initialize_pbax_queues(void) //disabled pbax send before configuring PBAX pbax_send_disable(); - // TODO: With the new design, PBAX node and chip IDs are set by hostboot - // Remove these ID parameters from the pbax_configure function? + // Node and Chip IDs are set by Hostboot and are not needed + // for pbax_configure l_rc = pbax_configure(G_occ_role, // master G_pbax_id.node_id, // node id - G_pbax_id.chip_id, // chipd id + G_pbax_id.chip_id, // chip id PBAX_CONFIGURE_RCV_GROUP_MASK); // group_mask if(l_rc != 0) @@ -267,7 +267,7 @@ void dcom_initialize_pbax_queues(void) { l_rc = pbax_target_create( &G_pbax_multicast_target, // target, PBAX_BROADCAST, // type - PBAX_SYSTEM, // scope TODO + PBAX_SYSTEM, // scope 0, // queue G_pbax_id.node_id, // node PBAX_BROADCAST_GROUP, // chip_or_group diff --git a/src/occ_405/dcom/dcom.h b/src/occ_405/dcom/dcom.h index 3ce5685..a5ffc1a 100755 --- a/src/occ_405/dcom/dcom.h +++ b/src/occ_405/dcom/dcom.h @@ -102,7 +102,7 @@ // general defines #define TOD_SIZE 6 #define NUM_TOD_SENSORS 3 -#define SLV_INBOX_RSV_SIZE 68 +#define SLV_INBOX_RSV_SIZE 150 #define SLV_MAILBOX_SIZE 32 #define SLV_OUTBOX_RSV_SIZE 618 #define DOORBELL_RSV_SIZE 1 @@ -121,7 +121,6 @@ typedef struct uint8_t chip_id :2; } pob_id_t; -// TODO may change in the future // For now pbax structure is same as pob id structure typedef pob_id_t pbax_id_t; @@ -129,7 +128,7 @@ typedef pob_id_t pbax_id_t; typedef struct { // Packet Type & Sequence Information - uint8_t seq; // [0] + uint8_t seq; // [0] - 1 byte uint8_t version; // [1] // From APSS Power Measurement @@ -139,33 +138,28 @@ typedef struct uint16_t altitude; // [40] - 2 bytes uint8_t tod[ TOD_SIZE ]; // [42] - 6 bytes - // AMEC Actuators - uint16_t freq250usp0cy[MAX_CORES]; // [48] - 48 bytes - uint16_t memsp2msP0MxCyPz[MAX_CENTAUR_THROTTLES]; // [96] - 16 bytes - uint16_t memsp2msP0IGx[MAX_MEM_INTERLEAVE_GROUP_THROTTLES]; // [112] - 16 bytes - // Manufacturing parameters - uint16_t foverride; // [128] - 2 bytes - uint8_t foverride_enable; // [130] - 1 byte - uint8_t emulate_oversub; // [131] - 1 byte + uint16_t foverride; // [48] - 2 bytes + uint8_t foverride_enable; // [50] - 1 byte + uint8_t emulate_oversub; // [51] - 1 byte // Idle Power Saver parameters - uint16_t ips_freq_request; // [132] - 2 bytes + uint16_t ips_freq_request; // [52] - 2 bytes // DPS Tunable Parameters - uint16_t alpha_up; // [134] - 2 bytes - uint16_t alpha_down; // [136] - 2 bytes - uint16_t sample_count_util; // [138] - 2 bytes - uint16_t step_up; // [140] - 2 bytes - uint16_t step_down; // [142] - 2 bytes - uint16_t epsilon_perc; // [144] - 2 bytes - uint16_t tlutil; // [146] - 2 bytes - uint8_t tunable_param_overwrite; // [148] - 1 byte + uint16_t alpha_up; // [54] - 2 bytes + uint16_t alpha_down; // [56] - 2 bytes + uint16_t sample_count_util; // [58] - 2 bytes + uint16_t step_up; // [60] - 2 bytes + uint16_t step_down; // [62] - 2 bytes + uint16_t epsilon_perc; // [64] - 2 bytes + uint16_t tlutil; // [66] - 2 bytes + uint8_t tunable_param_overwrite; // [68] - 1 byte // Soft frequency boundaries - uint16_t soft_fmin; // [149] - 2 bytes - uint8_t pad; // [151] - 1 bytes - uint16_t soft_fmax; // [152] - 2 bytes + uint16_t soft_fmin; // [69] - 2 bytes + uint8_t pad; // [71] - 1 bytes + uint16_t soft_fmax; // [72] - 2 bytes // Reserved Bytes union @@ -176,7 +170,7 @@ typedef struct freqConfig_t sys_mode_freq; uint8_t tb_record; }; - uint8_t reserved[ SLV_INBOX_RSV_SIZE ]; // [154] - 68 bytes + uint8_t reserved[ SLV_INBOX_RSV_SIZE ]; // [74] - 150 bytes }; // General Firmware Message Passing diff --git a/src/occ_405/dcom/dcomMasterTx.c b/src/occ_405/dcom/dcomMasterTx.c index 160e661..116b0e4 100644 --- a/src/occ_405/dcom/dcomMasterTx.c +++ b/src/occ_405/dcom/dcomMasterTx.c @@ -78,9 +78,6 @@ uint32_t dcom_build_slv_inbox(void) // Locals uint32_t l_addr_of_slv_inbox_in_main_mem = 0; uint32_t l_slv_idx = 0; - uint32_t l_core_idx = 0; - uint32_t l_cntr_idx = 0; - uint32_t l_mem_intr_idx = 0; static uint8_t L_seq = 0xFF; @@ -101,39 +98,20 @@ uint32_t dcom_build_slv_inbox(void) G_dcom_slv_inbox_tx[l_slv_idx].seq = L_seq; G_dcom_slv_inbox_tx[l_slv_idx].version = 0; - // TODO: adc,gpio,and tod are only sent here for sanity check and for bringup only. - // If the values are needed by the slaves, they should use the values sent in the doorbell. - // Probably remove them after bringup is complete. + memcpy( G_dcom_slv_inbox_tx[l_slv_idx].adc, + G_apss_pwr_meas.adc, + sizeof( G_dcom_slv_inbox_tx[l_slv_idx].adc)); - memcpy( G_dcom_slv_inbox_tx[l_slv_idx].adc, G_apss_pwr_meas.adc, sizeof(G_dcom_slv_inbox_tx[l_slv_idx].adc)); - memcpy( G_dcom_slv_inbox_tx[l_slv_idx].gpio, G_apss_pwr_meas.gpio, sizeof(G_dcom_slv_inbox_tx[l_slv_idx].gpio)); - memcpy( G_dcom_slv_inbox_tx[l_slv_idx].tod, &G_apss_pwr_meas.tod, sizeof( G_dcom_slv_inbox_tx[l_slv_idx].tod )); //TODO - this doesn't work + memcpy( G_dcom_slv_inbox_tx[l_slv_idx].gpio, + G_apss_pwr_meas.gpio, + sizeof( G_dcom_slv_inbox_tx[l_slv_idx].gpio)); - memset( G_dcom_slv_inbox_tx[l_slv_idx].occ_fw_mailbox, 0, sizeof( G_dcom_slv_inbox_tx[l_slv_idx].occ_fw_mailbox )); + memcpy( G_dcom_slv_inbox_tx[l_slv_idx].tod, + &G_apss_pwr_meas.tod, + sizeof( G_dcom_slv_inbox_tx[l_slv_idx].tod)); - // Collect frequency data for each core - for( l_core_idx = 0; l_core_idx < MAX_CORES; l_core_idx++) - { - // TODO - uncomment once macro exists - //G_dcom_slv_inbox_tx[l_slv_idx].freq250usp0cy = FREQ250USPC[l_core_idx]; - G_dcom_slv_inbox_tx[l_slv_idx].freq250usp0cy[l_core_idx] = l_core_idx; - } - - //collect data for each centaur throttle - for( l_cntr_idx = 0; l_cntr_idx < MAX_CENTAUR_THROTTLES; l_cntr_idx++) - { - // TODO - uncomment once macro exists - //G_dcom_slv_inbox_tx[l_slv_idx].memsp2msP0MxCyPz = MEMSP2MSP0MxCyPz[l_cntr_idx]; - G_dcom_slv_inbox_tx[l_slv_idx].memsp2msP0MxCyPz[l_cntr_idx] = l_cntr_idx; - } + memset( G_dcom_slv_inbox_tx[l_slv_idx].occ_fw_mailbox, 0, sizeof( G_dcom_slv_inbox_tx[l_slv_idx].occ_fw_mailbox )); - // Collect data for each mem interleave group throttle - for( l_mem_intr_idx = 0; l_mem_intr_idx < MAX_MEM_INTERLEAVE_GROUP_THROTTLES; l_mem_intr_idx++) - { - // TODO - uncomment once macro exists - //G_dcom_slv_inbox_tx[l_slv_idx].memsp2msP0IGx = MEMSP2MSP0IG[l_mem_intr_idx]; - G_dcom_slv_inbox_tx[l_slv_idx].memsp2msP0IGx[l_mem_intr_idx] = l_mem_intr_idx; - } // Collect mnfg parameters that need to be sent to slaves G_dcom_slv_inbox_tx[l_slv_idx].foverride_enable = g_amec->mnfg_parms.auto_slew; diff --git a/src/occ_405/dcom/dcomSlaveRx.c b/src/occ_405/dcom/dcomSlaveRx.c index 3c93a89..b4bbde8 100644 --- a/src/occ_405/dcom/dcomSlaveRx.c +++ b/src/occ_405/dcom/dcomSlaveRx.c @@ -296,7 +296,6 @@ void task_dcom_rx_slv_inbox( task_t *i_self) } else { - // TODO: We need to signal this G_dcomTime.slave.doorbellErrorFlags.timeoutRx = 1; G_dcomTime.slave.doorbellTimeoutWaitRx = ssx_timebase_get(); diff --git a/src/occ_405/dcom/dcomSlaveTx.c b/src/occ_405/dcom/dcomSlaveTx.c index dbda10e..9f6f254 100755 --- a/src/occ_405/dcom/dcomSlaveTx.c +++ b/src/occ_405/dcom/dcomSlaveTx.c @@ -305,10 +305,11 @@ void task_dcom_tx_slv_outbox( task_t *i_self) ERRL_COMPONENT_ID_FIRMWARE, ERRL_CALLOUT_PRIORITY_HIGH); - commitErrl( &l_errl ); + // request a reset + REQUEST_RESET( l_errl ); - // TODO request a reset l_error = TRUE; + } } diff --git a/src/occ_405/dcom/dcom_thread.c b/src/occ_405/dcom/dcom_thread.c index 0a61a5b..ada5bfc 100755 --- a/src/occ_405/dcom/dcom_thread.c +++ b/src/occ_405/dcom/dcom_thread.c @@ -132,7 +132,7 @@ void Dcom_thread_routine(void *arg) if(OCC_STATE_ACTIVE == CURRENT_STATE()) { // Set the new mode - l_errlHndl = SMGR_set_mode(l_newOccMode, 0 /* TODO V/F */ ); + l_errlHndl = SMGR_set_mode(l_newOccMode); if(l_errlHndl) { commitErrl(&l_errlHndl); @@ -153,7 +153,7 @@ void Dcom_thread_routine(void *arg) commitErrl(&l_errlHndl); } // Set the new mode - l_errlHndl = SMGR_set_mode(l_newOccMode, 0 /* TODO V/F */ ); + l_errlHndl = SMGR_set_mode(l_newOccMode); if(l_errlHndl) { commitErrl(&l_errlHndl); diff --git a/src/occ_405/img_defs.mk b/src/occ_405/img_defs.mk index 2e3a4f3..0fcbb44 100644 --- a/src/occ_405/img_defs.mk +++ b/src/occ_405/img_defs.mk @@ -238,7 +238,7 @@ APP_INCLUDES = -I$(IMAGE_SRCDIR)/rtls \ -I$(IMAGE_SRCDIR)/dimm \ -I$(IMAGE_SRCDIR)/mem \ -I$(IMAGE_SRCDIR)/lock \ - -I$(IMAGE_SRCDIR)/../occ_gpe0 \ + -I$(IMAGE_SRCDIR)/../common \ INCLUDES += $(IMG_INCLUDES) $(GLOBAL_INCLUDES) $(APP_INCLUDES) \ -I$(SSX_SRCDIR)/ssx -I$(SSX_SRCDIR)/ppc32 -I$(SSX_SRCDIR)/ppc405 \ diff --git a/src/occ_405/mode.c b/src/occ_405/mode.c index 84bc0e2..72a9f93 100755 --- a/src/occ_405/mode.c +++ b/src/occ_405/mode.c @@ -111,8 +111,7 @@ inline OCC_MODE SMGR_get_mode(void) // Description: // // End Function Specification -errlHndl_t SMGR_set_mode(const OCC_MODE i_mode, - const uint8_t i_sms_type) +errlHndl_t SMGR_set_mode( const OCC_MODE i_mode ) { errlHndl_t l_errlHndl = NULL; int jj=0; diff --git a/src/occ_405/mode.h b/src/occ_405/mode.h index dfce6ca..faaf21a 100755 --- a/src/occ_405/mode.h +++ b/src/occ_405/mode.h @@ -104,8 +104,7 @@ inline bool SMGR_is_mode_transitioning(void); inline OCC_MODE SMGR_get_mode(void); // Used to set OCC Mode -errlHndl_t SMGR_set_mode(const OCC_MODE i_mode, - const uint8_t i_sms_type); +errlHndl_t SMGR_set_mode(const OCC_MODE i_mode); diff --git a/src/occ_405/rtls/rtls.c b/src/occ_405/rtls/rtls.c index 63bb582..6e6c02b 100755 --- a/src/occ_405/rtls/rtls.c +++ b/src/occ_405/rtls/rtls.c @@ -67,10 +67,6 @@ extern uint8_t *G_tick_table[MAX_NUM_TICKS]; // See notes regarding this table in rtls_tables.c. extern task_t G_task_table[TASK_END]; -// ARL Test Code Function from arl_test.c -// Added for enablement of Research use of OCC Environment -//TODO: Remove when no longer needed. -extern void arl_test(void); // Function Specification // @@ -93,7 +89,6 @@ void rtl_start_task(const task_id_t i_task_id) else { // Invalid task ID for this operation - // TODO use correct trace /* * @errortype @@ -141,7 +136,6 @@ void rtl_stop_task(const task_id_t i_task_id) else { // Invalid task ID for this operation - // TODO use correct trace /* * @errortype @@ -191,7 +185,6 @@ bool rtl_task_is_runnable(const task_id_t i_task_id) else { // Invalid task ID for this operation - // TODO use correct trace /* * @errortype @@ -253,8 +246,8 @@ void rtl_ocb_init(void) SSX_NONCRITICAL); if( rc ) { - //TODO: Add trace - + TRAC_ERR("Error occured in rtl_ocb_init::ocb_timer_setup()" + " rc = 0x%x", rc ); /* * @errortype * @moduleid RTLS_OCB_INIT_MOD @@ -317,9 +310,6 @@ void rtl_do_tick( void *private, SsxIrqId irq, int priority ) RTLS_DBG("#### Tick %d ####\n",CURRENT_TICK); - // Execute ARL Test Code before we run any tasks. TODO: Remove when no longer needed. -// TEMP -- DON'T THINK THIS IS NEEDED IN PHASE1 -// arl_test(); // Index into the tick table to get a pointer to the tick sequence for the current tick. l_taskid_ptr = G_tick_table[ (MAX_NUM_TICKS - 1) & CURRENT_TICK ]; @@ -338,8 +328,8 @@ void rtl_do_tick( void *private, SsxIrqId irq, int priority ) if ( ! l_bad_id_reported ) { // First bad task ID we've seen this tick. Log an unrecoverable error. - - // TODO use correct trace + RTLS_DBG("rtl_do_tick() - Invalid task ID" + "taskId = 0x%x", *l_taskid_ptr ); /* * @errortype @@ -416,7 +406,7 @@ void rtl_set_task_data( const task_id_t i_task_id, void * i_data_ptr ) if ( i_task_id >= TASK_END ) { - //TODO: add trace + RTLS_DBG("Invalid task ID: 0x%x", i_task_id); // Task ID is invalid so log an error internally /* diff --git a/src/occ_405/rtls/rtls.h b/src/occ_405/rtls/rtls.h index 7a45afe..6da6825 100755 --- a/src/occ_405/rtls/rtls.h +++ b/src/occ_405/rtls/rtls.h @@ -55,8 +55,8 @@ typedef enum { TASK_ID_DCOM_PARSE_FW_MSG, TASK_ID_AMEC_SLAVE, // AMEC SMH tasks TASK_ID_AMEC_MASTER, // AMEC SMH tasks -// TASK_ID_CORE_DATA_CONTROL, -// TASK_ID_GPU_SM, // GPU State Machine +// TASK_ID_CORE_DATA_CONTROL, // TODO RTC: 163365 +// TASK_ID_GPU_SM, // GPU State Machine TODO RTC: 133824 TASK_ID_DIMM_SM, // DIMM State Machine TASK_ID_MEMORY_CONTROL, // Memory (centaur/dimm) control task TASK_ID_NEST_DTS, diff --git a/src/occ_405/rtls/rtls_tables.c b/src/occ_405/rtls/rtls_tables.c index a577069..b7b1a4c 100755 --- a/src/occ_405/rtls/rtls_tables.c +++ b/src/occ_405/rtls/rtls_tables.c @@ -74,14 +74,14 @@ #define FLAGS_POKE_WDT RTL_FLAG_RUN | RTL_FLAG_MSTR | RTL_FLAG_NOTMSTR | RTL_FLAG_STANDBY | \ RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_NO_APSS | RTL_FLAG_APSS_NOT_INITD -// TEMP/TODO: These are not yet implemented +// TEMP/TODO RTC: 133824 - New GPU interface via main memory and SMBUS #define FLAGS_GPU_SM -#define FLAGS_MEM_DEADMAN + // Global tick sequences // The number and size of these will vary as the real tick sequences are developed over time. -//NOTE: Currently this is the only way the complete apss works in simics TODO need to revisit in +//NOTE: Currently this is the only way the complete apss works in simics // the future. /* The Global Task Table @@ -113,9 +113,9 @@ task_t G_task_table[TASK_END] = { { FLAGS_DCOM_PARSE_OCC_FW_MSG, task_dcom_parse_occfwmsg, NULL }, // TASK_ID_DCOM_PARSE_FW_MSG { FLAGS_AMEC_SLAVE, task_amec_slave, NULL }, // TASK_ID_AMEC_SLAVE { FLAGS_AMEC_MASTER, task_amec_master, NULL }, // TASK_ID_AMEC_MASTER -// TEMP -- NOT SUPPORTED YET IN PHASE1 +// TODO RTC: 163365 - /proc/ and /pss/ "TODO" cleanup // { FLAGS_CORE_DATA_CONTROL, task_core_data_control, NULL }, // TASK_ID_CORE_DATA_CONTROL -// TEMP -- NOT YET IMPLEMENTED +// TODO RTC: 133824 - New GPU interface via main memory and SMBUS // { FLAGS_GPU_SM, task_gpu_sm, NULL }, // TASK_ID_GPU_SM { FLAGS_MEMORY_DATA, task_dimm_sm, NULL }, // TASK_ID_DIMM_SM { FLAGS_MEMORY_CONTROL, task_memory_control, (void *) &G_memory_control_task }, // TASK_ID_MEMORY_CONTROL diff --git a/src/occ_405/rtls/test/rtls_tables.c b/src/occ_405/rtls/test/rtls_tables.c index 316dd8e..24db77b 100755 --- a/src/occ_405/rtls/test/rtls_tables.c +++ b/src/occ_405/rtls/test/rtls_tables.c @@ -5,7 +5,7 @@ /* */ /* OpenPOWER OnChipController Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -85,7 +85,7 @@ void task_3_func(struct task *); // // Name: task_0_func // -// Description: TODO Add description +// Description: Example task 0 // // End Function Specification void task_0_func(struct task *i_self) { @@ -104,7 +104,7 @@ void task_0_func(struct task *i_self) { // // Name: task_1_func // -// Description: TODO Add description +// Description: Example task 1 // // End Function Specification void task_1_func(struct task *i_self) { @@ -123,7 +123,7 @@ void task_1_func(struct task *i_self) { // // Name: task_2_func // -// Description: TODO Add description +// Description: Example task 2 // // End Function Specification void task_2_func(struct task *i_self) { @@ -142,7 +142,7 @@ void task_2_func(struct task *i_self) { // // Name: task_3_func // -// Description: TODO Add description +// Description: Example task 3 // // End Function Specification void task_3_func(struct task *i_self) { diff --git a/src/occ_405/thread/chom.c b/src/occ_405/thread/chom.c index 1cc158f..44c17af 100755 --- a/src/occ_405/thread/chom.c +++ b/src/occ_405/thread/chom.c @@ -278,8 +278,6 @@ void chom_update_sensors() { for (j=0 ; jsensorData[0].sensor[k].sample = l_mem_rw; k++; @@ -312,18 +310,6 @@ void chom_update_sensors() } -// Function Specification -// -// Name: chom_collect_cpi_data -// -// Description: collect CPI data -// -// End Function Specification -void chom_collect_cpi_data(void) -{ - // TODO -} - // Function Specification // @@ -351,9 +337,6 @@ void chom_gen_periodic_log() } } - // collect CPI data - chom_collect_cpi_data(); - /* @ * @errortype * @moduleid THRD_MID_GEN_CALLHOME_LOG diff --git a/src/occ_405/thread/test/threadtest.c b/src/occ_405/thread/test/threadtest.c index 0aced6c..ed2f008 100755 --- a/src/occ_405/thread/test/threadtest.c +++ b/src/occ_405/thread/test/threadtest.c @@ -5,7 +5,7 @@ /* */ /* OpenPOWER OnChipController Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -61,7 +61,7 @@ extern void rtloop_ocb_init(void); // // Name: pgp_validation_ssx_main_hook // -// Description: TODO Add description +// Description: Pgp validation test // // End Function Specification void pgp_validation_ssx_main_hook(void) @@ -73,10 +73,9 @@ void pgp_validation_ssx_main_hook(void) // // Name: Cmd_Hndl_thread_routine // -// Description: TODO Add description +// Description: Pseudo-command handler thread test // // End Function Specification -//TODO placeholder void Cmd_Hndl_thread_routine(void *arg) { do @@ -94,7 +93,7 @@ void Cmd_Hndl_thread_routine(void *arg) // // Name: App_thread_routine // -// Description: TODO Add description +// Description: Pseudo-applet thread routine test // // End Function Specification void App_thread_routine(void *arg) @@ -115,7 +114,7 @@ void App_thread_routine(void *arg) // // Name: Thermal_Monitor_thread_routine // -// Description: TODO Add description +// Description: Pseudo-thermal monitoring thread routine test // // End Function Specification void Thermal_Monitor_thread_routine(void *arg) @@ -136,7 +135,7 @@ void Thermal_Monitor_thread_routine(void *arg) // // Name: Hlth_Monitor_thread_routine // -// Description: TODO Add description +// Description: Pseudo-health monitoring thread test // // End Function Specification void Hlth_Monitor_thread_routine(void *arg) @@ -157,7 +156,7 @@ void Hlth_Monitor_thread_routine(void *arg) // // Name: FFDC_thread_routine // -// Description: TODO Add description +// Description: Pseudo-ffdc thread routine test // // End Function Specification void FFDC_thread_routine(void *arg) @@ -206,7 +205,7 @@ void main_thread_routine(void *private) // // Name: timer_routine // -// Description: TODO Add description +// Description: timer routine test // // End Function Specification void timer_routine (void *arg) @@ -218,7 +217,7 @@ void timer_routine (void *arg) // // Name: dump_thread_info // -// Description: TODO Add description +// Description: Dumps information related to all scheduled threads // // End Function Specification void dump_thread_info(void *arg) @@ -293,16 +292,7 @@ int main(int argc, char **argv) ssx_thread_resume(&main_thread); //Initialize the thread scheduler - l_errl = initThreadScheduler(); - - if(l_errl) - { - // TODO Trace the error - - // Commit log - // NOTE: log should be deleted by reader mechanism - commitErrl( &l_errl ); - } + initThreadScheduler(); // Kick off timer ssx_timer_create(&G_test_timer, dump_thread_info, 0); diff --git a/src/occ_405/thread/threadSch.c b/src/occ_405/thread/threadSch.c index 46891c9..b768935 100755 --- a/src/occ_405/thread/threadSch.c +++ b/src/occ_405/thread/threadSch.c @@ -5,7 +5,7 @@ /* */ /* OpenPOWER OnChipController Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -190,7 +190,6 @@ void initThreadScheduler(void) l_cmdThreadRc,l_dcomThreadRc); // Create error log and log it - // TODO use correct trace const trace_descriptor_array_t* l_trace = NULL; /* @ @@ -241,12 +240,15 @@ void threadSwapcallback(void * arg) if(l_rc != SSX_OK) { - // TODO trace error + MAIN_TRAC_ERR("SSX thread priority swap failure! rc=0x%x," + "Thread A index=%d, Thread B index=%d", + l_rc, + l_threadAIndex, + l_threadBIndex ); // Create and commit error log if(G_threadSwapErrlCounter == 0) { - // TODO use correct trace const trace_descriptor_array_t* l_trace = NULL; /* -- cgit v1.2.1