diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2010-09-15 21:48:16 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2010-09-15 21:48:16 -0400 |
commit | 244caf86f11f5f65d166d91704f64cb673167abc (patch) | |
tree | eb0f32c8469d15625ad34ebc3c4fec6068a767e9 /src/util.h | |
parent | 5bd01de26257849f36d361018c3ec17aa29b0218 (diff) | |
download | seabios-hppa-244caf86f11f5f65d166d91704f64cb673167abc.zip seabios-hppa-244caf86f11f5f65d166d91704f64cb673167abc.tar.gz seabios-hppa-244caf86f11f5f65d166d91704f64cb673167abc.tar.bz2 |
Try to hard-reboot on rerun of post even on emulators.
Extend the hard-reboot logic to qemu and kvm. On qemu, a reboot will
not reset the memory settings for 0xc0000-0xfffff, so copy that memory
area manually before rebooting. Unfortunately, kvm does not keep a
pristine copy of the BIOS at 0xffff0000, so detect that case and
shutdown the machine.
Diffstat (limited to 'src/util.h')
-rw-r--r-- | src/util.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1,6 +1,6 @@ // Basic x86 asm functions and function defs. // -// Copyright (C) 2008,2009 Kevin O'Connor <kevin@koconnor.net> +// Copyright (C) 2008-2010 Kevin O'Connor <kevin@koconnor.net> // // This file may be distributed under the terms of the GNU LGPLv3 license. #ifndef __UTIL_H @@ -327,6 +327,7 @@ void useRTC(void); void releaseRTC(void); // apm.c +void apm_shutdown(void); void handle_1553(struct bregs *regs); // pcibios.c @@ -338,6 +339,7 @@ void make_bios_writable(void); void make_bios_readonly(void); void make_bios_writable_intel(u16 bdf, u32 pam0); void make_bios_readonly_intel(u16 bdf, u32 pam0); +void qemu_prep_reset(void); // smm.c void smm_save_and_copy(void); |