freebsd-skq/sys/ia64
Marcel Moolenaar 871f1ddd46 Restore the value of ar.rnat after the assignment to ar.bspstore.
The SDM states that writing to ar.bspstore invalidates the ar.rnat
register as a side-effect. This was interpreted as "bits in the
ar.rnat register that correspond to registers whose value is on
the stack are undefined'. Since we keep the kernel stack NaT-
aligned with the user stack (i.e. the lower 9 bits of the backing
store pointer remain unchanged when we switch to the kernel stack)
bits that need preserving would be preserved.

That interpretation is questionable. So, now, the interpretation
is more absolute: ar.rnat is undefined after writing to ar.bspstore.
As such, we write the saved value of ar.rnat back to ar.rnat after
writing to ar.bspstore.

Discussed with: christian.kandeler@hob.de
Approved by: re (kensmith)
2007-07-16 16:47:35 +00:00
..
acpica Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
compile
conf Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
disasm Update to SDM 2.2: 2006-06-24 19:21:11 +00:00
ia32 Rework the PCPU_* (MD) interface: 2007-06-04 21:38:48 +00:00
ia64 Restore the value of ar.rnat after the assignment to ar.bspstore. 2007-07-16 16:47:35 +00:00
include Add the machine-specific definitions for configuring the new physical 2007-06-10 23:39:07 +00:00
isa dma_tag is a static structure. Testing for it being a NULL pointer 2007-07-09 04:58:16 +00:00
pci