I forgot the port
const
BOCHS_DEBUG_PORT = $e9;
Need help remapping PICs
Re:Need help remapping PICs
Setting OutByteToPort() to stdcall didn't help at all. And I still don't get interrupt messages when CPU debugging is enabled.
[edit] I figured out how to get messages when interrupts fire. This is the last part:
Before that is just endless int 16's. Can anyone help me with this, cause it should call the legitimate ISRs in those spots, right?[/edit]
[edit] I figured out how to get messages when interrupts fire. This is the last part:
Code: Select all
00012820490d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012820670d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012821084d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012821433d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012821613d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822027d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822376d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822556d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822970d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012823497d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012823677d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012824091d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012824435d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012824615d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825029d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825373d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825553d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825967d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012826311d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012826491d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012826905d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012827249d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012827429d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012827843d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012828187d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012828367d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012828781d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012829138d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012829318d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012829732d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012830087d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012830778d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012831393d[CPU ] interrupt(): vector = 8, INT = 0, EXT = 1
00012831403d[CPU ] interrupt(): vector = 28, INT = 1, EXT = 0
00012831950d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012832641d[CPU ] interrupt(): vector = 16, INT = 1, EXT = 0
00012833425d[CPU ] interrupt(): vector = 19, INT = 1, EXT = 0
00012870058d[CPU ] interrupt(): vector = 8, INT = 0, EXT = 1
00012870058d[CPU ] int_trap_gate286(): INTERRUPT TO SAME PRIVILEGE
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Need help remapping PICs
well, the question is now where do you have int 8 generated. Probably the best for you would be to have trace-on from your bootloader.
e.g., using a debugable bochs:
e.g., using a debugable bochs:
break 0x7c00
c
trace-on
c
Re:Need help remapping PICs
Just by the look of it, int16 is int 0x10, so a video bios call. The int8 is the timer interrupt, irq0. You somehow call int 0x1C and 0x13 too, but that's in software.
What part is not normal?
What part is not normal?
Re:Need help remapping PICs
Or place a halt instruction before you enable interrupts and then enable trace and then continue.
Then you can see what the cpu does after you enable interrupts.
Then you can see what the cpu does after you enable interrupts.
Code: Select all
bwritestr('KERNEL DEBUG MSG: HLT IS GOING TO BE EXECUTED!');
asm
hlt
end;
ksti();
Re:Need help remapping PICs
Thanks, I've got the interrupts thing pretty much figured out it would seem. Or at least, I'm getting another error that seems to have nothing to do with interrupts.