summaryrefslogtreecommitdiffstats
path: root/src/usr/vpd/rtvpd_load.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/vpd/rtvpd_load.C')
-rw-r--r--src/usr/vpd/rtvpd_load.C18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/usr/vpd/rtvpd_load.C b/src/usr/vpd/rtvpd_load.C
index 26ad6f031..f12d23d01 100644
--- a/src/usr/vpd/rtvpd_load.C
+++ b/src/usr/vpd/rtvpd_load.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2017 */
+/* Contributors Listed Below - COPYRIGHT 2013,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -108,6 +108,7 @@ errlHndl_t VPD::vpd_load_rt_image(uint64_t & i_vpd_addr)
do
{
+#ifndef CONFIG_SUPPORT_EEPROM_CACHING
void* vptr = reinterpret_cast<void*>(i_vpd_addr);
uint8_t* vpd_ptr = reinterpret_cast<uint8_t*>(vptr);
@@ -136,6 +137,21 @@ errlHndl_t VPD::vpd_load_rt_image(uint64_t & i_vpd_addr)
{
break;
}
+#else
+ // In Axone we store all contents of EEPROMs in EECACHE
+ // so copy the EECACHE pnor section to the space in reserved
+ // memory allocated for VPD.
+ void* vptr = reinterpret_cast<void*>(i_vpd_addr);
+ uint8_t* vpd_ptr = reinterpret_cast<uint8_t*>(vptr);
+
+ err = bld_vpd_image(PNOR::EECACHE,
+ vpd_ptr,
+ VMM_RT_VPD_SIZE);
+ if(err)
+ {
+ break;
+ }
+#endif
} while( 0 );
OpenPOWER on IntegriCloud