Plan 9 from Bell Labs’s /usr/web/sources/patch/sse-on-kvm/readme

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


fix: any SSE instruction raises "invalid opcode" exception.
	 and add handling sse exception.

In SakuraVPS(public QEMU/KVM service),
CR4.OSFXSR and CR4.OSXMMEXCPT are removed after realmode().
Therefore, MMX/SSE instructions(e.g. MOVD) raises "invalid opcode" exception.
(I don't know this behavior is whether by CPU specification or by QEMU/KVM problem.)

SakuraVPS's cpuid is below:
cpu0:  2402MHz GenuineIntel Core i7/Xeon (cpuid: AX 0x206C1 DX 0x1F8BF3FF)

This problem is reproduced:

---
// This code can assemble Go's assembler (go tool 8a).
TEXT	main·main+0(SB), $0
	MOVSD $1.0, X0
	RET

TEXT	main·init+0(SB), $0
	RET
----

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].