I am trying to create a kernel but I have a problem with driver support. I don't want to try the C language for my kernel. How can I get all interrupts? I am creating it on the Assembly x86 language. Thanks.
Note: Please don't say search it on Ralf Brown's interrupt list because I searched it but there are no many drivers.
How can I get interrupts of all drivers on x86 Assembly?
-
- Member
- Posts: 5885
- Joined: Mon Mar 25, 2013 7:01 pm
Re: How can I get interrupts of all drivers on x86 Assembly?
Are you looking for interrupts you can call to control various hardware, like how INT 0x10 is the display subsystem and INT 0x13 is the storage subsystem? If so, you can't find them because they don't exist.
If that's not what you're looking for then I don't understand your question and you'll have to explain it a bit more so I can try answering again.
If that's not what you're looking for then I don't understand your question and you'll have to explain it a bit more so I can try answering again.
Re: How can I get interrupts of all drivers on x86 Assembly?
I want to enable AMD PCNet and eject the CD-ROM on Assembly x86. But how it works?
Re: How can I get interrupts of all drivers on x86 Assembly?
What mode are you exactly using? Is it Real Mode? or Unreal Mode? or maybe even Protected Mode with V86 enabled?
You got to be precise on your request, otherwise people will struggle answering you
You got to be precise on your request, otherwise people will struggle answering you

-
- Member
- Posts: 5885
- Joined: Mon Mar 25, 2013 7:01 pm
Re: How can I get interrupts of all drivers on x86 Assembly?
The wiki has a page on PCNet. I'm not familiar with it, so I can't say how accurate it is.
For accessing the CD drive, you'll need to scan the PCI bus for the IDE or AHCI controller, then send the appropriate "START/STOP UNIT" ATAPI command.
Even though the example code is written in C, you can do all of this with assembly.
For accessing the CD drive, you'll need to scan the PCI bus for the IDE or AHCI controller, then send the appropriate "START/STOP UNIT" ATAPI command.
Even though the example code is written in C, you can do all of this with assembly.