You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(70) |
Jun
(57) |
Jul
(72) |
Aug
(111) |
Sep
(59) |
Oct
(38) |
Nov
(65) |
Dec
(104) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(48) |
Feb
(27) |
Mar
(3) |
Apr
(4) |
May
(36) |
Jun
(21) |
Jul
(7) |
Aug
(25) |
Sep
(33) |
Oct
(24) |
Nov
(27) |
Dec
(19) |
2008 |
Jan
(26) |
Feb
(22) |
Mar
(66) |
Apr
(65) |
May
(28) |
Jun
(5) |
Jul
(26) |
Aug
(5) |
Sep
(6) |
Oct
(25) |
Nov
(17) |
Dec
(6) |
2009 |
Jan
(20) |
Feb
(20) |
Mar
(5) |
Apr
(31) |
May
(6) |
Jun
(4) |
Jul
|
Aug
(3) |
Sep
(2) |
Oct
(6) |
Nov
(8) |
Dec
(2) |
2010 |
Jan
(7) |
Feb
(6) |
Mar
(16) |
Apr
(10) |
May
(11) |
Jun
(37) |
Jul
(14) |
Aug
(5) |
Sep
(9) |
Oct
(10) |
Nov
(25) |
Dec
(55) |
2011 |
Jan
(29) |
Feb
(24) |
Mar
(6) |
Apr
(9) |
May
(16) |
Jun
(19) |
Jul
(4) |
Aug
(4) |
Sep
(15) |
Oct
(15) |
Nov
(8) |
Dec
(4) |
2012 |
Jan
(8) |
Feb
(1) |
Mar
(11) |
Apr
(16) |
May
(25) |
Jun
(28) |
Jul
(10) |
Aug
(25) |
Sep
(5) |
Oct
(5) |
Nov
(1) |
Dec
(1) |
2013 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
(2) |
May
(14) |
Jun
(3) |
Jul
(5) |
Aug
(4) |
Sep
(3) |
Oct
(4) |
Nov
(7) |
Dec
(4) |
2014 |
Jan
(1) |
Feb
(3) |
Mar
|
Apr
(2) |
May
|
Jun
(3) |
Jul
(5) |
Aug
(2) |
Sep
(10) |
Oct
(11) |
Nov
(2) |
Dec
(1) |
2015 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(4) |
May
(4) |
Jun
(6) |
Jul
(13) |
Aug
(12) |
Sep
(7) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(16) |
May
(16) |
Jun
(6) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
(4) |
2018 |
Jan
(15) |
Feb
(6) |
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <re...@us...> - 2006-07-19 03:48:20
|
Revision: 5929 Author: renierm Date: 2006-07-18 20:48:11 -0700 (Tue, 18 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5929&view=rev Log Message: ----------- creating python bindings dir Added Paths: ----------- python/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <psa...@us...> - 2006-07-18 13:18:24
|
Revision: 5928 Author: psangouard Date: 2006-07-18 06:18:09 -0700 (Tue, 18 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5928&view=rev Log Message: ----------- #1524508: Initial support of new hotswap abi (Only BLOCK & IMMEDIATE timeouts supported for now) Modified Paths: -------------- openhpi/trunk/plugins/ipmidirect/hotswap.cpp openhpi/trunk/plugins/ipmidirect/ipmi.cpp openhpi/trunk/plugins/ipmidirect/ipmi.h openhpi/trunk/plugins/ipmidirect/ipmi_discover.cpp openhpi/trunk/plugins/ipmidirect/ipmi_domain.cpp openhpi/trunk/plugins/ipmidirect/ipmi_domain.h openhpi/trunk/plugins/ipmidirect/ipmi_resource.cpp openhpi/trunk/plugins/ipmidirect/ipmi_resource.h Modified: openhpi/trunk/plugins/ipmidirect/hotswap.cpp =================================================================== --- openhpi/trunk/plugins/ipmidirect/hotswap.cpp 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/hotswap.cpp 2006-07-18 13:18:09 UTC (rev 5928) @@ -75,6 +75,11 @@ return SA_ERR_HPI_INVALID_CMD; } + if (res->PolicyCanceled() != true) + { + return SA_ERR_HPI_INVALID_REQUEST; + } + cIpmiMsg msg( eIpmiNetfnPicmg, eIpmiCmdSetFruActivation ); msg.m_data_len = 3; msg.m_data[0] = dIpmiPicMgId; @@ -186,8 +191,64 @@ return SA_OK; } +SaErrorT +cIpmi::IfHotswapPolicyCancel( cIpmiResource *res, + SaHpiTimeoutT timeout ) +{ + if ( !m_is_atca ) + { + stdlog << "ATCA not supported by SI !\n"; + return SA_ERR_HPI_INVALID_REQUEST; + } + res->PolicyCanceled() = true; + + return SA_OK; +} + SaErrorT +cIpmi::IfSetAutoInsertTimeout( SaHpiTimeoutT timeout ) +{ + if ( !m_is_atca ) + { + stdlog << "ATCA not supported by SI !\n"; + return SA_ERR_HPI_INVALID_REQUEST; + } + + InsertTimeout() = timeout; + + return SA_OK; +} + +SaErrorT +cIpmi::IfGetAutoExtractTimeout( cIpmiResource *res, SaHpiTimeoutT &timeout ) +{ + if ( !m_is_atca ) + { + stdlog << "ATCA not supported by SI !\n"; + return SA_ERR_HPI_INVALID_REQUEST; + } + + timeout = res->ExtractTimeout(); + + return SA_OK; +} + +SaErrorT +cIpmi::IfSetAutoExtractTimeout( cIpmiResource *res, SaHpiTimeoutT timeout ) +{ + if ( !m_is_atca ) + { + stdlog << "ATCA not supported by SI !\n"; + return SA_ERR_HPI_INVALID_REQUEST; + } + + res->ExtractTimeout() = timeout; + + return SA_OK; +} + +SaErrorT cIpmi::IfGetPowerState( cIpmiResource *res, SaHpiPowerStateT &state ) { // get power level Modified: openhpi/trunk/plugins/ipmidirect/ipmi.cpp =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi.cpp 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi.cpp 2006-07-18 13:18:09 UTC (rev 5928) @@ -442,6 +442,11 @@ { cIpmi *ipmi = VerifyIpmi( hnd ); + if ( !ipmi ) + { + return SA_ERR_HPI_INTERNAL_ERROR; + } + stdlog << "Dedicated discovery let's go " << hnd << " " << did << "\n"; SaErrorT rv = ipmi->IfDiscoverResources(); @@ -1160,8 +1165,90 @@ return rv; } +static SaErrorT +IpmiHotswapPolicyCancel( void *, SaHpiResourceIdT, + SaHpiTimeoutT ) __attribute__((used)); static SaErrorT +IpmiHotswapPolicyCancel( void *hnd, SaHpiResourceIdT id, + SaHpiTimeoutT timeout) +{ + cIpmi *ipmi = 0; + cIpmiResource *res = VerifyResourceAndEnter( hnd, id, ipmi ); + + if ( !res ) + return SA_ERR_HPI_NOT_PRESENT; + + SaErrorT rv = ipmi->IfHotswapPolicyCancel( res, timeout ); + + ipmi->IfLeave(); + + return rv; +} + +static SaErrorT +IpmiSetAutoInsertTimeout( void *, SaHpiTimeoutT ) __attribute__((used)); + +static SaErrorT +IpmiSetAutoInsertTimeout( void *hnd, SaHpiTimeoutT timeout) +{ + cIpmi *ipmi = VerifyIpmi( hnd ); + + if ( !ipmi ) + { + return SA_ERR_HPI_INTERNAL_ERROR; + } + + SaErrorT rv = ipmi->IfSetAutoInsertTimeout( timeout ); + + ipmi->IfLeave(); + + return rv; +} + +static SaErrorT +IpmiGetAutoExtractTimeout( void *, SaHpiResourceIdT, + SaHpiTimeoutT * ) __attribute__((used)); + +static SaErrorT +IpmiGetAutoExtractTimeout( void *hnd, SaHpiResourceIdT id, + SaHpiTimeoutT *timeout ) +{ + cIpmi *ipmi = 0; + cIpmiResource *res = VerifyResourceAndEnter( hnd, id, ipmi ); + + if ( !res ) + return SA_ERR_HPI_NOT_PRESENT; + + SaErrorT rv = ipmi->IfGetAutoExtractTimeout( res, *timeout ); + + ipmi->IfLeave(); + + return rv; +} + +static SaErrorT +IpmiSetAutoExtractTimeout( void *, SaHpiResourceIdT, + SaHpiTimeoutT ) __attribute__((used)); + +static SaErrorT +IpmiSetAutoExtractTimeout( void *hnd, SaHpiResourceIdT id, + SaHpiTimeoutT timeout ) +{ + cIpmi *ipmi = 0; + cIpmiResource *res = VerifyResourceAndEnter( hnd, id, ipmi ); + + if ( !res ) + return SA_ERR_HPI_NOT_PRESENT; + + SaErrorT rv = ipmi->IfSetAutoExtractTimeout( res, timeout ); + + ipmi->IfLeave(); + + return rv; +} + +static SaErrorT IpmiGetHotswapState( void *, SaHpiResourceIdT , SaHpiHsStateT * ) __attribute__((used)); @@ -1507,6 +1594,18 @@ SaHpiEntryIdT) __attribute__ ((weak, alias("IpmiDelIdrField"))); +void * oh_hotswap_policy_cancel (void *, SaHpiResourceIdT, SaHpiTimeoutT) + __attribute__ ((weak, alias("IpmiHotswapPolicyCancel"))); + +void * oh_set_autoinsert_timeout (void *, SaHpiTimeoutT) + __attribute__ ((weak, alias("IpmiSetAutoInsertTimeout"))); + +void * oh_get_autoextract_timeout (void *, SaHpiResourceIdT, SaHpiTimeoutT *) + __attribute__ ((weak, alias("IpmiGetAutoExtractTimeout"))); + +void * oh_set_autoextract_timeout (void *, SaHpiResourceIdT, SaHpiTimeoutT) + __attribute__ ((weak, alias("IpmiSetAutoExtractTimeout"))); + void * oh_get_hotswap_state (void *, SaHpiResourceIdT, SaHpiHsStateT *) __attribute__ ((weak, alias("IpmiGetHotswapState"))); @@ -1558,7 +1657,28 @@ return v; } +static SaHpiTimeoutT +GetTimeout( GHashTable *handler_config, const char *str, SaHpiTimeoutT def ) +{ + const char *value = (const char *)g_hash_table_lookup(handler_config, str ); + if ( !value ) + return def; + + int v = strtol( value, 0, 0 ); + + if ( v == 0 ) + return SAHPI_TIMEOUT_IMMEDIATE; + + if ( v == -1 ) + return SAHPI_TIMEOUT_BLOCK; + + SaHpiTimeoutT timeout = v * 1000000000; + + return timeout; +} + + cIpmi::cIpmi() : m_magic( dIpmiMagic ), m_handler( 0 ) @@ -1695,6 +1815,9 @@ } } + m_insert_timeout = GetTimeout( handler_config, "InsertTimeout", SAHPI_TIMEOUT_IMMEDIATE ); + m_extract_timeout = GetTimeout( handler_config, "ExtractTimeout", SAHPI_TIMEOUT_IMMEDIATE ); + const char *name = (const char *)g_hash_table_lookup(handler_config, "name"); if ( !name ) Modified: openhpi/trunk/plugins/ipmidirect/ipmi.h =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi.h 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi.h 2006-07-18 13:18:09 UTC (rev 5928) @@ -77,6 +77,10 @@ virtual SaErrorT IfGetHotswapState( cIpmiResource *res, SaHpiHsStateT &state ); virtual SaErrorT IfSetHotswapState( cIpmiResource *res, SaHpiHsStateT state ); virtual SaErrorT IfRequestHotswapAction( cIpmiResource *res, SaHpiHsActionT act ); + virtual SaErrorT IfHotswapPolicyCancel( cIpmiResource *res, SaHpiTimeoutT timeout ); + virtual SaErrorT IfSetAutoInsertTimeout( SaHpiTimeoutT timeout); + virtual SaErrorT IfGetAutoExtractTimeout( cIpmiResource *res, SaHpiTimeoutT &timeout); + virtual SaErrorT IfSetAutoExtractTimeout( cIpmiResource *res, SaHpiTimeoutT timeout); virtual SaErrorT IfGetPowerState ( cIpmiResource *res, SaHpiPowerStateT &state ); virtual SaErrorT IfSetPowerState ( cIpmiResource *res, SaHpiPowerStateT state ); Modified: openhpi/trunk/plugins/ipmidirect/ipmi_discover.cpp =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi_discover.cpp 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi_discover.cpp 2006-07-18 13:18:09 UTC (rev 5928) @@ -541,10 +541,12 @@ sensor->Resource()->FruState() = current_state; sensor->HandleEvent( event ); - // We care only if it's the MC itself - if (( current_state == eIpmiFruStateNotInstalled ) - && ( sensor->Resource()->FruId() == 0 )) - { + switch (current_state) + { + case eIpmiFruStateNotInstalled: + // We care only if it's the MC itself + if ( sensor->Resource()->FruId() == 0 ) + { // remove mc WriteLock(); @@ -554,8 +556,35 @@ WriteUnlock(); m_mc = 0; - } + } + break; + case eIpmiFruStateActivationRequest: + if (sensor->Resource()->Domain()->InsertTimeout() == SAHPI_TIMEOUT_IMMEDIATE) + { + sensor->Resource()->Activate(); + } + else + { + sensor->Resource()->PolicyCanceled() = false; + } + break; + + case eIpmiFruStateDeactivationRequest: + if (sensor->Resource()->ExtractTimeout() == SAHPI_TIMEOUT_IMMEDIATE) + { + sensor->Resource()->Deactivate(); + } + else + { + sensor->Resource()->PolicyCanceled() = false; + } + break; + + default: + break; + } + if ( m_mc == 0 && m_sel ) { RemMcTask( m_sel ); Modified: openhpi/trunk/plugins/ipmidirect/ipmi_domain.cpp =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi_domain.cpp 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi_domain.cpp 2006-07-18 13:18:09 UTC (rev 5928) @@ -40,7 +40,6 @@ cIpmiMcVendorFactory::InitFactory(); m_did = oh_get_default_domain_id(); - m_own_domain = false; for( int i = 0; i < 256; i++ ) @@ -224,7 +223,9 @@ if ( m_own_domain == true ) { SaHpiTextBufferT buf = m_domain_tag; - m_did = oh_request_new_domain(m_handler_id, &buf, 0, 0, 0); + m_did = oh_request_new_domain_aitimeout(m_handler_id, &buf, + 0, + m_insert_timeout, 0, 0); if ( m_did == 0 ) { @@ -234,6 +235,7 @@ } else { + m_insert_timeout = SAHPI_TIMEOUT_IMMEDIATE; m_did = oh_get_default_domain_id(); } Modified: openhpi/trunk/plugins/ipmidirect/ipmi_domain.h =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi_domain.h 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi_domain.h 2006-07-18 13:18:09 UTC (rev 5928) @@ -102,11 +102,15 @@ SaHpiDomainIdT m_did; cIpmiTextBuffer m_domain_tag; + SaHpiTimeoutT m_insert_timeout; + SaHpiTimeoutT m_extract_timeout; bool m_own_domain; int m_handler_id; public: SaHpiDomainIdT DomainId() { return m_did; } + SaHpiTimeoutT &InsertTimeout() { return m_insert_timeout; } + SaHpiTimeoutT &ExtractTimeout() { return m_extract_timeout; } int HandlerId() { return m_handler_id; } bool ConLogLevel( int v ) Modified: openhpi/trunk/plugins/ipmidirect/ipmi_resource.cpp =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi_resource.cpp 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi_resource.cpp 2006-07-18 13:18:09 UTC (rev 5928) @@ -29,9 +29,12 @@ m_is_fru( false ), m_hotswap_sensor( 0 ), m_fru_state( eIpmiFruStateNotInstalled ), + m_policy_canceled( true ), m_oem( 0 ), m_current_control_id( 0 ), m_populate( false ) { + m_extract_timeout = Domain()->ExtractTimeout(); + for( int i = 0; i < 256; i++ ) m_sensor_num[i] = -1; } @@ -390,3 +393,55 @@ return true; } + +void +cIpmiResource::Activate() +{ + cIpmiMsg msg( eIpmiNetfnPicmg, eIpmiCmdSetFruActivation ); + msg.m_data_len = 3; + msg.m_data[0] = dIpmiPicMgId; + msg.m_data[1] = FruId(); + msg.m_data[2] = dIpmiActivateFru; + + cIpmiMsg rsp; + + SaErrorT rv = SendCommand( msg, rsp ); + + if ( rv != SA_OK ) + { + stdlog << "Activate: could not send set FRU Activation: " << rv << " !\n"; + } + else if ( rsp.m_data_len < 2 + || rsp.m_data[0] != eIpmiCcOk + || rsp.m_data[1] != dIpmiPicMgId ) + { + stdlog << "Activate: IPMI error set FRU Activation: " + << rsp.m_data[0] << " !\n"; + } +} + +void +cIpmiResource::Deactivate() +{ + cIpmiMsg msg( eIpmiNetfnPicmg, eIpmiCmdSetFruActivation ); + msg.m_data_len = 3; + msg.m_data[0] = dIpmiPicMgId; + msg.m_data[1] = FruId(); + msg.m_data[2] = dIpmiDeactivateFru; + + cIpmiMsg rsp; + + SaErrorT rv = SendCommand( msg, rsp ); + + if ( rv != SA_OK ) + { + stdlog << "Deactivate: could not send set FRU deactivation: " << rv << " !\n"; + } + else if ( rsp.m_data_len < 2 + || rsp.m_data[0] != eIpmiCcOk + || rsp.m_data[1] != dIpmiPicMgId ) + { + stdlog << "Deactivate: IPMI error set FRU deactivation: " + << rsp.m_data[0] << " !\n"; + } +} Modified: openhpi/trunk/plugins/ipmidirect/ipmi_resource.h =================================================================== --- openhpi/trunk/plugins/ipmidirect/ipmi_resource.h 2006-07-17 20:41:25 UTC (rev 5927) +++ openhpi/trunk/plugins/ipmidirect/ipmi_resource.h 2006-07-18 13:18:09 UTC (rev 5928) @@ -64,6 +64,8 @@ // state only to create state change Mx -> M0 // where Mx is m_fru_state tIpmiFruState m_fru_state; + bool m_policy_canceled; + SaHpiTimeoutT m_extract_timeout; unsigned int m_oem; @@ -77,6 +79,8 @@ cIpmiMc *Mc() const { return m_mc; } unsigned int FruId() const { return m_fru_id; } tIpmiFruState &FruState() { return m_fru_state; } + bool &PolicyCanceled() { return m_policy_canceled; } + SaHpiTimeoutT &ExtractTimeout() { return m_extract_timeout; } cIpmiDomain *Domain() const; unsigned int &Oem() { return m_oem; } cIpmiEntityPath &EntityPath() { return m_entity_path; } @@ -120,6 +124,9 @@ SaErrorT SendCommandReadLock( const cIpmiMsg &msg, cIpmiMsg &rsp, unsigned int lun = 0, int retries = dIpmiDefaultRetries ); + void Activate(); + void Deactivate(); + private: bool PopulateSel(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ses...@us...> - 2006-07-17 20:41:32
|
Revision: 5927 Author: sesherman Date: 2006-07-17 13:41:25 -0700 (Mon, 17 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5927&view=rev Log Message: ----------- #1523919 comment: Add BladeCenter doc to distribution Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/Makefile.am Added Paths: ----------- openhpi/trunk/plugins/snmp_bc/bc2hpi.odt openhpi/trunk/plugins/snmp_bc/bc2hpi.pdf Modified: openhpi/trunk/plugins/snmp_bc/Makefile.am =================================================================== --- openhpi/trunk/plugins/snmp_bc/Makefile.am 2006-07-17 18:30:12 UTC (rev 5926) +++ openhpi/trunk/plugins/snmp_bc/Makefile.am 2006-07-17 20:41:25 UTC (rev 5927) @@ -30,6 +30,7 @@ pkglib_LTLIBRARIES = libsnmp_bc.la EXTRA_DIST = \ + bc2hpi.pdf \ eventmap2code.pl \ snmp_bc_event.map \ snmp_bc.h \ Added: openhpi/trunk/plugins/snmp_bc/bc2hpi.odt =================================================================== (Binary files differ) Property changes on: openhpi/trunk/plugins/snmp_bc/bc2hpi.odt ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: openhpi/trunk/plugins/snmp_bc/bc2hpi.pdf =================================================================== (Binary files differ) Property changes on: openhpi/trunk/plugins/snmp_bc/bc2hpi.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-17 18:30:39
|
Revision: 5926 Author: renierm Date: 2006-07-17 11:30:12 -0700 (Mon, 17 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5926&view=rev Log Message: ----------- #1524023 Make uid_utils prototypes use HPI types Modified Paths: -------------- openhpi/trunk/src/alarm.c openhpi/trunk/utils/sahpi_struct_utils.c openhpi/trunk/utils/t/uid/uid_utils_000.c openhpi/trunk/utils/t/uid/uid_utils_002.c openhpi/trunk/utils/t/uid/uid_utils_005.c openhpi/trunk/utils/t/uid/uid_utils_011.c openhpi/trunk/utils/t/uid/uid_utils_012.c openhpi/trunk/utils/t/uid/uid_utils_013.c openhpi/trunk/utils/uid_utils.c openhpi/trunk/utils/uid_utils.h Modified: openhpi/trunk/src/alarm.c =================================================================== --- openhpi/trunk/src/alarm.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/src/alarm.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -353,7 +353,7 @@ if (!a) goto done; a->Severity = event->Severity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_OEM; - oh_entity_path_lookup(&event->Source, &a->AlarmCond.Entity); + oh_entity_path_lookup(event->Source, &a->AlarmCond.Entity); a->AlarmCond.ResourceId = event->Source; a->AlarmCond.Mid = event->EventDataUnion.OemEvent.MId; memcpy(&a->AlarmCond.Data, @@ -383,7 +383,7 @@ if (!a) goto done; a->Severity = event->Severity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_RESOURCE; - oh_entity_path_lookup(&event->Source, &a->AlarmCond.Entity); + oh_entity_path_lookup(event->Source, &a->AlarmCond.Entity); a->AlarmCond.ResourceId = event->Source; } done: @@ -412,7 +412,7 @@ if (!a) goto done; a->Severity = event->Severity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_SENSOR; - oh_entity_path_lookup(&event->Source, &a->AlarmCond.Entity); + oh_entity_path_lookup(event->Source, &a->AlarmCond.Entity); a->AlarmCond.ResourceId = event->Source; a->AlarmCond.SensorNum = event->EventDataUnion.SensorEvent.SensorNum; a->AlarmCond.EventState = event->EventDataUnion.SensorEvent.EventState; @@ -479,7 +479,7 @@ if (!a) goto done; a->Severity = res->ResourceSeverity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_RESOURCE; - oh_entity_path_lookup(&res->ResourceId, &a->AlarmCond.Entity); + oh_entity_path_lookup(res->ResourceId, &a->AlarmCond.Entity); a->AlarmCond.ResourceId = res->ResourceId; a->AlarmCond.Mid = res->ResourceInfo.ManufacturerId; memcpy(&a->AlarmCond.Data, &res->ResourceTag, sizeof(SaHpiTextBufferT)); Modified: openhpi/trunk/utils/sahpi_struct_utils.c =================================================================== --- openhpi/trunk/utils/sahpi_struct_utils.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/sahpi_struct_utils.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -2242,7 +2242,7 @@ ep = *entitypath; err = oh_decode_entitypath(&ep, &bigbuf); } else { - err = oh_entity_path_lookup(&id, &ep); + err = oh_entity_path_lookup(id, &ep); if (err) { dbg("Could not determine entity path."); } else { Modified: openhpi/trunk/utils/t/uid/uid_utils_000.c =================================================================== --- openhpi/trunk/utils/t/uid/uid_utils_000.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/t/uid/uid_utils_000.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -19,7 +19,7 @@ #include <oh_utils.h> /** - * main: Get a new unique id. Use id to lookup original entity path. + * main: Get a new unique id. Use id to lookup original entity path. * Passes if returned entity path is equal to original entity path, * otherwise fails. * @@ -32,14 +32,14 @@ if (oh_uid_initialize()) return 1; - + oh_init_ep(&ep); id = oh_uid_from_entity_path(&ep); - if (oh_entity_path_lookup(&id, &rep)) + if (oh_entity_path_lookup(id, &rep)) return 1; - + if (!oh_cmp_ep(&ep, &rep)) return 1; Modified: openhpi/trunk/utils/t/uid/uid_utils_002.c =================================================================== --- openhpi/trunk/utils/t/uid/uid_utils_002.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/t/uid/uid_utils_002.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -39,10 +39,10 @@ ep.Entry[0].EntityLocation = i; id[i] = oh_uid_from_entity_path(&ep); } - + for (i = 0; i < 10; i++) { ep.Entry[0].EntityLocation = i; - if (oh_entity_path_lookup(id+i, &rep)) + if (oh_entity_path_lookup(id[i], &rep)) return 1; if (!oh_cmp_ep(&ep, &rep)) Modified: openhpi/trunk/utils/t/uid/uid_utils_005.c =================================================================== --- openhpi/trunk/utils/t/uid/uid_utils_005.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/t/uid/uid_utils_005.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -46,10 +46,10 @@ if (oh_uid_remove(id[3])) return 1; - if (!oh_entity_path_lookup(id+8,&rep)) + if (!oh_entity_path_lookup(id[8],&rep)) return 1; - if (!oh_entity_path_lookup(id+3,&rep)) + if (!oh_entity_path_lookup(id[3],&rep)) return 1; return 0; Modified: openhpi/trunk/utils/t/uid/uid_utils_011.c =================================================================== --- openhpi/trunk/utils/t/uid/uid_utils_011.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/t/uid/uid_utils_011.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -19,7 +19,7 @@ #include <oh_utils.h> /** - * main: Calls oh_entity_path_lookup using a NULL id. + * main: Calls oh_entity_path_lookup using a 0 id. * Passes if it returns -1, * otherwise fails. * @@ -37,7 +37,7 @@ if (!oh_uid_from_entity_path(&ep)) return 1; - if (!oh_entity_path_lookup(NULL, &rep)) + if (!oh_entity_path_lookup(0, &rep)) return 1; return 0; Modified: openhpi/trunk/utils/t/uid/uid_utils_012.c =================================================================== --- openhpi/trunk/utils/t/uid/uid_utils_012.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/t/uid/uid_utils_012.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -39,7 +39,7 @@ if (!id) return 1; - if (!oh_entity_path_lookup(&id, NULL)) + if (!oh_entity_path_lookup(id, NULL)) return 1; return 0; Modified: openhpi/trunk/utils/t/uid/uid_utils_013.c =================================================================== --- openhpi/trunk/utils/t/uid/uid_utils_013.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/t/uid/uid_utils_013.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -39,7 +39,7 @@ if (!id) return 1; - if (!oh_entity_path_lookup(NULL, NULL)) + if (!oh_entity_path_lookup(0, NULL)) return 1; return 0; Modified: openhpi/trunk/utils/uid_utils.c =================================================================== --- openhpi/trunk/utils/uid_utils.c 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/uid_utils.c 2006-07-17 18:30:12 UTC (rev 5926) @@ -22,11 +22,43 @@ #include <string.h> #include <unistd.h> -#include <SaHpi.h> #include <config.h> #include <oh_utils.h> #include <oh_error.h> +#ifdef DBG_MSGS +#define dbg_uid_lock(format, ...) \ + do { \ + if (getenv("OPENHPI_DBG_UID_LOCK") && !strcmp("YES",getenv("OPENHPI_DBG_UID_LOCK"))){ \ + fprintf(stderr, " UID_LOCK: %s:%d:%s: ", __FILE__, __LINE__, __func__); \ + fprintf(stderr, format "\n", ## __VA_ARGS__); \ + } \ + } while(0) +#else +#define dbg_uid_lock(format, ...) +#endif + +#define uid_lock(uidmutex) \ + do { \ + dbg_uid_lock("Locking UID mutex..."); \ + g_static_mutex_lock(uidmutex); \ + dbg_uid_lock("OK. UID mutex locked."); \ + } while (0) + +#define uid_unlock(uidmutex) \ + do { \ + dbg_uid_lock("Unlocking UID mutex..."); \ + g_static_mutex_unlock(uidmutex); \ + dbg_uid_lock("OK. UID mutex unlocked."); \ + } while (0) + + +/* uid to entity path cross reference (xref) data structure */ +typedef struct { + SaHpiResourceIdT resource_id; + SaHpiEntityPathT entity_path; +} EP_XREF; + static GStaticMutex oh_uid_lock = G_STATIC_MUTEX_INIT; static GHashTable *oh_ep_table; static GHashTable *oh_resource_id_table; @@ -100,7 +132,7 @@ **/ SaErrorT oh_uid_initialize(void) { - int rval; + SaErrorT rval; uid_lock(&oh_uid_lock); if(!initialized) { @@ -144,7 +176,7 @@ * * Returns: positive unsigned int, failure is 0. **/ -guint oh_uid_from_entity_path(SaHpiEntityPathT *ep) +SaHpiUint32T oh_uid_from_entity_path(SaHpiEntityPathT *ep) { gpointer key; gpointer value; @@ -240,13 +272,12 @@ * * Returns: success 0, failure -1. **/ -gint oh_uid_remove(guint uid) +SaErrorT oh_uid_remove(SaHpiUint32T uid) { EP_XREF *ep_xref; gpointer key; - int rval; - if (!oh_uid_is_initialized()) return -1; + if (!oh_uid_is_initialized()) return SA_ERR_HPI_ERROR; /* check entry exist in oh_resource_id_table */ key = (gpointer)&uid; @@ -255,7 +286,7 @@ if(!ep_xref) { dbg("error freeing oh_resource_id_table"); uid_unlock(&oh_uid_lock); - return -1; + return SA_ERR_HPI_ERROR; } /* check netry exist in oh_resource_id_table */ @@ -264,7 +295,7 @@ if(!ep_xref) { dbg("error freeing oh_resource_id_table"); uid_unlock(&oh_uid_lock); - return -1; + return SA_ERR_HPI_ERROR; } g_hash_table_remove(oh_resource_id_table, &ep_xref->resource_id); @@ -274,9 +305,7 @@ uid_unlock(&oh_uid_lock); - rval = oh_uid_map_to_file(); - - return rval; + return oh_uid_map_to_file(); } /** @@ -287,7 +316,7 @@ * * Returns: success returns resourceID/uid, failure is 0. **/ -guint oh_uid_lookup(SaHpiEntityPathT *ep) +SaHpiUint32T oh_uid_lookup(SaHpiEntityPathT *ep) { EP_XREF *ep_xref; SaHpiEntityPathT entitypath; @@ -318,20 +347,20 @@ /** * oh_entity_path_lookup - * @id: pointer to resource_id/uid identifying entity path + * @id: resource_id/uid identifying entity path * @ep: pointer to memory to fill in with entity path * * Fetches entity path based upon resource id, @id. * * Returns: success 0, failed -1. **/ -gint oh_entity_path_lookup(guint *id, SaHpiEntityPathT *ep) +SaErrorT oh_entity_path_lookup(SaHpiUint32T id, SaHpiEntityPathT *ep) { EP_XREF *ep_xref; - gpointer key = id; + gpointer key = &id; - if (!id || !ep) return -1; - if (!oh_uid_is_initialized()) return -1; + if (!id || !ep) return SA_ERR_HPI_ERROR; + if (!oh_uid_is_initialized()) return SA_ERR_HPI_ERROR; /* check hash table for entry in oh_ep_table */ uid_lock(&oh_uid_lock); @@ -339,14 +368,14 @@ if(!ep_xref) { dbg("error looking up EP to get uid"); uid_unlock(&oh_uid_lock); - return -1 ; + return SA_ERR_HPI_ERROR ; } memcpy(ep, &ep_xref->entity_path, sizeof(SaHpiEntityPathT)); uid_unlock(&oh_uid_lock); - return 0; + return SA_OK; } /** @@ -356,7 +385,7 @@ * * Return value: success 0, failed -1. **/ -gint oh_uid_map_to_file(void) +SaErrorT oh_uid_map_to_file(void) { char *uid_map_file; int file; @@ -373,14 +402,14 @@ if(file < 0) { dbg("Configuration file '%s' could not be opened", uid_map_file); uid_unlock(&oh_uid_lock); - return -1; + return SA_ERR_HPI_ERROR; } /* write resource id */ if (write(file, (void *)&resource_id, sizeof(resource_id)) != sizeof(resource_id)) { dbg("write resource_id failed"); close(file); - return -1; + return SA_ERR_HPI_ERROR; } /* write all EP_XREF data records */ @@ -389,12 +418,12 @@ if(close(file) != 0) { dbg("Couldn't close file '%s'.", uid_map_file); uid_unlock(&oh_uid_lock); - return -1; + return SA_ERR_HPI_ERROR; } uid_unlock(&oh_uid_lock); - return 0; + return SA_OK; } Modified: openhpi/trunk/utils/uid_utils.h =================================================================== --- openhpi/trunk/utils/uid_utils.h 2006-07-17 18:27:26 UTC (rev 5925) +++ openhpi/trunk/utils/uid_utils.h 2006-07-17 18:30:12 UTC (rev 5926) @@ -22,48 +22,22 @@ #warning *** Include oh_utils.h instead of individual utility header files *** #endif -#define dbg_uid_lock(format, ...) \ - do { \ - if (getenv("OPENHPI_DBG_UID_LOCK") && !strcmp("YES",getenv("OPENHPI_DBG_UID_LOCK"))){ \ - fprintf(stderr, " UID_LOCK: %s:%d:%s: ", __FILE__, __LINE__, __func__); \ - fprintf(stderr, format "\n", ## __VA_ARGS__); \ - } \ - } while(0) +#include <SaHpi.h> -#define uid_lock(uidmutex) \ - do { \ - dbg_uid_lock("Locking UID mutex..."); \ - g_static_mutex_lock(uidmutex); \ - dbg_uid_lock("OK. UID mutex locked."); \ - } while (0) - -#define uid_unlock(uidmutex) \ - do { \ - dbg_uid_lock("Unlocking UID mutex..."); \ - g_static_mutex_unlock(uidmutex); \ - dbg_uid_lock("OK. UID mutex unlocked."); \ - } while (0) - #ifdef __cplusplus extern "C" { #endif -/* hpi internal apis */ +/* Unique Resource ID utility functions */ SaErrorT oh_uid_initialize(void); SaHpiBoolT oh_uid_is_initialized(void); -guint oh_uid_from_entity_path(SaHpiEntityPathT *ep); -gint oh_uid_remove(guint uid); -guint oh_uid_lookup(SaHpiEntityPathT *ep); -gint oh_entity_path_lookup(guint *id, SaHpiEntityPathT *ep); -gint oh_uid_map_to_file(void); +SaHpiUint32T oh_uid_from_entity_path(SaHpiEntityPathT *ep); +SaErrorT oh_uid_remove(SaHpiUint32T uid); +SaHpiUint32T oh_uid_lookup(SaHpiEntityPathT *ep); +SaErrorT oh_entity_path_lookup(SaHpiUint32T id, SaHpiEntityPathT *ep); +SaErrorT oh_uid_map_to_file(void); #ifdef __cplusplus } #endif -/* uid to entity path cross reference (xref) data structure */ -typedef struct { - SaHpiResourceIdT resource_id; - SaHpiEntityPathT entity_path; -} EP_XREF; - #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-17 18:27:33
|
Revision: 5925 Author: renierm Date: 2006-07-17 11:27:26 -0700 (Mon, 17 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5925&view=rev Log Message: ----------- #1524018 Moving exposed definitions to corresponding c files Modified Paths: -------------- openhpi/trunk/utils/epath_utils.c openhpi/trunk/utils/epath_utils.h openhpi/trunk/utils/rpt_utils.c openhpi/trunk/utils/rpt_utils.h Modified: openhpi/trunk/utils/epath_utils.c =================================================================== --- openhpi/trunk/utils/epath_utils.c 2006-07-16 20:01:24 UTC (rev 5924) +++ openhpi/trunk/utils/epath_utils.c 2006-07-17 18:27:26 UTC (rev 5925) @@ -23,6 +23,13 @@ #include <oh_utils.h> #include <oh_error.h> +/* Defines to create canonical entity path strings */ +#define ELEMENTS_IN_SaHpiEntityT 2 +#define EPATHSTRING_START_DELIMITER "{" +#define EPATHSTRING_START_DELIMITER_CHAR '{' +#define EPATHSTRING_END_DELIMITER "}" +#define EPATHSTRING_VALUE_DELIMITER "," + /** * oh_encode_entitypath: * @epstr: Pointer to canonical entity path string. Modified: openhpi/trunk/utils/epath_utils.h =================================================================== --- openhpi/trunk/utils/epath_utils.h 2006-07-16 20:01:24 UTC (rev 5924) +++ openhpi/trunk/utils/epath_utils.h 2006-07-17 18:27:26 UTC (rev 5925) @@ -31,13 +31,6 @@ /* Max number of digits an enitity instance has */ #define OH_MAX_LOCATION_DIGITS 6 -/* Defines to create canonical entity path strings */ -#define ELEMENTS_IN_SaHpiEntityT 2 -#define EPATHSTRING_START_DELIMITER "{" -#define EPATHSTRING_START_DELIMITER_CHAR '{' -#define EPATHSTRING_END_DELIMITER "}" -#define EPATHSTRING_VALUE_DELIMITER "," - #ifdef __cplusplus extern "C" { #endif Modified: openhpi/trunk/utils/rpt_utils.c =================================================================== --- openhpi/trunk/utils/rpt_utils.c 2006-07-16 20:01:24 UTC (rev 5924) +++ openhpi/trunk/utils/rpt_utils.c 2006-07-17 18:27:26 UTC (rev 5925) @@ -19,6 +19,21 @@ #include <oh_utils.h> #include <oh_error.h> +typedef struct { + SaHpiRptEntryT rpt_entry; + int owndata; + void *data; /* private data for the owner of the RPTable */ + GSList *rdrlist; /* Contains RDRecords for sequence lookups */ + GHashTable *rdrtable; /* Contains RDRecords for fast RecordId lookups */ +} RPTEntry; + +typedef struct { + SaHpiRdrT rdr; + int owndata; + void *data; /* private data for the owner of the rpt entry. */ +} RDRecord; + + static RPTEntry *get_rptentry_by_rid(RPTable *table, SaHpiResourceIdT rid) { GSList *rptnode = NULL; Modified: openhpi/trunk/utils/rpt_utils.h =================================================================== --- openhpi/trunk/utils/rpt_utils.h 2006-07-16 20:01:24 UTC (rev 5924) +++ openhpi/trunk/utils/rpt_utils.h 2006-07-17 18:27:26 UTC (rev 5925) @@ -40,21 +40,7 @@ GHashTable *rptable; /* Contains RPTEntrys for fast EntryId lookups */ } RPTable; -typedef struct { - SaHpiRptEntryT rpt_entry; - int owndata; - void *data; /* private data for the owner of the RPTable */ - GSList *rdrlist; /* Contains RDRecords for sequence lookups */ - GHashTable *rdrtable; /* Contains RDRecords for fast RecordId lookups */ -} RPTEntry; -typedef struct { - SaHpiRdrT rdr; - int owndata; - void *data; /* private data for the owner of the rpt entry. */ -} RDRecord; - - /* General RPT calls */ SaErrorT oh_init_rpt(RPTable *table); SaErrorT oh_flush_rpt(RPTable *table); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pd...@us...> - 2006-07-16 20:01:26
|
Revision: 5924 Author: pdphan Date: 2006-07-16 13:01:24 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5924&view=rev Log Message: ----------- Add new interfaces to snmp_bc plugin, feature 1523505 Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.c Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.c 2006-07-16 20:01:18 UTC (rev 5923) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.c 2006-07-16 20:01:24 UTC (rev 5924) @@ -375,6 +375,81 @@ return(SA_ERR_HPI_INTERNAL_ERROR); } +/** + * snmp_bc_set_autoinsert_timeout: + * @hnd: Handler data pointer. + * @rid: Resource ID. + * @timeout: timeout to set. + * + * Set hotswap autoinsert timeout. + * + * Return values: + * SA_ERR_HPI_READ_ONLY - Normal case. + * SA_ERR_HPI_INVALID_PARAMS - Pointer parameter(s) are NULL. + **/ +SaErrorT snmp_bc_set_autoinsert_timeout(void *hnd, + SaHpiTimeoutT Timeout) +{ + if (!hnd) { + dbg("Invalid parameter."); + return(SA_ERR_HPI_INVALID_PARAMS); + } + + return(SA_ERR_HPI_READ_ONLY); + +} + +/** + * snmp_bc_get_autoextract_timeout: + * @hnd: Handler data pointer. + * @rid: Resource ID. + * @timeout: Storage for returned timeout value. + * + * Get a resource's hotswap autoextract timeout. + * + * Return values: + * SA_OK - Normal case. + * SA_ERR_HPI_INVALID_PARAMS - Pointer parameter(s) are NULL. + **/ +SaErrorT snmp_bc_get_autoextract_timeout(void *hnd, + SaHpiResourceIdT rid, + SaHpiTimeoutT *Timeout) +{ + if (!hnd || !Timeout) { + dbg("Invalid parameter."); + return(SA_ERR_HPI_INVALID_PARAMS); + } + + *Timeout = SAHPI_TIMEOUT_IMMEDIATE; + return(SA_OK); + +} + +/** + * snmp_bc_set_autoextract_timeout: + * @hnd: Handler data pointer. + * @rid: Resource ID. + * @timeout: timeout to set. + * + * Set a resource hotswap autoextract timeout. + * + * Return values: + * SA_ERR_HPI_READ_ONLY - Normal case. + * SA_ERR_HPI_INVALID_PARAMS - Pointer parameter(s) are NULL. + **/ +SaErrorT snmp_bc_set_autoextract_timeout(void *hnd, + SaHpiResourceIdT rid, + SaHpiTimeoutT Timeout) +{ + if (!hnd) { + dbg("Invalid parameter."); + return(SA_ERR_HPI_INVALID_PARAMS); + } + + return(SA_ERR_HPI_READ_ONLY); + +} + void * oh_get_hotswap_state (void *, SaHpiResourceIdT, SaHpiHsStateT *) __attribute__ ((weak, alias("snmp_bc_get_hotswap_state"))); @@ -390,4 +465,15 @@ void * oh_get_indicator_state (void *, SaHpiResourceIdT, SaHpiHsIndicatorStateT) __attribute__ ((weak, alias("snmp_bc_get_indicator_state"))); +void * oh_set_autoinsert_timeout (void *, SaHpiTimeoutT) + __attribute__ ((weak, alias("snmp_bc_set_autoinsert_timeout"))); + +void * oh_get_autoextract_timeout (void *, SaHpiResourceIdT, SaHpiTimeoutT *) + __attribute__ ((weak, alias("snmp_bc_get_autoextract_timeout"))); + +void * oh_set_autoextract_timeout (void *, SaHpiResourceIdT, SaHpiTimeoutT) + __attribute__ ((weak, alias("snmp_bc_set_autoextract_timeout"))); + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pd...@us...> - 2006-07-16 20:01:24
|
Revision: 5923 Author: pdphan Date: 2006-07-16 13:01:18 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5923&view=rev Log Message: ----------- Add new interfaces to snmp_bc plugin, feature 1523505 Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.h Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.h =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.h 2006-07-14 20:57:44 UTC (rev 5922) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_hotswap.h 2006-07-16 20:01:18 UTC (rev 5923) @@ -36,4 +36,16 @@ SaHpiResourceIdT rid, SaHpiHsIndicatorStateT state); +SaErrorT snmp_bc_set_autoinsert_timeout(void *hnd, + SaHpiTimeoutT Timeout); + +SaErrorT snmp_bc_get_autoextract_timeout(void *hnd, + SaHpiResourceIdT rid, + SaHpiTimeoutT *Timeout); + +SaErrorT snmp_bc_set_autoextract_timeout(void *hnd, + SaHpiResourceIdT rid, + SaHpiTimeoutT Timeout); + + #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-14 20:57:50
|
Revision: 5922 Author: renierm Date: 2006-07-14 13:57:44 -0700 (Fri, 14 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5922&view=rev Log Message: ----------- #1522779 Fixing oh_decode_time. was not setting buffer DataLength Modified Paths: -------------- openhpi/trunk/utils/sahpi_time_utils.c openhpi/trunk/utils/t/sahpi/sahpi_time_utils_test.c Modified: openhpi/trunk/utils/sahpi_time_utils.c =================================================================== --- openhpi/trunk/utils/sahpi_time_utils.c 2006-07-14 20:56:18 UTC (rev 5921) +++ openhpi/trunk/utils/sahpi_time_utils.c 2006-07-14 20:57:44 UTC (rev 5922) @@ -60,7 +60,7 @@ strcpy((char *)working.Data,"SAHPI_TIME_UNSPECIFIED "); count = sizeof("SAHPI_TIME_UNSPECIFIED "); } else if (time > SAHPI_TIME_UNSPECIFIED) { /*invalid time*/ - strcpy((char *)working.Data,"invalid time "); + strcpy((char *)working.Data,"Invalid time "); count = sizeof("Invalid time "); } else { /*relative time*/ tt = time / 1000000000; @@ -70,6 +70,7 @@ } if (count == 0) { return(SA_ERR_HPI_INTERNAL_ERROR); } + else working.DataLength = count; err = oh_copy_textbuffer(buffer, &working); if (err != SA_OK) { return(err); } Modified: openhpi/trunk/utils/t/sahpi/sahpi_time_utils_test.c =================================================================== --- openhpi/trunk/utils/t/sahpi/sahpi_time_utils_test.c 2006-07-14 20:56:18 UTC (rev 5921) +++ openhpi/trunk/utils/t/sahpi/sahpi_time_utils_test.c 2006-07-14 20:57:44 UTC (rev 5922) @@ -97,6 +97,11 @@ printf(" Not receiving expected string SAHPI_TIME_UNSPECIFIED\n"); return -1; } + if (buffer.DataLength < strlen("SAHPI_TIME_UNSPECIFIED")) { + printf(" Error! Testcase failed. Line=%d\n", __LINE__); + printf(" DataLength was not set to correct number"); + return -1; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-14 20:56:25
|
Revision: 5921 Author: renierm Date: 2006-07-14 13:56:18 -0700 (Fri, 14 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5921&view=rev Log Message: ----------- #1521589 fixing addition of autoextract abis Modified Paths: -------------- openhpi/trunk/src/event.c openhpi/trunk/src/plugin.c Modified: openhpi/trunk/src/event.c =================================================================== --- openhpi/trunk/src/event.c 2006-07-14 19:36:24 UTC (rev 5920) +++ openhpi/trunk/src/event.c 2006-07-14 20:56:18 UTC (rev 5921) @@ -24,13 +24,9 @@ #include <oh_config.h> #include <oh_handler.h> #include <oh_plugin.h> -#include <oh_hotswap.h> -#include <oh_lock.h> -#include <oh_threaded.h> #include <oh_domain.h> #include <oh_session.h> #include <oh_alarm.h> -#include <oh_init.h> #include <oh_utils.h> #include <oh_error.h> Modified: openhpi/trunk/src/plugin.c =================================================================== --- openhpi/trunk/src/plugin.c 2006-07-14 19:36:24 UTC (rev 5920) +++ openhpi/trunk/src/plugin.c 2006-07-14 20:56:18 UTC (rev 5921) @@ -967,6 +967,10 @@ "oh_set_hotswap_state"); (*abi)->request_hotswap_action = lt_dlsym(plugin->dl_handle, "oh_request_hotswap_action"); + (*abi)->get_autoextract_timeout = lt_dlsym(plugin->dl_handle, + "oh_get_autoextract_timeout"); + (*abi)->set_autoextract_timeout = lt_dlsym(plugin->dl_handle, + "oh_set_autoextract_timeout"); (*abi)->get_power_state = lt_dlsym(plugin->dl_handle, "oh_get_power_state"); (*abi)->set_power_state = lt_dlsym(plugin->dl_handle, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ses...@us...> - 2006-07-14 19:36:36
|
Revision: 5920 Author: sesherman Date: 2006-07-14 12:36:24 -0700 (Fri, 14 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5920&view=rev Log Message: ----------- #1518360 comment: Combine BEM temp sensors; Change BEM voltage sensor to be a threshold Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_discover_bc.c openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.h Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_discover_bc.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_discover_bc.c 2006-07-14 19:12:33 UTC (rev 5919) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_discover_bc.c 2006-07-14 19:36:24 UTC (rev 5920) @@ -856,7 +856,7 @@ } /** - * snmp_bc_discover_blades: + * snmp_bc_discover_blade: * @handler: Pointer to handler's data. * @ep_root: Pointer to chassis Root Entity Path which comes from openhpi.conf. * @blade_vector: Bitmap vector of installed blades. @@ -1005,6 +1005,7 @@ } err = snmp_bc_set_resource_slot_state_sensor(handle, e, blade_width); + /********************************** * Discover Blade Expansion Modules **********************************/ Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-14 19:12:33 UTC (rev 5919) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-14 19:36:24 UTC (rev 5920) @@ -58,9 +58,6 @@ EN_SWITCH_NON_REDUNDANT|0x0EA16000|SAHPI_MINOR|OVR_SEV|"Chassis running with nonredundant I/O modules" # Power Module Redundancy Sensor - event-only -# FIXME:: Last 2 are missing from MMv2.- Are there replacements or were they never asserted? -# Shouldn't last two be mapped to power domain x sensors? -# Do we need this and the power domain x sensors?. When is EN_NR_PWR_SUPPLY raised? EN_NR_PWR_SUPPLY|0x08080001|SAHPI_MINOR|OVR_SEV|"Insufficient chassis power to support redundancy" EN_NR_PWR_SUPPLY_DOM_1|0x08081001|SAHPI_MINOR|OVR_SEV|"Power modules are nonredundant in domain 1" EN_NR_PWR_SUPPLY_DOM_2|0x08081002|SAHPI_MINOR|OVR_SEV|"Power modules are nonredundant in domain 2" @@ -131,14 +128,14 @@ EN_I2C_HI_FAULT_3_35V|0x08033481|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"Chassis 3.3V over recommended voltage" # FIXME:: MM BUG: - had EN_PFA_HI_FAULT_3_35V (blade severity but chassis string) # need to add EN_I2C_LO_FAULT_3_35V with right severity -EN_I2C_LO_FAULT_3_35V|0xFFFFFFF0|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"System under recommended voltage on +3.3v." -EN_I2C_LO_FAULT_3_35V|0xFFFFFFF0|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"Chassis 3.3V under recommended voltage" +EN_I2C_LO_FAULT_3_35V|0xFF000000|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"System under recommended voltage on +3.3v." +EN_I2C_LO_FAULT_3_35V|0xFF000000|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"Chassis 3.3V under recommended voltage" # System 5 Volt Sensor # FIXME:: MM BUG: EN_PFA_HI_FAULT_PLANAR_5V(warning) and EN_MAJOR_HI_FAULT_PLANAR_5V (crit) have same # Chassis string MAJOR should be I2C; other should be blade string -EN_I2C_HI_FAULT_PLANAR_5V|0xFFFFFFF1|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"System over recommended voltage for +5v." -EN_I2C_HI_FAULT_PLANAR_5V|0xFFFFFFF1|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"Chassis 5V over recommended voltage" +EN_I2C_HI_FAULT_PLANAR_5V|0xFF000001|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"System over recommended voltage for +5v." +EN_I2C_HI_FAULT_PLANAR_5V|0xFF000001|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"Chassis 5V over recommended voltage" EN_I2C_LO_FAULT_PLANAR_5V|0x06035801|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"System under recommended voltage for +5v." EN_I2C_LO_FAULT_PLANAR_5V|0x06035801|SAHPI_CRITICAL|OVR_SEV,OVR_VMM|"Chassis 5V under recommended voltage" @@ -477,7 +474,7 @@ EN_PFA_HI_FAULT_5V|0x08035500|SAHPI_MAJOR|OVR_SEV|"Blade 5V over fault." EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|OVR_SEV|"System under recommended 5V Fault." EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|OVR_SEV|"Blade 5V under recommended voltage" -# FIXME:: Why is Lewis instance 2 not 1? +# FIXME:: MM: Why is Lewis instance 2 not 1? EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF5|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 5V) over recommended voltage." EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF5|SAHPI_MAJOR|OVR_SEV|"system board 2 (5V Sense) over recommended voltage." EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF6|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 5V) under recommended voltage." @@ -520,13 +517,11 @@ EN_12VS_WARNING_LOW|0x0A036C02|SAHPI_MAJOR|OVR_SEV|"Standby +12V under recommended voltage." EN_12VS_WARNING_LOW|0x0A036C02|SAHPI_MAJOR|OVR_SEV|"12V standby under recommended voltage" -# Blade VRM 1 Volt Sensor +# Blade VRM Volt Sensor EN_PFA_HI_FAULT_VRM1|0x04401501|SAHPI_MAJOR|OVR_SEV|"System is over recommended voltage on VRM 1." EN_PFA_LO_FAULT_VRM1|0x04401801|SAHPI_MAJOR|OVR_SEV|"System is under recommended voltage on VRM 1." - -# FIXME:: MM: What blade generates this? -##EN_PFA_HI_FAULT_VRM2|0x04401502|SAHPI_MAJOR|OVR_SEV|"System is over recommended voltage on VRM 2." -##EN_PFA_LO_FAULT_VRM2|0x04401802|SAHPI_MAJOR|OVR_SEV|"System is under recommended voltage on VRM 2." +EN_PFA_HI_FAULT_VRM2|0x04401502|SAHPI_MAJOR|OVR_SEV|"System is over recommended voltage on VRM 2." +EN_PFA_LO_FAULT_VRM2|0x04401802|SAHPI_MAJOR|OVR_SEV|"System is under recommended voltage on VRM 2." # Blade CPU 1 Core Voltage Sensor EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF9|SAHPI_MAJOR|OVR_SEV|"processor 1 (CPU 1 VCore) over recommended voltage." @@ -794,6 +789,9 @@ EN_CPU1_TEMP_WARN|0x0421D401|SAHPI_MAJOR|OVR_SEV|"CPU 1 temperature warning" EN_CPU2_TEMP_WARN|0x0421D402|SAHPI_MAJOR|OVR_SEV|"CPU 2 temperature warning" EN_PFA_HI_EXCEDED_CUR_12V_A_MAX|0x0801B402|SAHPI_MAJOR|OVR_SEV|"Blade 12V over recommended current." +# FIXME:: MM needs way to tell number of blade DASD drives installed on blade +EN_FAULT_DASD1_HARD_DRIVE_0|0x06802000|SAHPI_CRITICAL|OVR_SEV|"Hard drive 0 fault" +EN_FAULT_DASD1_HARD_DRIVE_1|0x06800001|SAHPI_CRITICAL|OVR_SEV|"Hard drive 1 fault" #### Mapped to Install Error Operational State # FIXME:: Why is this INFO but EN_SWITCH_1_CFG_ERROR is MINOR. @@ -852,6 +850,7 @@ EN_STCONN_FAIL_BLADE_14|0x0E02200E|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"Connectivity status blade 14 communication failed." # Blade NMI Status Sensor +# FIXME:: Is this ever deasserted? Recovered? EN_SYSERR_LED_ONLY|0x0000007E|SAHPI_CRITICAL|OVR_SEV|"Critical Interrupt - Front panel NMI" ################################# @@ -859,21 +858,31 @@ ################################# # None +#################### +# BEM DASD Resources +#################### +# First two are for DASD on blades, which aren't currently generated +#EN_DASD1_REMOVED_DRIVE_0|0x0681E000|SAHPI_INFORMATIONAL|OVR_SEV,OVR_EXP|"Hard drive 0 removal detected." +#EN_DASD1_REMOVED_DRIVE_1|0x0681E001|SAHPI_INFORMATIONAL|OVR_SEV,OVR_EXP|"Hard drive 1 removal detected." +EN_DASD1_REMOVED_DRIVE_2|0x0681E002|SAHPI_INFORMATIONAL|OVR_SEV,OVR_EXP|"Hard drive 2 removal detected." +EN_DASD1_REMOVED_DRIVE_3|0x0681E003|SAHPI_INFORMATIONAL|OVR_SEV,OVR_EXP|"Hard drive 3 removal detected." +EN_DASD1_REMOVED_DRIVE_4|0x0681E004|SAHPI_INFORMATIONAL|OVR_SEV,OVR_EXP|"Hard drive 4 removal detected." +EN_DASD1_REMOVED_DRIVE_5|0x0681E005|SAHPI_INFORMATIONAL|OVR_SEV,OVR_EXP|"Hard drive 5 removal detected." + ################################ # Blade Expansion Module Sensors ################################ +# BEM Operational Sensor - event only +# FIXME:: MM Needs to add an readable operational Health OIDs for BEM +# FIXME:: MM needs to add PEU type explicitly - PEUx, BSEx, etc +EN_FAULT_DASD|0x06800000|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM Option failure" +EN_FAULT_DASD|0x06800000|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM failure" ###################################### # Blade Storage Expansion (BSE) Module ###################################### -# FIXME:: Does this sensor make sense; when are these generated? -# BSE Operational Sensor - event only -EN_FAULT_DASD|0x06800000|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM Option failure" -EN_FAULT_DASD|0x06800000|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM failure" - -# BSE Temperature Sensor - event only -# FIXME:: Does blade shutdown if BSE too hot? Different shutdown event for the blade vs BSE? +# BEM Temperature Sensor - event only EN_CUTOFF_HI_OVER_TEMP_BEM|0x0621C481|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"System shutoff due to BEM Option temperature." EN_CUTOFF_HI_OVER_TEMP_BEM|0x0621C481|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM temperature fault." EN_CUTOFF_HI_OVER_TEMP_DASD1_2|0x0681C482|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"System shutoff due to DASD Option temperature." @@ -917,33 +926,20 @@ EN_BEM_18V_WARNING_LOW|0x0E83C802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +18V under recommended voltage." EN_BEM_18V_WARNING_LOW|0x0E83C802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 18V under recommended voltage" -# FIXME:: Move these to blade resource? Else how tell events from BEM vs storage blades? -# BSE DASD 0 Operational Sensor - event only -##EN_DASD1_REMOVED_DRIVE_0|0x0681E000|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 0 removal detected." -##EN_FAULT_DASD1_HARD_DRIVE_0|0x06802000|SAHPI_CRITICAL|OVR_SEV|"Hard drive 0 fault" +# BEM DASD 1 Operational Sensor - event only EN_FAULT_DASD1_SCSI_ID_2|0x06801002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"Hard Drive Fault (SCSI ID 2)" +EN_FAULT_DASD1_HARD_DRIVE_2|0x06800002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"Hard drive 2 fault" -# BSE DASD 1 Operational Sensor - event only -##EN_DASD1_REMOVED_DRIVE_1|0x0681E001|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 1 removal detected." -##EN_FAULT_DASD1_HARD_DRIVE_1|0x06800001|SAHPI_CRITICAL|OVR_SEV|"Hard drive 1 fault" +# BEM DASD 2 Operational Sensor - event only EN_FAULT_DASD1_SCSI_ID_3|0x06801003|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"Hard Drive Fault (SCSI ID 3)" +EN_FAULT_DASD1_HARD_DRIVE_3|0x06800003|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"Hard drive 3 fault" -# BSE DASD 2 Operational Sensor - event only -##EN_DASD1_REMOVED_DRIVE_2|0x0681E002|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 2 removal detected." -##EN_FAULT_DASD1_HARD_DRIVE_2|0x06800002|SAHPI_CRITICAL|OVR_SEV|"Hard drive 2 fault" +# BEM DASD 3 Operational Sensor - event only +EN_FAULT_DASD1_HARD_DRIVE_4|0x06800004|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"Hard drive 4 fault" -# BSE DASD 3 Operational Sensor - event only -##EN_DASD1_REMOVED_DRIVE_3|0x0681E003|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 3 removal detected." -##EN_FAULT_DASD1_HARD_DRIVE_3|0x06800003|SAHPI_CRITICAL|OVR_SEV|"Hard drive 3 fault" +# Currently not generated - Only 2 DASDs on blade (0 and 1), 3 on BEMs (2,3,4) +#EN_FAULT_DASD1_HARD_DRIVE_5|0x06800005|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"Hard drive 5 fault" -# BSE DASD 4 Operational Sensor - event only -##EN_DASD1_REMOVED_DRIVE_4|0x0681E004|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 4 removal detected." -##EN_FAULT_DASD1_HARD_DRIVE_4|0x06800004|SAHPI_CRITICAL|OVR_SEV|"Hard drive 4 fault" - -# BSE DASD 5 Operational Sensor - event only -##EN_DASD1_REMOVED_DRIVE_5|0x0681E005|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 5 removal detected." -##EN_FAULT_DASD1_HARD_DRIVE_5|0x06800005|SAHPI_CRITICAL|OVR_SEV|"Hard drive 5 fault" - ############################# # PCI Expansion (PEU2) Module ############################# @@ -1013,6 +1009,7 @@ #################### # Media Tray Operational Status Sensor - event only +# FIXME:: MM needs to add a readable Health State for Media Tray EN_FAULT_FP_R|0x09020000|SAHPI_MINOR|OVR_SEV,OVR_RID|"System front panel controller not responding." EN_FRONT_PANEL_TEMP_FAIL|0x06A2E001|SAHPI_MAJOR|OVR_SEV,OVR_RID|"Front panel temperature is unavailable. Cooling capacity set to maximum" @@ -1110,7 +1107,6 @@ #################### # I/O Module Operational Status Sensor - EN_FAULT_SWITCH_1|0x0EA00001|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"I/O module 1 Fault" EN_FAULT_SWITCH_1|0x0EA00001|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"I/O Module 1 fault" EN_FAULT_SWITCH_1|0x0EA00001|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"I/O module 1 Fault Multiple I/O module failures" @@ -1155,7 +1151,7 @@ EN_SWITCH_9_INSUFFICIENT_PWR|0x0E00B009|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"I/O Module 9 is not allowed to power on due to insufficient power." EN_SWITCH_10_INSUFFICIENT_PWR|0x0E00B00A|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"I/O Module 10 is not allowed to power on due to insufficient power." -# In old MM code, this condition caused the I/O module not to be powered up. In newer MM code this condition is +# In old MM code, this condition caused the I/O module not to be powered up. In newer MM code, this condition is # just a warning and the I/O module powers on. EN_SWITCH_1_CFG_ERROR|0x0EA0C001|SAHPI_MINOR|OVR_SEV,OVR_RID|"I/O module 1 is incompatible with Blade Server configuration." EN_SWITCH_1_CFG_ERROR|0x0EA0C001|SAHPI_MINOR|OVR_SEV,OVR_RID|"I/O Module 1 incompatible with blade configuration" Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-14 19:12:33 UTC (rev 5919) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-14 19:36:24 UTC (rev 5920) @@ -684,6 +684,69 @@ }, .comment = "Slot", }, + /* BEM DASD */ + { + .rpt = { + .ResourceInfo = { + .ManufacturerId = IBM_MANUFACTURING_ID, + }, + .ResourceEntity = { + .Entry[0] = + { + .EntityType = SAHPI_ENT_DISK_DRIVE, + .EntityLocation = SNMP_BC_HPI_LOCATION_BASE, + }, + { + .EntityType = SAHPI_ENT_SYS_EXPANSION_BOARD, + .EntityLocation = SNMP_BC_HPI_LOCATION_BASE, + }, + { + .EntityType = SAHPI_ENT_SBC_BLADE, + .EntityLocation = SNMP_BC_HPI_LOCATION_BASE, + }, + { + .EntityType = SAHPI_ENT_PHYSICAL_SLOT, + .EntityLocation = SNMP_BC_HPI_LOCATION_BASE, + }, + { + .EntityType = SAHPI_ENT_ROOT, + .EntityLocation = 0, + } + }, + .ResourceCapabilities = SAHPI_CAPABILITY_FRU | + SAHPI_CAPABILITY_RDR | + SAHPI_CAPABILITY_RESOURCE | + SAHPI_CAPABILITY_SENSOR, + .ResourceSeverity = SAHPI_MAJOR, + .ResourceFailed = SAHPI_FALSE, + }, + .res_info = { + .mib = { + .OidHealth = '\0', + .HealthyValue = 0, + .OidReset = '\0', + .OidPowerState = '\0', + .OidPowerOnOff = '\0', + .OidUuid = '\0', + .OidResourceWidth = '\0', + }, + .cur_state = SAHPI_HS_STATE_ACTIVE, + .prev_state = SAHPI_HS_STATE_ACTIVE, + .event_array = { + { + .event = "0681E00x", /* EN_DASD1_REMOVED_DRIVE_x */ + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_HS_STATE_NOT_PRESENT, + .event_auto_state = 0, + .recovery_state = SAHPI_HS_STATE_ACTIVE, + .recovery_auto_state = 0, + }, + {}, + }, + }, + .comment = "BEM DASD", + }, {} /* Terminate array with a null element */ }; @@ -1609,9 +1672,8 @@ .event_state = SAHPI_ES_UPPER_CRIT, .recovery_state = SAHPI_ES_UNSPECIFIED, }, - /* FIXME: Need right number from MM */ { - .event = "FFFFFFF0", /* EN_I2C_LO_FAULT_3_35V */ + .event = "FF000000", /* EN_I2C_LO_FAULT_3_35V */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, @@ -1695,9 +1757,8 @@ .assert_mask = SAHPI_ES_LOWER_CRIT | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_LOWER_CRIT | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Need right number from MM */ { - .event = "FFFFFFF1", /* EN_I2C_HI_FAULT_PLANAR_5V */ + .event = "FF000001", /* EN_I2C_HI_FAULT_PLANAR_5V */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, @@ -3503,7 +3564,7 @@ }, .comment = "Blade 12 Volt Sensor", }, - /* Blade VRM 1 Voltage Sensor */ + /* Blade VRM Voltage Sensor */ { .index = 11, .sensor = { @@ -3575,11 +3636,27 @@ .event_state = SAHPI_ES_LOWER_MAJOR, .recovery_state = SAHPI_ES_UNSPECIFIED, }, + { + .event = "04401502", /* EN_PFA_HI_FAULT_VRM2 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "04401802", /* EN_PFA_LO_FAULT_VRM2 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, }, - .comment = "Blade VRM 1 Voltage Sensor", + .comment = "Blade VRM Voltage Sensor", }, /* Blade Operational Status Sensor */ { @@ -4141,6 +4218,22 @@ .recovery_state = SAHPI_ES_RUNNING, }, { + .event = "06802000", /* EN_FAULT_DASD1_HARD_DRIVE_0 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_DEGRADED, + .recovery_state = SAHPI_ES_RUNNING, + }, + { + .event = "06800001", /* EN_FAULT_DASD1_HARD_DRIVE_1 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_DEGRADED, + .recovery_state = SAHPI_ES_RUNNING, + }, + { .event = "0E00600x", /* EN_BLADE_x_CFG_FAIL */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, @@ -7080,13 +7173,53 @@ /************************************** * Blade Expansion Module (BEM) Sensors **************************************/ - struct snmp_bc_sensor snmp_bc_bem_sensors[] = { - /* BSE Temperature Sensor - event only */ + /* Legacy Blade BEM support - newer blades use IPMI sensors */ + /* BEM Operational Status Sensor - event only */ { .index = 1, .sensor = { .Num = 1, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + { + .event = "06800000", /* EN_FAULT_DASD */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_OFF_LINE, + .recovery_state = SAHPI_ES_RUNNING, + }, + {}, + }, + .reading2event = {}, + }, + .comment = "BEM Operational Status Sensor", + }, + /* BEM Temperature Sensor - event only */ + { + .index = 2, + .sensor = { + .Num = 2, .Type = SAHPI_TEMPERATURE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -7144,13 +7277,13 @@ }, .reading2event = {}, }, - .comment = "BSE Temperature Sensor", + .comment = "BEM Temperature Sensor", }, /* BEM Voltage Sensor - event only */ { - .index = 2, + .index = 3, .sensor = { - .Num = 2, + .Num = 3, .Type = SAHPI_VOLTAGE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -7322,226 +7455,14 @@ }, .comment = "BEM Voltage Sensor", }, - /* BEM DASD 0 Operational Sensor - event only */ - { - .index = 3, - .sensor = { - .Num = 3, - .Type = SAHPI_OPERATIONAL, - .Category = SAHPI_EC_AVAILABILITY, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, - .DataFormat = { - .IsSupported = SAHPI_FALSE, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_FALSE, - }, - .Oem = 0, - }, - .sensor_info = { - .cur_state = SAHPI_ES_RUNNING, - .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_OFF_LINE, - .deassert_mask = SAHPI_ES_OFF_LINE, - .event_array = { - { - .event = "06801002", /* EN_FAULT_DASD1_SCSI_ID_2 */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_OFF_LINE, - .recovery_state = SAHPI_ES_RUNNING, - }, - {}, - }, - .reading2event = {}, - }, - .comment = "BEM DASD 0 Operational Sensor", - }, - /* BEM DASD 1 Operational Sensor - event only */ - { - .index = 4, - .sensor = { - .Num = 4, - .Type = SAHPI_OPERATIONAL, - .Category = SAHPI_EC_AVAILABILITY, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, - .DataFormat = { - .IsSupported = SAHPI_FALSE, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_FALSE, - }, - .Oem = 0, - }, - .sensor_info = { - .cur_state = SAHPI_ES_RUNNING, - .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_OFF_LINE, - .deassert_mask = SAHPI_ES_OFF_LINE, - .event_array = { - { - .event = "06801003", /* EN_FAULT_DASD1_SCSI_ID_3 */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_OFF_LINE, - .recovery_state = SAHPI_ES_RUNNING, - }, - {}, - }, - .reading2event = {}, - }, - .comment = "BEM DASD 1 Operational Sensor", - }, - /* BEM DASD 2 Operational Sensor - event only */ - { - .index = 5, - .sensor = { - .Num = 5, - .Type = SAHPI_OPERATIONAL, - .Category = SAHPI_EC_AVAILABILITY, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, - .DataFormat = { - .IsSupported = SAHPI_FALSE, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_FALSE, - }, - .Oem = 0, - }, - .sensor_info = { - .cur_state = SAHPI_ES_RUNNING, - .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_OFF_LINE, - .deassert_mask = SAHPI_ES_OFF_LINE, - .event_array = { -/* FIXME:: Add events */ - {}, - }, - .reading2event = {}, - }, - .comment = "BEM DASD 2 Operational Sensor", - }, - /* BEM DASD 3 Operational Sensor - event only */ - { - .index = 6, - .sensor = { - .Num = 6, - .Type = SAHPI_OPERATIONAL, - .Category = SAHPI_EC_AVAILABILITY, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, - .DataFormat = { - .IsSupported = SAHPI_FALSE, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_FALSE, - }, - .Oem = 0, - }, - .sensor_info = { - .cur_state = SAHPI_ES_RUNNING, - .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_OFF_LINE, - .deassert_mask = SAHPI_ES_OFF_LINE, - .event_array = { - /* FIXME:: Add events */ - {}, - }, - .reading2event = {}, - }, - .comment = "BEM DASD 3 Operational Sensor", - }, - /* BEM DASD 4 Operational Sensor - event only */ - { - .index = 7, - .sensor = { - .Num = 7, - .Type = SAHPI_OPERATIONAL, - .Category = SAHPI_EC_AVAILABILITY, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, - .DataFormat = { - .IsSupported = SAHPI_FALSE, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_FALSE, - }, - .Oem = 0, - }, - .sensor_info = { - .cur_state = SAHPI_ES_RUNNING, - .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_OFF_LINE, - .deassert_mask = SAHPI_ES_OFF_LINE, - .event_array = { - /* FIXME:: Add events */ - {}, - }, - .reading2event = {}, - }, - .comment = "BEM DASD 4 Operational Sensor", - }, - /* BEM DASD 5 Operational Sensor - event only */ - { - .index = 8, - .sensor = { - .Num = 8, - .Type = SAHPI_OPERATIONAL, - .Category = SAHPI_EC_AVAILABILITY, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, - .DataFormat = { - .IsSupported = SAHPI_FALSE, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_FALSE, - }, - .Oem = 0, - }, - .sensor_info = { - .cur_state = SAHPI_ES_RUNNING, - .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_OFF_LINE, - .deassert_mask = SAHPI_ES_OFF_LINE, - .event_array = { - /* FIXME:: Add events */ - {}, - }, - .reading2event = {}, - }, - .comment = "BEM DASD 5 Operational Sensor", - }, {} /* Terminate array with a null element */ }; +#define SNMP_BC_LAST_NON_IPMI_BEM_SENSOR 3 + /* BEM IPMI Sensors */ -/* NOTE: Define IPMI Tags as uppercase */ - -#define SNMP_BC_LAST_NON_IPMI_BEM_SENSOR 4 +/* NOTE: Define IPMI tags as uppercase */ struct snmp_bc_ipmi_sensor snmp_bc_bem_ipmi_sensors[] = { /* PEU2 Temperature Sensor */ { @@ -8556,6 +8477,153 @@ {} /* Terminate array with a null element */ }; +/* BEM DASD Sensors */ +struct snmp_bc_sensor snmp_bc_bse_dasd_sensors[] = { + /* BEM DASD 1 Operational Sensor - event only */ + { + .index = 1, + .sensor = { + .Num = 1, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + { + .event = "06801002", /* EN_FAULT_DASD1_SCSI_ID_2 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_OFF_LINE, + .recovery_state = SAHPI_ES_RUNNING, + }, + { + .event = "06800002", /* EN_FAULT_DASD1_HARD_DRIVE_2 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_OFF_LINE, + .recovery_state = SAHPI_ES_RUNNING, + }, + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 1 Operational Sensor", + }, + /* BEM DASD 2 Operational Sensor - event only */ + { + .index = 2, + .sensor = { + .Num = 2, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + { + .event = "06801003", /* EN_FAULT_DASD1_SCSI_ID_3 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_OFF_LINE, + .recovery_state = SAHPI_ES_RUNNING, + }, + { + .event = "06800003", /* EN_FAULT_DASD1_HARD_DRIVE_3 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_OFF_LINE, + .recovery_state = SAHPI_ES_RUNNING, + }, + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 2 Operational Sensor", + }, + + {} /* Terminate array with a null element */ +}; + +struct snmp_bc_sensor snmp_bc_bse3_dasd_sensors[] = { + /* BEM DASD 3 Operational Sensor - event only */ + { + .index = 1, + .sensor = { + .Num = 3, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + { + .event = "06800004", /* EN_FAULT_DASD1_HARD_DRIVE_4 */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_OFF_LINE, + .recovery_state = SAHPI_ES_RUNNING, + }, + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 3 Operational Sensor", + }, + + {} /* Terminate array with a null element */ +}; + /******************** * Media Tray Sensors ********************/ Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.h =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.h 2006-07-14 19:12:33 UTC (rev 5919) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.h 2006-07-14 19:36:24 UTC (rev 5920) @@ -106,7 +106,8 @@ BC_RPT_ENTRY_MEDIA_TRAY, BC_RPT_ENTRY_BLOWER_MODULE, BC_RPT_ENTRY_POWER_MODULE, - BC_RPT_ENTRY_PHYSICAL_SLOT + BC_RPT_ENTRY_PHYSICAL_SLOT, + BC_RPT_ENTRY_BEM_DASD } BCRptEntryT; typedef enum { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pd...@us...> - 2006-07-14 19:12:41
|
Revision: 5919 Author: pdphan Date: 2006-07-14 12:12:33 -0700 (Fri, 14 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5919&view=rev Log Message: ----------- Change snmp_bc get bulk default, feature 1522040 Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_session.c Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_session.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_session.c 2006-07-14 19:12:12 UTC (rev 5918) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_session.c 2006-07-14 19:12:33 UTC (rev 5919) @@ -230,8 +230,8 @@ if (count_per_getbulk != NULL) { custom_handle->count_per_getbulk = atoi((char *)count_per_getbulk); - if (custom_handle->count_per_getbulk <= 10) { - custom_handle->count_per_getbulk = 10; + if (custom_handle->count_per_getbulk <= SNMP_BC_BULK_MIN) { + custom_handle->count_per_getbulk = SNMP_BC_BULK_MIN; } } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pd...@us...> - 2006-07-14 19:12:17
|
Revision: 5918 Author: pdphan Date: 2006-07-14 12:12:12 -0700 (Fri, 14 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5918&view=rev Log Message: ----------- Change snmp_bc get bulk default, feature 1522040 Modified Paths: -------------- openhpi/trunk/snmp/snmp_utils.h Modified: openhpi/trunk/snmp/snmp_utils.h =================================================================== --- openhpi/trunk/snmp/snmp_utils.h 2006-07-14 18:57:14 UTC (rev 5917) +++ openhpi/trunk/snmp/snmp_utils.h 2006-07-14 19:12:12 UTC (rev 5918) @@ -58,7 +58,8 @@ #include <net-snmp/library/transform_oids.h> #define MAX_ASN_STR_LEN 300 -#define SNMP_BC_BULK_DEFAULT 30 +#define SNMP_BC_BULK_DEFAULT 32 +#define SNMP_BC_BULK_MIN 16 #define SA_ERR_SNMP_BASE - 10000 #define SA_ERR_SNMP_NOSUCHOBJECT (SaErrorT)(SA_ERR_SNMP_BASE - SNMP_NOSUCHOBJECT) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dju...@us...> - 2006-07-14 18:57:20
|
Revision: 5917 Author: djudkovi Date: 2006-07-14 11:57:14 -0700 (Fri, 14 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5917&view=rev Log Message: ----------- Added Paths: ----------- openhpi/trunk/README_DAEMON Added: openhpi/trunk/README_DAEMON =================================================================== --- openhpi/trunk/README_DAEMON (rev 0) +++ openhpi/trunk/README_DAEMON 2006-07-14 18:57:14 UTC (rev 5917) @@ -0,0 +1,88 @@ +New OpenHPI Daemon Model: +====================== +The Default build and installation configuration for OpenHPI has been +move to the Daemon model. This results in several operational and +usage changes. + +When the library is built the Daemon is configured to link dynamically +to 'libopenhpistandard'. When a user application uses OpenHPI it links +to 'libopenhpiclient'. In both cases the user is usually unaware of +these two libraries. At any given time a symbolic link is present in +present in '/usr/local/lib' and pointing to either of the two. + +Ex: '/usr/local/lib/libopenhpi.a -> openhpi/client/libopenhpi.a' + +Here the link is set for an application to use OpenHPI. + +The link is set by use of the scritp 'openhpi-switcher'. Again the +user under normal usage is unaware of this script and its operation. + +Three Methods for using the Daemon: +========================== +There are three methods for starting the daemon at this point; manually +calling the installed 'init script', manually starting the daemon in +the foreground, or installing the 'init script' in one of the system +run levels and letting the system manage the daemon's execution. + +Manually Calling Init Script: +----------------------------------- +You can START and STOP the Daemon with the 'openhpid' init script. This +script first calls 'openhpi-switcher -set=standard' setting libopenhpi +to be the 'standard' library. Starts the daemon and upon successful +execution calls 'openhpi-switcher -set=client' setting libopenhpi to be +the 'client' library. An HPI consumer application is now ready to link +to 'libopenhpi' and begin interacting with the daemon. + +This script can be found in '/usr/local/etc/init.d/openhpid' or +alternately if installed in one of the system run levels in +'/etc/init.d/openhpid'. + +Example To Start: +$sudo /usr/local/etc/init.d/openhpid start +Set default openhpi to standard +Starting openhpid: +Set default openhpi to client [ OK ] +$ + +Example To Stop: +$sudo /usr/local/etc/init.d/openhpid stop +Stopping openhpid: [ OK ] +$ + +Manually Starting Daemon: +---------------------------------- +After performing 'make install' the 'openhpid' init script will reside +in '<DESTDIR>/etc/init.d/openhpid' and the binary daemon 'openhpid' +will reside in '<DESTDIR>/sbin/openhpid'. + +If the 'openhpid' init scritp is not used it will be necessary to manually + +1.'openhpi-switcher -set=standard' prior to executing 'openhpid' binary, +2.start daemon 'openhpid [options] [-c <path to openhpi.conf>]' and +3.'openhpi-switcher -set=client. + +This method will allow you to run the daemon in the foreground. See +'http://wiki.openhpi.org/OpenHPI/Manual/OpenHPIDaemon'. + +Example: +From Daemon Shell +>sudo openhpi-switcher --set=standard +Set default openhpi to standard +>sudo openhpid -n -c/etc/openhpi/openhpi.conf +openhpid started. +OPENHPI_CONF = /etc/openhpi/openhpi.conf +OPENHPI_DAEMON_PORT = 4743 + +From another shell +>sudo openhpi-switcher -set=client +> [Run your client Application Now] + + + +Installing Daemon into a Run Level: +-------------------------------------------- +By using the installation script 'install_initd' the run script 'openhpid' +can be installed in one the system run levels. This configuration most +closely matches a production machine. + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-13 07:54:03
|
Revision: 5916 Author: renierm Date: 2006-07-13 00:53:52 -0700 (Thu, 13 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5916&view=rev Log Message: ----------- #1521589 Hotswap management improvements Modified Paths: -------------- openhpi/trunk/include/oh_handler.h openhpi/trunk/include/oh_hotswap.h openhpi/trunk/include/sahpimacros.h openhpi/trunk/src/event.c openhpi/trunk/src/hotswap.c openhpi/trunk/src/init.c openhpi/trunk/src/initialize.c openhpi/trunk/src/safhpi.c openhpi/trunk/src/threaded.c Modified: openhpi/trunk/include/oh_handler.h =================================================================== --- openhpi/trunk/include/oh_handler.h 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/include/oh_handler.h 2006-07-13 07:53:52 UTC (rev 5916) @@ -1,7 +1,7 @@ /* -*- linux-c -*- * * Copyright (c) 2003 by Intel Corp. - * (C) Copright IBM Corp 2003, 2004, 2005 + * (C) Copright IBM Corp 2003-2006 * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -138,11 +138,6 @@ 0xee, 0x77, 0x8a, 0x5f, 0x32, 0xcf, 0x45, 0x3b, 0xa6, 0x50, 0x51, 0x88, 0x14, 0xdc, 0x95, 0x6c }; - -static const uuid_t UUID_OH_ABI_V2 = { - 0x13, 0xad, 0xfc, 0xc7, 0xd7, 0x88, 0x4a, 0xaf, - 0xb9, 0x66, 0x5c, 0xd3, 0x0b, 0xdc, 0xd8, 0x08 -}; */ /* 13adfcc7-d788-4aaf-b966-5cd30bdcd808 */ @@ -167,7 +162,7 @@ struct oh_abi_v2 { - /** + /*** * The function create an instance * @return the handler of the instance, this can be recognised * as a domain in upper layer @@ -175,346 +170,486 @@ * for example, "snmp" for SNMP, "smi" for IPMI SMI * @param addr the interface name. * for example, "ipaddr:port" for SNMP, "if_num" for IPMI SMI - */ + **/ void *(*open)(GHashTable *handler_config); void (*close)(void *hnd); - /** - * The function wait for event. + + /******************************************************************** + * PLUGIN HPI ABIs - These plugin functions implement a large part of + * the HPI APIs from the specification. + ********************************************************************/ + + /*** + * saHpiEventGet - passed down to plugin * - * * @remark at the start-up, plugins must send out res/rdr event for all * resources and rdrs so as to OpenHPI can build up RPT/RDR. * @return >0 if an event is returned; 0 if timeout; otherwise an error * occur. * @param event if existing, plugin store the event. - */ + **/ SaErrorT (*get_event)(void *hnd, struct oh_event *event); - /** - * prompt plug-in to search for new resources - */ + /*** + * saHpiDiscover, passed down to plugin + **/ SaErrorT (*discover_resources)(void *hnd); SaErrorT (*discover_domain_resources)(void *hnd, SaHpiDomainIdT did); - /** - * set resource tag, this is passed down so the device has + /*** + * saHpiResourceTagSet, this is passed down so the device has * a chance to set it in nv storage if it likes - */ - SaErrorT (*set_resource_tag)(void *hnd, SaHpiResourceIdT id, SaHpiTextBufferT *tag); + **/ + SaErrorT (*set_resource_tag)(void *hnd, + SaHpiResourceIdT id, + SaHpiTextBufferT *tag); - /** - * set resource severity is pushed down so the device has + /*** + * saHpiResourceSeveritySet is pushed down so the device has * a chance to set it in nv storage - */ - SaErrorT (*set_resource_severity)(void *hnd, SaHpiResourceIdT id, SaHpiSeverityT sev); + **/ + SaErrorT (*set_resource_severity)(void *hnd, + SaHpiResourceIdT id, + SaHpiSeverityT sev); - /****************************************************** - * - * Event Log functions - * - *****************************************************/ + /***************** + * EVENT LOG ABIs + *****************/ - /** - * get info from EL - */ - SaErrorT (*get_el_info)(void *hnd, SaHpiResourceIdT id, SaHpiEventLogInfoT *info); + /*** + * saHpiEventLogInfoGet + **/ + SaErrorT (*get_el_info)(void *hnd, + SaHpiResourceIdT id, + SaHpiEventLogInfoT *info); - /** - * set time to EL - */ - SaErrorT (*set_el_time)(void *hnd, SaHpiResourceIdT id, SaHpiTimeT time); + /*** + * saHpiEventLogTimeSet + **/ + SaErrorT (*set_el_time)(void *hnd, + SaHpiResourceIdT id, + SaHpiTimeT time); - /** - * add entry to EL - */ - SaErrorT (*add_el_entry)(void *hnd, SaHpiResourceIdT id, const SaHpiEventT *Event); + /*** + * saHpiEventLogEntryAdd + **/ + SaErrorT (*add_el_entry)(void *hnd, + SaHpiResourceIdT id, + const SaHpiEventT *Event); - /** - * get entry in EL - */ - SaErrorT (*get_el_entry)(void *hnd, SaHpiResourceIdT id, - SaHpiEventLogEntryIdT current, - SaHpiEventLogEntryIdT *prev, - SaHpiEventLogEntryIdT *next, - SaHpiEventLogEntryT *entry, - SaHpiRdrT *rdr, - SaHpiRptEntryT *rptentry); + /*** + * saHpiEventLogEntryGet + **/ + SaErrorT (*get_el_entry)(void *hnd, + SaHpiResourceIdT id, + SaHpiEventLogEntryIdT current, + SaHpiEventLogEntryIdT *prev, + SaHpiEventLogEntryIdT *next, + SaHpiEventLogEntryT *entry, + SaHpiRdrT *rdr, + SaHpiRptEntryT *rptentry); - /** - * clear EL - */ + /*** + * saHpiEventLogClear + **/ SaErrorT (*clear_el)(void *hnd, SaHpiResourceIdT id); - /** - * set the EL state (enabled/disabled) - */ + /*** + * saHpiEventLogStateSet + **/ SaErrorT (*set_el_state)(void *hnd, SaHpiResourceIdT id, SaHpiBoolT e); - /** - * reset EL overflow - */ + /*** + * saHpiEventLogOverflowReset + **/ SaErrorT (*reset_el_overflow)(void *hnd, SaHpiResourceIdT id); - /* end of EL functions */ + /************** + * SENSOR ABIs + **************/ - /** - * get sensor reading - */ - SaErrorT (*get_sensor_reading)(void *hnd, SaHpiResourceIdT id, + /*** + * saHpiSensorReadingGet + **/ + SaErrorT (*get_sensor_reading)(void *hnd, + SaHpiResourceIdT id, SaHpiSensorNumT num, SaHpiSensorReadingT *reading, SaHpiEventStateT *state); - /** - * get sensor thresholds - */ - SaErrorT (*get_sensor_thresholds)(void *hnd, SaHpiResourceIdT id, - SaHpiSensorNumT num, - SaHpiSensorThresholdsT *thres); + /*** + * saHpiSensorThresholdsGet + **/ + SaErrorT (*get_sensor_thresholds)(void *hnd, + SaHpiResourceIdT id, + SaHpiSensorNumT num, + SaHpiSensorThresholdsT *thres); - /** - * set sensor thresholds - */ - SaErrorT (*set_sensor_thresholds)(void *hnd, SaHpiResourceIdT id, - SaHpiSensorNumT num, - const SaHpiSensorThresholdsT *thres); + /*** + * saHpiSensorThresholdsSet + **/ + SaErrorT (*set_sensor_thresholds)(void *hnd, + SaHpiResourceIdT id, + SaHpiSensorNumT num, + const SaHpiSensorThresholdsT *thres); - /** - * get sensor enable - */ + /*** + * saHpiSensorEnableGet + **/ + SaErrorT (*get_sensor_enable)(void *hnd, + SaHpiResourceIdT id, + SaHpiSensorNumT num, + SaHpiBoolT *enable); - SaErrorT (*get_sensor_enable)(void *hnd, SaHpiResourceIdT id, - SaHpiSensorNumT num, - SaHpiBoolT *enable); - - /** - * set sensor enable - */ - - SaErrorT (*set_sensor_enable)(void *hnd, SaHpiResourceIdT id, + /*** + * saHpiSensorEnableSet + **/ + SaErrorT (*set_sensor_enable)(void *hnd, + SaHpiResourceIdT id, SaHpiSensorNumT num, SaHpiBoolT enable); - /** - * get sensor event enables - */ - SaErrorT (*get_sensor_event_enables)(void *hnd, SaHpiResourceIdT id, - SaHpiSensorNumT num, - SaHpiBoolT *enables); + /*** + * saHpiSensorEventEnableGet + **/ + SaErrorT (*get_sensor_event_enables)(void *hnd, + SaHpiResourceIdT id, + SaHpiSensorNumT num, + SaHpiBoolT *enables); - /** - * set sensor event enables - */ - SaErrorT (*set_sensor_event_enables)(void *hnd, SaHpiResourceIdT id, - SaHpiSensorNumT num, - const SaHpiBoolT enables); + /*** + * saHpiSensorEventEnableSet + **/ + SaErrorT (*set_sensor_event_enables)(void *hnd, + SaHpiResourceIdT id, + SaHpiSensorNumT num, + const SaHpiBoolT enables); - /** - * get sensor event masks - */ - SaErrorT (*get_sensor_event_masks)(void *hnd, SaHpiResourceIdT id, - SaHpiSensorNumT num, + /*** + * saHpiSensorEventMasksGet + **/ + SaErrorT (*get_sensor_event_masks)(void *hnd, + SaHpiResourceIdT id, + SaHpiSensorNumT num, SaHpiEventStateT *AssertEventMask, SaHpiEventStateT *DeassertEventMask); - /** - * set sensor event masks - */ + + /*** + * saHpiSensorEventMasksSet + **/ SaErrorT (*set_sensor_event_masks)(void *hnd, SaHpiResourceIdT id, SaHpiSensorNumT num, SaHpiSensorEventMaskActionT act, SaHpiEventStateT AssertEventMask, SaHpiEventStateT DeassertEventMask); + /*************** + * CONTROL ABIs + ***************/ - /* SLD - 6/8/2004 we might want to change the names of these calls - as control calls also get mode now */ + /*** + * saHpiControlGet + **/ + SaErrorT (*get_control_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiCtrlNumT num, + SaHpiCtrlModeT *mode, + SaHpiCtrlStateT *state); - /** - * get control state - */ - SaErrorT (*get_control_state)(void *hnd, SaHpiResourceIdT id, - SaHpiCtrlNumT num, - SaHpiCtrlModeT *mode, - SaHpiCtrlStateT *state); + /*** + * saHpiControlSet + **/ + SaErrorT (*set_control_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiCtrlNumT num, + SaHpiCtrlModeT mode, + SaHpiCtrlStateT *state); - /** - * set control state - */ - SaErrorT (*set_control_state)(void *hnd, SaHpiResourceIdT id, - SaHpiCtrlNumT num, - SaHpiCtrlModeT mode, - SaHpiCtrlStateT *state); + /***************** + * INVENTORY ABIs + *****************/ - /** - * get Inventory Data Record - */ - SaErrorT (*get_idr_info)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiIdrInfoT *idrinfo); + /*** + * saHpiIdrInfoGet + **/ + SaErrorT (*get_idr_info)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiIdrInfoT *idrinfo); - /** - * get Inventory Data Area Header - */ - SaErrorT (*get_idr_area_header)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiIdrAreaTypeT areatype, - SaHpiEntryIdT areaid, SaHpiEntryIdT *nextareaid, SaHpiIdrAreaHeaderT *header); + /*** + * saHpiIdrAreaHeaderGet + **/ + SaErrorT (*get_idr_area_header)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiIdrAreaTypeT areatype, + SaHpiEntryIdT areaid, + SaHpiEntryIdT *nextareaid, + SaHpiIdrAreaHeaderT *header); - /** - * add Inventory Data Area - */ - SaErrorT (*add_idr_area)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiIdrAreaTypeT areatype, SaHpiEntryIdT *areaid); + /*** + * saHpiIdrAreaAdd + **/ + SaErrorT (*add_idr_area)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiIdrAreaTypeT areatype, + SaHpiEntryIdT *areaid); - /** - * delete Inventory Data Area - */ - SaErrorT (*del_idr_area)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiEntryIdT areaid); + /*** + * saHpiIdrAreaDelete + **/ + SaErrorT (*del_idr_area)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiEntryIdT areaid); - /** - * get Inventory Data Field - */ - SaErrorT (*get_idr_field)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, - SaHpiEntryIdT areaid, SaHpiIdrFieldTypeT fieldtype, SaHpiEntryIdT fieldid, - SaHpiEntryIdT *nextfieldid, SaHpiIdrFieldT *field); + /*** + * saHpiIdrFieldGet + **/ + SaErrorT (*get_idr_field)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiEntryIdT areaid, + SaHpiIdrFieldTypeT fieldtype, + SaHpiEntryIdT fieldid, + SaHpiEntryIdT *nextfieldid, + SaHpiIdrFieldT *field); - /** - * add Inventory Data Field - */ - SaErrorT (*add_idr_field)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiIdrFieldT *field ); + /*** + * saHpiIdrFieldAdd + **/ + SaErrorT (*add_idr_field)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiIdrFieldT *field); - /** - * set Inventory Data Field - */ - SaErrorT (*set_idr_field)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiIdrFieldT *field ); + /*** + * saHpiIdrFieldSet + **/ + SaErrorT (*set_idr_field)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiIdrFieldT *field); - /** - * delete Inventory Data Field - */ - SaErrorT (*del_idr_field)(void *hnd, SaHpiResourceIdT rid, SaHpiIdrIdT idrid, SaHpiEntryIdT areaid, SaHpiEntryIdT fieldid); + /*** + * saHpiIdrFieldDelete + **/ + SaErrorT (*del_idr_field)(void *hnd, + SaHpiResourceIdT rid, + SaHpiIdrIdT idrid, + SaHpiEntryIdT areaid, + SaHpiEntryIdT fieldid); - /** - * get watchdog timer info - */ - SaErrorT (*get_watchdog_info)(void *hnd, SaHpiResourceIdT id, - SaHpiWatchdogNumT num, - SaHpiWatchdogT *wdt); + /*** + * saHpiWatchdogTimerGet + **/ + SaErrorT (*get_watchdog_info)(void *hnd, + SaHpiResourceIdT id, + SaHpiWatchdogNumT num, + SaHpiWatchdogT *wdt); - /** - * set watchdog timer info - */ - SaErrorT (*set_watchdog_info)(void *hnd, SaHpiResourceIdT id, - SaHpiWatchdogNumT num, - SaHpiWatchdogT *wdt); + /*** + * saHpiWatchdogTimerSet + **/ + SaErrorT (*set_watchdog_info)(void *hnd, + SaHpiResourceIdT id, + SaHpiWatchdogNumT num, + SaHpiWatchdogT *wdt); - /** - * reset watchdog timer info - */ - SaErrorT (*reset_watchdog)(void *hnd, SaHpiResourceIdT id, - SaHpiWatchdogNumT num); + /*** + * saHpiWatchdogTimerReset + **/ + SaErrorT (*reset_watchdog)(void *hnd, + SaHpiResourceIdT id, + SaHpiWatchdogNumT num); - /********************************************************************** - * Annuciator Functions - * - *********************************************************************/ + /****************** + * ANNUCIATOR ABIs + ******************/ /* the first 5 Annunciator functions are really operating on a single Annunciator and doing things to the announcements that it contains. For this reason the functions are named _announce */ - SaErrorT (*get_next_announce)(void *, SaHpiResourceIdT, - SaHpiAnnunciatorNumT, SaHpiSeverityT, - SaHpiBoolT, SaHpiAnnouncementT *); + /*** + * saHpiAnnunciatorGetNext + **/ + SaErrorT (*get_next_announce)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiSeverityT sev, + SaHpiBoolT ack, + SaHpiAnnouncementT *ann); - SaErrorT (*get_announce)(void *, SaHpiResourceIdT, - SaHpiAnnunciatorNumT, SaHpiEntryIdT, SaHpiAnnouncementT *); + /*** + * saHpiAnnunciatorGet + **/ + SaErrorT (*get_announce)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiEntryIdT annid, + SaHpiAnnouncementT *ann); - SaErrorT (*ack_announce)(void *, SaHpiResourceIdT, - SaHpiAnnunciatorNumT, SaHpiEntryIdT, SaHpiSeverityT); + /*** + * saHpiAnnunciatorAcknowledge + **/ + SaErrorT (*ack_announce)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiEntryIdT annid, + SaHpiSeverityT sev); - SaErrorT (*add_announce)(void *, SaHpiResourceIdT, - SaHpiAnnunciatorNumT, SaHpiAnnouncementT *); + /*** + * saHpiAnnunciatorAdd + **/ + SaErrorT (*add_announce)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiAnnouncementT *ann); - SaErrorT (*del_announce)(void *, SaHpiResourceIdT, - SaHpiAnnunciatorNumT, SaHpiEntryIdT, SaHpiSeverityT); + /*** + * saHpiAnnunciatorDelete + **/ + SaErrorT (*del_announce)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiEntryIdT annid, + SaHpiSeverityT sev); /* the last 2 functions deal with Annunciator mode setting */ - SaErrorT (*get_annunc_mode)(void *hnd, SaHpiResourceIdT id, - SaHpiAnnunciatorNumT num, SaHpiAnnunciatorModeT *mode); - SaErrorT (*set_annunc_mode)(void *hnd, SaHpiResourceIdT id, - SaHpiAnnunciatorNumT num, SaHpiAnnunciatorModeT mode); + /*** + * saHpiAnnunciatorModeGet + **/ + SaErrorT (*get_annunc_mode)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiAnnunciatorModeT *mode); + /*** + * saHpiAnnunciatorModeSet + **/ + SaErrorT (*set_annunc_mode)(void *hnd, + SaHpiResourceIdT id, + SaHpiAnnunciatorNumT num, + SaHpiAnnunciatorModeT mode); - - - /** - * hotswap policy cancel - */ - SaErrorT (*hotswap_policy_cancel)(void *hnd, SaHpiResourceIdT id, - SaHpiTimeoutT timeout); + /*************** + * HOTSWAP ABIs + ***************/ - /** - * set autoinsert timeout - */ - SaErrorT (*set_autoinsert_timeout)(void *hnd, SaHpiTimeoutT timeout); + /*** + * saHpiHotSwapPolycyCancel + **/ + SaErrorT (*hotswap_policy_cancel)(void *hnd, + SaHpiResourceIdT id, + SaHpiTimeoutT timeout); - - /** - * get hotswap state - */ - SaErrorT (*get_hotswap_state)(void *hnd, SaHpiResourceIdT id, - SaHpiHsStateT *state); + /*** + * saHpiAutoInsertTimeoutSet + **/ + SaErrorT (*set_autoinsert_timeout)(void *hnd, + SaHpiTimeoutT timeout); - /** - * set hotswap state - */ - SaErrorT (*set_hotswap_state)(void *hnd, SaHpiResourceIdT id, - SaHpiHsStateT state); + /*** + * saHpiAutoExtractTimeoutGet + **/ + SaErrorT (*get_autoextract_timeout)(void *hnd, + SaHpiResourceIdT id, + SaHpiTimeoutT *timeout); - /** - * request hotswap state - */ - SaErrorT (*request_hotswap_action)(void *hnd, SaHpiResourceIdT id, - SaHpiHsActionT act); + /*** + * saHpiAutoExtractTimeoutSet + **/ + SaErrorT (*set_autoextract_timeout)(void *hnd, + SaHpiResourceIdT id, + SaHpiTimeoutT timeout); - /** - * get power state - */ - SaErrorT (*get_power_state)(void *hnd, SaHpiResourceIdT id, - SaHpiPowerStateT *state); + /*** + * saHpiHotSwapStateGet + **/ + SaErrorT (*get_hotswap_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiHsStateT *state); - /** - * set power state - */ - SaErrorT (*set_power_state)(void *hnd, SaHpiResourceIdT id, - SaHpiPowerStateT state); + /*** + * saHpiHotSwapStateSet + **/ + SaErrorT (*set_hotswap_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiHsStateT state); - /** - * get indicator state - */ - SaErrorT (*get_indicator_state)(void *hnd, SaHpiResourceIdT id, - SaHpiHsIndicatorStateT *state); + /*** + * saHpiHotSwapActionRequest + **/ + SaErrorT (*request_hotswap_action)(void *hnd, + SaHpiResourceIdT id, + SaHpiHsActionT act); - /** - * set indicator state - */ - SaErrorT (*set_indicator_state)(void *hnd, SaHpiResourceIdT id, - SaHpiHsIndicatorStateT state); + /*** + * saHpiHotSwapIndicatorStateGet + **/ + SaErrorT (*get_indicator_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiHsIndicatorStateT *state); - /** - * control parameter - */ - SaErrorT (*control_parm)(void *hnd, SaHpiResourceIdT id, SaHpiParmActionT act); + /*** + * saHpiHotSwapIndicatorStateSet + **/ + SaErrorT (*set_indicator_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiHsIndicatorStateT state); - /** - * get reset state - */ - SaErrorT (*get_reset_state)(void *hnd, SaHpiResourceIdT id, - SaHpiResetActionT *act); + /************* + * POWER ABIs + *************/ - /** - * set_reset state - */ - SaErrorT (*set_reset_state)(void *hnd, SaHpiResourceIdT id, - SaHpiResetActionT act); + /*** + * saHpiResourcePowerStateGet + **/ + SaErrorT (*get_power_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiPowerStateT *state); + /*** + * saHpiResourcePowerStateSet + **/ + SaErrorT (*set_power_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiPowerStateT state); + /**************** + * PARAMETER ABIs + *****************/ + + /*** + * saHpiParmControl + **/ + SaErrorT (*control_parm)(void *hnd, + SaHpiResourceIdT id, + SaHpiParmActionT act); + + /************* + * RESET ABIs + *************/ + + /*** + * saHpiResourceResetStateGet + **/ + SaErrorT (*get_reset_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiResetActionT *act); + + /*** + * saHpiResourceResetStateSet + **/ + SaErrorT (*set_reset_state)(void *hnd, + SaHpiResourceIdT id, + SaHpiResetActionT act); + + }; /*The function is used for plugin loader to get interface*/ Modified: openhpi/trunk/include/oh_hotswap.h =================================================================== --- openhpi/trunk/include/oh_hotswap.h 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/include/oh_hotswap.h 2006-07-13 07:53:52 UTC (rev 5916) @@ -1,7 +1,7 @@ /* -*- linux-c -*- * * Copyright (c) 2004 by Intel Corp. - * (C) Copyright IBM Corp. 2005 + * (C) Copyright IBM Corp. 2005-2006 * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,47 +19,14 @@ #define __OH_HOTSWAP_H #include <SaHpi.h> -#include <glib.h> -#include <oh_event.h> #include <oh_domain.h> #ifdef __cplusplus extern "C" { #endif -/* - * Representation of additional resource data - * stored in the data field rpt_utils for each - * resource - */ - -struct oh_resource_data -{ - /* - The handler id of the resource - */ - unsigned int hid; - - /* - * The two fields are valid when resource is - * CAPABILITY_HOTSWAP - */ - - int controlled; - SaHpiTimeoutT auto_extract_timeout; -}; - -extern GSList *hs_eq; - -void process_hotswap_policy(void); -int hotswap_push_event(GSList **hs_eq, struct oh_event *e); -int hotswap_pop_event(GSList **hs_eq, struct oh_event *e); -int hotswap_has_event(GSList *hs_eq); - -SaHpiTimeoutT get_hotswap_auto_insert_timeout(struct oh_domain *domain); -void set_hotswap_auto_insert_timeout(struct oh_domain *domain, SaHpiTimeoutT t); -SaHpiTimeoutT get_default_hotswap_auto_extract_timeout(void); -void set_default_hotswap_auto_extract_timeout(SaHpiTimeoutT to); +SaHpiTimeoutT get_hotswap_auto_insert_timeout(struct oh_domain *d); +void set_hotswap_auto_insert_timeout(struct oh_domain *d, SaHpiTimeoutT t); SaHpiBoolT oh_allowed_hotswap_transition(SaHpiHsStateT from, SaHpiHsStateT to); Modified: openhpi/trunk/include/sahpimacros.h =================================================================== --- openhpi/trunk/include/sahpimacros.h 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/include/sahpimacros.h 2006-07-13 07:53:52 UTC (rev 5916) @@ -70,14 +70,14 @@ */ #define OH_HANDLER_GET(d, rid, h) \ do { \ - struct oh_resource_data *rd; \ - rd = oh_get_resource_data(&(d->rpt), rid); \ - if(!rd || !rd->hid) { \ + unsigned int *hid = NULL; \ + hid = oh_get_resource_data(&(d->rpt), rid); \ + if (!hid) { \ dbg("Can't find handler for Resource %d in Domain %d", rid, d->id); \ oh_release_domain(d); \ return SA_ERR_HPI_INVALID_RESOURCE; \ } \ - h = oh_get_handler(rd->hid); \ + h = oh_get_handler(*hid); \ } while (0) /* Modified: openhpi/trunk/src/event.c =================================================================== --- openhpi/trunk/src/event.c 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/src/event.c 2006-07-13 07:53:52 UTC (rev 5916) @@ -184,12 +184,6 @@ e->rdr.RdrType = SAHPI_NO_RECORD; } - if (e->res.ResourceCapabilities & SAHPI_CAPABILITY_MANAGED_HOTSWAP - && e->event.EventType == SAHPI_ET_HOTSWAP) { - hotswap_push_event(&hs_eq, full_event); - trace("Pushed hotswap event"); - } - oh_add_event_to_del(d->id, e); trace("Added event to EL"); @@ -246,14 +240,16 @@ struct oh_event hpie; d = oh_get_domain(e->did); - if(!d) { + if (!d) { dbg("Domain %d doesn't exist", e->did); return -1; } - rpt = &(d->rpt); + rpt = &(d->rpt); + memset(&hpie, 0, sizeof(hpie)); hpie.type = OH_ET_HPI; + if (e->type == OH_ET_RESOURCE_DEL) { rv = oh_remove_resource(rpt,e->u.res_event.entry.ResourceId); trace("Resource %d in Domain %d has been REMOVED.", @@ -271,19 +267,11 @@ hpie.u.hpi_event.event.Timestamp = SAHPI_TIME_UNSPECIFIED; } else { - struct oh_resource_data *rd = g_malloc0(sizeof(struct oh_resource_data)); + unsigned int *hid = g_malloc0(sizeof(unsigned int)); - if (!rd) { - oh_release_domain(d); - dbg("Couldn't allocate resource data"); - return SA_ERR_HPI_OUT_OF_MEMORY; - } + *hid = e->hid; - rd->hid = e->hid; - rd->controlled = 0; - rd->auto_extract_timeout = get_default_hotswap_auto_extract_timeout(); - - rv = oh_add_resource(rpt,&(e->u.res_event.entry),rd,0); + rv = oh_add_resource(rpt, &(e->u.res_event.entry), hid, 0); trace("Resource %d in Domain %d has been ADDED.", e->u.res_event.entry.ResourceId, e->did); Modified: openhpi/trunk/src/hotswap.c =================================================================== --- openhpi/trunk/src/hotswap.c 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/src/hotswap.c 2006-07-13 07:53:52 UTC (rev 5916) @@ -1,7 +1,7 @@ /* -*- linux-c -*- * * Copyright (c) 2003 by Intel Corp. - * (C) Copyright IBM Corp. 2003, 2004, 2005 + * (C) Copyright IBM Corp. 2003-2006 * Copyright (c) 2004 by FORCE Computers. * * This program is distributed in the hope that it will be useful, @@ -19,221 +19,19 @@ * Renier Morales <re...@us...> */ -#include <string.h> - #include <oh_hotswap.h> -#include <oh_handler.h> -#include <oh_plugin.h> -#include <oh_lock.h> -#include <oh_domain.h> -#include <oh_utils.h> -#include <oh_error.h> -GSList *hs_eq = NULL; - -void process_hotswap_policy() +SaHpiTimeoutT get_hotswap_auto_insert_timeout(struct oh_domain *d) { - SaHpiTimeT cur, est; - struct oh_event e; - struct oh_handler *handler = NULL; - struct oh_domain *domain = NULL; - RPTable *rpt; - GSList *tmp_hs_eq = NULL; - SaHpiEventT *event = NULL; - SaHpiRptEntryT *rptentry = NULL; - - int (*get_hotswap_state)(void *hnd, SaHpiResourceIdT rid, - SaHpiHsStateT *state); - - while (hotswap_pop_event(&hs_eq, &e) > 0) { - struct oh_resource_data *rd; - - event = &e.u.hpi_event.event; - rptentry = &e.u.hpi_event.res; - - if (e.type != OH_ET_HPI) { - dbg("Non-hpi event!"); - continue; - } - - if (event->EventType != SAHPI_ET_HOTSWAP) { - dbg("Non-hotswap event!"); - continue; - } - - if (!(rptentry->ResourceCapabilities & SAHPI_CAPABILITY_MANAGED_HOTSWAP)) { - dbg("Non-hotswapable resource?!"); - continue; - } - - domain = oh_get_domain(e.did); - if (!domain) { - dbg("No domain\n"); - continue; - } - /*rpt is impossible NULL */ - rpt = &domain->rpt; - - rd = oh_get_resource_data(rpt, rptentry->ResourceId); - if (!rd) { - dbg( "Can't find resource data for Resource %d", rptentry->ResourceId); - oh_release_domain(domain); - continue; - } - - if (rd->controlled) { - trace("Hotswap policy was cancelled by user."); - oh_release_domain(domain); - continue; - } - - handler = oh_get_handler(e.hid); - if (!handler) { - dbg("handler is NULL\n"); - oh_release_domain(domain); - continue; - } - - get_hotswap_state = handler->abi->get_hotswap_state; - if (!get_hotswap_state) { - oh_release_handler(handler); - oh_release_domain(domain); - dbg(" Very bad thing here or hotswap not yet supported"); - continue; - } - - oh_gettimeofday(&cur); - if (event->EventDataUnion.HotSwapEvent.HotSwapState == - SAHPI_HS_STATE_INSERTION_PENDING) { - if (get_hotswap_auto_insert_timeout(domain) != SAHPI_TIMEOUT_BLOCK) { - est = event->Timestamp + get_hotswap_auto_insert_timeout(domain); - if (cur>=est) { - handler->abi->set_hotswap_state(handler->hnd, - rptentry->ResourceId, - SAHPI_HS_STATE_ACTIVE); - } else { - /*push again in order to process in the feature*/ - hotswap_push_event(&tmp_hs_eq, &e); - } - } - } else if (event->EventDataUnion.HotSwapEvent.HotSwapState == - SAHPI_HS_STATE_EXTRACTION_PENDING) { - if (rd->auto_extract_timeout != SAHPI_TIMEOUT_BLOCK) { - est = e.u.hpi_event.event.Timestamp + rd->auto_extract_timeout; - if (cur>=est) { - handler->abi->set_hotswap_state(handler->hnd, - rptentry->ResourceId, - SAHPI_HS_STATE_INACTIVE); - } else { - /*push again in order to process in the feature*/ - hotswap_push_event(&tmp_hs_eq, &e); - } - } - } - oh_release_handler(handler); - oh_release_domain(domain); - } - - /* TODO: - 1. Make sure hs_eq has no events (hotswap_pop_event(&e) > 0) - 2. Make process_hotswap_policy reentrant (called by one thread for now). - */ - - hs_eq = tmp_hs_eq; + return d->ai_timeout; } -/* - * session_push_event pushs and event into a session. - * We store a copy of event so that caller of the function - * needn't care about ref counter of the event. -*/ - -int hotswap_push_event(GSList **hs_eq, struct oh_event *e) -{ - struct oh_event *e1; - - data_access_lock(); - - e1 = malloc(sizeof(*e1)); - if (!e1) { - dbg("Out of memory!"); - data_access_unlock(); - return -1; - } - memcpy(e1, e, sizeof(*e)); - - *hs_eq = g_slist_append(*hs_eq, (gpointer *) e1); - - data_access_unlock(); - - return 0; -} - -/* - * session_pop_event - pops events off the session. - * - * return codes are left as was, but it seems that return 1 for success - * here doesn't jive with the rest of the exit codes - */ - -int hotswap_pop_event(GSList **hs_eq, struct oh_event *e) -{ - GSList *head; - - data_access_lock(); - - if (g_slist_length(*hs_eq) == 0) { - data_access_unlock(); - return 0; - } - - head = *hs_eq; - *hs_eq = g_slist_remove_link(*hs_eq, head); - - memcpy(e, head->data, sizeof(*e)); - - free(head->data); - g_slist_free_1(head); - - data_access_unlock(); - - return 1; -} - -/* - * session_has_event - query if the session has events - */ -int hotswap_has_event(GSList *hs_eq) -{ - return (hs_eq == NULL) ? 0 : 1; -} - - -SaHpiTimeoutT get_hotswap_auto_insert_timeout(struct oh_domain *domain) -{ - return domain->ai_timeout; -} - -void set_hotswap_auto_insert_timeout(struct oh_domain *domain, +void set_hotswap_auto_insert_timeout(struct oh_domain *d, SaHpiTimeoutT to) { - domain->ai_timeout = to; + d->ai_timeout = to; } - -/* default auto extract timeout */ -static SaHpiTimeoutT hotswap_auto_extract_timeout = 0; - -SaHpiTimeoutT get_default_hotswap_auto_extract_timeout(void) -{ - return hotswap_auto_extract_timeout; -} - -void set_default_hotswap_auto_extract_timeout(SaHpiTimeoutT to) -{ - hotswap_auto_extract_timeout = to; -} - /* * this function determines whether a hotswap transition is allowed */ Modified: openhpi/trunk/src/init.c =================================================================== --- openhpi/trunk/src/init.c 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/src/init.c 2006-07-13 07:53:52 UTC (rev 5916) @@ -37,7 +37,7 @@ int _init(void) { SaErrorT rval; - SaHpiDomainCapabilitiesT capabilities = 0x00000000; + SaHpiDomainCapabilitiesT capabilities = 0X00000001; SaHpiTextBufferT tag; data_access_lock(); Modified: openhpi/trunk/src/initialize.c =================================================================== --- openhpi/trunk/src/initialize.c 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/src/initialize.c 2006-07-13 07:53:52 UTC (rev 5916) @@ -37,9 +37,9 @@ int init(void) { SaErrorT rval; - SaHpiDomainCapabilitiesT capabilities = 0x00000000; + SaHpiDomainCapabilitiesT capabilities = 0X00000001; SaHpiTextBufferT tag; - + data_access_lock(); printf("************ oh_threaded_init init() **********\n"); @@ -88,7 +88,7 @@ */ struct timespec waittime = { .tv_sec = 1, .tv_nsec = 1000L}; nanosleep(&waittime, NULL); - + /* Do not use SA_OK here in case it is ever changed to something * besides zero, The runtime stuff depends on zero being returned here * in order for the shared library to be completely initialized. @@ -149,7 +149,7 @@ /* Load plugins and create handlers*/ oh_process_config(&config); - + /* * Wipes away configuration lists (plugin_names and handler_configs). * global_params is not touched. @@ -180,7 +180,7 @@ dbg("Set init state"); /* infrastructure initialization has completed at this point */ - + /* Check if there are any handlers loaded */ if (config.handlers_defined == 0) { dbg("*Warning*: No handler definitions found in config file." @@ -194,7 +194,7 @@ my_global_param.u.daemon_mode, daemon); } - + /* Do not use SA_OK here in case it is ever changed to something * besides zero, The runtime stuff depends on zero being returned here * in order for the shared library to be completely initialized. Modified: openhpi/trunk/src/safhpi.c =================================================================== --- openhpi/trunk/src/safhpi.c 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/src/safhpi.c 2006-07-13 07:53:52 UTC (rev 5916) @@ -3383,10 +3383,9 @@ SaHpiRptEntryT *res; SaHpiDomainIdT did; SaHpiHsStateT currentstate; - SaErrorT rv; + SaErrorT error; struct oh_handler *h; struct oh_domain *d = NULL; - struct oh_resource_data *rd; SaHpiTimeoutT timeout; SaErrorT (*hotswap_policy_cancel)(void *hnd, SaHpiResourceIdT, SaHpiTimeoutT timeout); @@ -3402,48 +3401,40 @@ } /* per spec, we only allow a cancel from certain states */ - rv = saHpiHotSwapStateGet(SessionId, ResourceId, ¤tstate); - if(rv != SA_OK) { + error = saHpiHotSwapStateGet(SessionId, ResourceId, ¤tstate); + if (error != SA_OK) { dbg("Failed to determine current HS state of Resource %d", ResourceId); oh_release_domain(d); /* Unlock domain */ - return rv; + return error; } - if((currentstate != SAHPI_HS_STATE_INSERTION_PENDING) && + + if ((currentstate != SAHPI_HS_STATE_INSERTION_PENDING) && (currentstate != SAHPI_HS_STATE_EXTRACTION_PENDING)) { dbg("Invalid cancel from state %s",oh_lookup_hsstate(currentstate)); oh_release_domain(d); return SA_ERR_HPI_INVALID_REQUEST; } - rd = oh_get_resource_data(&(d->rpt), ResourceId); - if (!rd) { - dbg( "Can't find resource data for Resource %d in Domain %d",ResourceId,did); - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_PARAMS; - } OH_HANDLER_GET(d, ResourceId, h); timeout = d->ai_timeout; oh_release_domain(d); /* Unlock domain */ hotswap_policy_cancel = h ? h->abi->hotswap_policy_cancel : NULL; if (hotswap_policy_cancel) { - rv = hotswap_policy_cancel(h->hnd, ResourceId, timeout); + error = hotswap_policy_cancel(h->hnd, ResourceId, timeout); } else { - rv = SA_OK; + error = SA_OK; } - if (rv == SA_OK) { - rd->controlled = 1; - } oh_release_handler(h); - return rv; + return error; } SaErrorT SAHPI_API saHpiResourceActiveSet ( SAHPI_IN SaHpiSessionIdT SessionId, SAHPI_IN SaHpiResourceIdT ResourceId) { - SaErrorT rv; + SaErrorT error; SaErrorT (*set_hotswap_state)(void *hnd, SaHpiResourceIdT, SaHpiHsStateT state); @@ -3452,7 +3443,6 @@ SaHpiDomainIdT did; SaHpiHsStateT from; struct oh_domain *d = NULL; - struct oh_resource_data *rd; OH_CHECK_INIT_STATE(SessionId); OH_GET_DID(SessionId, did); @@ -3464,13 +3454,14 @@ return SA_ERR_HPI_CAPABILITY; } - rv = saHpiHotSwapStateGet(SessionId, ResourceId, &from); - if(rv != SA_OK) { + error = saHpiHotSwapStateGet(SessionId, ResourceId, &from); + if (error != SA_OK) { dbg("Failed to determine current HS state of Resource %d", ResourceId); oh_release_domain(d); /* Unlock domain */ - return rv; + return error; } - if(!oh_allowed_hotswap_transition(from, SAHPI_HS_STATE_ACTIVE)) { + + if (!oh_allowed_hotswap_transition(from, SAHPI_HS_STATE_ACTIVE)) { dbg("Not allowed to transition %s -> %s", oh_lookup_hsstate(from), oh_lookup_hsstate(SAHPI_HS_STATE_ACTIVE)); @@ -3478,21 +3469,6 @@ return SA_ERR_HPI_INVALID_REQUEST; } - rd = oh_get_resource_data(&(d->rpt), ResourceId); - if (!rd) { - dbg( "Can't find resource data for Resource %d in Domain %d",ResourceId,did); - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_PARAMS; - } - - if (!rd->controlled) { - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_REQUEST; - } - - /* this was done in the old code, so we do it here */ - rd->controlled = 0; - OH_HANDLER_GET(d, ResourceId, h); oh_release_domain(d); /* Unlock domain */ @@ -3502,18 +3478,18 @@ return SA_ERR_HPI_INVALID_CMD; } - rv = set_hotswap_state(h->hnd, ResourceId, SAHPI_HS_STATE_ACTIVE); + error = set_hotswap_state(h->hnd, ResourceId, SAHPI_HS_STATE_ACTIVE); oh_release_handler(h); - return rv; + return error; } SaErrorT SAHPI_API saHpiResourceInactiveSet ( SAHPI_IN SaHpiSessionIdT SessionId, SAHPI_IN SaHpiResourceIdT ResourceId) { - SaErrorT rv; + SaErrorT error; SaErrorT (*set_hotswap_state)(void *hnd, SaHpiResourceIdT rid, SaHpiHsStateT state); SaHpiRptEntryT *res; @@ -3521,7 +3497,6 @@ SaHpiDomainIdT did; SaHpiHsStateT from; struct oh_domain *d = NULL; - struct oh_resource_data *rd; OH_CHECK_INIT_STATE(SessionId); OH_GET_DID(SessionId, did); @@ -3533,13 +3508,14 @@ return SA_ERR_HPI_CAPABILITY; } - rv = saHpiHotSwapStateGet(SessionId, ResourceId, &from); - if(rv != SA_OK) { + error = saHpiHotSwapStateGet(SessionId, ResourceId, &from); + if (error != SA_OK) { dbg("Failed to determine current HS state of Resource %d", ResourceId); oh_release_domain(d); /* Unlock domain */ - return rv; + return error; } - if(!oh_allowed_hotswap_transition(from, SAHPI_HS_STATE_INACTIVE)) { + + if (!oh_allowed_hotswap_transition(from, SAHPI_HS_STATE_INACTIVE)) { dbg("Not allowed to transition %s -> %s", oh_lookup_hsstate(from), oh_lookup_hsstate(SAHPI_HS_STATE_INACTIVE)); @@ -3547,20 +3523,6 @@ return SA_ERR_HPI_INVALID_REQUEST; } - rd = oh_get_resource_data(&(d->rpt), ResourceId); - if (!rd) { - dbg("Can't find resource data for Resource %d in Domain %d",ResourceId,did); - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_PARAMS; - } - - if (!rd->controlled) { - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_REQUEST; - } - - rd->controlled = 0; - OH_HANDLER_GET(d, ResourceId, h); oh_release_domain(d); /* Unlock domain */ @@ -3570,10 +3532,10 @@ return SA_ERR_HPI_INVALID_CMD; } - rv = set_hotswap_state(h->hnd, ResourceId, SAHPI_HS_STATE_INACTIVE); + error = set_hotswap_state(h->hnd, ResourceId, SAHPI_HS_STATE_INACTIVE); oh_release_handler(h); - return rv; + return error; } SaErrorT SAHPI_API saHpiAutoInsertTimeoutGet( @@ -3590,22 +3552,15 @@ OH_CHECK_INIT_STATE(SessionId); OH_GET_DID(SessionId, did); - domain = oh_get_domain(did); - if (domain == NULL) { - return SA_ERR_HPI_INTERNAL_ERROR; - } + OH_GET_DOMAIN(did, domain); /* Lock domain */ *Timeout = get_hotswap_auto_insert_timeout(domain); - oh_release_domain(domain); + oh_release_domain(domain); /* Unlock domain */ return SA_OK; } - - - - SaErrorT SAHPI_API saHpiAutoInsertTimeoutSet( SAHPI_IN SaHpiSessionIdT SessionId, SAHPI_IN SaHpiTimeoutT Timeout) @@ -3614,7 +3569,7 @@ struct oh_domain *domain; unsigned int hid = 0, next_hid; struct oh_handler *h = NULL; - SaErrorT res = SA_OK; + SaErrorT error = SA_OK; if (Timeout != SAHPI_TIMEOUT_IMMEDIATE && Timeout != SAHPI_TIMEOUT_BLOCK && @@ -3623,16 +3578,15 @@ OH_CHECK_INIT_STATE(SessionId); OH_GET_DID(SessionId, did); - domain = oh_get_domain(did); - if (domain == NULL) { - return SA_ERR_HPI_INTERNAL_ERROR; - } + OH_GET_DOMAIN(did, domain); /* Lock domain */ if (domain->capabilities & SAHPI_DOMAIN_CAP_AUTOINSERT_READ_ONLY) { + oh_release_domain(domain); /* Unlock domain */ return SA_ERR_HPI_READ_ONLY; } - oh_getnext_handler_id(hid, &next_hid); + set_hotswap_auto_insert_timeout(domain, Timeout); + oh_getnext_handler_id(hid, &next_hid); while (next_hid) { hid = next_hid; @@ -3640,30 +3594,28 @@ h = oh_get_handler(hid); if (!h) { dbg("No such handler %d", hid); - res = SA_ERR_HPI_INTERNAL_ERROR; + error = SA_ERR_HPI_INTERNAL_ERROR; break; } if (h->abi->set_autoinsert_timeout != NULL) { - res = h->abi->set_autoinsert_timeout( + error = h->abi->set_autoinsert_timeout( h->hnd, Timeout); } oh_release_handler(h); - if (res != SA_OK) { + if (error != SA_OK) { break; } } oh_getnext_handler_id(hid, &next_hid); } - if (res != SA_OK) { + if (error != SA_OK) { oh_release_domain(domain); - return res; + return error; /* Unlock domain */ } - set_hotswap_auto_insert_timeout(domain, Timeout); + oh_release_domain(domain); /* Unlock domain */ - oh_release_domain(domain); - return SA_OK; } @@ -3672,10 +3624,15 @@ SAHPI_IN SaHpiResourceIdT ResourceId, SAHPI_OUT SaHpiTimeoutT *Timeout) { - SaHpiRptEntryT *res; - struct oh_resource_data *rd; + SaErrorT (*get_autoextract_timeout)(void *hnd, + SaHpiResourceIdT id, + SaHpiTimeoutT *timeout); + + SaHpiRptEntryT *res; SaHpiDomainIdT did; struct oh_domain *d = NULL; + struct oh_handler *h = NULL; + SaErrorT error = SA_OK; if (!Timeout) { return SA_ERR_HPI_INVALID_PARAMS; @@ -3691,17 +3648,19 @@ return SA_ERR_HPI_CAPABILITY; } - rd = oh_get_resource_data(&(d->rpt), ResourceId); - if (!rd) { - dbg("Cannot find resource data for Resource %d in Domain %d",ResourceId,did); - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_PARAMS; - } + OH_HANDLER_GET(d, ResourceId, h); + oh_release_domain(d); /* Unlock Domain */ - *Timeout = rd->auto_extract_timeout; - oh_release_domain(d); /* Unlock domain */ + get_autoextract_timeout = h ? h->abi->get_autoextract_timeout : NULL; + if (!get_autoextract_timeout) { + oh_release_handler(h); + return SA_ERR_HPI_INVALID_CMD; + } - return SA_OK; + error = get_autoextract_timeout(h->hnd, ResourceId, Timeout); + oh_release_handler(h); + + return error; } SaErrorT SAHPI_API saHpiAutoExtractTimeoutSet( @@ -3709,10 +3668,15 @@ SAHPI_IN SaHpiResourceIdT ResourceId, SAHPI_IN SaHpiTimeoutT Timeout) { + SaErrorT (*set_autoextract_timeout)(void *hnd, + SaHpiResourceIdT id, + SaHpiTimeoutT timeout); + SaHpiRptEntryT *res; - struct oh_resource_data *rd; SaHpiDomainIdT did; struct oh_domain *d = NULL; + struct oh_handler *h = NULL; + SaErrorT error = SA_OK; if (Timeout != SAHPI_TIMEOUT_IMMEDIATE && Timeout != SAHPI_TIMEOUT_BLOCK && @@ -3729,17 +3693,19 @@ return SA_ERR_HPI_CAPABILITY; } - rd = oh_get_resource_data(&(d->rpt), ResourceId); - if (!rd) { - dbg("Cannot find resource data for Resource %d in Domain %d",ResourceId,did); - oh_release_domain(d); /* Unlock domain */ - return SA_ERR_HPI_INVALID_PARAMS; - } + OH_HANDLER_GET(d, ResourceId, h); + oh_release_domain(d); /* Unlock Domain */ - rd->auto_extract_timeout = Timeout; - oh_release_domain(d); /* Unlock domain */ + set_autoextract_timeout = h ? h->abi->set_autoextract_timeout : NULL; + if (!set_autoextract_timeout) { + oh_release_handler(h); + return SA_ERR_HPI_INVALID_CMD; + } - return SA_OK; + error = set_autoextract_timeout(h->hnd, ResourceId, Timeout); + oh_release_handler(h); + + return error; } SaErrorT SAHPI_API saHpiHotSwapStateGet ( Modified: openhpi/trunk/src/threaded.c =================================================================== --- openhpi/trunk/src/threaded.c 2006-07-12 20:37:07 UTC (rev 5915) +++ openhpi/trunk/src/threaded.c 2006-07-13 07:53:52 UTC (rev 5916) @@ -132,9 +132,6 @@ error = oh_process_events(); if (error != SA_OK) dbg("Error on processing of events."); - trace("Thread processing hotswap policy"); - process_hotswap_policy(); - /* Let oh_wake_event_thread know this thread is done */ g_cond_broadcast(oh_event_thread_wait); g_get_current_time(&time); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dju...@us...> - 2006-07-12 20:37:11
|
Revision: 5915 Author: djudkovi Date: 2006-07-12 13:37:07 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5915&view=rev Log Message: ----------- changed var names used to store sock streams flag data. Modified Paths: -------------- openhpi/trunk/openhpid/openhpid.cpp Modified: openhpi/trunk/openhpid/openhpid.cpp =================================================================== --- openhpi/trunk/openhpid/openhpid.cpp 2006-07-12 20:19:51 UTC (rev 5914) +++ openhpi/trunk/openhpid/openhpid.cpp 2006-07-12 20:37:07 UTC (rev 5915) @@ -479,16 +479,16 @@ gpointer thrdid = g_thread_self(); hm = HpiMarshalFind(thrdinst->header.m_id); - + + // init reply header - flags_save = thrdinst->header.m_flags; - + unsigned char m_flags; + m_flags = thrdinst->header.m_flags; thrdinst->MessageHeaderInit((tMessageType) thrdinst->header.m_type, 0, thrdinst->header.m_id, hm->m_reply_len ); + thrdinst->header.m_flags = m_flags; - thrdinst->header.m_flags = flags_save; - switch( thrdinst->header.m_id ) { case eFsaHpiVersionGet: { SaHpiVersionT ver; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ses...@us...> - 2006-07-12 20:19:55
|
Revision: 5914 Author: sesherman Date: 2006-07-12 13:19:51 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5914&view=rev Log Message: ----------- #1518360 comment: Combine BEM temp sensors; Change BEM voltage sensor to be a threshold Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.c openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c openhpi/trunk/plugins/snmp_bc/t/tevent.c Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_event.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.c 2006-07-12 19:47:57 UTC (rev 5913) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_event.c 2006-07-12 20:19:51 UTC (rev 5914) @@ -578,7 +578,7 @@ err = snmp_bc_set_cur_prev_event_states(handle, eventmap_info, &working, is_recovery_event); - /* Set optional event threshold triSaHpiRptEntryT *rptgger values */ + /* Set optional event threshold values */ if (is_threshold_event == SAHPI_TRUE) { if (oh_encode_sensorreading(&thresh_read_value, working.EventDataUnion.SensorEvent.TriggerReading.Type, Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-12 19:47:57 UTC (rev 5913) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-12 20:19:51 UTC (rev 5914) @@ -16,6 +16,8 @@ # This file serves as input to eventmap2code.pl. # # NOTES: +# - MM's generic threshold event strings are assigned event numbers +# starting with FFFF. # - Cannot have duplicate events with the chassis and any other resource # that cannot be explicitly derived from the event log's Source field. # - Add FF to beginning of event numbers for duplicate events @@ -26,7 +28,7 @@ # takeover events. # - OVR_VMM is for entities assigned to the virtual MM resource. # - OVR_EXP is used to assign BEM events to the add-in card resource. -# They are reported by the event log's Source field as blade events. +# They are reported by the SNMP event log's Source field as blade events. ########################################################################### # Test event - used to unit test code @@ -474,7 +476,7 @@ EN_PFA_HI_FAULT_5V|0x08035500|SAHPI_MAJOR|OVR_SEV|"System over recommended 5V Fault." EN_PFA_HI_FAULT_5V|0x08035500|SAHPI_MAJOR|OVR_SEV|"Blade 5V over fault." EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|OVR_SEV|"System under recommended 5V Fault." -EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|NO_SEV|"Blade 5V under recommended voltage" +EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|OVR_SEV|"Blade 5V under recommended voltage" # FIXME:: Why is Lewis instance 2 not 1? EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF5|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 5V) over recommended voltage." EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF5|SAHPI_MAJOR|OVR_SEV|"system board 2 (5V Sense) over recommended voltage." @@ -791,6 +793,7 @@ EN_FP_NP|0x09025000|SAHPI_MAJOR|OVR_SEV|"Front panel cable is not connected to system board" EN_CPU1_TEMP_WARN|0x0421D401|SAHPI_MAJOR|OVR_SEV|"CPU 1 temperature warning" EN_CPU2_TEMP_WARN|0x0421D402|SAHPI_MAJOR|OVR_SEV|"CPU 2 temperature warning" +EN_PFA_HI_EXCEDED_CUR_12V_A_MAX|0x0801B402|SAHPI_MAJOR|OVR_SEV|"Blade 12V over recommended current." #### Mapped to Install Error Operational State # FIXME:: Why is this INFO but EN_SWITCH_1_CFG_ERROR is MINOR. @@ -864,21 +867,12 @@ # Blade Storage Expansion (BSE) Module ###################################### -# FIXME:: MM: BEM event strings must uniquely identify the BEM. Assume new blades will use -# generic threshold message format for BEM thresholds and IPMI tag will be in that string. -# Problem is between McCarren(/Laurel?) and Groucho. Must be unique events to distinguish between -# Legacy and IPMI BSE temperature/voltage events. - -# FIXME:: For non-threshold events, need event messages like "BEM3 Fault" or "PEU2 Fault" Don't see these -# type of strings in code. What events are being generated for a BEM failure and how do you -# determine which BEM it is? SNMP only exposes the event message string. - -# FIXME:: MM: SNMP has no way to determine the Operational status of a BEM or an individual BEM? +# FIXME:: Does this sensor make sense; when are these generated? # BSE Operational Sensor - event only EN_FAULT_DASD|0x06800000|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM Option failure" EN_FAULT_DASD|0x06800000|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM failure" -# BSE Temperature Sensor +# BSE Temperature Sensor - event only # FIXME:: Does blade shutdown if BSE too hot? Different shutdown event for the blade vs BSE? EN_CUTOFF_HI_OVER_TEMP_BEM|0x0621C481|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"System shutoff due to BEM Option temperature." EN_CUTOFF_HI_OVER_TEMP_BEM|0x0621C481|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM temperature fault." @@ -886,9 +880,44 @@ #EN_CUTOFF_HI_OVER_TEMP_DASD1_3|0x0681C483|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"System shutoff due to DASD Option temperature." EN_OVER_TEMP_BEM|0x0621C081|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM 1 Over Temperature" EN_PFA_HI_OVER_TEMP_BEM|0x0621D481|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM over recommended temperature." -EN_PFA_HI_OVER_TEMP_BEM|0x0681D481|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"DASD Option over recommended temperature." EN_PFA_HI_OVER_TEMP_BEM|0x0621D481|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM Option over recommended temperature." +EN_PFA_HI_OVER_TEMP_BEM|0x0681D481|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"DASD Option over recommended temperature." +# BEM Voltage Sensor - event only +EN_BEM_1V_WARNING_HI|0x0E850402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1V over recommended voltage" +EN_BEM_1V_WARNING_LOW|0x0E850802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1V under recommended voltage" +EN_BEM_1_5V_WARNING_HI|0x0E840402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.5V over recommended voltage." +EN_BEM_1_5V_WARNING_HI|0x0E840402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.5V over recommended voltage" +EN_BEM_1_5V_WARNING_LOW|0x0E840802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.5V under recommended voltage." +EN_BEM_1_5V_WARNING_LOW|0x0E840802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.5V under recommended voltage" +EN_BEM_1_8V_WARNING_HI|0x0E87A402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.8V over recommended voltage." +EN_BEM_1_8V_WARNING_HI|0x0E87A402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.8V over recommended voltage" +EN_BEM_1_8V_WARNING_LOW|0x0E87A802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.8V under recommended voltage." +EN_BEM_1_8V_WARNING_LOW|0x0E87A802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.8V under recommended voltage" +EN_BEM_2_5V_WARNING_HI|0x0E830402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +2.5V over recommended voltage." +EN_BEM_2_5V_WARNING_HI|0x0E830402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 2.5V over recommended voltage" +EN_BEM_2_5V_WARNING_LOW|0x0E830802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +2.5V under recommended voltage." +EN_BEM_2_5V_WARNING_LOW|0x0E830802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 2.5V under recommended voltage" +EN_BEM_3_3V_WARNING_HI|0x0E832402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +3.3V over recommended voltage." +EN_BEM_3_3V_WARNING_HI|0x0E832402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 3.3V over recommended voltage" +EN_BEM_3_3V_WARNING_LOW|0x0E832802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +3.3V under recommended voltage." +EN_BEM_3_3V_WARNING_LOW|0x0E832802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 3.3V under recommended voltage" +EN_BEM_5V_WARNING_HI|0x0E834402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +5V over recommended voltage." +EN_BEM_5V_WARNING_HI|0x0E834402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 5V over recommended voltage" +EN_BEM_5V_WARNING_LOW|0x0E834802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +5V under recommended voltage." +EN_BEM_5V_WARNING_LOW|0x0E834802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 5V under recommended voltage" +EN_BEM_12V_WARNING_HI|0x0E836402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +12V over recommended voltage." +EN_BEM_12V_WARNING_HI|0x0E836402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V over recommended voltage" +EN_BEM_12V_WARNING_LOW|0x0E836802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +12V under recommended voltage." +EN_BEM_12V_WARNING_LOW|0x0E836802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V under recommended voltage" +EN_BEM_12VSB_WARNING_HI|0x0E860402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby over recommended voltage" +EN_BEM_12VSB_WARNING_LOW|0x0E860802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby under recommended voltage" +EN_BEM_18V_WARNING_HI|0x0E83C402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +18V over recommended voltage." +EN_BEM_18V_WARNING_HI|0x0E83C402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 18V over recommended voltage" +EN_BEM_18V_WARNING_LOW|0x0E83C802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +18V under recommended voltage." +EN_BEM_18V_WARNING_LOW|0x0E83C802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 18V under recommended voltage" + +# FIXME:: Move these to blade resource? Else how tell events from BEM vs storage blades? # BSE DASD 0 Operational Sensor - event only ##EN_DASD1_REMOVED_DRIVE_0|0x0681E000|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 0 removal detected." ##EN_FAULT_DASD1_HARD_DRIVE_0|0x06802000|SAHPI_CRITICAL|OVR_SEV|"Hard drive 0 fault" @@ -915,62 +944,6 @@ ##EN_DASD1_REMOVED_DRIVE_5|0x0681E005|SAHPI_INFORMATIONAL|OVR_SEV|"Hard drive 5 removal detected." ##EN_FAULT_DASD1_HARD_DRIVE_5|0x06800005|SAHPI_CRITICAL|OVR_SEV|"Hard drive 5 fault" -# BSE Vcc Sensor -# FIXME:: MM: Don't see any events for this sensor - 8843 only? - -##EN_BEM_1V_WARNING_HI|0x0E850402|SAHPI_MINOR|OVR_SEV,OVR_EXP|"BEM 1V over recommended voltage" -##EN_BEM_1V_WARNING_LOW|0x0E850802|SAHPI_MINOR|OVR_SEV,OVR_EXP|"BEM 1V under recommended voltage" - -# BSE 1.5 Volt Sensor -EN_BUST_1_5V_FAULT|0x0E840002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +1.5V Fault." -EN_BEM_1_5V_WARNING_HI|0x0E840402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.5V over recommended voltage." -EN_BEM_1_5V_WARNING_HI|0x0E840402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.5V over recommended voltage" -EN_BEM_1_5V_WARNING_LOW|0x0E840802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.5V under recommended voltage." -EN_BEM_1_5V_WARNING_LOW|0x0E840802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.5V under recommended voltage" - -# BSE 3.3 Volt Sensor -EN_BUST_3_3V_FAULT|0x0E832002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +3.3V Fault." -EN_BEM_3_3V_WARNING_HI|0x0E832402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +3.3V over recommended voltage." -EN_BEM_3_3V_WARNING_HI|0x0E832402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 3.3V over recommended voltage" -EN_BEM_3_3V_WARNING_LOW|0x0E832802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +3.3V under recommended voltage." -EN_BEM_3_3V_WARNING_LOW|0x0E832802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 3.3V under recommended voltage" - -# BSE 5 Volt Sensor -EN_BUST_5V_FAULT|0x0E834002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +5V Fault." -EN_BEM_5V_WARNING_HI|0x0E834402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +5V over recommended voltage." -EN_BEM_5V_WARNING_HI|0x0E834402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 5V over recommended voltage" -EN_BEM_5V_WARNING_LOW|0x0E834802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +5V under recommended voltage." -EN_BEM_5V_WARNING_LOW|0x0E834802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 5V under recommended voltage" - -# BSE 12 Volt Sensor -EN_BUST_12V_FAULT|0x0E836002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +12V Fault." -EN_BEM_12V_WARNING_HI|0x0E836402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +12V over recommended voltage." -EN_BEM_12V_WARNING_HI|0x0E836402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V over recommended voltage" -EN_BEM_12V_WARNING_LOW|0x0E836802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +12V under recommended voltage." -EN_BEM_12V_WARNING_LOW|0x0E836802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V under recommended voltage" - -# FIXME:: MM: What are these - don't see any IPMI sensors for them. -##EN_BUST_1_8V_FAULT|0x0E87A002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +1.8V Fault." -##EN_BEM_1_8V_WARNING_HI|0x0E87A402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.8V over recommended voltage." -##EN_BEM_1_8V_WARNING_HI|0x0E87A402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.8V over recommended voltage" -##EN_BEM_1_8V_WARNING_LOW|0x0E87A802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.8V under recommended voltage." -##EN_BEM_1_8V_WARNING_LOW|0x0E87A802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 1.8V under recommended voltage" - -##EN_BUST_2_5V_FAULT|0x0E830002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +2.5V Fault." -##EN_BEM_2_5V_WARNING_HI|0x0E830402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +2.5V over recommended voltage." -##EN_BEM_2_5V_WARNING_HI|0x0E830402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 2.5V over recommended voltage" -##EN_BEM_2_5V_WARNING_LOW|0x0E830802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +2.5V under recommended voltage." -##EN_BEM_2_5V_WARNING_LOW|0x0E830802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 2.5V under recommended voltage" - -##EN_BEM_12VSB_WARNING_HI|0x0E860402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby over recommended voltage" -##EN_BEM_12VSB_WARNING_LOW|0x0E860802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby under recommended voltage" - -##EN_BUST_18V_FAULT|0x0E83C002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +18V Fault." -##EN_BEM_18V_WARNING_HI|0x0E83C402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +18V over recommended voltage." -##EN_BEM_18V_WARNING_HI|0x0E83C402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 18V over recommended voltage" -##EN_BEM_18V_WARNING_LOW|0x0E83C802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +18V under recommended voltage." -##EN_BEM_18V_WARNING_LOW|0x0E83C802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 18V under recommended voltage" - ############################# # PCI Expansion (PEU2) Module ############################# @@ -1823,22 +1796,11 @@ # MMV2_20 Events ################ -# FIXME: When are these raised? Can I map to a blade operational state - or are there other events -# (i.e. blade won't power on if this happens - get this event plus no power event? -##EN_BLADE_NO_DC_FAULT|0x00029402|SAHPI_MINOR|OVR_SEV|"Power module 3 or 4 is required to power blades 5 to 8." -##EN_BLADE_NO_DC_FAULT_BCT|0x00029402|SAHPI_MINOR|NO_OVR|"Power module 3 or 4 is required to power blades in power domain 2." -##EN_BLADE_NO_DC_FAULT_DOM1|0x00029401|SAHPI_INFORMATIONAL|OVR_SEV|"Power module 1 or 2 is required to power blades in power domain 1." -##EN_BLADE_NO_DC_FAULT_DOM1|0x00029401|SAHPI_MINOR|OVR_SEV|"Power module 1 or 2 is required to power blades 1 to 4." - -# FIXME:: How to map to correct BEM? Are these recovered? +# FIXME:: How to map to correct BEM? Are these recovered? MINOR severity? ##EN_BSE_RAID_BATTERY_FAILURE|0x0EE18000|SAHPI_MINOR|OVR_SEV|"BSE RAID battery failure" ##EN_BSE_RAID_FAULT|0x0EE00000|SAHPI_MINOR|OVR_SEV|"BSE RAID fault" -# FIXME: Are these every recovered - don't see an EVENT_OFF for them? -##EN_ENTRY_FAULT|0x08200009|SAHPI_MAJOR|OVR_SEV|"System Intrusion Detected" -##EN_FIVE_LOGIN_FAILURES|0x0001600A|SAHPI_MINOR|OVR_SEV|"LAN: Web Server tamper delay triggered. Possible break in attempt." - -# FIXME:: What are these for - blade? Media Tray? Just warnings or is USB dead? +# FIXME:: MM errors. ##EN_FAULT_OC_USB_HUB|0x00014034|SAHPI_MAJOR|OVR_SEV|"USB hub over-current failure" ##EN_FAULT_OC_USB_PORT|0x00014033|SAHPI_MAJOR|OVR_SEV|"USB port over-current failure" @@ -1885,29 +1847,19 @@ ##EN_IPMI_VIDEO_INIT_FAIL|0x0021602E|SAHPI_MAJOR|OVR_SEV|"Failure during video initialization." ##EN_IPMI_WAKEUP_VECTOR_FAIL|0x00216037|SAHPI_MAJOR|OVR_SEV|"Failure calling OS wakeup vector." -# FIXME:: 485? I2C? System level? +# FIXME:: I2C short - cause failover (00103000); but no recovery. ##EN_MGMT_BUS_FAULT|0x00103000|SAHPI_MAJOR|OVR_SEV|"Management bus communication fault." +# Blade cannot be removed from 485 bus.. ##EN_UNABLE_ISLOATE_BUS|0x00101007|SAHPI_MAJOR|OVR_SEV|"Unable to isolate bus fault - bus was not recovered." -# FIXME:: What happens here - other events? +# FIXME:: MM2 primary; put in MM1 as standby; remove it get recovery. ##EN_MM_MISMATCHED|0x00282005|SAHPI_CRITICAL|OVR_SEV|"Configuration of mismatched management modules is not supported" -# FIXME:: When is this generated? -##EN_MM_NON_REDUNDANT|0x00284000|SAHPI_MINOR|OVR_SEV|"No standby Management Module in chassis" - -# FIXME:: blade error? -##EN_PERR|0x06500000|SAHPI_INFORMATIONAL|OVR_SEV|"Parity Error PCI Bus" - -# FIXME:: Groucho SDR doesn't assert this. -##EN_PFA_HI_EXCEDED_CUR_12V_A_MAX|0x0801B402|SAHPI_MINOR|OVR_SEV|"Blade 12V over recommended current." - -# FIXME:: What happens when this occurs? +# FIXME:: What happens when this occurs? Yes - Degraded operations. ##EN_PWR_DOMAIN_1_MISMATCHED_PS|0x08006001|SAHPI_MINOR|OVR_SEV|"Mismatched Power Modules in power domain 1" ##EN_PWR_DOMAIN_2_MISMATCHED_PS|0x08006002|SAHPI_MINOR|OVR_SEV|"Mismatched Power Modules in power domain 2" -# FIXME:: MM: When are these sent Is MM dead with these faults? -# HOW DO THESE COMPARE WITH THE SNMP mmHealthState values? mmHealthState seems more physical not if -# the MM is primary or not. +# FIXME:: MM is OK but degraded. Can force failover to standby with BIST - should be ok but degraded. ##EN_OTHER_I2C|0x00222000|SAHPI_CRITICAL|OVR_SEV|"Standby MM failure on system management bus, check devices" ##EN_STBIST_FAIL_R_BOOT_ROM|0x0002201B|SAHPI_MAJOR|OVR_SEV|"BIST standby MM bootrom failed." ##EN_STBIST_FAIL_R_CORE_1|0x00022052|SAHPI_MAJOR|OVR_SEV|"BIST standby MM primary core Failed." @@ -1930,8 +1882,8 @@ ##EN_STBIST_FAIL_I2C|0x00022004|SAHPI_CRITICAL|OVR_SEV|"BIST primary MM local management bus failed." ##EN_STBIST_FAIL_I2C_DEVICE|0x00022009|SAHPI_CRITICAL|OVR_SEV|"BIST primary MM external management bus failed." ##EN_STBIST_FAIL_PRI_FS|0x00022005|SAHPI_MAJOR|OVR_SEV|"BIST primary MM primary file system failed." -##EN_STBIST_FAIL_R485_1|0x00022001|SAHPI_CRITICAL|NO_OVR|"BIST blade management bus 1 failed." -##EN_STBIST_FAIL_R485_2|0x00022002|SAHPI_CRITICAL|NO_OVR|"BIST blade management bus 2 failed." +##EN_STBIST_FAIL_R485_1|0x00022001|SAHPI_CRITICAL|OVR_SEV|"BIST blade management bus 1 failed." +##EN_STBIST_FAIL_R485_2|0x00022002|SAHPI_CRITICAL|OVR_SEV|"BIST blade management bus 2 failed." ##EN_STBIST_FAIL_RPSERV|0x00022013|SAHPI_MAJOR|OVR_SEV|"BIST primary MM remote control firmware failed." ##EN_STBIST_FAIL_RTC|0x00022003|SAHPI_MAJOR|OVR_SEV|"BIST primary MM realtime clock failed." ##EN_STBIST_FAIL_SEC_FS|0x00022006|SAHPI_MAJOR|OVR_SEV|"BIST primary MM secondary file system failed." @@ -1940,18 +1892,12 @@ ##EN_STBIST_FAIL_USB_I2C_1|0x00022054|SAHPI_MAJOR|OVR_SEV|"BIST primary MM USB keyboard/mouse firmware failed." ##EN_STBIST_FAIL_USB_I2C_2|0x00022055|SAHPI_MAJOR|OVR_SEV|"BIST primary MM USB mass storage firmware failed." -# FIXME:: Is this a standby message? +# FIXME:: Standby MM's logical EN connection not working ##EN_STCONN_FAIL_OTHERMM|0x0002201E|SAHPI_CRITICAL|OVR_SEV|"Connectivity status alternate MM communication failed." -# FIXME:: Assume this is "active" MM; be nice if could tell which MM - since this is a real physical thing. Ever -# recovered? Groucho sends this as well - Need 2 different events... +# FIXME:: Can get for blades and MM - bad string text; note this is a duplicate ##EN_SYSTEM_BATTERY_FAILURE|0x06000000|SAHPI_INFORMATIONAL|OVR_SEV|"The real time clock battery in the MM needs service." -# FIXME:: Why are these MINOR? Old ones were mostly ERRORs (e.g. CRITICAL or MAJOR) -##EN_THRESH_HI_CRIT_TEMP|0x80010901|SAHPI_MINOR|OVR_SEV|"%s %s (%s) %s critical %s." -##EN_THRESH_LO_NONRECOV_VOLT|0x80010402|SAHPI_MINOR|OVR_SEV|"%s %s (%s) %s non-recoverable %s fault." -##EN_THRESH_LO_WARN_VOLT|0x80010002|SAHPI_MINOR|OVR_SEV|"%s %s (%s) %s recommended %s." - ############ # OEM Events ############ @@ -1971,6 +1917,7 @@ #EN_MM_1_ISPRIME|0x06000201|SAHPI_INFORMATIONAL|OVR_SEV,OVR_MM1|"Management Module in bay 1 is active." #EN_MM_2_ISPRIME|0x06000202|SAHPI_INFORMATIONAL|OVR_SEV,OVR_MM2|"Management Module in bay 2 is Active." #EN_MM_2_ISPRIME|0x06000202|SAHPI_INFORMATIONAL|OVR_SEV,OVR_MM2|"Management Module in bay 2 is active." +#EN_MM_NON_REDUNDANT|0x00284000|SAHPI_MINOR|OVR_SEV|"No standby Management Module in chassis" #EN_RAT_LOGIN|0x0000007A|SAHPI_INFORMATIONAL|OVR_SEV|"Remote login successful for user " #EN_READ_THE_LOG|0x0000007F|SAHPI_INFORMATIONAL|OVR_SEV|"Read the event log" @@ -1979,6 +1926,9 @@ #EN_LOG_FULL|0x0000006B|SAHPI_CRITICAL|OVR_SEV|"Event log full" #EN_SP_EVT_FULL|0x00216017|SAHPI_INFORMATIONAL|OVR_SEV|"Service processor event log is full." +#EN_ENTRY_FAULT|0x08200009|SAHPI_MAJOR|OVR_SEV|"System Intrusion Detected" +#EN_FIVE_LOGIN_FAILURES|0x0001600A|SAHPI_MINOR|OVR_SEV|"LAN: Web Server tamper delay triggered. Possible break in attempt." + #EN_MM_NETWORK_INIT_CMPLT|0x00016001|SAHPI_INFORMATIONAL|OVR_SEV|"Management Module network initialization complete" #EN_MM_NETWORK_LOSS|0x00217000|SAHPI_MINOR|OVR_SEV,OVR_VMM|"Management Module external network link lost." @@ -2013,3 +1963,11 @@ #EN_TCPAPPS_SSL_CMD_MODE_PORT|0x00016006|SAHPI_INFORMATIONAL|OVR_SEV|"Secure TCP Command Mode port number changed. New port number: " #EN_TCPAPPS_CMD_MODE_PORT|0x00016007|SAHPI_INFORMATIONAL|OVR_SEV|"TCP Command Mode port number changed. New port number: " +#EN_BLADE_NO_DC_FAULT|0x00029402|SAHPI_MINOR|OVR_SEV|"Power module 3 or 4 is required to power blades 5 to 8." +#EN_BLADE_NO_DC_FAULT_BCT|0x00029402|SAHPI_MINOR|OVR_SEV|"Power module 3 or 4 is required to power blades in power domain 2." +#EN_BLADE_NO_DC_FAULT_DOM1|0x00029401|SAHPI_INFORMATIONAL|OVR_SEV|"Power module 1 or 2 is required to power blades in power domain 1." +#EN_BLADE_NO_DC_FAULT_DOM1|0x00029401|SAHPI_MINOR|OVR_SEV|"Power module 1 or 2 is required to power blades 1 to 4." + +#EN_PERR|0x06500000|SAHPI_INFORMATIONAL|OVR_SEV|"Parity Error PCI Bus" + + Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-12 19:47:57 UTC (rev 5913) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-12 20:19:51 UTC (rev 5914) @@ -4133,6 +4133,14 @@ .recovery_state = SAHPI_ES_RUNNING, }, { + .event = "0801B402", /* EN_PFA_HI_EXCEDED_CUR_12V_A_MAX */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_DEGRADED, + .recovery_state = SAHPI_ES_RUNNING, + }, + { .event = "0E00600x", /* EN_BLADE_x_CFG_FAIL */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, @@ -7074,8 +7082,7 @@ **************************************/ struct snmp_bc_sensor snmp_bc_bem_sensors[] = { -#if 1 - /* BSE Temperature Sensor */ /* Legacy Blades */ + /* BSE Temperature Sensor - event only */ { .index = 1, .sensor = { @@ -7086,49 +7093,14 @@ .EventCtrl = SAHPI_SEC_READ_ONLY, .Events = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_DEGREES_C, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 125, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, + .IsSupported = SAHPI_FALSE, }, .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_UP_MAJOR | SAHPI_STM_UP_CRIT, - .WriteThold = 0, + .IsAccessible = SAHPI_FALSE, }, .Oem = 0, }, .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = ".1.3.6.1.4.1.2.3.51.2.22.1.5.3.1.10.x", - .loc_offset = 0, - .threshold_oids = { - .UpCritical = ".1.3.6.1.4.1.2.3.51.2.22.1.5.4.1.18.x", - .UpMajor = ".1.3.6.1.4.1.2.3.51.2.22.1.5.4.1.19.x", - }, - .threshold_write_oids = {}, - }, .cur_state = SAHPI_ES_UNSPECIFIED, .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, .sensor_enabled = SAHPI_TRUE, @@ -7153,14 +7125,6 @@ .recovery_state = SAHPI_ES_UPPER_MAJOR, }, { - .event = "0681C483", /* EN_CUTOFF_HI_OVER_TEMP_DASD1_3 */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_UPPER_CRIT, - .recovery_state = SAHPI_ES_UPPER_MAJOR, - }, - { .event = "0621C081", /* EN_OVER_TEMP_BEM */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, @@ -7182,17 +7146,16 @@ }, .comment = "BSE Temperature Sensor", }, -#endif /* BEM Voltage Sensor - event only */ { .index = 2, .sensor = { .Num = 2, .Type = SAHPI_VOLTAGE, - .Category = SAHPI_EC_SEVERITY, + .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_OK | SAHPI_ES_MAJOR_FROM_LESS, + .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .DataFormat = { .IsSupported = SAHPI_FALSE, }, @@ -7202,124 +7165,156 @@ .Oem = 0, }, .sensor_info = { - .cur_state = SAHPI_ES_OK, + .cur_state = SAHPI_ES_UNSPECIFIED, .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, .sensor_enabled = SAHPI_TRUE, .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_MAJOR_FROM_LESS, - .deassert_mask = SAHPI_ES_MAJOR_FROM_LESS, + .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, + .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { { - .event = "06800000", /* EN_FAULT_DASD */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, + .event = "0E850402", /* EN_BEM_1V_WARNING_HI */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, - { - .event = "0E840002", /* EN_BEM_1_5V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E850802", /* EN_BEM_1V_WARNING_LOW */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, - { - .event = "0E87A002", /* EN_BEM_1_8V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E840402", /* EN_BEM_1_5V_WARNING_HI */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E840802", /* EN_BEM_1_5V_WARNING_LOW */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, { .event = "0E87A402", /* EN_BEM_1_8V_WARNING_HI */ .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_MAJOR_FROM_LESS, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, { .event = "0E87A802", /* EN_BEM_1_8V_WARNING_LOW */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_MAJOR_FROM_LESS, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, - { - .event = "0E830002", /* EN_BEM_2_5V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, { .event = "0E830402", /* EN_BEM_2_5V_WARNING_HI */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_MAJOR_FROM_LESS, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, { .event = "0E830802", /* EN_BEM_2_5V_WARNING_LOW */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_MAJOR_FROM_LESS, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, { - .event = "0E832002", /* EN_BEM_3_3V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, + .event = "0E832402", /* EN_BEM_3_3V_WARNING_HI */ + .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, - { - .event = "0E834002", /* EN_BEM_5V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, + { + .event = "0E832802", /* EN_BEM_3_3V_WARNING_LOW */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, - { - .event = "0E836002", /* EN_BEM_12V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E834402", /* EN_BEM_5V_WARNING_HI */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, - { - .event = "0E83C002", /* EN_BEM_18V_FAULT */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_CRITICAL, - .event_res_failure = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E834802", /*EN_BEM_5V_WARNING_LOW */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, - }, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E836402", /* EN_BEM_12V_WARNING_HI */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E836802", /* EN_BEM_12V_WARNING_LOW */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E860402", /* EN_BEM_12VSB_WARNING_HI */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "0E860802", /* EN_BEM_12VSB_WARNING_LOW */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, { .event = "0E83C402", /* EN_BEM_18V_WARNING_HI */ .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_MAJOR_FROM_LESS, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, { .event = "0E83C802", /* EN_BEM_18V_WARNING_LOW */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_MAJOR_FROM_LESS, - .recovery_state = SAHPI_ES_OK, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, }, {}, }, @@ -7327,7 +7322,7 @@ }, .comment = "BEM Voltage Sensor", }, - /* BEM DASD (SCSI ID=2) Operational Sensor - event only */ + /* BEM DASD 0 Operational Sensor - event only */ { .index = 3, .sensor = { @@ -7365,9 +7360,9 @@ }, .reading2event = {}, }, - .comment = "BEM DASD (SCSI ID=2) Operational Sensor", + .comment = "BEM DASD 0 Operational Sensor", }, - /* BEM DASD (SCSI ID=3) Operational Sensor - event only */ + /* BEM DASD 1 Operational Sensor - event only */ { .index = 4, .sensor = { @@ -7405,8 +7400,140 @@ }, .reading2event = {}, }, - .comment = "BEM DASD (SCSI ID=3) Operational Sensor", + .comment = "BEM DASD 1 Operational Sensor", }, + /* BEM DASD 2 Operational Sensor - event only */ + { + .index = 5, + .sensor = { + .Num = 5, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { +/* FIXME:: Add events */ + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 2 Operational Sensor", + }, + /* BEM DASD 3 Operational Sensor - event only */ + { + .index = 6, + .sensor = { + .Num = 6, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + /* FIXME:: Add events */ + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 3 Operational Sensor", + }, + /* BEM DASD 4 Operational Sensor - event only */ + { + .index = 7, + .sensor = { + .Num = 7, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + /* FIXME:: Add events */ + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 4 Operational Sensor", + }, + /* BEM DASD 5 Operational Sensor - event only */ + { + .index = 8, + .sensor = { + .Num = 8, + .Type = SAHPI_OPERATIONAL, + .Category = SAHPI_EC_AVAILABILITY, + .EnableCtrl = SAHPI_FALSE, + .EventCtrl = SAHPI_SEC_READ_ONLY, + .Events = SAHPI_ES_RUNNING | SAHPI_ES_OFF_LINE, + .DataFormat = { + .IsSupported = SAHPI_FALSE, + }, + .ThresholdDefn = { + .IsAccessible = SAHPI_FALSE, + }, + .Oem = 0, + }, + .sensor_info = { + .cur_state = SAHPI_ES_RUNNING, + .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, + .sensor_enabled = SAHPI_TRUE, + .events_enabled = SAHPI_TRUE, + .assert_mask = SAHPI_ES_OFF_LINE, + .deassert_mask = SAHPI_ES_OFF_LINE, + .event_array = { + /* FIXME:: Add events */ + {}, + }, + .reading2event = {}, + }, + .comment = "BEM DASD 5 Operational Sensor", + }, {} /* Terminate array with a null element */ }; @@ -7416,536 +7543,14 @@ #define SNMP_BC_LAST_NON_IPMI_BEM_SENSOR 4 struct snmp_bc_ipmi_sensor snmp_bc_bem_ipmi_sensors[] = { - /* BSE Temperature Sensor */ - { - .ipmi_tag = "BSE TEMP SENSE", - .ipmi_tag_alias1 = '\0', - .ipmi = { - .index = 1, - .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 1, - .Type = SAHPI_TEMPERATURE, - .Category = SAHPI_EC_THRESHOLD, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, - .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_DEGREES_C, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 125, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_UP_MAJOR | SAHPI_STM_UP_CRIT, - .WriteThold = 0, - }, - .Oem = 0, - }, - .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = "discovered", - .loc_offset = 0, - .threshold_oids = { - .UpCritical = "discovered", - .UpMajor = "discovered", - }, - .threshold_write_oids = {}, - }, - .cur_state = SAHPI_ES_UNSPECIFIED, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, - .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, - .event_array = { - /* FIXME:: Add events */ - {}, - }, - .reading2event = {}, - }, - .comment = "BSE Temperature Sensor", - }, - }, - /* BSE Vcc Volt Sensor */ - { - .ipmi_tag = "BSE VCC SENSE", - .ipmi_tag_alias1 = '\0', - .ipmi = { - .index = 2, - .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 2, - .Type = SAHPI_VOLTAGE, - .Category = SAHPI_EC_THRESHOLD, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_VOLTS, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN | SAHPI_SRF_NOMINAL, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 4.4, - }, - }, - .Nominal = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 1.5, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_LOW_MAJOR | SAHPI_STM_UP_MAJOR, - .WriteThold = 0, - }, - .Oem = 0, - }, - .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = "discovered", - .loc_offset = 0, - .threshold_oids = { - .UpMajor = "discovered", - .LowMajor = "discovered", - }, - .threshold_write_oids = {}, - }, - .cur_state = SAHPI_ES_UNSPECIFIED, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .event_array = { - /* FIXME:: Add events */ - - {}, - }, - .reading2event = {}, - }, - .comment = "BSE Vcc Volt Sensor", - }, - }, - /* BSE 1.5 Volt Sensor */ - { - .ipmi_tag = "BSE 1.5V SENSE", - .ipmi_tag_alias1 = '\0', - .ipmi = { - .index = 3, - .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 3, - .Type = SAHPI_VOLTAGE, - .Category = SAHPI_EC_THRESHOLD, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_VOLTS, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN | SAHPI_SRF_NOMINAL, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 4.4, - }, - }, - .Nominal = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 1.5, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_LOW_MAJOR | SAHPI_STM_UP_MAJOR, - .WriteThold = 0, - }, - .Oem = 0, - }, - .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = "discovered", - .loc_offset = 0, - .threshold_oids = { - .UpMajor = "discovered", - .LowMajor = "discovered", - }, - .threshold_write_oids = {}, - }, - .cur_state = SAHPI_ES_UNSPECIFIED, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .event_array = { - { - .event = "0E840402", /* EN_BEM_1_5V_WARNING_HI */ - .event_assertion = SAHPI_TRUE, - .event_state = SAHPI_ES_UPPER_MAJOR, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - { - .event = "0E840802", /* EN_BEM_1_5V_WARNING_LOW */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_LOWER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - {}, - }, - .reading2event = {}, - }, - .comment = "BSE 1.5 Volt Sensor", - }, - }, - /* BSE 3.3 Volt Sensor */ - { - .ipmi_tag = "BSE 3.3V SENSE", - .ipmi_tag_alias1 = '\0', - .ipmi = { - .index = 4, - .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 4, - .Type = SAHPI_VOLTAGE, - .Category = SAHPI_EC_THRESHOLD, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_VOLTS, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN | SAHPI_SRF_NOMINAL, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 3.6, - }, - }, - .Nominal = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 3.3, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_LOW_MAJOR | SAHPI_STM_UP_MAJOR, - .WriteThold = 0, - }, - .Oem = 0, - }, - .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = "discovered", - .loc_offset = 0, - .threshold_oids = { - .UpMajor = "discovered", - .LowMajor = "discovered", - }, - .threshold_write_oids = {}, - }, - .cur_state = SAHPI_ES_UNSPECIFIED, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .event_array = { - { - .event = "0E832402", /* EN_BEM_3_3V_WARNING_HI */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_UPPER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - { - .event = "0E832802", /* EN_BEM_3_3V_WARNING_LOW */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_LOWER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - {}, - }, - .reading2event = {}, - }, - .comment = "BSE 3.3 Volt Sensor", - }, - }, - /* BSE 5 Volt Sensor */ - { - .ipmi_tag = "BSE 5V SENSE", - .ipmi_tag_alias1 = '\0', - .ipmi = { - .index = 5, - .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 5, - .Type = SAHPI_VOLTAGE, - .Category = SAHPI_EC_THRESHOLD, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_VOLTS, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN | SAHPI_SRF_NOMINAL, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 6.7, - }, - }, - .Nominal = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 5, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_LOW_MAJOR | SAHPI_STM_UP_MAJOR, - .WriteThold = 0, - }, - .Oem = 0, - }, - .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = "discovered", - .loc_offset = 0, - .threshold_oids = { - .UpMajor = "discovered", - .LowMajor = "discovered", - }, - .threshold_write_oids = {}, - }, - .cur_state = SAHPI_ES_UNSPECIFIED, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .event_array = { - { - .event = "0E834402", /* EN_BEM_5V_WARNING_HI */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_UPPER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - { - .event = "0E834802", /* EN_BEM_5V_WARNING_LOW */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_LOWER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - {}, - }, - .reading2event = {}, - }, - .comment = "BSE 5 Volt Sensor", - }, - }, - /* BSE 12 Volt Sensor */ - { - .ipmi_tag = "BSE 12V SENSE", - .ipmi_tag_alias1 = '\0', - .ipmi = { - .index = 6, - .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 6, - .Type = SAHPI_VOLTAGE, - .Category = SAHPI_EC_THRESHOLD, - .EnableCtrl = SAHPI_FALSE, - .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .DataFormat = { - .IsSupported = SAHPI_TRUE, - .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .BaseUnits = SAHPI_SU_VOLTS, - .ModifierUnits = SAHPI_SU_UNSPECIFIED, - .ModifierUse = SAHPI_SMUU_NONE, - .Percentage = SAHPI_FALSE, - .Range = { - .Flags = SAHPI_SRF_MAX | SAHPI_SRF_MIN | SAHPI_SRF_NOMINAL, - .Max = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 16, - }, - }, - .Nominal = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 12, - }, - }, - .Min = { - .IsSupported = SAHPI_TRUE, - .Type = SAHPI_SENSOR_READING_TYPE_FLOAT64, - .Value = { - .SensorFloat64 = 0, - }, - }, - }, - }, - .ThresholdDefn = { - .IsAccessible = SAHPI_TRUE, - .ReadThold = SAHPI_STM_LOW_MAJOR | SAHPI_STM_UP_MAJOR, - .WriteThold = 0, - }, - .Oem = 0, - }, - .sensor_info = { - .mib = { - .not_avail_indicator_num = 0, - .write_only = SAHPI_FALSE, - .oid = "discovered", - .loc_offset = 0, - .threshold_oids = { - .UpMajor = "discovered", - .LowMajor = "discovered", - }, - .threshold_write_oids = {}, - }, - .cur_state = SAHPI_ES_UNSPECIFIED, - .sensor_enabled = SAHPI_TRUE, - .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, - .event_array = { - { - .event = "0E836402", /* EN_BEM_12V_WARNING_HI */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_UPPER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - { - .event = "0E836802", /* EN_BEM_12V_WARNING_LOW */ - .event_assertion = SAHPI_TRUE, - .event_res_failure = SAHPI_FALSE, - .event_res_failure_unexpected = SAHPI_FALSE, - .event_state = SAHPI_ES_LOWER_MAJOR, - .recovery_state = SAHPI_ES_UNSPECIFIED, - }, - {}, - }, - .reading2event = {}, - }, - .comment = "BSE 12 Volt Sensor", - }, - }, /* PEU2 Temperature Sensor */ { .ipmi_tag = "PEU2 TEMP SENSE", .ipmi_tag_alias1 = "PEU2 LOCAL TEMP", .ipmi = { - .index = 7, + .index = 1, .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 7, + .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 1, .Type = SAHPI_TEMPERATURE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -8029,9 +7634,9 @@ .ipmi_tag = "PEU2 1V SENSE", .ipmi_tag_alias1 = '\0', .ipmi = { - .index = 8, + .index = 2, .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 8, + .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 2, .Type = SAHPI_VOLTAGE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -8122,9 +7727,9 @@ .ipmi_tag = "PEU2 3.3V SENSE", .ipmi_tag_alias1 = '\0', .ipmi = { - .index = 9, + .index = 3, .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 9, + .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 3, .Type = SAHPI_VOLTAGE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -8215,9 +7820,9 @@ .ipmi_tag = "PEU2 5V SENSE", .ipmi_tag_alias1 = '\0', .ipmi = { - .index = 10, + .index = 4, .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 10, + .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 4, .Type = SAHPI_VOLTAGE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -8308,9 +7913,9 @@ .ipmi_tag = "PEU2 12V SENSE", .ipmi_tag_alias1 = '\0', .ipmi = { - .index = 11, + .index = 5, .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 11, + .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 5, .Type = SAHPI_VOLTAGE, .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, @@ -8401,9 +8006,9 @@ .ipmi_tag = "PEU2 12VSB SENSE", .ipmi_tag_alias1 = '\0', .ipmi = { - .index = 12, + .index = 6, .sensor = { - .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 12, + .Num = SNMP_BC_LAST_NON_IPMI_BEM_SENSOR + 6, .Type = SAHPI_VOLTAGE, .Category = SAHPI_EC_THRES... [truncated message content] |
From: <dju...@us...> - 2006-07-12 19:48:01
|
Revision: 5913 Author: djudkovi Date: 2006-07-12 12:47:57 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5913&view=rev Log Message: ----------- Modified Paths: -------------- openhpi/trunk/openhpid/openhpid.cpp Modified: openhpi/trunk/openhpid/openhpid.cpp =================================================================== --- openhpi/trunk/openhpid/openhpid.cpp 2006-07-12 17:47:17 UTC (rev 5912) +++ openhpi/trunk/openhpid/openhpid.cpp 2006-07-12 19:47:57 UTC (rev 5913) @@ -67,7 +67,7 @@ } -#define CLIENT_TIMEOUT 1800 // Unlimited +#define CLIENT_TIMEOUT 0 // Unlimited #define PID_FILE "/var/run/openhpid.pid" static bool stop_server = FALSE; @@ -481,9 +481,14 @@ hm = HpiMarshalFind(thrdinst->header.m_id); // init reply header + flags_save = thrdinst->header.m_flags; + thrdinst->MessageHeaderInit((tMessageType) thrdinst->header.m_type, 0, thrdinst->header.m_id, hm->m_reply_len ); + + thrdinst->header.m_flags = flags_save; + switch( thrdinst->header.m_id ) { case eFsaHpiVersionGet: { SaHpiVersionT ver; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-12 17:47:24
|
Revision: 5912 Author: renierm Date: 2006-07-12 10:47:17 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5912&view=rev Log Message: ----------- #1491791 Fixing reading of alarms from disk Modified Paths: -------------- openhpi/trunk/include/oh_alarm.h openhpi/trunk/src/alarm.c openhpi/trunk/src/init.c openhpi/trunk/src/safhpi.c Modified: openhpi/trunk/include/oh_alarm.h =================================================================== --- openhpi/trunk/include/oh_alarm.h 2006-07-12 15:50:22 UTC (rev 5911) +++ openhpi/trunk/include/oh_alarm.h 2006-07-12 17:47:17 UTC (rev 5912) @@ -25,7 +25,9 @@ #define OH_MAX_DAT_USER_LIMIT 0 /* Alarm Handling */ -SaHpiAlarmT *oh_add_alarm(struct oh_domain *d, SaHpiAlarmT *alarm); +SaHpiAlarmT *oh_add_alarm(struct oh_domain *d, + SaHpiAlarmT *alarm, + int fromfile); SaHpiAlarmT *oh_get_alarm(struct oh_domain *d, SaHpiAlarmIdT *aid, SaHpiSeverityT *severity, Modified: openhpi/trunk/src/alarm.c =================================================================== --- openhpi/trunk/src/alarm.c 2006-07-12 15:50:22 UTC (rev 5911) +++ openhpi/trunk/src/alarm.c 2006-07-12 17:47:17 UTC (rev 5912) @@ -114,11 +114,14 @@ * oh_add_alarm * @d: pointer to domain * @alarm: alarm to be added + * @fromfile: if True will preserve alarm's id, timestamp, and + * acknowledge flag. Also, it will not save immediatedly to disk, + * if OPENHPI_DAT_SAVE is set. * * Return value: reference to newly added alarm or NULL if there was * an error **/ -SaHpiAlarmT *oh_add_alarm(struct oh_domain *d, SaHpiAlarmT *alarm) +SaHpiAlarmT *oh_add_alarm(struct oh_domain *d, SaHpiAlarmT *alarm, int fromfile) { struct timeval tv1; SaHpiAlarmT *a = NULL; @@ -155,29 +158,39 @@ if (alarm) { /* Copy contents of optional alarm reference */ memcpy(a, alarm, sizeof(SaHpiAlarmT)); } - a->AlarmId = ++(d->dat.next_id); - gettimeofday(&tv1, NULL); - a->Timestamp = (SaHpiTimeT) tv1.tv_sec * 1000000000 + tv1.tv_usec * 1000; - a->AlarmCond.DomainId = d->id; - a->Acknowledged = SAHPI_FALSE; - d->dat.list = g_slist_append(d->dat.list, a); + if (fromfile) { + if (a->AlarmId > d->dat.next_id) { + d->dat.next_id = a->AlarmId; + } + } else { + a->AlarmId = ++(d->dat.next_id); + gettimeofday(&tv1, NULL); + a->Timestamp = + (SaHpiTimeT) tv1.tv_sec * 1000000000 + tv1.tv_usec * 1000; + a->Acknowledged = SAHPI_FALSE; + } + a->AlarmCond.DomainId = d->id; + d->dat.list = g_slist_append(d->dat.list, a); + /* Set alarm id and timestamp info in alarm reference */ if (alarm) { alarm->AlarmId = a->AlarmId; alarm->Timestamp = a->Timestamp; } - __update_dat(d); - param.type = OPENHPI_DAT_SAVE; - oh_get_global_param(¶m); - if (param.u.dat_save) { - char dat_filepath[SAHPI_MAX_TEXT_BUFFER_LENGTH*2]; - param.type = OPENHPI_VARPATH; + if (!fromfile) { + __update_dat(d); + param.type = OPENHPI_DAT_SAVE; oh_get_global_param(¶m); - snprintf(dat_filepath, SAHPI_MAX_TEXT_BUFFER_LENGTH*2, - "%s/dat.%u", param.u.varpath, d->id); - oh_alarms_to_file(&d->dat, dat_filepath); + if (param.u.dat_save) { + char dat_filepath[SAHPI_MAX_TEXT_BUFFER_LENGTH*2]; + param.type = OPENHPI_VARPATH; + oh_get_global_param(¶m); + snprintf(dat_filepath, SAHPI_MAX_TEXT_BUFFER_LENGTH*2, + "%s/dat.%u", param.u.varpath, d->id); + oh_alarms_to_file(&d->dat, dat_filepath); + } } return a; @@ -308,7 +321,7 @@ * * Counts alarms in the domain table. You can count alarms of a specific * severity, or for all severities (SAHPI_ALL_SEVERITIES). - * + * * Return value: Number of alarms counted. **/ SaHpiUint32T oh_count_alarms(struct oh_domain *d, SaHpiSeverityT sev) @@ -336,7 +349,7 @@ } /* Severity is "alarming". Add/Create OEM alarm */ - a = oh_add_alarm(d, NULL); + a = oh_add_alarm(d, NULL, 0); if (!a) goto done; a->Severity = event->Severity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_OEM; @@ -366,7 +379,7 @@ /* Failed resource. Add/Create resource alarm if severity is "alarming" */ if (event->Severity <= SAHPI_MINOR) { - a = oh_add_alarm(d, NULL); + a = oh_add_alarm(d, NULL, 0); if (!a) goto done; a->Severity = event->Severity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_RESOURCE; @@ -395,7 +408,7 @@ event->EventDataUnion.SensorEvent.Assertion) { /* Add sensor alarm to dat, since event is severe enough and is asserted. */ - a = oh_add_alarm(d, NULL); + a = oh_add_alarm(d, NULL, 0); if (!a) goto done; a->Severity = event->Severity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_SENSOR; @@ -462,7 +475,7 @@ NULL, NULL, NULL, 1); } else if (res->ResourceSeverity <= SAHPI_MINOR && res->ResourceFailed) { /* Otherwise, if sev is "alarming" and resource failed, create alarm. */ - a = oh_add_alarm(d, NULL); + a = oh_add_alarm(d, NULL, 0); if (!a) goto done; a->Severity = res->ResourceSeverity; a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_RESOURCE; @@ -516,7 +529,7 @@ * * Detect if severity on resource change makes any alarms invalid. * If so, remove such alarms. - * + * * Return value: SA_OK on success **/ SaErrorT oh_detect_res_sev_alarm(SaHpiDomainIdT did, @@ -592,7 +605,7 @@ * * This will detect if a sensor related alarm needs to be removed, * and if so, will remove it accordingly. - * + * * Return value: SA_OK on success **/ SaErrorT oh_detect_sensor_mask_alarm(SaHpiDomainIdT did, @@ -629,7 +642,7 @@ /** * oh_alarms_to_file - * + * * @at: pointer to alarm table. alarms in this table will be saved to a file * @filename: file to which alarms will be saved. * @@ -639,7 +652,7 @@ { GSList *alarms = NULL; int file; - + if (!at || !filename) { dbg("Invalid Parameters"); return SA_ERR_HPI_INVALID_PARAMS; @@ -665,7 +678,7 @@ dbg("Couldn't close file '%s'.", filename); return SA_ERR_HPI_ERROR; } - + return SA_OK; } @@ -682,7 +695,7 @@ { int file; SaHpiAlarmT alarm; - + if (!d || !filename) { dbg("Invalid Parameters"); return SA_ERR_HPI_ERROR; @@ -695,7 +708,7 @@ } while (read(file, &alarm, sizeof(SaHpiAlarmT)) == sizeof(SaHpiAlarmT)) { - SaHpiAlarmT *a = oh_add_alarm(d, &alarm); + SaHpiAlarmT *a = oh_add_alarm(d, &alarm, 1); if (!a) { close(file); dbg("Error adding alarm read from file."); Modified: openhpi/trunk/src/init.c =================================================================== --- openhpi/trunk/src/init.c 2006-07-12 15:50:22 UTC (rev 5911) +++ openhpi/trunk/src/init.c 2006-07-12 17:47:17 UTC (rev 5912) @@ -39,7 +39,7 @@ SaErrorT rval; SaHpiDomainCapabilitiesT capabilities = 0x00000000; SaHpiTextBufferT tag; - + data_access_lock(); /* Initialize thread engine */ @@ -87,7 +87,7 @@ */ struct timespec waittime = { .tv_sec = 1, .tv_nsec = 1000L}; nanosleep(&waittime, NULL); - + /* Do not use SA_OK here in case it is ever changed to something * besides zero, The runtime stuff depends on zero being returned here * in order for the shared library to be completely initialized. @@ -95,98 +95,7 @@ return 0; } -#if 0 /** - * _initialize - * - * Returns: 0 on success otherwise an error code - **/ -int _initialize(int daemon) -{ - - struct oh_parsed_config config = {NULL, NULL, 0, 0, 0, 0}; - struct oh_global_param config_param = { .type = OPENHPI_CONF }; - SaErrorT rval; - - data_access_lock(); - - /* Set openhpi configuration file location */ - oh_get_global_param(&config_param); - - rval = oh_load_config(config_param.u.conf, &config); - /* Don't error out if there is no conf file */ - if (rval < 0 && rval != -4) { - dbg("Can not load config."); - data_access_unlock(); - return SA_ERR_HPI_NOT_PRESENT; - } - - /* this only does something if the config says to */ - struct oh_global_param my_global_param = { .type = OPENHPI_DAEMON_MODE }; - oh_get_global_param(&my_global_param); - if ((my_global_param.u.daemon_mode && daemon == TRUE) || - (!my_global_param.u.daemon_mode && daemon == FALSE)) { - - /* Load plugins and create handlers*/ - oh_process_config(&config); - - /* - * Wipes away configuration lists (plugin_names and handler_configs). - * global_params is not touched. - */ - oh_clean_config(&config); - - - oh_threaded_start(); - trace("### We ARE Starting infrastructure threads" - " in _initialize() my_global_param.u.daemon_mode[%d]" - " daemon[%d]###\n", - my_global_param.u.daemon_mode, daemon); - - /* - * If any handlers were defined in the config file AND - * all of them failed to load, Then return with an error. - */ - if (config.handlers_defined > 0 && config.handlers_loaded == 0) { - data_access_unlock(); - dbg("Error: Handlers were defined, but none loaded."); - return SA_ERR_HPI_ERROR; - } else if (config.handlers_defined > 0 && - config.handlers_loaded < config.handlers_defined) { - dbg("*Warning*: Not all handlers defined loaded." - " Check previous messages."); - } - - trace("Set init state"); - - /* infrastructure initialization has completed at this point */ - - /* Check if there are any handlers loaded */ - if (config.handlers_defined == 0) { - dbg("*Warning*: No handler definitions found in config file." - " Check configuration file %s and previous messages", - config_param.u.conf); - } - } else { - dbg("### We ARE NOT Starting infrastructure threads" - " in _initialize() my_global_param.u.daemon_mode[%d]" - " daemon[%d]###\n", - my_global_param.u.daemon_mode, daemon); - } - - /* Do not use SA_OK here in case it is ever changed to something - * besides zero, The runtime stuff depends on zero being returned here - * in order for the shared library to be completely initialized. - */ - - data_access_unlock(); - - return 0; - -} -#endif - -/** * _fini * * Returns: always returns 0 Modified: openhpi/trunk/src/safhpi.c =================================================================== --- openhpi/trunk/src/safhpi.c 2006-07-12 15:50:22 UTC (rev 5911) +++ openhpi/trunk/src/safhpi.c 2006-07-12 17:47:17 UTC (rev 5912) @@ -1284,7 +1284,7 @@ OH_GET_DOMAIN(did, d); /* Lock domain */ /* Add new alarm */ - a = oh_add_alarm(d, Alarm); + a = oh_add_alarm(d, Alarm, 0); oh_release_domain(d); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-12 15:50:26
|
Revision: 5911 Author: renierm Date: 2006-07-12 08:50:22 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5911&view=rev Log Message: ----------- just removing superfluous include Modified Paths: -------------- openhpi/trunk/openhpid/openhpid.cpp Modified: openhpi/trunk/openhpid/openhpid.cpp =================================================================== --- openhpi/trunk/openhpid/openhpid.cpp 2006-07-11 23:14:44 UTC (rev 5910) +++ openhpi/trunk/openhpid/openhpid.cpp 2006-07-12 15:50:22 UTC (rev 5911) @@ -28,12 +28,12 @@ #include <glib.h> #include <errno.h> #include <getopt.h> + extern "C" { #include <SaHpi.h> #include <oHpi.h> #include <oh_error.h> -#include <oh_threaded.h> #include <oh_initialize.h> } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-11 23:14:54
|
Revision: 5910 Author: renierm Date: 2006-07-11 16:14:44 -0700 (Tue, 11 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5910&view=rev Log Message: ----------- #1491791 Adding alarm table presistency Modified Paths: -------------- openhpi/trunk/include/oHpi.h openhpi/trunk/include/oh_alarm.h openhpi/trunk/include/oh_config.h openhpi/trunk/openhpi.conf.example openhpi/trunk/src/alarm.c openhpi/trunk/src/config.c openhpi/trunk/src/domain.c Modified: openhpi/trunk/include/oHpi.h =================================================================== --- openhpi/trunk/include/oHpi.h 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/include/oHpi.h 2006-07-11 23:14:44 UTC (rev 5910) @@ -41,6 +41,7 @@ OHPI_DEL_SAVE, OHPI_DAT_SIZE_LIMIT, OHPI_DAT_USER_LIMIT, + OHPI_DAT_SAVE, OHPI_DAEMON_MODE, //OHPI_DEBUG, //OHPI_DEBUG_TRACE, @@ -59,6 +60,7 @@ SaHpiBoolT DelSave; /* True if domain event log is to be saved to disk */ SaHpiUint32T DatSizeLimit; /* Max alarms allowed in alarm table */ SaHpiUint32T DatUserLimit; /* Max number of user alarms allowed */ + SaHpiBoolT DatSave; /* True if domain alarm table is to be saved to disk */ SaHpiUint32T Daemon; /* 1 = YES, 0 = NO */ //unsigned char Debug; /* 1 = YES, 0 = NO */ //unsigned char DebugTrace; /* !0 = YES, 0 = NO */ Modified: openhpi/trunk/include/oh_alarm.h =================================================================== --- openhpi/trunk/include/oh_alarm.h 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/include/oh_alarm.h 2006-07-11 23:14:44 UTC (rev 5910) @@ -1,6 +1,6 @@ /* -*- linux-c -*- * - * (C) Copyright IBM Corp. 2004 + * (C) Copyright IBM Corp. 2004-2006 * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -63,5 +63,9 @@ SaHpiSensorEventMaskActionT action, SaHpiEventStateT deassert_mask); +/* Persistency */ +SaErrorT oh_alarms_to_file(struct oh_dat *at, char *filename); +SaErrorT oh_alarms_from_file(struct oh_domain *d, char *filename); + #endif /* __OH_ALARM_H */ Modified: openhpi/trunk/include/oh_config.h =================================================================== --- openhpi/trunk/include/oh_config.h 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/include/oh_config.h 2006-07-11 23:14:44 UTC (rev 5910) @@ -42,6 +42,7 @@ OPENHPI_DEL_SAVE, OPENHPI_DAT_SIZE_LIMIT, OPENHPI_DAT_USER_LIMIT, + OPENHPI_DAT_SAVE, OPENHPI_DAEMON_MODE, //OPENHPI_DEBUG, //OPENHPI_DEBUG_TRACE, @@ -59,6 +60,7 @@ SaHpiBoolT del_save; SaHpiUint32T dat_size_limit; SaHpiUint32T dat_user_limit; + SaHpiBoolT dat_save; SaHpiUint32T daemon_mode; //unsigned char dbg; /* 1 = YES, 0 = NO */ //unsigned char dbg_trace; /* !0 = YES, 0 = NO */ Modified: openhpi/trunk/openhpi.conf.example =================================================================== --- openhpi/trunk/openhpi.conf.example 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/openhpi.conf.example 2006-07-11 23:14:44 UTC (rev 5910) @@ -9,6 +9,7 @@ #OPENHPI_DEL_SAVE = "NO" #OPENHPI_DAT_SIZE_LIMIT = 0 #OPENHPI_DAT_USER_LIMIT = 0 +#OPENHPI_DAT_SAVE = "NO" #OPENHPI_PATH = "/usr/local/lib/openhpi:/usr/lib/openhpi" #OPENHPI_VARPATH = "/usr/local/var/lib/openhpi" @@ -36,13 +37,15 @@ ## the alarm table. The default 0 means unlimited. ## OPENHPI_DAT_USER_LIMIT sets the maximum number of user type alarm entries ## allowed in the alarm table. The default 0 means unlimited. +## OPENHPI_DAT_SAVE sets wether the domain alarm table will be persisted to disk or +## not. The alarm table is written to OPENHPI_VARPATH value. ## OPENHPI_PATH is a colon (:) delimited list of directories specifying ## the location of openhpi plugin libraries. The default is defined when the ## library is configured. ## OPENHPI_VARPATH is a directory to which certain openhpi data will be saved to. -## The DEL (Domain Event Log) and UID (Unique IDs used for resources) mappings -## are saved to this directory. The default is set at compile time through the -## ./configure options. +## The DEL (Domain Event Log), DAT (Domain Alarm Table), and UID (Unique IDs used +## for resources) mappings are saved to this directory. The default is set at +## compile time through the ./configure options. ## Second section, declare plugin to use. For example: ## plugin plugin-name Modified: openhpi/trunk/src/alarm.c =================================================================== --- openhpi/trunk/src/alarm.c 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/src/alarm.c 2006-07-11 23:14:44 UTC (rev 5910) @@ -1,6 +1,6 @@ /* -*- linux-c -*- * - * (C) Copyright IBM Corp. 2004 + * (C) Copyright IBM Corp. 2004-2006 * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,8 +14,13 @@ * */ +#include <sys/time.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <unistd.h> #include <string.h> -#include <sys/time.h> + #include <oh_alarm.h> #include <oh_config.h> #include <oh_error.h> @@ -107,10 +112,11 @@ /** * oh_add_alarm - * @d: - * @alarm: + * @d: pointer to domain + * @alarm: alarm to be added * - * Return value: + * Return value: reference to newly added alarm or NULL if there was + * an error **/ SaHpiAlarmT *oh_add_alarm(struct oh_domain *d, SaHpiAlarmT *alarm) { @@ -146,13 +152,9 @@ } a = g_new0(SaHpiAlarmT, 1); - /* Is this 'if' below needed? g_new will stop program - * on a failed malloc anyway. Just in case... - */ - if (!a) return NULL; - - if (alarm) /* Copy contents of optional alarm reference */ + if (alarm) { /* Copy contents of optional alarm reference */ memcpy(a, alarm, sizeof(SaHpiAlarmT)); + } a->AlarmId = ++(d->dat.next_id); gettimeofday(&tv1, NULL); a->Timestamp = (SaHpiTimeT) tv1.tv_sec * 1000000000 + tv1.tv_usec * 1000; @@ -167,24 +169,35 @@ } __update_dat(d); + param.type = OPENHPI_DAT_SAVE; + oh_get_global_param(¶m); + if (param.u.dat_save) { + char dat_filepath[SAHPI_MAX_TEXT_BUFFER_LENGTH*2]; + param.type = OPENHPI_VARPATH; + oh_get_global_param(¶m); + snprintf(dat_filepath, SAHPI_MAX_TEXT_BUFFER_LENGTH*2, + "%s/dat.%u", param.u.varpath, d->id); + oh_alarms_to_file(&d->dat, dat_filepath); + } return a; } /** * oh_get_alarm - * @d: - * @aid: - * @severity: - * @type: - * @rid: - * @mid: - * @num: - * @state: - * @unacknowledged: - * @get_next: + * @d: pointer to domain + * @aid: Optional. alarm id for alarm to get + * @severity: Optional. Severity of alarm to get + * @type: Optional. Type of alarm to get + * @rid: Optional. Resource Id of alarm to get + * @mid: Optional. Manufacturer Id of alarm to get + * @num: Optional. Sensor number of alarm to get + * @state: Optional. Event State of alarm to get + * @unacknowledged: If True, only gets unacknowledged. + * @get_next: Instead of getting the exact @aid, get the next alarm + * after that one * - * Return value: + * Return value: pointer to SaHpiAlarmT that matched, or NULL of none found. **/ SaHpiAlarmT *oh_get_alarm(struct oh_domain *d, SaHpiAlarmIdT *aid, @@ -210,17 +223,18 @@ /** * oh_remove_alarm - * @d: - * @severity: - * @type: - * @rid: - * @mid: - * @num: - * @state: - * @deassert_mask: - * @multi: + * @d: pointer to domain + * @severity: Optional. Severity of alarm to remove + * @type: Optional. Type of alarm to remove + * @rid: Optional. Resource Id of alarm to remove + * @mid: Optional. Manufacturer Id of alarm to remove + * @num: Optional. Sensor Number of alarm to remove + * @state: Optional. Event state of alarm to remove + * @deassert_mask: Optional. Deassert Mask. Matches on a bit AND operation. + * @multi: If True, does operation for all matching alarms, otherwise, + * just the first matching one. * - * Return value: + * Return value: SA_OK on success **/ SaErrorT oh_remove_alarm(struct oh_domain *d, SaHpiSeverityT *severity, @@ -266,9 +280,11 @@ /** * oh_close_alarmtable - * @d: + * @d: pointer to domain * - * Return value: + * Frees all memory held by alarm table. + * + * Return value: SA_OK on success **/ SaErrorT oh_close_alarmtable(struct oh_domain *d) { @@ -287,10 +303,13 @@ /** * oh_count_alarms - * @d: - * @sev: + * @d: pointer to domain + * @sev: Severity of alarms to count * - * Return value: + * Counts alarms in the domain table. You can count alarms of a specific + * severity, or for all severities (SAHPI_ALL_SEVERITIES). + * + * Return value: Number of alarms counted. **/ SaHpiUint32T oh_count_alarms(struct oh_domain *d, SaHpiSeverityT sev) { @@ -458,10 +477,11 @@ /** * oh_detect_event_alarm - * @d: - * @e: + * @e: pointer to event * - * Return value: + * Study event and determine if alarms need to be removed. + * + * Return value: SA_OK on success **/ SaErrorT oh_detect_event_alarm(struct oh_event *e) { @@ -490,11 +510,14 @@ /** * oh_detect_res_sev_alarm - * @d: - * @res: - * @new_sev: + * @did: domain id + * @res: resource id + * @new_sev: severity being set in resource * - * Return value: + * Detect if severity on resource change makes any alarms invalid. + * If so, remove such alarms. + * + * Return value: SA_OK on success **/ SaErrorT oh_detect_res_sev_alarm(SaHpiDomainIdT did, SaHpiResourceIdT rid, @@ -524,12 +547,15 @@ /** * oh_detect_sensor_alarm - * @d: - * @rid: - * @num: - * @enable: + * @did: domain id + * @rid: resource id + * @num: sensor number + * @enable: sensor enable flag * - * Return value: + * This will detect if a sensor related alarm needs to be removed, + * and if so, will remove it accordingly. + * + * Return value: SA_OK on success **/ SaErrorT oh_detect_sensor_enable_alarm(SaHpiDomainIdT did, SaHpiResourceIdT rid, @@ -558,14 +584,16 @@ /** * oh_detect_sensor_mask_alarm - * @d - * @rid - * @num - * @action - * @deassert_mask + * @did: domain id + * @rid: resource id + * @num: sensor number + * @action: event mask action + * @deassert_mask: deassert mask * - * - * Return value: + * This will detect if a sensor related alarm needs to be removed, + * and if so, will remove it accordingly. + * + * Return value: SA_OK on success **/ SaErrorT oh_detect_sensor_mask_alarm(SaHpiDomainIdT did, SaHpiResourceIdT rid, @@ -598,3 +626,88 @@ oh_release_domain(d); return error; } + +/** + * oh_alarms_to_file + * + * @at: pointer to alarm table. alarms in this table will be saved to a file + * @filename: file to which alarms will be saved. + * + * Return value: SA_OK on success. + **/ +SaErrorT oh_alarms_to_file(struct oh_dat *at, char *filename) +{ + GSList *alarms = NULL; + int file; + + if (!at || !filename) { + dbg("Invalid Parameters"); + return SA_ERR_HPI_INVALID_PARAMS; + } + + file = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0660 ); + if (file < 0) { + dbg("File '%s' could not be opened", filename); + return SA_ERR_HPI_ERROR; + } + + for (alarms = at->list; alarms; alarms = alarms->next) { + int bytes_written = 0; + bytes_written = write(file, (void *)alarms->data, sizeof(SaHpiAlarmT)); + if (bytes_written != sizeof(SaHpiAlarmT)) { + dbg("Couldn't write to file '%s'.", filename); + close(file); + return SA_ERR_HPI_ERROR; + } + } + + if (close(file) != 0) { + dbg("Couldn't close file '%s'.", filename); + return SA_ERR_HPI_ERROR; + } + + return SA_OK; +} + +/** + * oh_alarms_from_file + * + * @d: pointer to domain. alarm table in this domain will receive + * the alarms stored in @filename. + * @filename: filename where alarms will be read from + * + * Return value: SA_OK on success + **/ +SaErrorT oh_alarms_from_file(struct oh_domain *d, char *filename) +{ + int file; + SaHpiAlarmT alarm; + + if (!d || !filename) { + dbg("Invalid Parameters"); + return SA_ERR_HPI_ERROR; + } + + file = open(filename, O_RDONLY); + if (file < 0) { + dbg("File '%s' could not be opened", filename); + return SA_ERR_HPI_ERROR; + } + + while (read(file, &alarm, sizeof(SaHpiAlarmT)) == sizeof(SaHpiAlarmT)) { + SaHpiAlarmT *a = oh_add_alarm(d, &alarm); + if (!a) { + close(file); + dbg("Error adding alarm read from file."); + return SA_ERR_HPI_ERROR; + } + } + + if (close(file) != 0) { + dbg("Couldn't close file '%s'.", filename); + return SA_ERR_HPI_ERROR; + } + + return SA_OK; +} + Modified: openhpi/trunk/src/config.c =================================================================== --- openhpi/trunk/src/config.c 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/src/config.c 2006-07-11 23:14:44 UTC (rev 5910) @@ -38,6 +38,7 @@ "OPENHPI_DEL_SAVE", "OPENHPI_DAT_SIZE_LIMIT", "OPENHPI_DAT_USER_LIMIT", + "OPENHPI_DAT_SAVE", "OPENHPI_DAEMON_MODE", //"OPENHPI_DEBUG", //"OPENHPI_DEBUG_TRACE", @@ -56,6 +57,7 @@ SaHpiBoolT del_save; SaHpiUint32T dat_size_limit; SaHpiUint32T dat_user_limit; + SaHpiBoolT dat_save; SaHpiUint32T daemon_mode; //unsigned char dbg; //unsigned char dbg_trace; @@ -73,6 +75,7 @@ .del_save = SAHPI_FALSE, .dat_size_limit = 0, /* Unlimited size */ .dat_user_limit = 0, /* Unlimited size */ + .dat_save = SAHPI_FALSE, .daemon_mode = 0, /* Are we a daemon if yes this is '1' */ //.dbg = 0, //.dbg_trace = 0, @@ -260,6 +263,12 @@ global_params.dat_size_limit = atoi(value); } else if (!strcmp("OPENHPI_DAT_USER_LIMIT", name)) { global_params.dat_user_limit = atoi(value); + } else if (!strcmp("OPENHPI_DAT_SAVE", name)) { + if (!strcmp("YES", value)) { + global_params.dat_save = SAHPI_TRUE; + } else { + global_params.dat_save = SAHPI_FALSE; + } //} else if (!strcmp("OPENHPI_DEBUG", name)) { // if (!strcmp("YES", value)) { // global_params.dbg = 1; @@ -755,6 +764,9 @@ case OPENHPI_DAT_USER_LIMIT: param->u.dat_user_limit = global_params.dat_user_limit; break; + case OPENHPI_DAT_SAVE: + param->u.dat_save = global_params.dat_save; + break; case OPENHPI_DAEMON_MODE: param->u.daemon_mode = global_params.daemon_mode; break; @@ -835,6 +847,9 @@ case OPENHPI_DAT_USER_LIMIT: global_params.dat_user_limit = param->u.dat_user_limit; break; + case OPENHPI_DAT_SAVE: + global_params.dat_save = param->u.dat_save; + break; case OPENHPI_DAEMON_MODE: global_params.daemon_mode = param->u.daemon_mode; break; Modified: openhpi/trunk/src/domain.c =================================================================== --- openhpi/trunk/src/domain.c 2006-07-11 17:03:16 UTC (rev 5909) +++ openhpi/trunk/src/domain.c 2006-07-11 23:14:44 UTC (rev 5910) @@ -1,6 +1,6 @@ /* -*- linux-c -*- * - * (C) Copyright IBM Corp. 2004, 2005 + * (C) Copyright IBM Corp. 2004-2006 * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -377,7 +377,7 @@ struct oh_domain *domain = NULL; static SaHpiDomainIdT id = OH_FIRST_DOMAIN; /* domain ids will start at 1 */ struct oh_global_param param = { .type = OPENHPI_DEL_SIZE_LIMIT }; - char del_filepath[SAHPI_MAX_TEXT_BUFFER_LENGTH*2]; + char filepath[SAHPI_MAX_TEXT_BUFFER_LENGTH*2]; domain = g_new0(struct oh_domain,1); if (!domain) return 0; @@ -413,11 +413,22 @@ if (param.u.del_save) { param.type = OPENHPI_VARPATH; oh_get_global_param(¶m); - snprintf(del_filepath, + snprintf(filepath, SAHPI_MAX_TEXT_BUFFER_LENGTH*2, "%s/del.%u", param.u.varpath, domain->id); - oh_el_map_from_file(domain->del, del_filepath); + oh_el_map_from_file(domain->del, filepath); } + param.type = OPENHPI_DAT_SAVE; + oh_get_global_param(¶m); + if (param.u.dat_save) { + param.type = OPENHPI_VARPATH; + oh_get_global_param(¶m); + memset(filepath, 0, SAHPI_MAX_TEXT_BUFFER_LENGTH*2); + snprintf(filepath, + SAHPI_MAX_TEXT_BUFFER_LENGTH*2, + "%s/dat.%u", param.u.varpath, domain->id); + oh_alarms_from_file(domain, filepath); + } g_hash_table_insert(oh_domains.table, &(domain->id), domain); g_static_rec_mutex_unlock(&(oh_domains.lock)); /* Unlocked domain table */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ses...@us...> - 2006-07-11 17:03:20
|
Revision: 5909 Author: sesherman Date: 2006-07-11 10:03:16 -0700 (Tue, 11 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5909&view=rev Log Message: ----------- #1518360 comment: Add generic threshold events Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-11 15:57:11 UTC (rev 5908) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-11 17:03:16 UTC (rev 5909) @@ -302,6 +302,10 @@ EN_THERM_TRIP_CPU1|0x0421D081|SAHPI_CRITICAL|OVR_SEV|"CPU 1 over temperature" EN_PFA_HI_OVER_TEMP_CPU1|0x0421D501|SAHPI_MAJOR|OVR_SEV|"System over temperature for CPU 1." EN_PFA_HI_OVER_TEMP_CPU1|0x0421D501|SAHPI_MAJOR|OVR_SEV|"CPU 1 over recommended temperature" +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF1C|SAHPI_CRITICAL|OVR_SEV|"processor 1 (CPU 1 Temp) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF1C|SAHPI_CRITICAL|OVR_SEV|"processor 1 (CPU1 TEMP) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF1D|SAHPI_MAJOR|OVR_SEV|"processor 1 (CPU 1 Temp) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF1D|SAHPI_MAJOR|OVR_SEV|"processor 1 (CPU 1 TEMP) over recommended temperature." # Blade CPU 2 Temperature Sensor EN_PROC_HOT_CPU2|0x0421C402|SAHPI_CRITICAL|OVR_SEV|"CPU 2 shut off due to over temperature" @@ -311,6 +315,10 @@ EN_THERM_TRIP_CPU2|0x0421D082|SAHPI_CRITICAL|OVR_SEV|"CPU 2 over temperature" EN_PFA_HI_OVER_TEMP_CPU2|0x0421D502|SAHPI_MAJOR|OVR_SEV|"System over temperature for CPU 2." EN_PFA_HI_OVER_TEMP_CPU2|0x0421D502|SAHPI_MAJOR|OVR_SEV|"CPU 2 over recommended temperature" +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF20|SAHPI_CRITICAL|OVR_SEV|"processor 2 (CPU 2 Temp) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF20|SAHPI_CRITICAL|OVR_SEV|"processor 2 (CPU2 TEMP) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF21|SAHPI_MAJOR|OVR_SEV|"processor 2 (CPU 2 Temp) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF21|SAHPI_MAJOR|OVR_SEV|"processor 2 (CPU 2 TEMP) over recommended temperature." # Blade CPU 3 Temperature Sensor EN_PROC_HOT_CPU3|0x0421C403|SAHPI_CRITICAL|OVR_SEV|"CPU 3 shut off due to over temperature" @@ -320,6 +328,10 @@ EN_THERM_TRIP_CPU3|0x0421D083|SAHPI_CRITICAL|OVR_SEV|"CPU 3 over temperature" EN_PFA_HI_OVER_TEMP_CPU3|0x0421D503|SAHPI_MAJOR|OVR_SEV|"System over temperature for CPU 3." EN_PFA_HI_OVER_TEMP_CPU3|0x0421D503|SAHPI_MAJOR|OVR_SEV|"CPU 3 over recommended temperature" +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF22|SAHPI_CRITICAL|OVR_SEV|"processor 3 (CPU 3 Temp) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF22|SAHPI_CRITICAL|OVR_SEV|"processor 3 (CPU3 TEMP) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF23|SAHPI_MAJOR|OVR_SEV|"processor 3 (CPU 3 Temp) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF23|SAHPI_MAJOR|OVR_SEV|"processor 3 (CPU 3 TEMP) over recommended temperature." # Blade CPU 4 Temperature Sensor EN_PROC_HOT_CPU4|0x0421C404|SAHPI_CRITICAL|OVR_SEV|"CPU 4 shut off due to over temperature" @@ -329,7 +341,39 @@ EN_THERM_TRIP_CPU4|0x0421D084|SAHPI_CRITICAL|OVR_SEV|"CPU 4 over temperature" EN_PFA_HI_OVER_TEMP_CPU4|0x0421D504|SAHPI_MAJOR|OVR_SEV|"System over temperature for CPU 4." EN_PFA_HI_OVER_TEMP_CPU4|0x0421D504|SAHPI_MAJOR|OVR_SEV|"CPU 4 over recommended temperature" +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF24|SAHPI_CRITICAL|OVR_SEV|"processor 4 (CPU 4 Temp) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF24|SAHPI_CRITICAL|OVR_SEV|"processor 4 (CPU4 TEMP) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF25|SAHPI_MAJOR|OVR_SEV|"processor 4 (CPU 4 Temp) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF25|SAHPI_MAJOR|OVR_SEV|"processor 4 (CPU 4 TEMP) over recommended temperature." +# Blade Memory Bank 1 Temperature Sensor +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF14|SAHPI_CRITICAL|OVR_SEV|"memory bank 1 (BANK1 TEMP) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF14|SAHPI_CRITICAL|OVR_SEV|"memory bank 1 (BANK 1 Temp) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF15|SAHPI_MAJOR|OVR_SEV|"memory bank 1 (BANK1 TEMP) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF15|SAHPI_MAJOR|OVR_SEV|"memory bank 1 (BANK 1 Temp) over recommended temperature." + +# Blade Memory Bank 2 Temperature Sensor +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF16|SAHPI_CRITICAL|OVR_SEV|"memory bank 2 (BANK2 TEMP) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF16|SAHPI_CRITICAL|OVR_SEV|"memory bank 2 (BANK 2 Temp) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF17|SAHPI_MAJOR|OVR_SEV|"memory bank 2 (BANK2 TEMP) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF17|SAHPI_MAJOR|OVR_SEV|"memory bank 2 (BANK 2 Temp) over recommended temperature." + +# Blade Memory Bank 3 Temperature Sensor +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF18|SAHPI_CRITICAL|OVR_SEV|"memory bank 3 (BANK3 TEMP) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF18|SAHPI_CRITICAL|OVR_SEV|"memory bank 3 (BANK 3 Temp) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF19|SAHPI_MAJOR|OVR_SEV|"memory bank 3 (BANK3 TEMP) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF19|SAHPI_MAJOR|OVR_SEV|"memory bank 3 (BANK 3 Temp) over recommended temperature." + +# Blade Memory Bank 4 Temperature Sensor +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF1A|SAHPI_CRITICAL|OVR_SEV|"memory bank 4 (BANK4 TEMP) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF1A|SAHPI_CRITICAL|OVR_SEV|"memory bank 4 (BANK 4 Temp) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF1B|SAHPI_MAJOR|OVR_SEV|"memory bank 4 (BANK4 TEMP) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF1B|SAHPI_MAJOR|OVR_SEV|"memory bank 4 (BANK 4 Temp) over recommended temperature." + +# Blade 0.9 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF1|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 0.9V) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF2|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 0.9V) under recommended voltage." + # Blade 1.2 Volt Sensor EN_PFA_HI_FAULT_1_2V|0x08001401|SAHPI_MAJOR|OVR_SEV|"System over recommended voltage on +1.2v." EN_PFA_HI_FAULT_1_2V|0x08001401|SAHPI_MAJOR|OVR_SEV|"Blade 1.2V over recommended voltage" @@ -408,6 +452,10 @@ EN_PFA_HI_FAULT_3_35V|0x08033480|SAHPI_MAJOR|OVR_SEV|"Blade 3.3V over recommended voltage" # FIXME:: MM Bug: Need a Blade 3.3V over recommended voltage event; Replace FF EN_MAJOR_LO_FAULT_3_35V EN_MAJOR_LO_FAULT_3_35V|0xFF032900|SAHPI_MAJOR|OVR_SEV|"System under recommended voltage on +3.3v." +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF3|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 3.3V) over recommended voltage." +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF3|SAHPI_MAJOR|OVR_SEV|"system board 1 (3.3V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF4|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 3.3V) under recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF4|SAHPI_MAJOR|OVR_SEV|"system board 1 (3.3V Sense) under recommended voltage." # Blade Standby 3.3 Volt Sensor #FIXME: MM: I/O guys McCarren only? No SNMP OID to read McCarren 3.3VSB sensor @@ -427,6 +475,11 @@ EN_PFA_HI_FAULT_5V|0x08035500|SAHPI_MAJOR|OVR_SEV|"Blade 5V over fault." EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|OVR_SEV|"System under recommended 5V Fault." EN_PFA_LO_FAULT_5V|0x08035800|SAHPI_MAJOR|NO_SEV|"Blade 5V under recommended voltage" +# FIXME:: Why is Lewis instance 2 not 1? +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF5|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 5V) over recommended voltage." +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF5|SAHPI_MAJOR|OVR_SEV|"system board 2 (5V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF6|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 5V) under recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF6|SAHPI_MAJOR|OVR_SEV|"system board 2 (5V Sense) under recommended voltage." # Blade Standby 5 Volt Sensor EN_5VS_WARNING_HI|0x0A035C02|SAHPI_MAJOR|OVR_SEV|"Standby +5V over recommended voltage." @@ -450,6 +503,11 @@ EN_PFA_HI_FAULT_12V_PLANAR|0x06037500|SAHPI_MAJOR|OVR_SEV|"Blade 12V over recommended voltage." EN_PFA_LO_FAULT_12V_PLANAR|0x06037800|SAHPI_MAJOR|OVR_SEV|"System under recommended voltage for +12v." EN_PFA_LO_FAULT_12V_PLANAR|0x06037800|SAHPI_MAJOR|OVR_SEV|"Blade 12V under recommended voltage" +# FIXME:: Why is Lewis instance 3 not 1? +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF7|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 12V) over recommended voltage." +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF7|SAHPI_MAJOR|OVR_SEV|"system board 3 (12V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF8|SAHPI_MAJOR|OVR_SEV|"system board 1 (Planar 12V) under recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFF8|SAHPI_MAJOR|OVR_SEV|"system board 3 (12V Sense) under recommended voltage." # Blade Standby 12 Volt Sensor # FIXME:: MM: I/O guys McCarren? No SNMP OID to read Blade 12 VSB @@ -468,6 +526,28 @@ ##EN_PFA_HI_FAULT_VRM2|0x04401502|SAHPI_MAJOR|OVR_SEV|"System is over recommended voltage on VRM 2." ##EN_PFA_LO_FAULT_VRM2|0x04401802|SAHPI_MAJOR|OVR_SEV|"System is under recommended voltage on VRM 2." +# Blade CPU 1 Core Voltage Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFF9|SAHPI_MAJOR|OVR_SEV|"processor 1 (CPU 1 VCore) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFFA|SAHPI_MAJOR|OVR_SEV|"processor 1 (CPU 1 VCore) under recommended voltage." + +# Blade CPU 2 Core Voltage Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFFB|SAHPI_MAJOR|OVR_SEV|"processor 2 (CPU 2 VCore) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFFC|SAHPI_MAJOR|OVR_SEV|"processor 2 (CPU 2 VCore) under recommended voltage." + +# Blade CPU 3 Core Voltage Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFFFD|SAHPI_MAJOR|OVR_SEV|"processor 3 (CPU 3 VCore) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFFFE|SAHPI_MAJOR|OVR_SEV|"processor 3 (CPU 3 VCore) under recommended voltage." + +# Blade CPU 4 Core Voltage Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF10|SAHPI_MAJOR|OVR_SEV|"processor 4 (CPU 4 VCore) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF11|SAHPI_MAJOR|OVR_SEV|"processor 4 (CPU 4 VCore) under recommended voltage." + +# Blade Battery Voltage Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF12|SAHPI_MAJOR|OVR_SEV|"battery 1 (Planar VBAT) over recommended voltage." +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF12|SAHPI_MAJOR|OVR_SEV|"battery 1 (VBATT Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF13|SAHPI_MAJOR|OVR_SEV|"battery 1 (Planar VBAT) under recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF13|SAHPI_MAJOR|OVR_SEV|"battery 1 (VBATT Sense) under recommended voltage." + # Blade Operational Status Sensor #### Mapped to Off-line Operational State EN_BLADE_1_INSUFFICIENT_PWR|0x0E00A001|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"Blade 1 is not allowed to power on because of insufficient power." @@ -838,6 +918,9 @@ # BSE Vcc Sensor # FIXME:: MM: Don't see any events for this sensor - 8843 only? +##EN_BEM_1V_WARNING_HI|0x0E850402|SAHPI_MINOR|OVR_SEV,OVR_EXP|"BEM 1V over recommended voltage" +##EN_BEM_1V_WARNING_LOW|0x0E850802|SAHPI_MINOR|OVR_SEV,OVR_EXP|"BEM 1V under recommended voltage" + # BSE 1.5 Volt Sensor EN_BUST_1_5V_FAULT|0x0E840002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +1.5V Fault." EN_BEM_1_5V_WARNING_HI|0x0E840402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +1.5V over recommended voltage." @@ -879,6 +962,9 @@ ##EN_BEM_2_5V_WARNING_LOW|0x0E830802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +2.5V under recommended voltage." ##EN_BEM_2_5V_WARNING_LOW|0x0E830802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 2.5V under recommended voltage" +##EN_BEM_12VSB_WARNING_HI|0x0E860402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby over recommended voltage" +##EN_BEM_12VSB_WARNING_LOW|0x0E860802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby under recommended voltage" + ##EN_BUST_18V_FAULT|0x0E83C002|SAHPI_CRITICAL|OVR_SEV,OVR_EXP|"BEM +18V Fault." ##EN_BEM_18V_WARNING_HI|0x0E83C402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM +18V over recommended voltage." ##EN_BEM_18V_WARNING_HI|0x0E83C402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 18V over recommended voltage" @@ -890,21 +976,55 @@ ############################# # PEU2 Temperature Sensor +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF26|SAHPI_CRITICAL|OVR_SEV|"expansion board 3 (PEU2 Local Temp) over critical temperature." +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF26|SAHPI_CRITICAL|OVR_SEV|"expansion board 2 (PEU2 Local Temp) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF27|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 Local Temp) over recommended temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF27|SAHPI_MAJOR|OVR_SEV|"expansion board 2 (PEU2 Local Temp) over recommended temperature." # PEU2 1 Volt Sensor -##EN_BEM_1V_WARNING_HI|0x0E850402|SAHPI_MINOR|OVR_SEV,OVR_EXP|"BEM 1V over recommended voltage" -##EN_BEM_1V_WARNING_LOW|0x0E850802|SAHPI_MINOR|OVR_SEV,OVR_EXP|"BEM 1V under recommended voltage" +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF28|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 1V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF29|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 1V Sense) under recommended voltage." # PEU2 3.3 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF2A|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 3.3V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF2B|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 3.3V Sense) under recommended voltage." # PEU2 5 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF2C|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 5V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF2D|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 5V Sense) under recommended voltage." # PEU2 12 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF30|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 12V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF31|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 12V Sense) under recommended voltage." # PEU2 Standby 12 Volt Sensor -##EN_BEM_12VSB_WARNING_HI|0x0E860402|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby over recommended voltage" -##EN_BEM_12VSB_WARNING_LOW|0x0E860802|SAHPI_MAJOR|OVR_SEV,OVR_EXP|"BEM 12V standby under recommended voltage" +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF32|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 12VSB Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF33|SAHPI_MAJOR|OVR_SEV|"expansion board 3 (PEU2 12VSB Sense) under recommended voltage." +################################## +# BIE (Blade I/O Expansion) Module +################################## + +# BIE Temperature Sensor +EN_GENERIC_HI_CRIT_TEMP|0xFFFFFF34|SAHPI_CRITICAL|OVR_SEV|"expansion board 1 (BIE Local Temp) over critical temperature." +EN_GENERIC_HI_WARN_TEMP|0xFFFFFF35|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE Local Temp) over recommended temperature." + +# BIE 1.5 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF36|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 1.5V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF37|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 1.5V Sense) under recommended voltage." + +# BIE 3.3 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF38|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 3.3V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF39|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 3.3V Sense) under recommended voltage." + +# BIE 5 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF3A|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 5V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF3B|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 5V Sense) under recommended voltage." + +# BIE 12 Volt Sensor +EN_GENERIC_UPPER_WARN_VOLT|0xFFFFFF3C|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 12V Sense) over recommended voltage." +EN_GENERIC_LOWER_WARN_VOLT|0xFFFFFF3D|SAHPI_MAJOR|OVR_SEV|"expansion board 1 (BIE 12V Sense) under recommended voltage." + ##################### # Media Tray Resource ##################### @@ -921,6 +1041,7 @@ # Media Tray Operational Status Sensor - event only EN_FAULT_FP_R|0x09020000|SAHPI_MINOR|OVR_SEV,OVR_RID|"System front panel controller not responding." +EN_FRONT_PANEL_TEMP_FAIL|0x06A2E001|SAHPI_MAJOR|OVR_SEV,OVR_RID|"Front panel temperature is unavailable. Cooling capacity set to maximum" # Media Tray Management Bus Operational Status Sensor - event only EN_STCONN_FAIL_MEDIATRAY|0x0002205B|SAHPI_CRITICAL|OVR_SEV,OVR_RID|"Connectivity status mediatray communication failed." @@ -1702,20 +1823,6 @@ # MMV2_20 Events ################ -# FIXME:: MM: Why 8 (instead of 4) of these and not other CPUx event messages -##EN_OVER_TEMP_CPU5|0x0421C085|SAHPI_CRITICAL|OVR_SEV|"CPU 5 over temperature" -##EN_OVER_TEMP_CPU6|0x0421C086|SAHPI_CRITICAL|OVR_SEV|"CPU 6 over temperature" -##EN_OVER_TEMP_CPU7|0x0421C087|SAHPI_CRITICAL|OVR_SEV|"CPU 7 over temperature" -##EN_OVER_TEMP_CPU8|0x0421C088|SAHPI_CRITICAL|OVR_SEV|"CPU 8 over temperature" -##EN_CPU_5_DISABLED|0x04204005|SAHPI_MAJOR|OVR_SEV|"CPU 5 disabled" -##EN_CPU_6_DISABLED|0x04204006|SAHPI_MAJOR|OVR_SEV|"CPU 6 disabled" -##EN_CPU_7_DISABLED|0x04204007|SAHPI_MAJOR|OVR_SEV|"CPU 7 disabled" -##EN_CPU_8_DISABLED|0x04204008|SAHPI_MAJOR|OVR_SEV|"CPU 8 disabled" -##EN_IERR_CPU_RESTART5|0x04306205|SAHPI_MAJOR|OVR_SEV|"CPU 5 halted" -##EN_IERR_CPU_RESTART6|0x04306206|SAHPI_MAJOR|OVR_SEV|"CPU 6 halted" -##EN_IERR_CPU_RESTART7|0x04306207|SAHPI_MAJOR|OVR_SEV|"CPU 7 halted" -##EN_IERR_CPU_RESTART8|0x04306208|SAHPI_MAJOR|OVR_SEV|"CPU 8 halted" - # FIXME: When are these raised? Can I map to a blade operational state - or are there other events # (i.e. blade won't power on if this happens - get this event plus no power event? ##EN_BLADE_NO_DC_FAULT|0x00029402|SAHPI_MINOR|OVR_SEV|"Power module 3 or 4 is required to power blades 5 to 8." @@ -1734,8 +1841,6 @@ # FIXME:: What are these for - blade? Media Tray? Just warnings or is USB dead? ##EN_FAULT_OC_USB_HUB|0x00014034|SAHPI_MAJOR|OVR_SEV|"USB hub over-current failure" ##EN_FAULT_OC_USB_PORT|0x00014033|SAHPI_MAJOR|OVR_SEV|"USB port over-current failure" -# FIXME:: When does this occur? - bus error? -##EN_FRONT_PANEL_TEMP_FAIL|0x06A2E001|SAHPI_MAJOR|OVR_SEV|"Front panel temperature is unavailable. Cooling capacity set to maximum" # FIXME:: MM Are these used? ##EN_IPMI_BLD_RESET|0x00216018|SAHPI_INFORMATIONAL|OVR_SEV|"Blade reset." @@ -1780,8 +1885,6 @@ ##EN_IPMI_VIDEO_INIT_FAIL|0x0021602E|SAHPI_MAJOR|OVR_SEV|"Failure during video initialization." ##EN_IPMI_WAKEUP_VECTOR_FAIL|0x00216037|SAHPI_MAJOR|OVR_SEV|"Failure calling OS wakeup vector." -##EN_MFAN|0x00000067|SAHPI_CRITICAL|OVR_SEV|"Multiple blower failures" - # FIXME:: 485? I2C? System level? ##EN_MGMT_BUS_FAULT|0x00103000|SAHPI_MAJOR|OVR_SEV|"Management bus communication fault." ##EN_UNABLE_ISLOATE_BUS|0x00101007|SAHPI_MAJOR|OVR_SEV|"Unable to isolate bus fault - bus was not recovered." @@ -1789,15 +1892,13 @@ # FIXME:: What happens here - other events? ##EN_MM_MISMATCHED|0x00282005|SAHPI_CRITICAL|OVR_SEV|"Configuration of mismatched management modules is not supported" +# FIXME:: When is this generated? ##EN_MM_NON_REDUNDANT|0x00284000|SAHPI_MINOR|OVR_SEV|"No standby Management Module in chassis" -##EN_OS_WD|0x00000073|SAHPI_MINOR|OVR_SEV|"OS Watchdog Triggered" -##EN_POST_WD|0x00000072|SAHPI_MINOR|OVR_SEV|"POST Watchdog Triggered" -##EN_LOAD_WD|0x00000078|SAHPI_MINOR|OVR_SEV|"Loader Watchdog Triggered" - # FIXME:: blade error? ##EN_PERR|0x06500000|SAHPI_INFORMATIONAL|OVR_SEV|"Parity Error PCI Bus" +# FIXME:: Groucho SDR doesn't assert this. ##EN_PFA_HI_EXCEDED_CUR_12V_A_MAX|0x0801B402|SAHPI_MINOR|OVR_SEV|"Blade 12V over recommended current." # FIXME:: What happens when this occurs? @@ -1843,7 +1944,7 @@ ##EN_STCONN_FAIL_OTHERMM|0x0002201E|SAHPI_CRITICAL|OVR_SEV|"Connectivity status alternate MM communication failed." # FIXME:: Assume this is "active" MM; be nice if could tell which MM - since this is a real physical thing. Ever -# recovered? +# recovered? Groucho sends this as well - Need 2 different events... ##EN_SYSTEM_BATTERY_FAILURE|0x06000000|SAHPI_INFORMATIONAL|OVR_SEV|"The real time clock battery in the MM needs service." # FIXME:: Why are these MINOR? Old ones were mostly ERRORs (e.g. CRITICAL or MAJOR) @@ -1862,6 +1963,10 @@ #EN_BLADE_REBOOT|0x00000081|SAHPI_INFORMATIONAL|OVR_SEV|"System Reboot" #EN_COD_BLADE_ACTIVATED|0x04001001|SAHPI_MINOR|OVR_SEV|"Blade standby capacity activated" +#EN_OS_WD|0x00000073|SAHPI_MINOR|OVR_SEV|"OS Watchdog Triggered" +#EN_POST_WD|0x00000072|SAHPI_MINOR|OVR_SEV|"POST Watchdog Triggered" +#EN_LOAD_WD|0x00000078|SAHPI_MINOR|OVR_SEV|"Loader Watchdog Triggered" + #EN_MM_1_ISPRIME|0x06000201|SAHPI_INFORMATIONAL|OVR_SEV,OVR_MM1|"Management Module in bay 1 is Active." #EN_MM_1_ISPRIME|0x06000201|SAHPI_INFORMATIONAL|OVR_SEV,OVR_MM1|"Management Module in bay 1 is active." #EN_MM_2_ISPRIME|0x06000202|SAHPI_INFORMATIONAL|OVR_SEV,OVR_MM2|"Management Module in bay 2 is Active." @@ -1899,9 +2004,12 @@ #EN_SWITCH_9_NAT_ACTIVATE|0x0EA0F009|SAHPI_INFORMATIONAL|OVR_SEV|"I/O module 9 NAT table is activated." #EN_SWITCH_10_NAT_ACTIVATE|0x0EA0F00A|SAHPI_INFORMATIONAL|OVR_SEV|"I/O module 10 NAT table is activated." +#EN_MFAN|0x00000067|SAHPI_CRITICAL|OVR_SEV|"Multiple blower failures" + #EN_TCPAPPS_CMD_MODE_ENABLED|0x00016002|SAHPI_INFORMATIONAL|OVR_SEV|"TCP Command Mode enabled." #EN_TCPAPPS_CMD_MODE_DISABLED|0x00016003|SAHPI_INFORMATIONAL|OVR_SEV|"TCP Command Mode disabled." #EN_TCPAPPS_SSL_CMD_MODE_ENABLED|0x00016004|SAHPI_INFORMATIONAL|OVR_SEV|"Secure TCP Command Mode enabled." #EN_TCPAPPS_SSL_CMD_MODE_DISABLED|0x00016005|SAHPI_INFORMATIONAL|OVR_SEV|"Secure TCP Command Mode disabled." #EN_TCPAPPS_SSL_CMD_MODE_PORT|0x00016006|SAHPI_INFORMATIONAL|OVR_SEV|"Secure TCP Command Mode port number changed. New port number: " #EN_TCPAPPS_CMD_MODE_PORT|0x00016007|SAHPI_INFORMATIONAL|OVR_SEV|"TCP Command Mode port number changed. New port number: " + Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-11 15:57:11 UTC (rev 5908) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-11 17:03:16 UTC (rev 5909) @@ -4427,7 +4427,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFF1C", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF1D", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -4499,7 +4514,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFF20", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF21", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -4571,7 +4601,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFF22", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF23", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -4643,7 +4688,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFF24", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF25", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -4663,8 +4723,7 @@ .Category = SAHPI_EC_THRESHOLD, .EnableCtrl = SAHPI_FALSE, .EventCtrl = SAHPI_SEC_READ_ONLY, - .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_LOWER_CRIT | - SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, + .Events = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .DataFormat = { .IsSupported = SAHPI_TRUE, .ReadingType = SAHPI_SENSOR_READING_TYPE_FLOAT64, @@ -4720,12 +4779,25 @@ .cur_child_rid = SAHPI_UNSPECIFIED_RESOURCE_ID, .sensor_enabled = SAHPI_TRUE, .events_enabled = SAHPI_TRUE, - .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_LOWER_CRIT | - SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, - .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_LOWER_CRIT | - SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, + .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, + .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ + { + .event = "FFFFFFF1", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFF2", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -5562,7 +5634,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFFF3", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFF4", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -5753,7 +5840,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFFF5", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFF6", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6038,7 +6140,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* No IPMI unique events */ + { + .event = "FFFFFFF7", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFF8", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6223,7 +6340,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ + { + .event = "FFFFFFF9", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFFA", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6296,7 +6428,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ + { + .event = "FFFFFFFB", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFFC", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6369,7 +6516,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ + { + .event = "FFFFFFFD", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFFFE", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6442,7 +6604,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ + { + .event = "FFFFFF10", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF11", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6521,6 +6698,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { + { + .event = "FFFFFF12", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF13", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6591,8 +6784,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF14", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF15", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6663,8 +6870,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF16", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF17", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6735,8 +6956,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF18", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF19", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -6807,8 +7042,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF1A", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF1B", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -7752,8 +8001,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF26", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF27", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -7831,8 +8094,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF28", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF29", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -7910,8 +8187,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF2A", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF2B", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -7989,8 +8280,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF2C", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF2D", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8068,8 +8373,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF30", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF31", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8147,8 +8466,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF32", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF33", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8219,8 +8552,22 @@ .assert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .deassert_mask = SAHPI_ES_UPPER_MAJOR | SAHPI_ES_UPPER_CRIT, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF34", /* EN_GENERIC_HI_CRIT_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_CRIT, + .recovery_state = SAHPI_ES_UPPER_MAJOR, + }, + { + .event = "FFFFFF35", /* EN_GENERIC_HI_WARN_TEMP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8298,8 +8645,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF36", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF37", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8377,8 +8738,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF38", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF39", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8456,8 +8831,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF3A", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF3B", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8535,8 +8924,22 @@ .assert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .deassert_mask = SAHPI_ES_LOWER_MAJOR | SAHPI_ES_UPPER_MAJOR, .event_array = { - /* FIXME:: Add events */ - + { + .event = "FFFFFF3C", /* EN_GENERIC_UPPER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_UPPER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, + { + .event = "FFFFFF3D", /* EN_GENERIC_LOWER_WARN_VOLT */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_LOWER_MAJOR, + .recovery_state = SAHPI_ES_UNSPECIFIED, + }, {}, }, .reading2event = {}, @@ -8587,6 +8990,14 @@ .event_state = SAHPI_ES_DEGRADED, .recovery_state = SAHPI_ES_RUNNING, }, + { + .event = "06A2E001", /* EN_FRONT_PANEL_TEMP_FAIL */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_DEGRADED, + .recovery_state = SAHPI_ES_RUNNING, + }, {}, }, .reading2event = {}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2006-07-11 15:57:17
|
Revision: 5908 Author: renierm Date: 2006-07-11 08:57:11 -0700 (Tue, 11 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5908&view=rev Log Message: ----------- #1520630 Fixing bug in oh_remove_alarms logic Modified Paths: -------------- openhpi/trunk/src/alarm.c Modified: openhpi/trunk/src/alarm.c =================================================================== --- openhpi/trunk/src/alarm.c 2006-07-10 15:33:27 UTC (rev 5907) +++ openhpi/trunk/src/alarm.c 2006-07-11 15:57:11 UTC (rev 5908) @@ -73,7 +73,7 @@ (num ? alarm->AlarmCond.SensorNum == *num : 1) && (state ? alarm->AlarmCond.EventState == *state : 1) && (unacknowledged ? !alarm->Acknowledged : 1)) { - return alarms; + return alarms; } } @@ -234,27 +234,22 @@ { GSList *alarm_node = NULL; SaHpiAlarmT *alarm = NULL; - SaHpiAlarmIdT saw_aid = SAHPI_FIRST_ENTRY; /* Set to zero */ + SaHpiAlarmIdT aid = SAHPI_FIRST_ENTRY; /* Set to zero */ struct oh_global_param param = { .type = OPENHPI_DAT_SIZE_LIMIT }; if (!d) return SA_ERR_HPI_INVALID_PARAMS; do { - alarm_node = __get_alarm_node(d, NULL, severity, type, rid, mid, - num, state, 0, 0); + alarm_node = __get_alarm_node(d, &aid, severity, type, rid, mid, + num, state, 0, 1); if (alarm_node) alarm = alarm_node->data; else break; - if (alarm->AlarmId == saw_aid) break; /* Avoid infinite loop case */ - - saw_aid = alarm->AlarmId; - - if (alarm && - (deassert_mask ? *deassert_mask & alarm->AlarmCond.EventState : 1)) { + aid = alarm->AlarmId; + if (deassert_mask ? *deassert_mask & alarm->AlarmCond.EventState : 1) { d->dat.list = g_slist_delete_link(d->dat.list, alarm_node); g_free(alarm); } - alarm_node = NULL; alarm = NULL; } while (multi); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ses...@us...> - 2006-07-10 15:33:37
|
Revision: 5907 Author: sesherman Date: 2006-07-10 08:33:27 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5907&view=rev Log Message: ----------- #1518360 comment: Add events for throttle warning; Add alias for PEU2 Temp Sense Modified Paths: -------------- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-10 14:04:37 UTC (rev 5906) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_event.map 2006-07-10 15:33:27 UTC (rev 5907) @@ -65,12 +65,20 @@ # Power Domain 1 Redundancy Sensor - event-only # This string necessary since Recovery string is truncated +EN_PWR_DOMAIN_1_OVER_SUBSCRIP|0x08009401|SAHPI_INFORMATIONAL|OVR_SEV|"Demand exceeds a single power module. Throttling can occur in domain 1 if redundancy is lo" +EN_PWR_DOMAIN_1_OVER_SUBSCRIP|0x08009401|SAHPI_INFORMATIONAL|OVR_SEV|"Demand exceeds a single power module. Throttling can occur in domain 1 if redundancy is lost." +EN_PWR_DOMAIN_1_OVER_SUBSCRIP|0x08009401|SAHPI_INFORMATIONAL|OVR_SEV|"Blades in domain 1 will throttle if a single Power Module fails." +# This string necessary since Recovery string is truncated EN_PWR_DOMAIN_1_OVER_SUBSCRIP_NONREC|0x08008401|SAHPI_MINOR|OVR_SEV|"Demand exceeds a single power module. Immediate shutdown in domain 1 may occur if module f" EN_PWR_DOMAIN_1_OVER_SUBSCRIP_NONREC|0x08008401|SAHPI_MINOR|OVR_SEV|"Demand exceeds a single power module. Immediate shutdown in domain 1 may occur if module fails." EN_PWR_DOMAIN_1_OVER_SUBSCRIP_NONREC|0x08008401|SAHPI_MINOR|OVR_SEV|"The budgeted power is more than a what a single Power Module can provide in domain 1" # Power Domain 2 Redundancy Sensor - event-only # This string necessary since Recovery string is truncated +EN_PWR_DOMAIN_2_OVER_SUBSCRIP|0x08009402|SAHPI_INFORMATIONAL|OVR_SEV|"Demand exceeds a single power module. Throttling can occur in domain 2 if redundancy is lo" +EN_PWR_DOMAIN_2_OVER_SUBSCRIP|0x08009402|SAHPI_INFORMATIONAL|OVR_SEV|"Demand exceeds a single power module. Throttling can occur in domain 2 if redundancy is lost." +EN_PWR_DOMAIN_2_OVER_SUBSCRIP|0x08009402|SAHPI_INFORMATIONAL|OVR_SEV|"Blades in domain 2 will throttle if a single Power Module fails." +# This string necessary since Recovery string is truncated EN_PWR_DOMAIN_2_OVER_SUBSCRIP_NONREC|0x08008402|SAHPI_MINOR|OVR_SEV|"Demand exceeds a single power module. Immediate shutdown in domain 2 may occur if module f" EN_PWR_DOMAIN_2_OVER_SUBSCRIP_NONREC|0x08008402|SAHPI_MINOR|OVR_SEV|"Demand exceeds a single power module. Immediate shutdown in domain 2 may occur if module fails." EN_PWR_DOMAIN_2_OVER_SUBSCRIP_NONREC|0x08008402|SAHPI_MINOR|OVR_SEV|"The budgeted power is more than a what a single Power Module can provide in domain 2" @@ -1838,6 +1846,7 @@ # recovered? ##EN_SYSTEM_BATTERY_FAILURE|0x06000000|SAHPI_INFORMATIONAL|OVR_SEV|"The real time clock battery in the MM needs service." +# FIXME:: Why are these MINOR? Old ones were mostly ERRORs (e.g. CRITICAL or MAJOR) ##EN_THRESH_HI_CRIT_TEMP|0x80010901|SAHPI_MINOR|OVR_SEV|"%s %s (%s) %s critical %s." ##EN_THRESH_LO_NONRECOV_VOLT|0x80010402|SAHPI_MINOR|OVR_SEV|"%s %s (%s) %s non-recoverable %s fault." ##EN_THRESH_LO_WARN_VOLT|0x80010002|SAHPI_MINOR|OVR_SEV|"%s %s (%s) %s recommended %s." @@ -1896,6 +1905,3 @@ #EN_TCPAPPS_SSL_CMD_MODE_DISABLED|0x00016005|SAHPI_INFORMATIONAL|OVR_SEV|"Secure TCP Command Mode disabled." #EN_TCPAPPS_SSL_CMD_MODE_PORT|0x00016006|SAHPI_INFORMATIONAL|OVR_SEV|"Secure TCP Command Mode port number changed. New port number: " #EN_TCPAPPS_CMD_MODE_PORT|0x00016007|SAHPI_INFORMATIONAL|OVR_SEV|"TCP Command Mode port number changed. New port number: " - -#EN_PWR_DOMAIN_1_OVER_SUBSCRIP|0x08009401|SAHPI_INFORMATIONAL|OVR_SEV|"Blades in domain 1 will throttle if a single Power Module fails." -#EN_PWR_DOMAIN_2_OVER_SUBSCRIP|0x08009402|SAHPI_INFORMATIONAL|OVR_SEV|"Blades in domain 2 will throttle if a single Power Module fails." Modified: openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c =================================================================== --- openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-10 14:04:37 UTC (rev 5906) +++ openhpi/trunk/plugins/snmp_bc/snmp_bc_resources.c 2006-07-10 15:33:27 UTC (rev 5907) @@ -951,6 +951,14 @@ .deassert_mask = SAHPI_ES_REDUNDANCY_LOST, .event_array = { { + .event = "08008401", /* EN_PWR_DOMAIN_1_OVER_SUBSCRIP */ + .event_assertion = SAHPI_TRUE, + .event_res_failure = SAHPI_FALSE, + .event_res_failure_unexpected = SAHPI_FALSE, + .event_state = SAHPI_ES_REDUNDANCY_LOST, + .recovery_state = SAHPI_ES_FULLY_REDUNDANT, + }, + { .event = "08008401", /* EN_PWR_DOMAIN_1_OVER_SUBSCRIP_NONREC */ .event_assertion = SAHPI_TRUE, .event_res_failure = SAHPI_FALSE, @@ -7684,7 +7692,7 @@ /* PEU2 Temperature Sensor */ { .ipmi_tag = "PEU2 TEMP SENSE", - .ipmi_tag_alias1 = '\0', + .ipmi_tag_alias1 = "PEU2 LOCAL TEMP", .ipmi = { .index = 7, .sensor = { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dju...@us...> - 2006-07-10 14:05:27
|
Revision: 5906 Author: djudkovi Date: 2006-07-10 07:04:37 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5906&view=rev Log Message: ----------- initial checkin, Added Paths: ----------- openhpi/trunk/src/initialize.c Added: openhpi/trunk/src/initialize.c =================================================================== --- openhpi/trunk/src/initialize.c (rev 0) +++ openhpi/trunk/src/initialize.c 2006-07-10 14:04:37 UTC (rev 5906) @@ -0,0 +1,210 @@ + +/* -*- linux-c -*- + * + * (C) Copyright IBM Corp. 2004-2006 + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This + * file and program are licensed under a BSD style license. See + * the Copying file included with the OpenHPI distribution for + * full licensing terms. + * + * Author(s): + * David Judkovics <dju...@us...> + * + */ + +#include <oh_config.h> +#include <oh_plugin.h> +#include <oh_domain.h> +#include <oh_session.h> +#include <oh_threaded.h> +#include <oh_error.h> +#include <oh_lock.h> +#include <oh_utils.h> +#include <oh_initialize.h> + +#include <oh_config.h> + +#include <syslog.h> + +/** + * init + * + * Returns: 0 on success otherwise an error code + **/ +int init(void) +{ + SaErrorT rval; + SaHpiDomainCapabilitiesT capabilities = 0x00000000; + SaHpiTextBufferT tag; + + data_access_lock(); + + printf("************ oh_threaded_init init() **********\n"); + /* Initialize thread engine */ + oh_threaded_init(); + + /* Initialize uid_utils */ + rval = oh_uid_initialize(); + if( (rval != SA_OK) && (rval != SA_ERR_HPI_ERROR) ) { + dbg("Unique ID intialization failed."); + data_access_unlock(); + return rval; + } + trace("Initialized UID."); + + /* Initialize handler table */ + oh_handlers.table = g_hash_table_new(g_int_hash, g_int_equal); + trace("Initialized handler table"); + + /* Initialize domain table */ + oh_domains.table = g_hash_table_new(g_int_hash, g_int_equal); + trace("Initialized domain table"); + + /* Create first domain */ + oh_init_textbuffer(&tag); + oh_append_textbuffer(&tag,"First Domain"); + if (!oh_create_domain(capabilities, SAHPI_TIMEOUT_IMMEDIATE, &tag)) { + data_access_unlock(); + dbg("Could not create first domain!"); + return SA_ERR_HPI_ERROR; + } + trace("Created first domain"); + + /* Initialize session table */ + oh_sessions.table = g_hash_table_new(g_int_hash, g_int_equal); + trace("Initialized session table"); + + /* load plugins and start discovery threads if not a daemon */ + if ( _initialize(TRUE) == SA_ERR_HPI_ERROR) return SA_ERR_HPI_ERROR; + + data_access_unlock(); + + /* + * HACK: Wait a second before returning + * to give the threads time to populate the RPT + */ + struct timespec waittime = { .tv_sec = 1, .tv_nsec = 1000L}; + nanosleep(&waittime, NULL); + + /* Do not use SA_OK here in case it is ever changed to something + * besides zero, The runtime stuff depends on zero being returned here + * in order for the shared library to be completely initialized. + */ + + return 0; +} + + +/** + * _initialize + * + * Returns: 0 on success otherwise an error code + **/ +int _initialize(int daemon) +{ + + struct oh_parsed_config config = {NULL, NULL, 0, 0, 0, 0}; + struct oh_global_param config_param = { .type = OPENHPI_CONF }; + SaErrorT rval; + + data_access_lock(); + + /* Set openhpi configuration file location */ + oh_get_global_param(&config_param); + + rval = oh_load_config(config_param.u.conf, &config); + /* Don't error out if there is no conf file */ + if (rval < 0 && rval != -4) { + dbg("Can not load config."); + data_access_unlock(); + return SA_ERR_HPI_NOT_PRESENT; + } + + /* this only does something if the config says to */ + struct oh_global_param my_global_param = { .type = OPENHPI_DAEMON_MODE }; + oh_get_global_param(&my_global_param); + + dbg("### We ARE Going to Check if start infrastructure threads" + " in _initialize() my_global_param.u.daemon_mode[%d]" + " daemon[%d]###\n", + my_global_param.u.daemon_mode, daemon); + + + if ((my_global_param.u.daemon_mode && daemon == TRUE) || + (!my_global_param.u.daemon_mode && daemon == FALSE)) { + + +/* initialize the async event queue */ +//struct oh_handler_state state; +//if (!(state.eventq_async = g_async_queue_new())) { +// dbg("Async event log creation failed"); +// exit(0); +//} else { +// dbg("Async event log creation Succeeded"); +//} + + + /* Load plugins and create handlers*/ + oh_process_config(&config); + + /* + * Wipes away configuration lists (plugin_names and handler_configs). + * global_params is not touched. + */ + oh_clean_config(&config); + + + oh_threaded_start(); + dbg("### We ARE Starting infrastructure threads" + " in _initialize() my_global_param.u.daemon_mode[%d]" + " daemon[%d]###\n", + my_global_param.u.daemon_mode, daemon); + + /* + * If any handlers were defined in the config file AND + * all of them failed to load, Then return with an error. + */ + if (config.handlers_defined > 0 && config.handlers_loaded == 0) { + data_access_unlock(); + dbg("Error: Handlers were defined, but none loaded."); + return SA_ERR_HPI_ERROR; + } else if (config.handlers_defined > 0 && + config.handlers_loaded < config.handlers_defined) { + dbg("*Warning*: Not all handlers defined loaded." + " Check previous messages."); + } + + dbg("Set init state"); + + /* infrastructure initialization has completed at this point */ + + /* Check if there are any handlers loaded */ + if (config.handlers_defined == 0) { + dbg("*Warning*: No handler definitions found in config file." + " Check configuration file %s and previous messages", + config_param.u.conf); + } + } else { + dbg("### We ARE NOT Starting infrastructure threads" + " in _initialize() my_global_param.u.daemon_mode[%d]" + " daemon[%d]###\n", + my_global_param.u.daemon_mode, daemon); + + } + + /* Do not use SA_OK here in case it is ever changed to something + * besides zero, The runtime stuff depends on zero being returned here + * in order for the shared library to be completely initialized. + */ + + openlog("hpisyslog", LOG_PID, LOG_USER); + + data_access_unlock(); + + return 0; + +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dju...@us...> - 2006-07-10 13:39:29
|
Revision: 5905 Author: djudkovi Date: 2006-07-10 06:39:19 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/openhpi/?rev=5905&view=rev Log Message: ----------- initial checkin. Added Paths: ----------- openhpi/trunk/include/oh_initialize.h Added: openhpi/trunk/include/oh_initialize.h =================================================================== --- openhpi/trunk/include/oh_initialize.h (rev 0) +++ openhpi/trunk/include/oh_initialize.h 2006-07-10 13:39:19 UTC (rev 5905) @@ -0,0 +1,24 @@ + +/* -*- linux-c -*- + * + * (C) Copyright IBM Corp. 2004-2006 + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This + * file and program are licensed under a BSD style license. See + * the Copying file included with the OpenHPI distribution for + * full licensing terms. + * + * Author(s): + * David M Jukdkovics <dmj...@us...> + * + */ + +#ifndef __OH_INITIALIZE_H +#define __OH_INITIALIZE_H + +int init(void); +int _initialize(int daemon); + +#endif /* __OH_INITIALIZE_H */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |