diff options
Diffstat (limited to 'src/usr/vpd/rtvpd_load.C')
-rw-r--r-- | src/usr/vpd/rtvpd_load.C | 18 |
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 ); |