You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the __power_manager_start is correctly loaded again into the register as the core is returning from reset state after power gating.
However, the compiler does not know that the registers lost their original content, and relies on the gp register to re-load into a0 the __power_manager_start symbol from the linker.
This is wrong as now the gp register does not contain the value that the compiler expects.
One solution could be splitting the functions into 2
In function
power_gate_core_asm
, after thewfi
https://github.com/esl-epfl/x-heep/blob/main/sw/device/lib/drivers/power_manager/power_manager.c#L100
the
__power_manager_start
is correctly loaded again into the register as the core is returning from reset state after power gating.However, the compiler does not know that the registers lost their original content, and relies on the
gp
register to re-load intoa0
the__power_manager_start
symbol from the linker.This is wrong as now the
gp
register does not contain the value that the compiler expects.One solution could be splitting the functions into 2
The text was updated successfully, but these errors were encountered: