Date: Fri, 4 Jul 2008 16:26:00 +0200 From: Christian Kandeler <christian.kandeler@hob.de> To: freebsd-ia64@freebsd.org Subject: ia64_change_mode and BSPSTORE region Message-ID: <200807041626.00442.christian.kandeler@hob.de>
index | next in thread | raw e-mail
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, Christianhelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807041626.00442.christian.kandeler>
