1/* 2 * This file is part of the coreboot project. 3 * 4 * Copyright (C) 2002 Eric Biederman <ebiederm@xmission.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; version 2 of the License. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 20 /* 21 * Put the processor back into a reset state 22 * with respect to the XMM registers. 23 */ 24 xorps %xmm0, %xmm0 25 xorps %xmm1, %xmm1 26 xorps %xmm2, %xmm2 27 xorps %xmm3, %xmm3 28 xorps %xmm4, %xmm4 29 xorps %xmm5, %xmm5 30 xorps %xmm6, %xmm6 31 xorps %xmm7, %xmm7 32 33 /* 34 * Disable SSE instructions. 35 * 36 * Clear CR4[9] (OSFXSR) and CR4[10] (OSXMMEXCPT) so that the 37 * processor can no longer execute SSE instructions, and unmasked 38 * SIMD floating point exceptions will generate an invalid opcode 39 * exception (#UD). 40 */ 41 movl %cr4, %eax 42 andl $~(3 << 9), %eax 43 movl %eax, %cr4 44 45

