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.