[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [PATCH] Reserved Register/Field fault not correct handled in Xen?
Hi, here is the patch to the problem described below. Maybe it's not complete. Any comments are welcome. Thanks. Dietmar > I had a closer look to my problem described on > http://lists.xensource.com/archives/html/xen-ia64-devel/2006-12/msg00120.ht >ml. Now I can reproduce the panic in Xen with a dom0-user program. > The instructions > movl r16=0xff;; > mov ar.rsc=r16 > lead to a general exception with function code 0x30 (Reserved > Register/Field fault). > The trap handler in ivt.S checks only function code <=0x20. > The other exceptions call dispatch_to_fault_handler() and further > ia64_fault(). > In ia64_fault() there is only a check on function code 0x80 (Illegal > dependency fault). The function codes 0x30 (Reserved Register/Field fault) > and 0x40 lead to the xen-panic! > It seems the code was copied from the linux ia64_fault() routine. But there > is a call of die_if_kernel(...) and if not kernel a call of > force_sig(SIGILL, ...) to kill the user process. > I believe the solution is here to use FAULT_OR_REFLECT(24) in the trap > handler if the function code is > 0x20 and to extend the > ia64_handle_reflection() with handling the vector=24. > With this 2 fixes the user program gets a SIGILL like on native linux. > and my mini-os traphandler gets called from the hypervisor, so I can handle > the trap on my own. Attachment:
gen_except.patch _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |