Hi,

I success run RHEL 5.9/6.5/6.6 in bhyve.
when I try boot rhel-server-5.4-x86_64-dvd.iso, the bhyve exit with
following error

Failed to emulate instruction [0x40 0x22 0x3c 0x25 0x23 0xd0 0x5f 0xff 0x31
0xf6 0xb9 0xfe 0x00 0x00 0x00] at 0xffffffff800796ac

and with bhyve exited with status 134,
also have a bhyve.core

the FreeBSD version is SVN 11-CURRENT r291495.

anything I can help to find what is going on?

 Thanks for the report. I was able to repro this and get the same error.

Instruction emulation takes place on an EPT fault, and when bhyve can't handle this and exits, a 'bhyvectl --get-all' can be used to extraxt some post-mortem state. In this case, the gla/gpa associated with the exit can be found:

...
gla[0]    0xffffffffff5fd023
gpa[0]    0x00000000fee00023
...

The gpa is in local APIC ID register. It's not 4-byte aligned, which is a bit unusual, so is probably a byte instruction. Putting the instruction bytes into a small program and using gdb as a disassembler gives:

(gdb) x/i &a
0x6009ec <a>:     and    0xffffffffff5fd023,%dil

It's the 'REX + 22 /r' form of the AND instruction. This isn't supported by bhyve - it only des the 22/81/83 variants of AND, so will have to be added.

later,

Peter.
_______________________________________________
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"

Reply via email to