diff options
Diffstat (limited to 'src/usr/isteps')
-rw-r--r-- | src/usr/isteps/pm/pm_common.C | 7 | ||||
-rw-r--r-- | src/usr/isteps/pm/pm_common.H | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/usr/isteps/pm/pm_common.C b/src/usr/isteps/pm/pm_common.C index 75f2c7984..972ecdf81 100644 --- a/src/usr/isteps/pm/pm_common.C +++ b/src/usr/isteps/pm/pm_common.C @@ -327,6 +327,13 @@ namespace HBPM break; } + // The ref image may still include the 4K header which the HWP is + // not expecting, so move the image pointer past the header + if( *(reinterpret_cast<uint64_t*>(l_pImageIn)) == VER_EYECATCH) + { + l_pImageIn = reinterpret_cast<void*> + (reinterpret_cast<uint8_t*>(l_pImageIn) + PAGESIZE); + } TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "loadHcode: HCODE addr = 0x%p, lidId = 0x%.8x", l_pImageIn, diff --git a/src/usr/isteps/pm/pm_common.H b/src/usr/isteps/pm/pm_common.H index 54f2bff02..567152dce 100644 --- a/src/usr/isteps/pm/pm_common.H +++ b/src/usr/isteps/pm/pm_common.H @@ -73,6 +73,7 @@ namespace HBPM // Mask off bit zero PHYSICAL_ADDR_MASK = 0x7FFFFFFFFFFFFFFF, + VER_EYECATCH = 0x56455253494F4E00, //'VERSION\0' }; /** |