I was just having a second look at io.h, cos i'm using a hacked up version for some ppcboot stuff, and I noticed that when CONFIG_APUS is on read doesn't eieio, and when its on it does, surely readw/writew, etc shouldn't eieio and in/out, etc should? infact the whole thing seems a bit of a mess. attached are the functions I'm using for pci accesses in ppcboot. Doubt it'll be of any use, but I thought you might be interested.
Thanks, Rob Taylor Flying Pig Systems > > > presumably this is due to int in/out macros adding _IO_BASE to the pointer? > > Yes. > > > ... So > > am I right in thinking that it makes sense to use in/out for ISA > accesses (if > > _IO_BASE is set correctly for your platform) and readb/writeb/.. > for the rest of > > your memory mapped registers? > > > Well, yes, today. Some of us have been "fighting" about this lately. > I'm not a fan of address arithmetic in the inb/outb, so probably on > 8xx and 82xx you will always have some "opaque" handle to in/out that > doesn't resemble any notion of x86 "ports". The reason is that on > these 8xx and 82xx systems (and potentially others) we don't have very > flexible host bridges, or the processors are used in complex multiple > PCI bus configurations where the notion of "bus 0" may not exist. You > can't assume using a hard coded (or legacy) port number will get you > anywhere but a bus fault. > > > -- Dan > > -------------- next part -------------- A non-text attachment was scrubbed... Name: pci_io.h Type: application/octet-stream Size: 2403 bytes Desc: not available Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20001006/b1b93401/attachment.obj
