aboutsummaryrefslogtreecommitdiff
path: root/src/segmentation.rs
diff options
context:
space:
mode:
authorGravatar Gerd Zellweger <mail@gerdzellweger.com> 2021-04-08 01:51:21 -0700
committerGravatar Gerd Zellweger <mail@gerdzellweger.com> 2021-04-08 01:51:21 -0700
commite9fd841a6b89133f6afe46a8ce608af2f2e4b57e (patch)
tree5c5d2efd06e7b28c0ec44b8136282b2f41ae754d /src/segmentation.rs
parentd4cf73294f9031403eac67e2c58cfee8aa917890 (diff)
downloadrust-x86-e9fd841a6b89133f6afe46a8ce608af2f2e4b57e.tar.gz
rust-x86-e9fd841a6b89133f6afe46a8ce608af2f2e4b57e.tar.zst
rust-x86-e9fd841a6b89133f6afe46a8ce608af2f2e4b57e.zip
Fix clippy warnings.
Diffstat (limited to 'src/segmentation.rs')
-rw-r--r--src/segmentation.rs20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/segmentation.rs b/src/segmentation.rs
index 878b643..5ead88c 100644
--- a/src/segmentation.rs
+++ b/src/segmentation.rs
@@ -45,7 +45,7 @@ impl SegmentSelector {
/// Make a new segment selector from a untyped u16 value.
pub const fn from_raw(bits: u16) -> SegmentSelector {
- SegmentSelector { bits: bits }
+ SegmentSelector { bits }
}
}
@@ -337,7 +337,7 @@ impl GateDescriptorBuilder<u32> for DescriptorBuilder {
false => DescriptorType::System32(SystemDescriptorTypes32::TssBusy32),
};
- DescriptorBuilder::with_base_limit(base.into(), limit.into()).set_type(typ)
+ DescriptorBuilder::with_base_limit(base, limit).set_type(typ)
}
fn call_gate_descriptor(selector: SegmentSelector, offset: u32) -> DescriptorBuilder {
@@ -435,13 +435,11 @@ impl Descriptor {
}
pub(crate) fn apply_builder_settings(&mut self, builder: &DescriptorBuilder) {
- builder.dpl.map(|ring| self.set_dpl(ring));
- builder
- .base_limit
- .map(|(base, limit)| self.set_base_limit(base as u32, limit as u32));
- builder
- .selector_offset
- .map(|(selector, offset)| self.set_selector_offset(selector, offset as u32));
+ if let Some(ring) = builder.dpl { self.set_dpl(ring) }
+ if let Some((base, limit)) = builder
+ .base_limit { self.set_base_limit(base as u32, limit as u32) }
+ if let Some((selector, offset)) = builder
+ .selector_offset { self.set_selector_offset(selector, offset as u32) }
if builder.present {
self.set_p();
@@ -465,7 +463,7 @@ impl Descriptor {
pub fn set_base_limit(&mut self, base: u32, limit: u32) {
// Clear the base and limit fields in Descriptor
self.lower = 0;
- self.upper = self.upper & 0x00F0FF00;
+ self.upper &= 0x00F0FF00;
// Set the new base
self.lower |= base << 16;
@@ -483,7 +481,7 @@ impl Descriptor {
pub fn set_selector_offset(&mut self, selector: SegmentSelector, offset: u32) {
// Clear the selector and offset
self.lower = 0;
- self.upper = self.upper & 0x0000ffff;
+ self.upper &= 0x0000ffff;
// Set selector
self.lower |= (selector.bits() as u32) << 16;