From fffc330f47347a6dbdaf2a1c393600af6165cfc8 Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Tue, 19 Mar 2019 22:58:17 +0800 Subject: [PATCH] Fix u540 serial print and fix sys_accept --- kernel/src/arch/riscv32/io.rs | 5 +++++ kernel/src/syscall/net.rs | 12 ------------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/kernel/src/arch/riscv32/io.rs b/kernel/src/arch/riscv32/io.rs index 2290d04..1d60259 100644 --- a/kernel/src/arch/riscv32/io.rs +++ b/kernel/src/arch/riscv32/io.rs @@ -27,6 +27,11 @@ fn putchar(c: u8) { } else if cfg!(feature = "m_mode") { (super::BBL.mcall_console_putchar)(c); } else { + if cfg!(feature = "board_u540") { + if c == b'\n' { + sbi::console_putchar(b'\r' as usize); + } + } sbi::console_putchar(c as usize); } } diff --git a/kernel/src/syscall/net.rs b/kernel/src/syscall/net.rs index d2b7000..7c506a1 100644 --- a/kernel/src/syscall/net.rs +++ b/kernel/src/syscall/net.rs @@ -407,18 +407,6 @@ pub fn sys_accept(fd: usize, addr: *mut SockAddr, addr_len: *mut u32) -> SysResu // open multiple sockets for each connection let mut proc = process(); - if !addr.is_null() { - proc.memory_set.check_mut_ptr(addr_len)?; - - let max_addr_len = unsafe { *addr_len } as usize; - if max_addr_len < size_of::() { - debug!("length too short {}", max_addr_len); - return Err(SysError::EINVAL); - } - - proc.memory_set.check_mut_ptr(addr)?; - } - let wrapper = proc.get_socket_mut(fd)?; if let SocketType::Tcp(tcp_state) = wrapper.socket_type.clone() { if let Some(endpoint) = tcp_state.local_endpoint {