1 /* SPDX-License-Identifier: GPL-2.0-only */
4 #include <arch/cache.h>
6 #include <console/console.h>
10 * A system reset in terms of the CF9 register asserts the INIT#
11 * signal to reset the CPU along the PLTRST# signal to reset other
12 * board components. It is usually the hardest reset type that
13 * does not power cycle the board. Thus, it could be called a
16 void do_system_reset(void)
19 outb(SYS_RST
, RST_CNT
);
20 outb(RST_CPU
| SYS_RST
, RST_CNT
);
24 * A full reset in terms of the CF9 register triggers a power cycle
25 * (i.e. S0 -> S5 -> S0 transition). Thus, it could be called a
27 * Note: Not all x86 implementations comply with this definition,
28 * some may require additional configuration to power cycle.
30 void do_full_reset(void)
33 outb(FULL_RST
| SYS_RST
, RST_CNT
);
34 outb(FULL_RST
| RST_CPU
| SYS_RST
, RST_CNT
);
37 void system_reset(void)
39 printk(BIOS_INFO
, "%s() called!\n", __func__
);
47 printk(BIOS_INFO
, "%s() called!\n", __func__
);