Subject: Re: [PATCH] generic check_legacy_ioport

From: Segher Boessenkool <[email-masked]>
Date: Wed, 18 Apr 2007 01:28:18 +0200

> I could be wrong, but I think I've seen fake 'isa' bus nodes in the 
> device tree
> for machines that don't actually have isa. I probably saw this on very 
> early
> cell blades (not the ones currently shipping), but perhaps others have
> made the same mistake.

JS2x SLOF pretends the LPC bus is ISA (although the two
are not completely compatible!) because otherwise
Linux wouldn't find the serial ports.  I suppose I could
have fixed the Linux code instead but it was hard enough
to understand already, and really hard to change (since
that would require testing on all previously supported
platforms).

> How about simply defining a new common function like
>
> int generic_deny_legacy_ioport(unsigned long base_port)
> {
> 	return -EINVAL;
> }
>
> so that not every platform has to define their own but can either
> set ppc_md.check_legacy_ioport to NULL, to generic_deny_legacy_ioport
> or their own function if they do something fancy?

I'd rather deny everything legacy x86 by default, and
only allow a few ranges on the few platforms that really
want that.

Segher