Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Armpkg setway cache maintenance #6194

Merged

Conversation

ardbiesheuvel
Copy link
Member

Description

Remove set/way d-cache maintenance from the ArmLib API. This will break Beagle unless tianocore/edk2-platforms#194 is merged first.

@ardbiesheuvel ardbiesheuvel added the push Auto push patch series in PR if all checks pass label Sep 12, 2024
@mdkinney
Copy link
Member

@mergify refresh

Copy link

mergify bot commented Sep 12, 2024

refresh

✅ Pull request refreshed

@mdkinney
Copy link
Member

@mergify requeue

Copy link

mergify bot commented Sep 12, 2024

requeue

☑️ This pull request is already queued

@mdkinney
Copy link
Member

@mergify rebase

Copy link

mergify bot commented Sep 12, 2024

rebase

☑️ Nothing to do

  • queue-position = -1 [📌 rebase requirement]
  • -closed [📌 rebase requirement]
  • -conflict [📌 rebase requirement]
  • any of:
    • #commits > 1 [📌 rebase requirement]
    • -linear-history [📌 rebase requirement]
    • #commits-behind > 0 [📌 rebase requirement]

@mdkinney mdkinney added push Auto push patch series in PR if all checks pass and removed push Auto push patch series in PR if all checks pass labels Sep 12, 2024
@mdkinney
Copy link
Member

@mergify refresh

Copy link

mergify bot commented Sep 12, 2024

refresh

✅ Pull request refreshed

@ardbiesheuvel
Copy link
Member Author

@mergify requeue

Copy link

mergify bot commented Sep 12, 2024

requeue

☑️ This pull request is already queued

Cache maintenance on the D-cache hierarchy as a whole is not supported
by the ARM architecture, so drop the routines from ArmLib that pretend
to implement it.

Signed-off-by: Ard Biesheuvel <[email protected]>
Cache maintenance operations by set/way are not broadcast, and operate
on individual architected caches, making them suitable only for
en/disabling cache levels, which is the job of secure firmware, to be
carried out while the CPU in question is not taking part in the
cache coherency protocol.

Managing the clean/dirty state of a memory range can only be done using
cache maintenance by virtual address.

So drop the set/way handling from ArmLib for ARM and AARCH64, as there
is no context where it can be used correctly from EDK2.

Signed-off-by: Ard Biesheuvel <[email protected]>
@ardbiesheuvel ardbiesheuvel force-pushed the armpkg-setway-cache-maintenance branch from 0894fa5 to f80cc63 Compare September 12, 2024 17:09
@ardbiesheuvel ardbiesheuvel added push Auto push patch series in PR if all checks pass and removed push Auto push patch series in PR if all checks pass labels Sep 12, 2024
@mergify mergify bot merged commit 6706fe6 into tianocore:master Sep 13, 2024
126 checks passed
@ardbiesheuvel ardbiesheuvel deleted the armpkg-setway-cache-maintenance branch September 13, 2024 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
push Auto push patch series in PR if all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants