Hello all,
I am have a small problem, when running the BIOS in 16Bit if Y try to do a hypercall the virtual machines crashes.
Here is the code of the hypercall:
#define _hypercall2(type, name, a1, a2) \ ({ \ unsigned long __hentry = xen_hypercall_page+__HYPERVISOR_##name*32; \ long __res, __ign1, __ign2; \ asm volatile ( \ "call *%%eax" \ : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \ : "0" (__hentry), "1" ((long)(a1)), "2" ((long)(a2)) \ : "memory" ); \ (type)__res; \ })
I guess the something is being passed wrong to the call, and the return address is damaged...
Daniel