SFENCE is an SSE instruction
bl0 <[email protected]>
| Newsgroups | gmane.comp.emulators.bochs.devel |
|---|---|
| Message-ID | <[email protected]> |
When Bochs 2.6 is configured to emulate "p3_katmai" CPU with SSE and without SSE2, Linux fails at boot. Linux detects SSE support and tries to use some SSE-optimized code (in this case, xor function when initializing RAID support). The instruction which fails is SFENCE. Bochs only emulates SFENCE if SSE2 is enabled. Quick search shows that SFENCE is part of the first SSE instruction set. Bochs source code, file cpu/ia_opcodes.h, line: bx_define_opcode(BX_IA_SFENCE, &BX_CPU_C::BxError, &BX_CPU_C::NOP, BX_ISA_SSE2, BX_SRC_NONE, BX_SRC_NONE, BX_SRC_NONE, BX_SRC_NONE, 0) Changing BX_ISA_SSE2 to BX_ISA_SSE and recompiling solved this problem. ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_123012