diff --git a/kernel/src/arch/x86_64/cpuid.rs b/kernel/src/arch/x86_64/cpuid.rs index 25227ea..f94d77f 100644 --- a/kernel/src/arch/x86_64/cpuid.rs +++ b/kernel/src/arch/x86_64/cpuid.rs @@ -2,21 +2,21 @@ use core::{arch::asm, fmt, ops::Deref, slice, str}; #[repr(u32)] pub enum RequestType { - BasicInformation = 0x00000000, - VersionInformation = 0x00000001, - ThermalPowerManagementInformation = 0x00000006, - StructuredExtendedInformation = 0x00000007, - ExtendedFunctionInformation = 0x80000000, - ExtendedProcessorSignature = 0x80000001, - BrandString1 = 0x80000002, - BrandString2 = 0x80000003, - BrandString3 = 0x80000004, + BasicInformation = 0x0000_0000, + VersionInformation = 0x0000_0001, + ThermalPowerManagementInformation = 0x0000_0006, + StructuredExtendedInformation = 0x0000_0007, + ExtendedFunctionInformation = 0x8000_0000, + ExtendedProcessorSignature = 0x8000_0001, + BrandString1 = 0x8000_0002, + BrandString2 = 0x8000_0003, + BrandString3 = 0x8000_0004, // reserved = 0x80000005, - CacheLine = 0x80000006, - TimeStampCounter = 0x80000007, - PhysicalAddressSize = 0x80000008, + CacheLine = 0x8000_0006, + TimeStampCounter = 0x8000_0007, + PhysicalAddressSize = 0x8000_0008, } - +#[allow(clippy::similar_names)] pub fn cpuid(code: RequestType) -> (u32, u32, u32, u32) { let eax; let ebx; @@ -424,7 +424,7 @@ impl Clone for BrandString { for (d, s) in bytes.iter_mut().zip(self.bytes.iter()) { *d = *s; } - BrandString { bytes: bytes } + BrandString { bytes } } } @@ -761,8 +761,8 @@ impl Master { thermal_power_management_information: tpm, structured_extended_information: sei, extended_processor_signature: eps, - brand_string: brand_string, - cache_line: cache_line, + brand_string, + cache_line, time_stamp_counter: tsc, physical_address_size: pas, } diff --git a/kernel/src/arch/x86_64/logging.rs b/kernel/src/arch/x86_64/logging.rs index 4827817..ad32eb0 100644 --- a/kernel/src/arch/x86_64/logging.rs +++ b/kernel/src/arch/x86_64/logging.rs @@ -1,12 +1,10 @@ //! Logging (as in terms of console / serial output) #![allow(deprecated)] -use spin::Lazy; - use { core::fmt::Write, limine::{TerminalRequest, TerminalResponse}, - spin::Mutex, + spin::{Lazy, Mutex}, uart_16550::SerialPort, }; diff --git a/kernel/src/host_functions.rs b/kernel/src/host_functions.rs index 9321d44..1f39fef 100644 --- a/kernel/src/host_functions.rs +++ b/kernel/src/host_functions.rs @@ -2,9 +2,11 @@ use { crate::ipc::message::Message, + alloc::vec::Vec, crossbeam_queue::{ArrayQueue, SegQueue}, hbvm::engine::Engine, log::trace, + HostError::MemoryError, }; /// Host errors pub enum HostError { @@ -20,13 +22,13 @@ pub fn ipc_send(engine: &mut Engine) -> Result<(), HostError> { let message_start = engine.registers.f1; let message_length = engine.registers.f2; - let mut ipc_msg: alloc::vec::Vec = alloc::vec![]; + let mut ipc_msg: Vec = alloc::vec![]; for x in message_start..message_start + message_length { let byte = engine.read_mem_addr_8(x); match byte { Ok(byte) => ipc_msg.push(byte), - Err(_) => return Err(HostError::MemoryError), + Err(_) => return Err(MemoryError), } } log::trace!("Message bytes {:?}", ipc_msg); diff --git a/kernel/src/kmain.rs b/kernel/src/kmain.rs index c50004b..76dcedf 100644 --- a/kernel/src/kmain.rs +++ b/kernel/src/kmain.rs @@ -2,9 +2,11 @@ use { crate::{alloc::string::ToString, arch::logging::SERIAL_CONSOLE, device_tree::DeviceTree}, + clparse::Arguments, hbvm::engine::Engine, log::{debug, trace}, spin::{Lazy, Mutex}, + xml::XMLElement, }; pub fn kmain(cmdline: &str, bootstrap: Option<&'static [u8]>) -> ! { @@ -14,10 +16,10 @@ pub fn kmain(cmdline: &str, bootstrap: Option<&'static [u8]>) -> ! { cmdline.pop(); cmdline.remove(0); - let kcmd = clparse::Arguments::parse(cmdline.to_string()).unwrap(); + let kcmd = Arguments::parse(cmdline.to_string()).unwrap(); trace!("Cmdline: {kcmd:?}"); - let mut kcl = xml::XMLElement::new("Kernel Command Line"); + let mut kcl = XMLElement::new("Kernel Command Line"); for (key, value) in kcmd.arguments { kcl.set_attribute(key, value); } @@ -34,7 +36,7 @@ pub fn kmain(cmdline: &str, bootstrap: Option<&'static [u8]>) -> ! { } let dt = DEVICE_TREE.lock(); - trace!("Device Tree{}", dt); + log::info!("Device Tree{}", dt); let bytes = alloc::vec![0]; let mut prog = Engine::new(bytes); @@ -62,10 +64,8 @@ pub fn kmain(cmdline: &str, bootstrap: Option<&'static [u8]>) -> ! { let byte = sc.receive(); if byte == b'\r' { sc.send(b'\n'); - sc.send(b'\r'); - } else { - sc.send(byte); } + sc.send(byte); } } } diff --git a/kernel/src/lib.rs b/kernel/src/lib.rs index 5e32a5d..ada0dd7 100644 --- a/kernel/src/lib.rs +++ b/kernel/src/lib.rs @@ -13,10 +13,9 @@ ptr_sub_ptr, custom_test_frameworks )] -#![deny(clippy::pedantic, warnings)] +#![deny(clippy::pedantic, missing_docs, warnings)] #![allow(dead_code)] #![test_runner(crate::test_runner)] -#![deny(missing_docs)] extern crate alloc;