Subject: bus_space_write_8
To: None <port-i386@netbsd.org>
From: Michael Richardson <mcr@solidum.com>
List: port-i386
Date: 04/17/2000 22:15:35
I have need to force 64-bit transactions on a 64-bit PCI bus
from a PIII running NetBSD/1.4.2. This is in part to test a 64-bit PCI
card that we are building.
I notice that bus.h has:
#if 0 /* Cause a link error for bus_space_write_8 */
#define bus_space_write_8 !!! bus_space_write_8 not implemented !!!
#endif
will something like:
((void)(*(volatile u_int64_t *)((h) + (o)) = (v)));
work? I realize that it may not be atomic. Are there Intel instructions
for doing 64-bit I/O (I thought not).
My impression is that adjacent 32-bit writes should get coalesced into
a single 64-bit operation.
:!mcr!: | Cow#1: Are you worried about getting Mad Cow Disease?
Michael Richardson | Cow#2: No. I'm a duck.
Home: mcr@sandelman.ottawa.on.ca. PGP key available.