Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: panic in wscons booting current evbarm64 iso under virtualization on Apple Silicon



On 09/11/2026 15:56, PHO wrote:
> On 10/26/26 09:52, John Klos wrote:
>> [   1.0000000] fp ffffc000010262e0 vm_cmd() at ffffc000003fa3b8 netbsd:vm_cmd+0x28
>> [   1.0000000] fp ffffc000010262f0 vmt_probe() at ffffc000003fb89c netbsd:vmt_probe+0x3c
>> [   1.0000000] fp ffffc00001026340 vmt_match() at ffffc000000a572c netbsd:vmt_match+0x1c
> This is definitely a separate issue, and it really looks like a UTM/QEMU bug to me. The function vmt_probe() does this to test whether it's running on VMware or not, and no instructions are illegal according to the ARM documentation:
> [from sys/dev/vmt/vmtvar.h]
> #define BACKDOOR_OP_AARCH64(op, frame)        \
>     __asm__ __volatile__ (            \
>         "ldp x0, x1, [%0, 8 * 0];    \n\t" \
>         "ldp x2, x3, [%0, 8 * 2];    \n\t" \
>         "ldp x4, x5, [%0, 8 * 4];    \n\t" \
>         "ldr x6,     [%0, 8 * 6];    \n\t" \
>         "mov x7, %1            \n\t" \
>         "movk x7, %2, lsl #32;        \n\t" \
>         "mrs xzr, mdccsr_el0;        \n\t" \
>         "stp x0, x1, [%0, 8 * 0];    \n\t" \
>         "stp x2, x3, [%0, 8 * 2];    \n\t" \
>         "stp x4, x5, [%0, 8 * 4];    \n\t" \
>         "str x6,     [%0, 8 * 6];    \n\t" \
>         : /* No outputs. */ \
>         : "r" (frame), \
>           "r" (op), \
>           "i" (X86_IO_MAGIC) \
>         : "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "memory" \
>     )
> You can probably work around it by commenting out this line from your kernel:
> vmt0            at cpu0                 # VMware Tools

yes, that would work.


Home | Main Index | Thread Index | Old Index