gen_settings: dont try to display a Preset descriptor in Flags (#241)
* gen_settings: dont try to display a Preset descriptor in Flags Trying to display a preset doesnt make sense, and before this commit it does not display anything meaningful - the printout just says e.g. "haswell =\n". The offset byte a preset descriptor isnt a valid offset into the flag bytes, it is actually an offset into the PRESETS table. It will cause a panic when the offset is out of bounds for the flag bytes, which happens in the intel isa as of this commit. * intel settings: test that display impl doesnt panic
This commit is contained in:
committed by
Jakob Stoklund Olesen
parent
42e1616b82
commit
ed24320eda
@@ -297,6 +297,17 @@ pub mod detail {
|
||||
/// The `Descriptor::offset` field refers to the `PRESETS` table.
|
||||
Preset,
|
||||
}
|
||||
|
||||
impl Detail {
|
||||
/// Check if a detail is a Detail::Preset. Useful because the Descriptor
|
||||
/// offset field has a different meaning when the detail is a preset.
|
||||
pub fn is_preset(&self) -> bool {
|
||||
match self {
|
||||
&Detail::Preset => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Include code generated by `meta/gen_settings.py`. This file contains a public `Flags` struct
|
||||
|
||||
Reference in New Issue
Block a user