From 8d2f642444d8581ea7dda1219f2ffccc79a63dce Mon Sep 17 00:00:00 2001 From: Marty Gloff Date: Thu, 4 May 2017 11:49:53 -0500 Subject: Bootloader updates to support remapped memory - Initial pass Add support to BlToHbData structure and create new version. Put in TODOs for pending p9_sbe_hb_structures.H changes. Move selected Bootloader data out of image due to size issues. Update BlTrace tool for new location of trace data. Change-Id: Ic513a95b8f4054d467537c4623d5a7b7aa09e25e RTC:173526 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40096 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Reviewed-by: William G. Hoffa Reviewed-by: Christian R. Geddes Reviewed-by: Daniel M. Crowell --- src/include/bootloader/bootloader_data.H | 79 ++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/include/bootloader/bootloader_data.H (limited to 'src/include/bootloader/bootloader_data.H') diff --git a/src/include/bootloader/bootloader_data.H b/src/include/bootloader/bootloader_data.H new file mode 100644 index 000000000..a28ea74cd --- /dev/null +++ b/src/include/bootloader/bootloader_data.H @@ -0,0 +1,79 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/bootloader/bootloader_data.H $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2017 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +#ifndef __BOOTLOADER_DATA_H +#define __BOOTLOADER_DATA_H + +/** + * @file bootloader_data.H + * + * Data struct for Bootloader data placed outside of Bootloader image. + */ + +#include +#include +#include +#include + + +namespace Bootloader{ + typedef struct blData + { + // @name bl_trace + // @brief Buffer for Bootloader Trace data + // Buffer with bootloader trace entries. There are 64 one-byte entries + // in the buffer. They are used to track events that have occurred in + // the bootloader code. After all entries have been used, the buffer + // wraps and the oldest entry is overwritten by the newest trace data. + uint8_t bl_trace[BOOTLOADER_TRACE_SIZE]; + + // @name bl_trace_index + // @brief Index for Bootloader Trace entries + // One-byte index for next entry to use in bootloader_trace. + uint8_t bl_trace_index; + + // Object that will be stored where the SBE HB structure indicates + BlToHbData blToHbData; + + // Bool indicating if the secureROM is valid. Toggles verification. + bool secureRomValid; + + // Buffer to save HBB PNOR section data + PNOR::SectionData_t bl_hbbSection; + + // Instance of the TI Data Area + HB_TI_DataArea bl_TIDataArea; + } blData_t; + + /** + * @brief Pointer to bootloader external data + * + * Pointer to location in main storage which bootloader uses for + * storing data + */ + extern blData_t *g_blData; +} // end namespace Bootloader + +#endif -- cgit v1.2.3