acpihpet(4): acpihpet_delay: only use lower 32 bits of counter
We can't use acpihpet_r() to implement acpihpet_delay(). Even if we
made acpihpet_r() atomic on amd64, i386 would still be incapable of
doing atomic 8-byte reads. As-is, the code does a split read on all
platforms, which may or may not already be causing problems with TSC
calibration:
https://marc.info/?l=openbsd-tech&m=
166220561709496&w=2
Switch from acpihpet_r() to bus_space_read_4() and only use the lower
32 bits of the counter. This makes acpihpet_delay() slightly larger,
but unless we want two acpihpet_delay() implementations we have no
choice.
Link: https://marc.info/?l=openbsd-tech&m=166165347220077&w=2
ok jsg@