Skip to content

Conversation

@AlexJones0
Copy link

I think this might have just been a small mistake missed in #186 (changes cs->disabled = 1 to cs->disabled = true on Darjeeling, but cs->disabled = 1 to cs->disabled = false on Earlgrey).

The hart should be disabled on soc reset, and should instead be enabled by the PowerManager when the reset sequence has been properly handled, as the comment suggests.

This surprisingly wasn't causing many issues, but when using the debug module I was running into assertion failures surrounding reset sequences where QEMU tried to reset_exit Ibex despite having never reset_entered it.

The hart should be disabled on soc reset, and should instead be enabled
by the PowerManager when the reset sequence has been properly handled,
as the comment suggests. This is already being done correctly on
Darjeeling, but is not being done on Earlgrey.

Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
Copy link

@jwnrt jwnrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is correct now. It matches Darjeeling at the very least.

Copy link

@rivos-eblot rivos-eblot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@luismarques luismarques merged commit b603d31 into lowRISC:ot-9.2.0 Oct 30, 2025
10 checks passed
@rivos-eblot
Copy link

I did not understand why you would not need -global ot-ibex_wrapper.lc-ignore=on to run the smoke test in the CI earlier today.

As there is no loaded OTP, the Ibex should not start to execute, as LC state is RAW, it would not deliver a signal to the Ibex CPU. This is why Darjeeling needs this option when OTP image is not loaded.

I just had a look at the machine configuration for EarlGrey, and here is the culprit:

// ot_earlgrey.c:1351
            /* remove the following line once LC state is implemented */
            IBEX_DEV_BOOL_PROP("lc-ignore", true)

In other words, for now, -global ot-ibex_wrapper.lc-ignore is always on :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants