ia64_change_mode and BSPSTORE region
Christian Kandeler
christian.kandeler at hob.de
Fri Jul 4 14:48:43 UTC 2008
Hi,
function ia64_change_mode (sys/ia64/ia64/support.S) changes the
addressing mode from virtual to physical or vice versa. In the course
of this, the address of the backing store is converted as well. This
conversion is done by simply stripping off (or inserting) the virtual
region number, so the function obviously assumes that BSPSTORE is
identity-mapped (i.e. in region 7). This does not seem to be
necessarily true, though: For instance, when I call
ia64_call_pal_stacked_physical() from a kernel module (which I have
no reason to believe is illegal), it crashes, because BSPSTORE is in
region 5. I also recall that once during a kdb session, I tried to
read the translation registers and it also crashed, presumably for
the same reason. What's going wrong here?
Regards,
Christian
More information about the freebsd-ia64
mailing list