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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.