svn commit: r197969 - head/sys/conf
xcllnt at mac.com
Wed Oct 14 21:21:14 UTC 2009
On Oct 14, 2009, at 1:45 PM, John Baldwin wrote:
> On Wednesday 14 October 2009 2:35:16 pm Marcel Moolenaar wrote:
>> On Oct 14, 2009, at 10:39 AM, Warner Losh wrote:
>>> I can't be more clear than this. You keep ignoring me, and it is
>> I'm not ignoring you. I'm still talking. You simply haven't convinced
>> me. While it's possible (likely?) that I don't understand the issues,
>> all you've achieved so far is that I'm more convinced that limiting
>> orm(4) to i386 and amd64 is the right thing, because the alternative
>> is not at all appealing.
>>> The problem is that the
>>> powerpc and itanium isa modules allow memory ranges that shouldn't
>>> allowed. That's the platform specific code that needs to be fixed.
>> isa_set_resource() is MI code and it happily adds whatever resources
>> a driver wants. The only chance MD code has is to fail the
>> but since the whole ISA code bypasses the newbus hierarchy, there's
>> no way we know in the isa MD code what is valid and what isn't unless
>> we add kluges to platform code.
>> If you want to fix it for real, does that mean fix it for real or
>> does that mean add kluges to platform code?
>> Shouldn't we have ISA bridges obtain the set of valid resources
>> from their parent in the newbus hierarchy?
> Hmm, can we even know that? PCI-ISA bridges in x86 at least don't
> have any
> I/O limit registers like PCI-PCI bridges, instead they are
> decoded, i.e. they "eat" any memory request that no one else claims.
The key here being requests that reach the PCI-ISA bridge. It's entirely
platform specific which I/O memory addresses generated by the CPU gets
decoded and forwarded in such a way that it's visible to the PCI-ISA
bridge. This is what needs to be obtained from the parent in the newbus
hierarchy. Rather than hardcoding [0xC0000 .. 0x100000> as the ISA
ROM memory range, it should be something like [isa_mem_base+0xC0000 ..
isa_mem_base + 0x100000> or even [isa_rom_base .. isa_rom_base +
xcllnt at mac.com
More information about the svn-src-head