On May 6, 2009, at 7:30 AM, Zahemszky Gábor wrote:
I believe there's a problem with mpt(4) that relates to
its error recovery, or lack thereof.
Can you send a backtrace so that we can confirm or de-
bunk that statement?
Hi!
here it is. (sorry for the ESC-sequences, it is the virtual machine's
EFI boot loader)
Attached.
Ok. It's not mpt(4). It looks like it's the VM itself
that's the problem. The page fault is the result of a
clobbered r17.
Looking at the registers and the source code, as well
as the assembly I conclude that writes to the region
registers (which are virtualized) cause a trap in the
VM and the context is not properly saved or restored.
I conclude this based on r16 being 1 (we've had 1
iteration of the loop on line 2220 in file
sys/ia64/ia64/pmap.c (assuming r16 is not clobbered).
This means we had at least 1 write to the region
register.
r17 is initialized to (&pm->pm_rid[0]) and since the
load has a post-increment of 4, it "walks" the pm_rid
array. It never has a value of 1. So, r17 must have
been clobbered, because it's never assigned 1 in the
program.
So either the VM is buggy, or you need explicit support
for the VM in the guest OS by design.
FYI,
--
Marcel Moolenaar
xcl...@mac.com
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"