Skip to content

aarch64 cache idnestcnt - #968

Merged
Kalamatee merged 2 commits into
aros-development-team:masterfrom
bsek:bsek/aarch64-cache-idnestcnt
Aug 9, 2026
Merged

aarch64 cache idnestcnt#968
Kalamatee merged 2 commits into
aros-development-team:masterfrom
bsek:bsek/aarch64-cache-idnestcnt

Conversation

@bsek

@bsek bsek commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

aarch64 fixes, aligns with the arm32 port

bsek added 2 commits August 9, 2026 17:04
A pure invalidate works on whole cache lines, so a range that neither
starts nor ends on a line boundary discarded dirty bytes belonging to
whoever shares its head and tail lines. Promote those two lines to
clean+invalidate, as the arm implementation already does.
core_Switch saved tc_IDNestCnt only for tasks leaving in TS_RUN, but Wait()
switches away in TS_WAIT holding a Disable() level, so one level leaked per
blocking wait. The signed byte eventually wrapped positive and the task was
then dispatched with interrupts masked for good. The arm and x86_64
schedulers already save it unconditionally.
@Kalamatee
Kalamatee merged commit 7e6e600 into aros-development-team:master Aug 9, 2026
2 of 3 checks passed
@bsek
bsek deleted the bsek/aarch64-cache-idnestcnt branch August 9, 2026 15:25
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.

2 participants