-
Notifications
You must be signed in to change notification settings - Fork 143
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
intr: avoid random trace in (init_)call_intr #81
Conversation
Hello @ecm-pushbx, 👀💭 Thank you! |
Here is a longer debugging session depicting the caller of the first unexpected single-step interrupt. The kernel used here is from my build as of today, at https://pushbx.org/ecm/download/fdkernel.zip which will be moved to https://pushbx.org/ecm/download/old/fdkernel/20220530.zip once the next build happens.
2E7Eh clearly is the
And 01D3h is the init_call_intr function:
|
Here's example output of what happens when setting the CheckDebugger configuration item, then loading the kernel in bootable lDebug and running it:
The first of those two single-step interrupts happened to be caused by this code:
kernel/kernel/initoem.c
Lines 41 to 44 in 0e6d90c
As you can see it doesn't initialise the
iregs
structure and just expects the function to allow arbitrary values. There appear to be many cases of this in the kernel, so I decided to fix it in thecall_intr
function instead of hunting down all the uninitialised uses.