Our custom bootloader build using the Bootloader Customizer Kit handles the BLH_QUERY_PEX to control the L2Cache and MPEnable members of PEXCFG.
With BSP 1.5, disabling the MP Support (pPexCfg->MPEnable = 0) is no longer working. It seams as our callback no longer gets called.
Is the BLH_QUERY_PEX message still being sent to the BootloaderKitHookProc ?
Message is still called, we changed that structure, so this may impact its memory layout, but the callback should be invoked anyway.
Do you have a way to check if the call is actually performed (like toggling a GPIO or storing a variable and printing its value later on?
I am storing the pointer I received in the BLH_QUERY_PEX. The function does get called, but the changes made do not seem to get applied.
The config block has pex.mpenable=1
set.
With the function below, MP support sould get disabled
DWORD HandleQueryPex(PEXCFG *p_pPexCfg)
{
DWORD dwResult = BLH_NOCHANGES;
p_pPexCfg->MPEnable = 0;
p_pPexCfg->CPUs = 1;
dwResult = BLH_APPLYCHANGES;
return dwResult;
}
But this is not happening. The OS still boots with SMP support enabled.