[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Using SYSCALL/SYSRET with a minios kernel
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. 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. MfG Goswin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |