From 543ef3d96ffb673399dc90b91f7ffa6c3c5c25e5 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 1 Sep 2016 11:10:56 -0600 Subject: [PATCH] Add serial init and serial interrupts --- arch/x86_64/src/device/display.rs | 23 ++++++ arch/x86_64/src/device/mod.rs | 4 +- arch/x86_64/src/device/ps2.rs | 6 ++ arch/x86_64/src/device/serial.rs | 118 ++++++++++++++++++++++++++++++ arch/x86_64/src/interrupt/irq.rs | 5 +- arch/x86_64/src/lib.rs | 5 +- arch/x86_64/src/serial.rs | 45 ------------ arch/x86_64/src/start.rs | 2 +- res/unifont.font | Bin 0 -> 196608 bytes 9 files changed, 155 insertions(+), 53 deletions(-) create mode 100644 arch/x86_64/src/device/serial.rs delete mode 100644 arch/x86_64/src/serial.rs create mode 100644 res/unifont.font diff --git a/arch/x86_64/src/device/display.rs b/arch/x86_64/src/device/display.rs index 1a978d3..22542a1 100644 --- a/arch/x86_64/src/device/display.rs +++ b/arch/x86_64/src/device/display.rs @@ -43,6 +43,7 @@ pub struct VBEModeInfo { } pub static DISPLAY: Mutex> = Mutex::new(None); +static FONT: &'static [u8] = include_bytes!("../../../../res/unifont.font"); pub unsafe fn init(active_table: &mut ActivePageTable) { active_table.identity_map(Frame::containing_address(PhysicalAddress::new(0x5200)), entry::PRESENT | entry::NO_EXECUTE); @@ -108,6 +109,7 @@ impl Display { } } + /// Draw a rectangle pub fn rect(&mut self, x: usize, y: usize, w: usize, h: usize, color: u32) { let start_y = cmp::min(self.height - 1, y); let end_y = cmp::min(self.height, y + h); @@ -123,4 +125,25 @@ impl Display { } } } + + /// Draw a character + pub fn char(&mut self, x: usize, y: usize, character: char, color: u32) { + if x + 8 <= self.width && y + 16 <= self.height { + let mut offset = y * self.width + x; + + let font_i = 16 * (character as usize); + if font_i + 16 <= FONT.len() { + for row in 0..16 { + let row_data = FONT[font_i + row]; + for col in 0..8 { + if (row_data >> (7 - col)) & 1 == 1 { + self.data[offset + col] = color; + } + } + + offset += self.width; + } + } + } + } } diff --git a/arch/x86_64/src/device/mod.rs b/arch/x86_64/src/device/mod.rs index bfac385..9ca32d7 100644 --- a/arch/x86_64/src/device/mod.rs +++ b/arch/x86_64/src/device/mod.rs @@ -2,10 +2,12 @@ use paging::ActivePageTable; pub mod display; pub mod ps2; +pub mod serial; pub unsafe fn init(active_table: &mut ActivePageTable){ - display::init(active_table); + serial::init(); ps2::init(); + display::init(active_table); } pub unsafe fn init_ap(active_table: &mut ActivePageTable) { diff --git a/arch/x86_64/src/device/ps2.rs b/arch/x86_64/src/device/ps2.rs index 3a07fe4..83a7d88 100644 --- a/arch/x86_64/src/device/ps2.rs +++ b/arch/x86_64/src/device/ps2.rs @@ -15,6 +15,10 @@ bitflags! { const INPUT_FULL = 1 << 1, const SYSTEM = 1 << 2, const COMMAND = 1 << 3, + // Chipset specific + const KEYBOARD_LOCK = 1 << 4, + // Chipset specific + const SECOND_OUTPUT_FULL = 1 << 5, const TIME_OUT = 1 << 6, const PARITY = 1 << 7 } @@ -26,10 +30,12 @@ bitflags! { const SECOND_INTERRUPT = 1 << 1, const POST_PASSED = 1 << 2, // 1 << 3 should be zero + const CONFIG_RESERVED_3 = 1 << 3, const FIRST_DISABLED = 1 << 4, const SECOND_DISABLED = 1 << 5, const FIRST_TRANSLATE = 1 << 6, // 1 << 7 should be zero + const CONFIG_RESERVED_7 = 1 << 7, } } diff --git a/arch/x86_64/src/device/serial.rs b/arch/x86_64/src/device/serial.rs new file mode 100644 index 0000000..848e82b --- /dev/null +++ b/arch/x86_64/src/device/serial.rs @@ -0,0 +1,118 @@ +use core::fmt::{self, Write}; +use spin::Mutex; + +use io::{Io, Pio, ReadOnly}; + +pub static COM1: Mutex = Mutex::new(SerialPort::new(0x3F8)); +pub static COM2: Mutex = Mutex::new(SerialPort::new(0x2F8)); + +pub unsafe fn init() { + COM1.lock().init(); + COM2.lock().init(); +} + +bitflags! { + /// Interrupt enable flags + flags IntEnFlags: u8 { + const RECEIVED = 1, + const SENT = 1 << 1, + const ERRORED = 1 << 2, + const STATUS_CHANGE = 1 << 3, + // 4 to 7 are unused + } +} + +bitflags! { + /// Line status flags + flags LineStsFlags: u8 { + const INPUT_FULL = 1, + // 1 to 4 unknown + const OUTPUT_EMPTY = 1 << 5, + // 6 and 7 unknown + } +} + +pub struct SerialPort { + /// Data register, read to receive, write to send + data: Pio, + /// Interrupt enable + int_en: Pio, + /// FIFO control + fifo_ctrl: Pio, + /// Line control + line_ctrl: Pio, + /// Modem control + modem_ctrl: Pio, + /// Line status + line_sts: ReadOnly>, + /// Modem status + modem_sts: ReadOnly>, +} + +impl SerialPort { + const fn new(base: u16) -> SerialPort { + SerialPort { + data: Pio::new(base), + int_en: Pio::new(base + 1), + fifo_ctrl: Pio::new(base + 2), + line_ctrl: Pio::new(base + 3), + modem_ctrl: Pio::new(base + 4), + line_sts: ReadOnly::new(Pio::new(base + 5)), + modem_sts: ReadOnly::new(Pio::new(base + 6)) + } + } + + fn int_en(&self) -> IntEnFlags { + IntEnFlags::from_bits_truncate(self.int_en.read()) + } + + fn line_sts(&self) -> LineStsFlags { + LineStsFlags::from_bits_truncate(self.line_sts.read()) + } + + fn write(&mut self, data: u8) { + while ! self.line_sts().contains(OUTPUT_EMPTY) {} + self.data.write(data) + } + + fn init(&mut self) { + self.int_en.write(0x00); + self.line_ctrl.write(0x80); + self.data.write(0x03); + self.int_en.write(0x00); + self.line_ctrl.write(0x03); + self.fifo_ctrl.write(0xC7); + self.modem_ctrl.write(0x0B); + self.int_en.write(0x01); + } + + pub fn on_receive(&mut self) { + let data = self.data.read(); + write!(self, "SERIAL {:X}\n", data); + } +} + +impl Write for SerialPort { + fn write_str(&mut self, s: &str) -> Result<(), fmt::Error> { + for byte in s.bytes() { + self.write(byte); + + if byte == 8 { + self.write(b' '); + self.write(8); + } + } + + Ok(()) + } +} + +pub struct SerialConsole; + +impl Write for SerialConsole { + fn write_str(&mut self, s: &str) -> Result<(), fmt::Error> { + COM1.lock().write_str(s); + + Ok(()) + } +} diff --git a/arch/x86_64/src/interrupt/irq.rs b/arch/x86_64/src/interrupt/irq.rs index 3a20098..ff91cbf 100644 --- a/arch/x86_64/src/interrupt/irq.rs +++ b/arch/x86_64/src/interrupt/irq.rs @@ -1,6 +1,7 @@ use x86::io; use device::ps2::PS2; +use device::serial::{COM1, COM2}; #[inline(always)] unsafe fn master_ack() { @@ -33,12 +34,12 @@ interrupt!(cascade, { }); interrupt!(com2, { - print!("COM2\n"); + COM2.lock().on_receive(); master_ack(); }); interrupt!(com1, { - print!("COM1\n"); + COM1.lock().on_receive(); master_ack(); }); diff --git a/arch/x86_64/src/lib.rs b/arch/x86_64/src/lib.rs index 856eec8..f99030b 100644 --- a/arch/x86_64/src/lib.rs +++ b/arch/x86_64/src/lib.rs @@ -21,7 +21,7 @@ extern crate x86; macro_rules! print { ($($arg:tt)*) => ({ use core::fmt::Write; - let _ = write!($crate::serial::SerialConsole, $($arg)*); + let _ = write!($crate::device::serial::SerialConsole, $($arg)*); }); } @@ -149,8 +149,5 @@ pub mod paging; /// Panic pub mod panic; -/// Serial driver and print! support -pub mod serial; - /// Initialization and start function pub mod start; diff --git a/arch/x86_64/src/serial.rs b/arch/x86_64/src/serial.rs deleted file mode 100644 index 2203084..0000000 --- a/arch/x86_64/src/serial.rs +++ /dev/null @@ -1,45 +0,0 @@ -use core::fmt; -use spin::Mutex; - -use super::io::{Io, Pio}; - -static SERIAL_PORT: Mutex = Mutex::new(SerialPort::new()); - -struct SerialPort { - status: Pio, - data: Pio -} - -impl SerialPort { - pub const fn new() -> SerialPort { - SerialPort { - status: Pio::new(0x3F8 + 5), - data: Pio::new(0x3F8) - } - } - - pub fn write(&mut self, bytes: &[u8]) { - for byte in bytes.iter() { - while !self.status.readf(0x20) {} - self.data.write(*byte); - - if *byte == 8 { - while !self.status.readf(0x20) {} - self.data.write(0x20); - - while !self.status.readf(0x20) {} - self.data.write(8); - } - } - } -} - -pub struct SerialConsole; - -impl fmt::Write for SerialConsole { - fn write_str(&mut self, s: &str) -> Result<(), fmt::Error> { - SERIAL_PORT.lock().write(s.as_bytes()); - - Ok(()) - } -} diff --git a/arch/x86_64/src/start.rs b/arch/x86_64/src/start.rs index 987bb7e..27be190 100644 --- a/arch/x86_64/src/start.rs +++ b/arch/x86_64/src/start.rs @@ -197,7 +197,7 @@ pub unsafe extern fn kstart_ap(stack_start: usize, stack_end: usize) -> ! { if let Some(ref mut display) = *device::display::DISPLAY.lock() { let width = display.width; - display.rect(0, ap_number * 32, width, 16, 0xFF00); + display.char(0, ap_number * 16, (ap_number as u8 + b'0') as char, 0xFF00); } kmain_ap(ap_number); diff --git a/res/unifont.font b/res/unifont.font new file mode 100644 index 0000000000000000000000000000000000000000..01173fc6c564b6d0405c5640b721bbbcbffb56c3 GIT binary patch literal 196608 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%0A6v(^wnKMyh*pH9b2}H8G+3+~Fp2$LhVI_k_*#NC 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 o|LfjAMu|-Pv67=fNjC;rF7YRpq