Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Xen modules
As some of you may seen from my post to tech-kern, I've been
working on getting modules to work with Xen. At this point, I have
build.sh building and installing Xen specific modules. I also have
kernels finding the appropriate modules. amd64 fails to load
modules due to an issue with module_map. So, I figured I would
work on i386 first. This is panicing due to a failed call to
hypervisor function. The panic message is:
# modload example
XXX: mapsize = 695
panic: xpq_flush_cache, err -22
cpu0: Begin traceback...
vpanic(c05023d3,d78f8ce0,d78f8cfc,c0466846,c05023d3,ffffffea,c,c1230d40,c122f140,c057f140)
at netbsd:vpanic+0x117
panic(c05023d3,ffffffea,c,c1230d40,c122f140,c057f140,c046f260,0,d78f8d2c,c039ced2)
at netbsd:panic+0x18
xpq_flush_cache(0,0,1,0,0,c057f1b0,0,c1233000,c039ce60,c1233000) at
netbsd:xpq_flush_cache+0x66
xc_thread(c1233000,860000,c05dc200,0,c010007b,0,0,0,0,0) at
netbsd:xc_thread+0x72
cpu0: End traceback...
And, the code where it panics is:
void
xpq_flush_cache(void)
{
struct mmuext_op op;
int s = splvm(), err;
xpq_flush_queue();
XENPRINTK2(("xpq_queue_flush_cache\n"));
op.cmd = MMUEXT_FLUSH_CACHE;
if ((err = HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF)) < 0) {
panic("xpq_flush_cache, err %d", err);
}
splx(s); /* XXX: removeme */
}
As best I can tell, err -22 is EINVAL. Anybody know what's up with this?
Home |
Main Index |
Thread Index |
Old Index