Skip site navigation (1)Skip section navigation (2)
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,
Christian


help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807041626.00442.christian.kandeler>