How can I get interrupts of all drivers on x86 Assembly?

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
ExSiS
Posts: 2
Joined: Tue Jul 21, 2020 7:54 am

How can I get interrupts of all drivers on x86 Assembly?

Post by ExSiS »

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.
Octocontrabass
Member
Member
Posts: 5885
Joined: Mon Mar 25, 2013 7:01 pm

Re: How can I get interrupts of all drivers on x86 Assembly?

Post by Octocontrabass »

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.
ExSiS
Posts: 2
Joined: Tue Jul 21, 2020 7:54 am

Re: How can I get interrupts of all drivers on x86 Assembly?

Post by ExSiS »

I want to enable AMD PCNet and eject the CD-ROM on Assembly x86. But how it works?
User avatar
crosssans
Member
Member
Posts: 39
Joined: Fri Mar 01, 2019 3:50 pm
Location: France

Re: How can I get interrupts of all drivers on x86 Assembly?

Post by crosssans »

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 :?
Octocontrabass
Member
Member
Posts: 5885
Joined: Mon Mar 25, 2013 7:01 pm

Re: How can I get interrupts of all drivers on x86 Assembly?

Post by Octocontrabass »

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.
Post Reply