Confused with TSS structure

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
shindow
Member
Member
Posts: 26
Joined: Thu Feb 25, 2010 7:35 am

Confused with TSS structure

Post by shindow »

hello everyone!
I am confused with the the I/O map base address field in TSS
from the intel paper:
I/O map base address field
Contains a 16-bit offset from the base of the TSS to the I/O permission bit map
and interrupt redirection bitmap.
I cann't get more detailed information about it.

my Question is that
1. how to set the interrupt redirection bitmap.I was using vm86 that have to set it.
2.could anyone explain it more detailed about this filed .

Thank you in advance! :D
User avatar
thepowersgang
Member
Member
Posts: 734
Joined: Tue Dec 25, 2007 6:03 am
Libera.chat IRC: thePowersGang
Location: Perth, Western Australia
Contact:

Re: Confused with TSS structure

Post by thepowersgang »

To include a TSS port bitmap you need to allocate space for it in your TSS segment (by increasing the limit field in the GDT/LDT and adding space to the TSS buffer) and then set the I/O permission map field to the offset from the beginning of the TSS to the bitmap.
Usually this bitmap will be immediately after the TSS, but the field exists to allow you to have multiple bitmaps in the same TSS and quickly switch between them.
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Gigasoft
Member
Member
Posts: 856
Joined: Sat Nov 21, 2009 5:11 pm

Re: Confused with TSS structure

Post by Gigasoft »

The interrupt redirection bitmap is located at the offset of the I/O permission bitmap minus 32.
Post Reply