flat assembler
Message board for the users of flat assembler.

Index > OS Construction > real mode relocating IVT

Author
Thread Post new topic Reply to topic
b1528932



Joined: 21 May 2010
Posts: 287
b1528932 11 Aug 2010, 08:49
when i can relocate ivt address using lidt?
i know it wasnt possible since certain cpu. how do i determine if ivt can be relocated?
Post 11 Aug 2010, 08:49
View user's profile Send private message Reply with quote
Tyler



Joined: 19 Nov 2009
Posts: 1216
Location: NC, USA
Tyler 11 Aug 2010, 08:57
Try it? Setup a test ivt with only one int, the isr of which will set a bool telling that the ivt moved, cli(IIRC, soft ints are the only ints that still work), and test the int. Messy, but it should work, I guess...
Post 11 Aug 2010, 08:57
View user's profile Send private message Reply with quote
ManOfSteel



Joined: 02 Feb 2005
Posts: 1154
ManOfSteel 11 Aug 2010, 09:58
Is it even possible at all? lidt is for the PM IDT hence the "idt" part.
Post 11 Aug 2010, 09:58
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8363
Location: Kraków, Poland
Tomasz Grysztar 11 Aug 2010, 10:17
ManOfSteel wrote:
Is it even possible at all? lidt is for the PM IDT hence the "idt" part.
It is possible. fasm for DOS does it when setting up 32-bit unREAL mode.
Post 11 Aug 2010, 10:17
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4354
Location: Now
edfed 11 Aug 2010, 13:34
intel architecture manual says that IDT (IVT) is located at 0 at startup, but is you change IDTR, IVT will change too.

i don't know if it needs to switch in protected mode to do that, but it seems to be very possibvle to change the IVT = 0 base adress, but of course, only on recent processors. i don't know at all how it works on 386, 486, PI, PII or PIII. but i suppose it is possible from the PI.

to verify.
Post 11 Aug 2010, 13:34
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8363
Location: Kraków, Poland
Tomasz Grysztar 11 Aug 2010, 13:49
edfed wrote:
i don't know at all how it works on 386, 486, PI, PII or PIII. but i suppose it is possible from the PI.
It did work flawlessly on 386 and 486 - I tested this before deciding to use this trick in the official fasm version.

PS I consider to give a short talk on the fasmcon 2010 about my old adventures with unREAL.
Post 11 Aug 2010, 13:49
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.