[x86] Application processor doing legacy port I/O?

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
andymc
Member
Member
Posts: 33
Joined: Tue Feb 01, 2011 6:18 pm
Location: Sussex, UK
Contact:

[x86] Application processor doing legacy port I/O?

Post by andymc »

Hey all, the Visopsys guy here.

I've finally gotten around to adding SMP to my kernel. A major problem I've encountered with my architecture is: application processors seem unable to do old-fashioned x86 port I/O to legacy devices that require it.

I've done some searching here and on the wider web, and come up empty-handed (perhaps my search terms weren't good enough to cut through all the chaff). I've tried working around it with a daemon-style process running on the boot processor, calling a special driver to do the I/O, but it's been unwieldy and so far not very successful.

What I'm wondering is: is there a way to map this stuff into an application processor's memory space? I confess I'm not too adept with the legacy hardware side of things - knowing how the old-fashioned ISA I/O bus works, how the processors are connected to it, etc.
Octocontrabass
Member
Member
Posts: 6250
Joined: Mon Mar 25, 2013 7:01 pm

Re: [x86] Application processor doing legacy port I/O?

Post by Octocontrabass »

APs can access legacy I/O ports exactly the same as the BSP. Something else must be causing the problem you're seeing.
User avatar
bellezzasolo
Member
Member
Posts: 163
Joined: Sun Feb 20, 2011 2:01 pm

Re: [x86] Application processor doing legacy port I/O?

Post by bellezzasolo »

Worth looking at this - https://www.intel.com.tw/content/dam/ww ... asheet.pdf

That covers how 10th Generation Intel Core processors handle I/O. They're converted to DMI accesses.

Basically, there's no reason that it wouldn't work from an AP. However, chipsets are complicated. It's worth trying to get the manual for your specific hardware configuration.
Whoever said you can't do OS development on Windows?
https://github.com/ChaiSoft/ChaiOS
User avatar
andymc
Member
Member
Posts: 33
Joined: Tue Feb 01, 2011 6:18 pm
Location: Sussex, UK
Contact:

Re: [x86] Application processor doing legacy port I/O?

Post by andymc »

Thank you both. Your replies got me thinking about it more broadly, and I realized it's probably the way I'm handling the interrupts :oops:
Post Reply