From 31aa2fa058cf58b371bf52e25b62609125d31fa6 Mon Sep 17 00:00:00 2001 From: RarDog Date: Wed, 2 Sep 2026 15:58:45 +0300 Subject: [PATCH] refactor(serial): use official uart_16550::SerialPort::init --- kernel/src/logger.rs | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/kernel/src/logger.rs b/kernel/src/logger.rs index 2b7fcf8..a7b479b 100644 --- a/kernel/src/logger.rs +++ b/kernel/src/logger.rs @@ -19,24 +19,8 @@ static SERIAL: Mutex> = Mutex::new(None); /// Инициализировать serial и зарегистрировать logger. pub fn init() { - unsafe { - let mut ier: Port = Port::new(SERIAL_IO_PORT + 1); - let mut lcr: Port = Port::new(SERIAL_IO_PORT + 3); - let mut dll: Port = Port::new(SERIAL_IO_PORT); - let mut dlm: Port = Port::new(SERIAL_IO_PORT + 1); - let mut fcr: Port = Port::new(SERIAL_IO_PORT + 2); - let mut mcr: Port = Port::new(SERIAL_IO_PORT + 4); - - ier.write(0x00); // Disable interrupts - lcr.write(0x80); // Enable DLAB (baud rate divisor) - dll.write(0x01); // 115200 baud (divisor 1 low byte) - dlm.write(0x00); // (divisor 1 high byte) - lcr.write(0x03); // 8 bits, no parity, 1 stop bit (DLAB disabled) - fcr.write(0x07); // Enable FIFO, clear RX/TX, 1-byte threshold - mcr.write(0x0B); // RTS/DTR + OUT2 (enable line driver) - } - - let port = unsafe { SerialPort::new(SERIAL_IO_PORT) }; + let mut port = unsafe { SerialPort::new(SERIAL_IO_PORT) }; + port.init(); *SERIAL.lock() = Some(port); flush_rx();