-
Notifications
You must be signed in to change notification settings - Fork 41
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
Fix build error and clippy warnings from rust 1.74-nightly #79
Conversation
The bitflags are intentionally defined the way they are, so suppress the warnings about them. Signed-off-by: Joerg Roedel <jroedel@suse.de>
This fixes a linker error seen with rustc 1.74.0-nightly. Signed-off-by: Joerg Roedel <jroedel@suse.de>
@@ -4,6 +4,9 @@ | |||
// | |||
// Author: Joerg Roedel <jroedel@suse.de> | |||
|
|||
// For bitflags definitions | |||
#![allow(clippy::bad_bit_mask)] |
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.
Is clippy complains about RMPFlags
?
What about allow it only for that definition?
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.
It complained about RMPFlags, especially the zero masks for VMPL0 and NONE. I tried to make it only for the struct definition, but clippy didn't accept that. If you know a way to do that, feel free to send a PR to update the annotation :)
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.
Ah okay now I see, I'll check if there is a way.
But just to understand better, what is the purpose of RMPFlags::VMPL0
flag since it is 0?
Where I can find some info about it?
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.
Anyway, looking at bitflags/bitflags#373 it seems it happens only on bitflags v1., I'll take a look if we can switch to v2.
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.
The RMPFlags are used to generate a bitmask for the RMPUPDATE instruction, where the SVSM can define the access permissions for pages, e.g. giving access to VMPL1 or make a page a VMSA page. For targeting VMPL0 permissions, the flag has to be 0 :)
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.
@joergroedel okay I see, thanks for the details!
I opened #80 to switch to a new version of bitflags avoiding to suppress this error.
No description provided.