-
Notifications
You must be signed in to change notification settings - Fork 7
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 basic V_COMMON
exception handler
#22
base: master
Are you sure you want to change the base?
Conversation
I am unfortunately away from keyboard for like another week, so I probably won't be able to review this until then. If feasible, could you ping me in a week? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect the ghost of provenance will haunt us for some time...
|
||
use crate::{cop0::CoP0Dump, thread::ThreadControlBlock}; | ||
|
||
/// Purposefully trigger an overflow exception. For testing purposes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(thankfully, these went out of style)
/// jumping to an exception handler. | ||
#[repr(C)] | ||
pub(crate) struct ThreadControlBlock { | ||
pub at: u64, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't remember, is this from my code? If it was, it's technically incorrect because the GPRs are actually 128-bit wide...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I started with 64-bit because that was the only way to keep the compiler and linker happy for some reason. I've now been trying to rewrite it with 128-bit fields but I can't quite figure out why it's failing to run properly. I've done all sorts of tricks but it always results in TLB Misses. I'll continue debugging it and try get it done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't suppose you have an IM platform I could talk to you on?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you'd like, I'm on Signal and Discord. Alternatively, is there any other platform that you'd prefer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Signal would be perfect. I'm ravenslofty.79
V_COMMON
exceptions.COP0
register values and halts.sleep_thread
syscall.r0
crate.Partially addresses #20.