Re: PCI code: why need outb (0x01, 0xCFB); ?

H. Peter Anvin
2003-01-08T20:32:18Z

Nakajima, Jun wrote:
>
> Normally all accesses should be long (0xcf8/0xcfc) but x86 is byte addresseable and some chipsets do support byte accesses.
> We do not encourage use of byte accesses as it will not be supported in future platforms.
>

The PCI standard is quite explicit: byte accesses are permitted to the
data window (0xCFC) and not permitted to the address window (0xCF8).
Accepting byte accesses to the address window, or not supporting byte
accesses to the data window, *will* result in breakage (I can attest to
this fact quite well.)

-hpa