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

UEFI_030 non-normative text unnecessarily constraining? #221

Open
andreiw opened this issue Jan 23, 2025 · 2 comments
Open

UEFI_030 non-normative text unnecessarily constraining? #221

andreiw opened this issue Jan 23, 2025 · 2 comments
Labels
enhancement New feature or request

Comments

@andreiw
Copy link
Collaborator

andreiw commented Jan 23, 2025

The cursive non-normative text under UEFI_030 talks about satp configuration mode but the spec talks about observed behavior, not about implementation details.

Satp is a means to an end, but it relies on DRAM being actually mappable 1:1. Unfortunate system design choices, like picking bit 47 on an Sv48 system, would mean 1:1 is not possible with satp, but an implementation could use hgatp just fine (running most of UEFI in VS mode). All it needs to do is drop out of VS mode during ExitBootServices to not freak out the OS and it could still meet this spec.

So I'd either drop the "satp.MODE must not be set to Bare" text or reword it to make it clear this is an example of "enabling paged virtual memory", not an rule to follow.

@vlsunil
Copy link
Collaborator

vlsunil commented Feb 6, 2025

Bare mode is explicitly avoided for enabling protection. This was added after extensive discussion with ARC as well. REF: #182 (comment)

@andreiw
Copy link
Collaborator Author

andreiw commented Feb 13, 2025

I know why we avoid bare mode - after all, I originated the requirement. The problem I see is forcing a specific implementation. The goal is MMU enforcement of access rights, and I just don't see clear value of defining the way to accomplish that. It could be second stage, or even something crazy like PMP. The mechanism shouldn't matter. We should be talking about observable behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants