[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Using SYSCALL/SYSRET with a minios kernel
On Mon, 2008-02-25 at 02:55 +0100, Goswin von Brederlow wrote: > Daniel Stodden <stodden@xxxxxxxxxx> writes: > > > Hi. > > > > On Mon, 2008-02-25 at 00:22 +0100, Goswin von Brederlow wrote: > >> Hi, > >> > >> I'm trying to use the SYSCALL/SYSRET opcodes with a minios kernel > >> without much success. > >... > > The PV interface simply does not support STAR/LSTAR. It's that > > simple. :) I suppose you want to implement system calls? Check the > > HYPERVISOR_set_callbacks() call. The syscall_address parameter presently > > remains entirely unused in mini-os. But as far as I could tell > > immediately from the source, syscall/sysret appears to be supported by > > the general callback mechanism the same way sysenter/sysleave presently > > is. > > > > regards, > > daniel > > Ok, here is what I did for the callbacks: > > --- x86_64.S --- > ENTRY(syscall_callback) > int $80 > zeroentry do_syscall > > --- kernel.c --- > HYPERVISOR_set_callbacks((unsigned long)hypervisor_callback, > (unsigned long)failsafe_callback, > (unsigned long)syscall_callback); > > __asm__ __volatile__("syscall"); > > If I understood you right that should set the RIP to syscall_callback > and execute from there. MÃÃp! Only when calling in from virtual user mode. Otherwise, you're triggering a hypercall service routine, and one might suspect you're presently just generating an error condition with that. :) BTW: I found building Xen with 'debug=y' generates a helpful comment on the console every now and xen. > But still, the syscall opcode does nothing. > In case you wonder. The "int $80" is there to crash the domain and > tell me it reached that point. hth, daniel -- Daniel Stodden LRR - Lehrstuhl fÃr Rechnertechnik und Rechnerorganisation Institut fÃr Informatik der TU MÃnchen D-85748 Garching http://www.lrr.in.tum.de/~stodden mailto:stodden@xxxxxxxxxx PGP Fingerprint: F5A4 1575 4C56 E26A 0B33 3D80 457E 82AE B0D8 735B _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |