Interrupts without IDT

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
User avatar
PavelChekov
Member
Member
Posts: 113
Joined: Mon Sep 21, 2020 9:51 am
Location: Aboard the Enterprise

Interrupts without IDT

Post by PavelChekov »

How would I make an interrupt handler without the 32-bit specific IDT? The tutorial is aimed at 32-bit x86, and uses the IDT, which I believe is 32-bit.
USS Enterprise NCC-1701,
The Final Frontier,
Space,
The Universe

Live Long And Prosper

Slava Ukraini!
Слава Україні!
nullplan
Member
Member
Posts: 1790
Joined: Wed Aug 30, 2017 8:24 am

Re: Interrupts without IDT

Post by nullplan »

I also have absolutely no idea what the OP wants. All interrupts are dispatched through the IDT, and the IDT format is mode dependent. If you want to handle interrupts, you must register your interrupt handler in the IDT, and it has to be in the format valid for your current mode of operation. Handling interrupts without IDT makes no sense. That is like wanting to be washed but not made wet.
Carpe diem!
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Interrupts without IDT

Post by iansjack »

How would you know which interrupt handler to call for each interrupt? One solution would be to construct a table linking the two....
User avatar
PavelChekov
Member
Member
Posts: 113
Joined: Mon Sep 21, 2020 9:51 am
Location: Aboard the Enterprise

Re: Interrupts without IDT

Post by PavelChekov »

OK, I guess this throws me off:
The Interrupt Descriptor Table (IDT) is specific to the IA-32 architecture.
USS Enterprise NCC-1701,
The Final Frontier,
Space,
The Universe

Live Long And Prosper

Slava Ukraini!
Слава Україні!
User avatar
bloodline
Member
Member
Posts: 264
Joined: Tue Sep 15, 2020 8:07 am
Location: London, UK

Re: Interrupts without IDT

Post by bloodline »

PavelCheckov wrote:OK, I guess this throws me off:
The Interrupt Descriptor Table (IDT) is specific to the IA-32 architecture.
I think this means you won’t find this horribly complex system on other architectures, like 68k, ARM, PPC, MIPS, or RISC-IV
CuriOS: A single address space GUI based operating system built upon a fairly pure Microkernel/Nanokernel. Download latest bootable x86 Disk Image: https://github.com/h5n1xp/CuriOS/blob/main/disk.img.zip
Discord:https://discord.gg/zn2vV2Su
Post Reply