Debug reads writes better, set up stdio for BSP
This commit is contained in:
parent
850792bbf1
commit
fb0df8530d
|
@ -89,7 +89,8 @@ macro_rules! interrupt_error {
|
|||
}
|
||||
|
||||
// Push scratch registers
|
||||
asm!("push rax
|
||||
asm!("xchg bx, bx
|
||||
push rax
|
||||
push rcx
|
||||
push rdx
|
||||
push rdi
|
||||
|
|
|
@ -133,6 +133,15 @@ pub extern fn kmain() {
|
|||
let pid = syscall::getpid();
|
||||
println!("BSP: {:?}", pid);
|
||||
|
||||
let stdin = syscall::open("debug:".as_bytes(), 0);
|
||||
println!("STDIN: {:?}", stdin);
|
||||
|
||||
let stdout = syscall::open("debug:".as_bytes(), 0);
|
||||
println!("STDOUT: {:?}", stdout);
|
||||
|
||||
let stderr = syscall::open("debug:".as_bytes(), 0);
|
||||
println!("STDERR: {:?}", stderr);
|
||||
|
||||
let elf = elf::Elf::from(include_bytes!("../init/main")).expect("could not load elf");
|
||||
elf.run();
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ use super::{Error, Result};
|
|||
|
||||
/// Read syscall
|
||||
pub fn read(fd: usize, buf: &mut [u8]) -> Result<usize> {
|
||||
println!("Read {}: {}", fd, buf.len());
|
||||
println!("Read {}: {:X} {}", fd, buf.as_ptr() as usize, buf.len());
|
||||
if let Some(context_lock) = context::contexts().current() {
|
||||
let context = context_lock.read();
|
||||
if let Some(file) = context.files.get(fd) {
|
||||
|
@ -23,7 +23,7 @@ pub fn read(fd: usize, buf: &mut [u8]) -> Result<usize> {
|
|||
|
||||
/// Write syscall
|
||||
pub fn write(fd: usize, buf: &[u8]) -> Result<usize> {
|
||||
println!("Write {}: {}", fd, buf.len());
|
||||
println!("Write {}: {:X} {}", fd, buf.as_ptr() as usize, buf.len());
|
||||
if let Some(context_lock) = context::contexts().current() {
|
||||
let context = context_lock.read();
|
||||
if let Some(file) = context.files.get(fd) {
|
||||
|
|
Loading…
Reference in a new issue