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
plat/common/x86: Make SIPI Vector
related symbols relocations independent from ukreloc
#1113
plat/common/x86: Make SIPI Vector
related symbols relocations independent from ukreloc
#1113
Conversation
e34b2da
to
9cc1c9c
Compare
SMP
builds that are not built as PIE
SIPI Vector
related symbols relocations independent from ukreloc
Since `start16` related symbols have a relocation mechanism similar, but entirely independent from `ukreloc`, rename all such symbols, macro's and their uses so that they do not contain the `uk_reloc` or the `UKRELOC` substrings. Signed-off-by: Sergiu Moga <sergiu@unikraft.io>
4295cd0
to
2748ecf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @mogasergiu!
All good on my side (just a minor typo in the inline comments).
Reviewed-by: Razvan Virtan virtanrazvan@gmail.com
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed-by: Marco Schlumpp marco@unikraft.io
Allow having the same relocation mechanism of the SIPI vector symbols be used regardless of whether `ukreloc` or `PIE` are enabled or not. With this commit, SMP initialization has now the same SIPI behavior regardless of `ukreloc`/`PIE`, thus dropping any conflicts/dependencies. Signed-off-by: Sergiu Moga <sergiu@unikraft.io>
2748ecf
to
f6cf01f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved-by: Razvan Deaconescu razvand@unikraft.io
Since `start16` related symbols have a relocation mechanism similar, but entirely independent from `ukreloc`, rename all such symbols, macro's and their uses so that they do not contain the `uk_reloc` or the `UKRELOC` substrings. Signed-off-by: Sergiu Moga <sergiu@unikraft.io> Reviewed-by: Razvan Virtan <virtanrazvan@gmail.com> Reviewed-by: Marco Schlumpp <marco@unikraft.io> Approved-by: Razvan Deaconescu <razvand@unikraft.io> GitHub-Closes: #1113
Allow having the same relocation mechanism of the SIPI vector symbols be used regardless of whether `ukreloc` or `PIE` are enabled or not. With this commit, SMP initialization has now the same SIPI behavior regardless of `ukreloc`/`PIE`, thus dropping any conflicts/dependencies. Signed-off-by: Sergiu Moga <sergiu@unikraft.io> Reviewed-by: Razvan Virtan <virtanrazvan@gmail.com> Reviewed-by: Marco Schlumpp <marco@unikraft.io> Approved-by: Razvan Deaconescu <razvand@unikraft.io> GitHub-Closes: #1113
Since `start16` related symbols have a relocation mechanism similar, but entirely independent from `ukreloc`, rename all such symbols, macro's and their uses so that they do not contain the `uk_reloc` or the `UKRELOC` substrings. Signed-off-by: Sergiu Moga <sergiu@unikraft.io> Reviewed-by: Razvan Virtan <virtanrazvan@gmail.com> Reviewed-by: Marco Schlumpp <marco@unikraft.io> Approved-by: Razvan Deaconescu <razvand@unikraft.io> GitHub-Closes: #1113
Allow having the same relocation mechanism of the SIPI vector symbols be used regardless of whether `ukreloc` or `PIE` are enabled or not. With this commit, SMP initialization has now the same SIPI behavior regardless of `ukreloc`/`PIE`, thus dropping any conflicts/dependencies. Signed-off-by: Sergiu Moga <sergiu@unikraft.io> Reviewed-by: Razvan Virtan <virtanrazvan@gmail.com> Reviewed-by: Marco Schlumpp <marco@unikraft.io> Approved-by: Razvan Deaconescu <razvand@unikraft.io> GitHub-Closes: #1113
Prerequisite checklist
checkpatch.uk
on your commit series before opening this PR;Base target
x86_64
kvm
Additional configuration
Description of changes
Following an offline discussion it was decided to make SIPI vector initialization/relocation entirely independent from whether Unikraft is built with/without
ukreloc
/PIE
. This is done by ensuringstart16
related symbols are relocated through their own mechanism, separated from, but similar to, fromukreloc
.