On Monday 13 August 2012 17:07:41 you wrote:
> >  * Note: the i386 does not currently require barriers, but we must
> >  * provide the flags to MI code.
> >
> > This is not correct for virtio. We need a memory barrier.
>
> sure, copy it from amd64.

OK. A slight complication:

sfence/mfence/lfence do not exist on all i386 CPUs. sfence was introduced with
SSE, [lm]fence with SSE2. This is not really a problem with the virtio driver
because the virtualization extensions were introduced much later. But it may
be a problem with the rest of the i386 code.

How do you normally handle this? Check during boot and set a pointer to the
function to be used and call that function pointer from bus_space_barrier()?

--
genua
Gesellschaft fuer Netzwerk- und Unix-Administration mbH
Domagkstrasse 7, 85551 Kirchheim bei Muenchen
tel +49 89 991950-0, fax -999, www.genua.de
Geschaeftsfuehrer: Dr. Magnus Harlander, Dr. Michaela Harlander,
Bernhard Schneck. Amtsgericht Muenchen HRB 98238

Reply via email to