summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/bus_at386.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixed syntax errors and style bugs in previous commit. The syntaxbde2000-06-141-2/+2
| | | | | | errors were normally harmless because they were in unreachable code and gcc apparently doesn't check the syntax inside asm statements that it optimizes away.
* Implement real read/write barriers for the i386. Despite the comment inmsmith2000-05-181-4/+15
| | | | previous versions of this file, some barrier functionality is required.
* Added indirect pio into the bus space stuff for the NEC PC-98. bus.hkato2000-03-291-3/+3
| | | | | | | | | | | includes one of bus_at386.h and bus_pc98.h. Becuase only bus_pc98.h supports indirect pio and bus_at386.h is identical to old bus.h, there is no functional change in PC-AT's kernels. That is, it cannot cause performance loss. Submitted by: nyan Reviewed by: imp bde and luoqi provided useful comments for earlier version.
* Fix clobbers so that GENERIC may compile with GCC 2.95.2.obrien1999-11-141-83/+84
| | | | | | | | | | | | | | | | | | | | Historically, the documentation of extended asm was lacking, namely you should NOT specify the same register as an input, and a clobber. If the register is clobbered, it should be specified as an output as well, e.g., by linking input and output through the "number" notation. (Beware of lvalues, some local variables needed...) URL:http://egcs.cygnus.com/faq.html In versions up to egcs-1.1.1, the compiler did not even warn about it, but it was liable to output bad code. Newer egcs are pickier and simply refuse to swallow such code. Note, since *addr changes, it needs to be an output operand. We might be excessive in saying that all memory has changed. Obtained from: OpenBSD w/extra thanks to Marc Espie <Marc.Espie@liafa.jussieu.fr>
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Improve compatibility with other systems by changing the defaultimp1999-07-031-1/+10
| | | | | | | | | | | | | | | | | | | | | behavior slightly. If machine/bus.h is included, but neither bus_memio.h nor bus_pio.h are included, then behave as if both were included. This won't change existing drivers, all of which include one or more of bus_{p,mem}io.h, but will allow drivers from other systems to come over with fewer changes. I freely admit that this might not be optimal for some drivers, but those drivers can be optimized for FreeBSD after the initial bringup happens. Without the change, there is a bug that preclude drivers from compiling with strange warning/errors. I've been running this here for a while now w/o ill effects. Reviewed by: gibbs Not objected to by: bde, arch@ list.
* Don't pretend to support ix86's with 16-bit ints by using longs justbde1998-09-291-4/+4
| | | | to ensure 32-bit variables. Doing so broke ix86's with 64-bit longs.
* Implement bus_dmamem_* functions and correct a few nits reported by Peter Wemm.gibbs1998-05-061-10/+27
|
* Support compiling with `gcc-pedantic' (don't use hard newlines inbde1998-04-191-74/+74
| | | | (asm) string constants or trailing commas in enum declarations).
* Implementation of Bus Space for FreeBSD-x86.gibbs1998-01-151-0/+1264
Obtained From: NetBSD
OpenPOWER on IntegriCloud