paging and I/O addresses

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
Anthony

paging and I/O addresses

Post by Anthony »

i am curious, when i enable paging, will i also need to map I/O addresses? (eg: 0x64 for the keyboard, or 0x170 & 0x1f0 for ATA?). or do i not need to worry about those? are they not really treated as addresses when using inportb() and outportb()? sorry if this is a dumb question. thanks in advance
mystran

Re:paging and I/O addresses

Post by mystran »

If you are talking about usermode programs, then yes, you need to give the program access to IO ports it uses... but that is not the same thing as mapping memory.

See what your copy of IA-32 Intel Architechture, Volume 3 has to say about IOPL and the IO map in TSS.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:paging and I/O addresses

Post by Pype.Clicker »

I/O ports use a (completely) different addressing scheme than memory accesses. The MMU setup has absolutely no effect on it. You can set up whatever pages/segments you want, keyboard will *always* be at ports 0x60..0x64.
Post Reply