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 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


Home | Main Index | Thread Index | Old Index