-
-
Notifications
You must be signed in to change notification settings - Fork 164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Rust log support via serial console #1
Labels
Comments
Original comment by Kevin Boos (Bitbucket: kevinaboos, GitHub: kevinaboos): Added rust log functionality, closes #1 |
kevinaboos
added a commit
that referenced
this issue
Jul 27, 2017
kevinaboos
added a commit
that referenced
this issue
Sep 1, 2020
Earlier commits from March 2017 - Mary 2017 include: * updated README * licensing * fixed kthread arg passing by using stack bottom, not top (LIKE AN IDIOT!). * kthreads with args/retval wrapping are working but i can't figure out how to actually call them once reconstructed from the stack! * threading is working! dunno how to return from a thread yet though, haha. * DOES NOT RUN. context seitching still in progress * DOES NOT BUILD. still working on context switching code * added initial context switching framework. DOES NOT WORK yet * Added rust log functionality, closes #1 * large reorganization of source * fix keyboard issues, basic kbd is working now. fixed stupid error in keycodes_ascii crate * keyboard works now with unsafe VecDeque as a queue, but there's no real issue with it using unsafe static mut * DOES NOT BUILD. In-progress commit. In the kbd interrupt handler, we cannot use Mutex (will cause deadlock), which means we can't use lazy_static. Tried to use Once<>, but it's not working with RefCells that would allow mutability. Need to find an alternate solution. * keyboard still causing deadlock somewhere. might be the fact that the KBD_QUEUE mutex is being locked by both the kbd interrupt handler and by the rust_main * keyboard works on the interrupt side, but my main loop that reads from the KBD_QUEUE in our main function causes the system to lockup... * keyboard driver compiles but untested at runtime * keyboard library compiles, but may not work yet. Still need to remove other dependencies on std library, like the queue crate * added initial keyboard indirection layer and keyboard scancode to ascii library, which will be its own separate crate. * fixed interrupt table indexing issue * interrupts work but keyboard handler isn't finished yet, so it can only be triggered once * added basic serial I/O support for debugging to QEMU console
kevinaboos
added a commit
that referenced
this issue
Sep 1, 2020
Earlier commits from March 2017 - Mary 2017 include: * updated README * licensing * fixed kthread arg passing by using stack bottom, not top (LIKE AN IDIOT!). * kthreads with args/retval wrapping are working but i can't figure out how to actually call them once reconstructed from the stack! * threading is working! dunno how to return from a thread yet though, haha. * DOES NOT RUN. context seitching still in progress * DOES NOT BUILD. still working on context switching code * added initial context switching framework. DOES NOT WORK yet * Added rust log functionality, closes #1 * large reorganization of source * fix keyboard issues, basic kbd is working now. fixed stupid error in keycodes_ascii crate * keyboard works now with unsafe VecDeque as a queue, but there's no real issue with it using unsafe static mut * DOES NOT BUILD. In-progress commit. In the kbd interrupt handler, we cannot use Mutex (will cause deadlock), which means we can't use lazy_static. Tried to use Once<>, but it's not working with RefCells that would allow mutability. Need to find an alternate solution. * keyboard still causing deadlock somewhere. might be the fact that the KBD_QUEUE mutex is being locked by both the kbd interrupt handler and by the rust_main * keyboard works on the interrupt side, but my main loop that reads from the KBD_QUEUE in our main function causes the system to lockup... * keyboard driver compiles but untested at runtime * keyboard library compiles, but may not work yet. Still need to remove other dependencies on std library, like the queue crate * added initial keyboard indirection layer and keyboard scancode to ascii library, which will be its own separate crate. * fixed interrupt table indexing issue * interrupts work but keyboard handler isn't finished yet, so it can only be triggered once * added basic serial I/O support for debugging to QEMU console
kevinaboos
added a commit
that referenced
this issue
Sep 1, 2020
Earlier commits from March 2017 - Mary 2017 include: * updated README * licensing * fixed kthread arg passing by using stack bottom, not top (LIKE AN IDIOT!). * kthreads with args/retval wrapping are working but i can't figure out how to actually call them once reconstructed from the stack! * threading is working! dunno how to return from a thread yet though, haha. * DOES NOT RUN. context seitching still in progress * DOES NOT BUILD. still working on context switching code * added initial context switching framework. DOES NOT WORK yet * Added rust log functionality, closes #1 * large reorganization of source * fix keyboard issues, basic kbd is working now. fixed stupid error in keycodes_ascii crate * keyboard works now with unsafe VecDeque as a queue, but there's no real issue with it using unsafe static mut * DOES NOT BUILD. In-progress commit. In the kbd interrupt handler, we cannot use Mutex (will cause deadlock), which means we can't use lazy_static. Tried to use Once<>, but it's not working with RefCells that would allow mutability. Need to find an alternate solution. * keyboard still causing deadlock somewhere. might be the fact that the KBD_QUEUE mutex is being locked by both the kbd interrupt handler and by the rust_main * keyboard works on the interrupt side, but my main loop that reads from the KBD_QUEUE in our main function causes the system to lockup... * keyboard driver compiles but untested at runtime * keyboard library compiles, but may not work yet. Still need to remove other dependencies on std library, like the queue crate * added initial keyboard indirection layer and keyboard scancode to ascii library, which will be its own separate crate. * fixed interrupt table indexing issue * interrupts work but keyboard handler isn't finished yet, so it can only be triggered once * added basic serial I/O support for debugging to QEMU console
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Originally reported by: Kevin Boos (Bitbucket: kevinaboos, GitHub: kevinaboos)
https://doc.rust-lang.org/log/log/index.html#use-with-no_std
Rust's log crate supports no_std, we should utilize it and use
set_raw_logger()
to write to serial port.The text was updated successfully, but these errors were encountered: