Re: RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops

Ondrej Zary
2007-12-09T15:54:31Z

On Sunday 09 December 2007 13:54:58 you wrote:
> Hi!
>
> > > modern CPU compared to the bus. But the delay really needs to be
> > > something that is about IO port speed. Ok in theory you could try to
> > > measure a outb using RDTSC and then use udelay, but first you would
> > > need
> >
> > You don't need to. Port 0x80 historically is about 8uS so just udelay(8)
> > and make sure the initial default delay is conservative enough before the
> > CPU speed is computed.
> >
> > 0x80 should be fine for anything PC compatible anyway, its specifically
> > reserved as a debug port and supported for *exactly* that purpose by
> > many chipsets.
>
> Actually, I've seen few pci cards with leds on port 0x80, and I
> wonder: is our outb_p really correct?
>
> I mean, we expect 8usec delay -- historical ISA timing -- but when
> _PCI_ card with leds is inserted, it is likely to be faster than old
> ISA, right?
> Pavel

Yes, there are PCI POST debug cards too. And also MiniPCI ones for notebooks.
Port 0x80 could be used for more useful things than delay with these cards
(and mainboards with integrated LED display) - like (kernel) debugging or as
a temperature display (when exported to userspace).

--
Ondrej Zary