From b950ea3af7bc174d5ff5b1c9617cb2c8be742d17 Mon Sep 17 00:00:00 2001 From: Marty Gloff Date: Tue, 10 Oct 2017 14:33:50 -0500 Subject: Concurrent code update of HBRT - Runtime Interface Create the runtime interface for PHYP to call. Change-Id: I1ec7ca2df4491b5a6fa83e12261679165d177a27 RTC: 180906 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48209 Reviewed-by: Christian R. Geddes Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Corey V. Swenson Reviewed-by: Daniel M. Crowell --- src/include/runtime/interface.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/include/runtime/interface.h') diff --git a/src/include/runtime/interface.h b/src/include/runtime/interface.h index e436cc699..7258826ca 100644 --- a/src/include/runtime/interface.h +++ b/src/include/runtime/interface.h @@ -37,7 +37,7 @@ */ /** Current interface version. - * 0x9001: 9=P9, 002=Version 2 + * 0x9002: 9=P9, 002=Version 2 */ #define HOSTBOOT_RUNTIME_INTERFACE_VERSION 0x9002 @@ -866,10 +866,22 @@ typedef struct runtimeInterfaces void (*firmware_notify)( uint64_t len, void *data ); + /** + * @brief Prepare for HBRT concurrent code update + * + * @details This call allows the Host to inform HBRT that a concurrent + * code update has been initiated. HBRT then prepares updated targeting + * data for use by the updated HBRT code. + * + * @return 0 on success else return code + * @platform FSP + */ + int (*prepare_hbrt_update)( void ); + // Reserve some space for future growth. - // do NOT ever change this number, even if you add functions. + // Currently are decrementing this number as we add functions. // - // The value of 32 was somewhat arbitrarily chosen. + // The initial value of 32 was somewhat arbitrarily chosen. // // If either side modifies the interface.h file we're suppose to be able to // tolerate the other side not supporting the function yet. The function @@ -883,7 +895,7 @@ typedef struct runtimeInterfaces // allocated with sufficient space and populated with NULL function // pointers. 32 is big enough that we should not likely add that many // functions from either direction in between any two levels of support. - void (*reserved[22])(void); + void (*reserved[21])(void); } runtimeInterfaces_t; -- cgit v1.2.1