From d6ce3b30395982623494ad75c50e75c56fadcaca Mon Sep 17 00:00:00 2001 From: Dan Crowell Date: Tue, 27 Sep 2011 09:51:50 -0500 Subject: Pull FSI data from real attributes (Task 3909). There are a group of attributes defined for FSI now. -ATTR_FSI_MASTER_CHIP -ATTR_FSI_MASTER_TYPE -ATTR_FSI_MASTER_PORT -ATTR_FSI_SLAVE_CASCADE -ATTR_FSI_OPTION_FLAGS Also includes work for Story 3996. The attributes are now broken into 3 distinct pieces: - attribute_types.xml : defines hostboot attributes - target_types.xml : defines different types of targets - XXX.system.xml : system-specific information, equivalent to what we'll get from system workbook These are then used to generic system-specific binaries, currently for 3 platforms: - simics_SALERNO_targeting.bin - simics_VENICE_targeting.bin - vbu_targeting.bin Change-Id: I2bf920cc62cceb761ab44a07df433da44249d0e0 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/426 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell --- src/usr/devicefw/associator.C | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'src/usr/devicefw') diff --git a/src/usr/devicefw/associator.C b/src/usr/devicefw/associator.C index 3ea60361c..bacb8bd34 100644 --- a/src/usr/devicefw/associator.C +++ b/src/usr/devicefw/associator.C @@ -149,6 +149,29 @@ namespace DeviceFW void* io_buffer, size_t& io_buflen, int64_t i_accessType, va_list i_addr) { + errlHndl_t l_errl = NULL; + + if( NULL == i_target ) + { + TRACFCOMP(g_traceBuffer, "A device driver operation was attempted on a NULL target : i_opType=%d, i_accessType=%d", i_opType, i_accessType ); + /*@ + * @errortype + * @moduleid DEVFW_MOD_ASSOCIATOR + * @reasoncode DEVFW_RC_NULL_TARGET + * @userdata1 OpType + * @userdata2 AccessType + * + * @devdesc A device driver operation on a NULL target. + */ + l_errl = new ErrlEntry(ERRL_SEV_INFORMATIONAL, + DEVFW_MOD_ASSOCIATOR, + DEVFW_RC_NULL_TARGET, + i_opType, + i_accessType); + return l_errl; + } + + TARGETING::TYPE l_devType = (i_target == MASTER_PROCESSOR_CHIP_TARGET_SENTINEL) ? TYPE_PROC : i_target->getAttr(); @@ -160,8 +183,6 @@ namespace DeviceFW // compiler due to the template specializations in driverif.H. // No assert-checks will be done here. - errlHndl_t l_errl = NULL; - mutex_lock(&iv_mutex); // Function pointer found for this route request. @@ -240,7 +261,7 @@ namespace DeviceFW * @moduleid DEVFW_MOD_ASSOCIATOR * @reasoncode DEVFW_RC_NO_ROUTE_FOUND * @userdata1 (OpType << 32) | (AccessType) - * @userdata1 TargetType + * @userdata2 TargetType * * @devdesc A device driver operation was attempted for * which no driver has been registered. -- cgit v1.2.1