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

platform/native: use SIPI for API startup #581

Merged
merged 1 commit into from
Jan 21, 2025

Conversation

msft-jlange
Copy link
Collaborator

@msft-jlange msft-jlange commented Dec 18, 2024

Native platforms that cannot make use of the Hyper-V hypercalls require the use of INIT/SIPI to perform multi-processor startup.

@msft-jlange msft-jlange force-pushed the sipi branch 2 times, most recently from d537cd6 to 23228cb Compare December 20, 2024 00:22
Copy link
Member

@joergroedel joergroedel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the comments I left this looks good to me, though I did not test it.

igvmbuilder/src/sipi.rs Outdated Show resolved Hide resolved
kernel/src/platform/native.rs Outdated Show resolved Hide resolved
@msft-jlange msft-jlange force-pushed the sipi branch 2 times, most recently from c629c7a to 4ba6657 Compare December 24, 2024 01:15
@msft-jlange msft-jlange marked this pull request as ready for review December 24, 2024 01:15
@peterfang
Copy link
Contributor

I'll need more experimentation with this after it gets merged, but there is definitely an opportunity for the trampoline code in sipi.rs to be generic enough to replace most of stage1's reset.S.

Native platforms that do not run under Hyper-V must use SIPI to start
additional processors.  This requires the use of a trampoline page in
the low 1 MB of the address space to perform the transition to 64-bit
code and the fully correct execution context.

Signed-off-by: Jon Lange <[email protected]>
@joergroedel joergroedel merged commit a5b1ee5 into coconut-svsm:main Jan 21, 2025
4 checks passed
@msft-jlange msft-jlange deleted the sipi branch January 21, 2025 15:40
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.

3 participants