movebits: add an inline to test for SMT_FREE || SMT_TERMINAL
[syslinux/sherbszt.git] / core / cleanup.c
blobde318d986fc72bef43d75e51684a932cdcafc05f
1 /* -----------------------------------------------------------------------
3 * Copyright 2007-2008 H. Peter Anvin - All Rights Reserved
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8 * Boston MA 02111-1307, USA; either version 2 of the License, or
9 * (at your option) any later version; incorporated herein by reference.
11 * -----------------------------------------------------------------------
13 #include <com32.h>
14 #include <core.h>
15 #include <syslinux/memscan.h>
16 #include <syslinux/firmware.h>
18 extern void comboot_cleanup_api(void);
19 extern void bios_timer_cleanup(void);
22 * cleanup.c
24 * Some final tidying before jumping to a kernel or bootsector
27 void bios_cleanup_hardware(void)
30 * TODO
32 * Linux wants the floppy motor shut off before starting the
33 * kernel, at least bootsect.S seems to imply so. If we don't
34 * load the floppy driver, this is *definitely* so!
36 __intcall(0x13, &zero_regs, NULL);
38 call16(comboot_cleanup_api, &zero_regs, NULL);
39 call16(bios_timer_cleanup, &zero_regs, NULL);
41 /* If we enabled serial port interrupts, clean them up now */
42 sirq_cleanup();
46 * cleanup_hardware:
48 * Shut down anything transient.
50 __export void cleanup_hardware(void)
52 firmware->cleanup();