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

hw: add support for VMX #5128

Open
atopia opened this issue Feb 23, 2024 · 5 comments
Open

hw: add support for VMX #5128

atopia opened this issue Feb 23, 2024 · 5 comments
Assignees
Labels

Comments

@atopia
Copy link
Contributor

atopia commented Feb 23, 2024

Add support for Intel's Virtual Machine Extensions with nested paging.

@atopia atopia added the feature label Feb 23, 2024
@atopia atopia self-assigned this Feb 23, 2024
atopia added a commit to atopia/genode that referenced this issue Feb 23, 2024
Add support for Intel's Virtual Machine Extensions with nested paging.

Fixes genodelabs#5128
atopia added a commit to atopia/genode that referenced this issue Feb 23, 2024
Add support for Intel's Virtual Machine Extensions with nested paging.

Fixes genodelabs#5128
@atopia
Copy link
Contributor Author

atopia commented Feb 23, 2024

Works on nested virtualization under Linux/KVM with qemu:

  • vmm_x86
  • seoul-auto (1 vCPU)
  • seoul-net
  • seoul-genode
  • seoul-disc
  • seoul-disc-64

Does not work:

  • SMP (AP initialization hangs)
  • virtualbox6 (error)

atopia added a commit to atopia/genode that referenced this issue Feb 28, 2024
Add support for Intel's Virtual Machine Extensions with nested paging.

Fixes genodelabs#5128
atopia added a commit to atopia/genode that referenced this issue May 8, 2024
Add a kernel panic function to x86_64 that mirrors the functionality
available for ARM.

Issue genodelabs#5128
atopia added a commit to atopia/genode that referenced this issue May 8, 2024
Add support for Intel's Virtual Machine Extensions with nested paging.

Fixes genodelabs#5128
@atopia
Copy link
Contributor Author

atopia commented May 8, 2024

@chelmuth please have a look. The VMX virtualization feature contained in this issue is in good shape. There is an unresolved issue with (timer) interrupt injection, possibly connected to "recall" exit injection in the VMM on hw that likely transcends the VMX hypervisor implementation contained in this issue. On top of these commits, practical use of VMX under hw requires a reworked nested page table implementation that is orthogonal to VMX and will be provided in an upcoming issue.

chelmuth pushed a commit that referenced this issue May 13, 2024
Add a kernel panic function to x86_64 that mirrors the functionality
available for ARM.

Issue #5128
@chelmuth
Copy link
Member

I merged cba426c but got merge conflicts with 12e87b1. Please address my remarks and rebase on staging.

atopia added a commit to atopia/genode that referenced this issue May 14, 2024
Add support for Intel's Virtual Machine Extensions with nested paging.

Fixes genodelabs#5128
@atopia
Copy link
Contributor Author

atopia commented May 14, 2024

The new commit should address the previously discussed points and is meant to be added on top of staging with the fixup commits from #5113 applied.

chelmuth pushed a commit that referenced this issue May 15, 2024
Add a kernel panic function to x86_64 that mirrors the functionality
available for ARM.

Issue #5128
chelmuth pushed a commit that referenced this issue May 15, 2024
Add support for Intel's Virtual Machine Extensions with nested paging.

Fixes #5128
chelmuth added a commit that referenced this issue May 15, 2024
@chelmuth
Copy link
Member

Merged to staging.

atopia added a commit to atopia/genode that referenced this issue May 15, 2024
Rename `enforce_intercepts` to `enforce_execution_controls`.

Issue genodelabs#5128
chelmuth pushed a commit that referenced this issue May 15, 2024
Rename `enforce_intercepts` to `enforce_execution_controls`.

Issue #5128
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants