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

should be a SBI call #3

Open
ingallsj opened this issue Dec 2, 2024 · 0 comments
Open

should be a SBI call #3

ingallsj opened this issue Dec 2, 2024 · 0 comments

Comments

@ingallsj
Copy link

ingallsj commented Dec 2, 2024

There is considerable complexity behind this sentence:

The _fence.time_ semantics MUST be propagated to the core bus, to all peripherals so that they correctly deal with it.

In SoCs integrating multiple cores and bus agents, this essentially means "call the power management sequence to reset the chip, and do everything but reset".

It is not realistic, nor RISC, for a single instruction executed in one core to clear all state in the world, e.g., including LLC replacement metadata and DRAM / persistent memory controller read/write buffering.

Cores that are isolated enough to be able to natively execute this instruction likely are not concerned with hosting untrusted applications.

Creating an instruction with the intent of only trapping it seems like the long way to go about making a SBI call.

Above I have made assumptions about use cases, so I'm curious to hear counter-examples where the native instruction suffices in systems hosting multi-tenant workloads.

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

No branches or pull requests

1 participant