1 /* This file is part of the coreboot project. */
2 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 * input %esp: return address (not pointer to return address!)
6 * clobber the content of eax, ecx, edx
9 #include <cpu/x86/mtrr.h>
15 /* Use the MTRR default type MSR as a proxy for detecting INIT#.
16 * Reset the system if any known bits are set in that MSR. That is
17 * an indication of the CPU not being properly reset. */
19 check_for_clean_reset:
20 movl $MTRR_DEF_TYPE_MSR, %ecx
22 andl $(MTRR_DEF_TYPE_EN | MTRR_DEF_TYPE_FIX_EN), %eax
26 /* perform warm reset */
31 /* Should not reach this*/