IRQs are blocked

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
cklie97
Posts: 18
Joined: Tue Apr 19, 2016 2:11 am

IRQs are blocked

Post by cklie97 »

Hello there,
in my OS there are recently no IRQs working. After a little debugging I found the problem. In short I have a function calling the asm operation

Code: Select all

int $0x40
in the respective sysCall-handler there is a while-loop. Until the end of the loop there are no IRQs thrown. This is a very big problem because the end of the while-loop depends on keyboard inputs. So the sysCall-handler ends up beeing a neverending loop. So my OS is messed up. So I need a way to get IRQs working while in a sysCall-handler.
alexfru
Member
Member
Posts: 1112
Joined: Tue Mar 04, 2014 5:27 am

Re: IRQs are blocked

Post by alexfru »

sti?
MollenOS
Member
Member
Posts: 202
Joined: Wed Oct 26, 2011 12:00 pm

Re: IRQs are blocked

Post by MollenOS »

You need to read up on the IDT table and how to configure your IDT entries. everything you need is right there.
cklie97
Posts: 18
Joined: Tue Apr 19, 2016 2:11 am

Re: IRQs are blocked

Post by cklie97 »

MollenOS wrote:You need to read up on the IDT table.
Thans for the hint. The problems is solved. I set the interrupt_gate instead of the trap_gate.
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: IRQs are blocked

Post by Love4Boobies »

You probably don't want to tie your hands with a kernel service that blocks until there is user input because you'd be keeping your resources idle. I would reconsider my design if I were you.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
Post Reply