@@ -1,5 +1,6 @@
common-obj-y = usb/ ide/
common-obj-y += loader.o
+common-obj-y += reset.o
common-obj-$(CONFIG_VIRTIO) += virtio-console.o
common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
common-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
@@ -17,6 +17,7 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "audiodev.h"
#include "audio/audio.h"
@@ -22,6 +22,7 @@
*
* This is based on acpi.c.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "pci.h"
@@ -18,6 +18,7 @@
* Contributions after 2012-01-13 are licensed under the terms of the
* GNU GPL, version 2 or (at your option) any later version.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "apm.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "adb.h"
#include "console.h"
@@ -8,6 +8,7 @@
*/
#include "config.h"
+#include "hw/reset.h"
#include "hw.h"
#include "arm-misc.h"
#include "sysemu.h"
@@ -7,6 +7,7 @@
* This code is licensed under the GPL.
*/
+#include "hw/reset.h"
#include "sysbus.h"
#include "arm-misc.h"
#include "loader.h"
@@ -39,6 +39,7 @@
#include <assert.h>
+#include "hw/reset.h"
#include "hw.h"
#include "pci.h"
#include "pc.h"
@@ -26,6 +26,7 @@
* Reference: Finn Thogersons' VGADOC4b
* available at http://home.worldonline.dk/~finth/
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pci.h"
#include "console.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "loader.h"
#include "elf.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "audiodev.h"
#include "audio/audio.h"
@@ -22,6 +22,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc_mac.h"
#include "adb.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "isa.h"
@@ -17,6 +17,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "qemu-timer.h"
#include "net.h"
@@ -41,6 +41,7 @@
*/
#include <stddef.h> /* offsetof */
+#include "hw/reset.h"
#include "hw.h"
#include "pci.h"
#include "net.h"
@@ -26,6 +26,7 @@
/* #define VERBOSE_ES1370 */
#define SILENT_ES1370
+#include "hw/reset.h"
#include "hw.h"
#include "audiodev.h"
#include "audio/audio.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
#include "sysbus.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "qemu-timer.h"
#include "ptimer.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "mips.h"
#include "pci.h"
@@ -22,6 +22,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc_mac.h"
@@ -37,11 +37,6 @@
#endif
#endif
-typedef void QEMUResetHandler(void *opaque);
-
-void qemu_register_reset(QEMUResetHandler *func, void *opaque);
-void qemu_unregister_reset(QEMUResetHandler *func, void *opaque);
-
/* handler to set the boot_device order for a specific type of QEMUMachine */
/* return 0 if success */
typedef int QEMUBootSetHandler(void *opaque, const char *boot_devices);
@@ -27,6 +27,7 @@
#include <hw/pci.h>
#include <hw/isa.h>
#include "block.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "dma.h"
@@ -22,6 +22,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include <hw/hw.h>
#include <hw/ppc_mac.h>
#include <hw/mac_dbdma.h>
@@ -22,6 +22,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include <hw/hw.h>
#include "block.h"
#include "dma.h"
@@ -28,6 +28,7 @@
#include <hw/pci.h>
#include <hw/isa.h>
#include "blockdev.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "dma.h"
@@ -28,6 +28,7 @@
#include <hw/pci.h>
#include <hw/isa.h>
#include "block.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "dma.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "qemu-timer.h"
#include "ptimer.h"
@@ -18,6 +18,7 @@
*/
#include "sysbus.h"
+#include "hw/reset.h"
#include "hw.h"
#include "net.h"
#include "flash.h"
@@ -18,6 +18,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "i2c.h"
#include "qemu-timer.h"
@@ -42,6 +42,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "disas.h"
#include "monitor.h"
@@ -36,6 +36,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "isa.h"
#include "mac_dbdma.h"
@@ -22,6 +22,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "firmware_abi.h"
#include "sysemu.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "qemu-timer.h"
#include "sysemu.h"
@@ -28,6 +28,7 @@
#include "qemu-config.h"
#include "qemu-common.h"
#include "device_tree.h"
+#include "hw/reset.h"
#include "loader.h"
#include "elf.h"
@@ -18,6 +18,7 @@
*/
#include "sysbus.h"
+#include "hw/reset.h"
#include "hw.h"
#include "net.h"
#include "flash.h"
@@ -18,6 +18,7 @@
* http://www.loongsondeveloper.com/doc/Loongson2EUserGuide.pdf
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "serial.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "mips.h"
#include "mips_cpudevs.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "serial.h"
@@ -24,6 +24,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "mips.h"
#include "mips_cpudevs.h"
@@ -7,6 +7,7 @@
* All peripherial devices are attached to this "bus" with
* the standard PC ISA addresses.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "mips.h"
#include "mips_cpudevs.h"
@@ -28,6 +28,7 @@
#include "i2c.h"
#include "devices.h"
#include "flash.h"
+#include "hw/reset.h"
#include "hw.h"
#include "bt.h"
#include "loader.h"
@@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License along
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "arm-misc.h"
#include "omap.h"
@@ -19,6 +19,7 @@
*/
#include "blockdev.h"
+#include "hw/reset.h"
#include "hw.h"
#include "arm-misc.h"
#include "omap.h"
@@ -33,6 +33,7 @@
* Serial interrupts, as implemented in Raven chipset are not supported yet.
*
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc_mac.h"
#include "pci.h"
@@ -18,6 +18,7 @@
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "boards.h"
#include "elf.h"
@@ -22,6 +22,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "qemu-char.h"
#include "isa.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "serial.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "isa.h"
#include "pc.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "pci.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "pci.h"
@@ -18,6 +18,7 @@
#include "qemu-common.h"
#include "e500.h"
#include "net.h"
+#include "hw/reset.h"
#include "hw/hw.h"
#include "hw/serial.h"
#include "hw/pci.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc.h"
#include "ppc405.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc.h"
#include "ppc405.h"
@@ -14,6 +14,7 @@
#include "config.h"
#include "qemu-common.h"
#include "net.h"
+#include "hw/reset.h"
#include "hw.h"
#include "pci.h"
#include "boards.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc.h"
#include "ppc4xx.h"
@@ -19,6 +19,7 @@
/* This file implements emulation of the 32-bit PCI controller found in some
* 4xx SoCs, such as the 440EP. */
+#include "hw/reset.h"
#include "hw.h"
#include "ppc.h"
#include "ppc4xx.h"
@@ -46,6 +46,7 @@
* 0001:05:0c.0 IDE interface [0101]: Broadcom K2 SATA [1166:0240]
*
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc.h"
#include "ppc_mac.h"
@@ -23,6 +23,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ppc.h"
#include "ppc_mac.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "nvram.h"
#include "pc.h"
@@ -27,6 +27,7 @@
*
*/
+#include "hw/reset.h"
#include "hw.h"
#include "sysemu.h"
#include "sysbus.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "ps2.h"
#include "console.h"
@@ -27,6 +27,7 @@
#include "net.h"
#include "qdev.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "error.h"
#include "qapi/qapi-visit-core.h"
@@ -24,6 +24,7 @@
*/
#include "sysbus.h"
+#include "hw/reset.h"
#include "hw.h"
#include "sh.h"
#include "devices.h"
@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "mips.h"
#include "qemu-timer.h"
new file mode 100644
@@ -0,0 +1,43 @@
+#include "hw/reset.h"
+#include "qlist.h"
+
+typedef struct QEMUResetEntry {
+ QTAILQ_ENTRY(QEMUResetEntry) entry;
+ QEMUResetHandler *func;
+ void *opaque;
+} QEMUResetEntry;
+
+static QTAILQ_HEAD(reset_handlers, QEMUResetEntry) reset_handlers =
+ QTAILQ_HEAD_INITIALIZER(reset_handlers);
+
+void qemu_register_reset(QEMUResetHandler *func, void *opaque)
+{
+ QEMUResetEntry *re = g_malloc0(sizeof(QEMUResetEntry));
+
+ re->func = func;
+ re->opaque = opaque;
+ QTAILQ_INSERT_TAIL(&reset_handlers, re, entry);
+}
+
+void qemu_unregister_reset(QEMUResetHandler *func, void *opaque)
+{
+ QEMUResetEntry *re;
+
+ QTAILQ_FOREACH(re, &reset_handlers, entry) {
+ if (re->func == func && re->opaque == opaque) {
+ QTAILQ_REMOVE(&reset_handlers, re, entry);
+ g_free(re);
+ return;
+ }
+ }
+}
+
+void qemu_devices_reset(void)
+{
+ QEMUResetEntry *re, *nre;
+
+ /* reset all devices */
+ QTAILQ_FOREACH_SAFE(re, &reset_handlers, entry, nre) {
+ re->func(re->opaque);
+ }
+}
new file mode 100644
@@ -0,0 +1,11 @@
+/* Device reset handler function registration, used by qdev and other code */
+#ifndef QDEV_RESET_H
+#define QDEV_RESET_H
+
+typedef void QEMUResetHandler(void *opaque);
+
+void qemu_register_reset(QEMUResetHandler *func, void *opaque);
+void qemu_unregister_reset(QEMUResetHandler *func, void *opaque);
+void qemu_devices_reset(void);
+
+#endif /* QDEV_RESET_H */
@@ -17,6 +17,7 @@
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "block.h"
#include "sysemu.h"
@@ -27,6 +27,7 @@
#include "qemu-char.h"
#include "qemu-timer.h"
#include "exec-memory.h"
+#include "hw/reset.h"
//#define DEBUG_SERIAL
@@ -25,6 +25,7 @@
*
*/
#include "sysemu.h"
+#include "hw/reset.h"
#include "hw.h"
#include "elf.h"
#include "net.h"
@@ -27,6 +27,7 @@
#include "nvram.h"
#include "sparc32_dma.h"
#include "fdc.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "net.h"
#include "boards.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pci.h"
#include "apb_pci.h"
@@ -18,6 +18,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "qemu-timer.h"
#include "console.h"
@@ -19,6 +19,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "audio/audio.h"
#include "qemu-timer.h"
@@ -28,6 +28,7 @@
*/
#include "hw/usb/hcd-ehci.h"
+#include "hw/reset.h"
/* Capability Registers Base Address - section 2.2 */
#define CAPLENGTH 0x0000 /* 1-byte, 0x0001 reserved */
@@ -26,6 +26,7 @@
* o BIOS work to boot from USB storage
*/
+#include "hw/reset.h"
#include "hw/hw.h"
#include "qemu-timer.h"
#include "hw/usb.h"
@@ -25,6 +25,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw/hw.h"
#include "hw/usb.h"
#include "hw/pci.h"
@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "vga.h"
#include "console.h"
@@ -23,6 +23,7 @@
*/
#include "sysbus.h"
+#include "hw/reset.h"
#include "hw.h"
#include "serial.h"
#include "net.h"
@@ -10,6 +10,7 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
+#include "hw/reset.h"
#include "hw.h"
#include "pc.h"
#include "vt82c686.h"
@@ -25,6 +25,7 @@
*
*/
+#include "hw/reset.h"
#include "hw.h"
#include "hw/spapr.h"
#include "hw/xics.h"
@@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "hw/reset.h"
#include "sysemu.h"
#include "boards.h"
#include "loader.h"
@@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "hw/reset.h"
#include "sysemu.h"
#include "boards.h"
#include "loader.h"
@@ -25,6 +25,7 @@
#include "qemu-option.h"
#include "qemu-config.h"
#include "sysemu.h"
+#include "hw/reset.h"
#include "hw/hw.h"
#include "hw/msi.h"
#include "gdbstub.h"
@@ -57,7 +57,6 @@ void qemu_system_vmstop_request(RunState reason);
int qemu_shutdown_requested_get(void);
int qemu_reset_requested_get(void);
void qemu_system_killed(int signal, pid_t pid);
-void qemu_devices_reset(void);
void qemu_system_reset(bool report);
void qemu_add_exit_notifier(Notifier *notify);
@@ -32,6 +32,7 @@
#include "hyperv.h"
+#include "hw/reset.h"
#include "hw/hw.h"
#if defined(CONFIG_KVM)
#include <linux/kvm_para.h>
@@ -21,6 +21,7 @@
#include <linux/kvm_para.h>
#include "qemu-common.h"
+#include "hw/reset.h"
#include "sysemu.h"
#include "kvm.h"
#include "kvm_i386.h"
@@ -113,6 +113,7 @@ int main(int argc, char **argv)
#include <glib.h>
+#include "hw/reset.h"
#include "hw/hw.h"
#include "hw/boards.h"
#include "hw/usb.h"
@@ -1457,14 +1458,6 @@ void vm_start(void)
/* reset/shutdown handler */
-typedef struct QEMUResetEntry {
- QTAILQ_ENTRY(QEMUResetEntry) entry;
- QEMUResetHandler *func;
- void *opaque;
-} QEMUResetEntry;
-
-static QTAILQ_HEAD(reset_handlers, QEMUResetEntry) reset_handlers =
- QTAILQ_HEAD_INITIALIZER(reset_handlers);
static int reset_requested;
static int shutdown_requested, shutdown_signal = -1;
static pid_t shutdown_pid;
@@ -1561,38 +1554,6 @@ static bool qemu_vmstop_requested(RunState *r)
return false;
}
-void qemu_register_reset(QEMUResetHandler *func, void *opaque)
-{
- QEMUResetEntry *re = g_malloc0(sizeof(QEMUResetEntry));
-
- re->func = func;
- re->opaque = opaque;
- QTAILQ_INSERT_TAIL(&reset_handlers, re, entry);
-}
-
-void qemu_unregister_reset(QEMUResetHandler *func, void *opaque)
-{
- QEMUResetEntry *re;
-
- QTAILQ_FOREACH(re, &reset_handlers, entry) {
- if (re->func == func && re->opaque == opaque) {
- QTAILQ_REMOVE(&reset_handlers, re, entry);
- g_free(re);
- return;
- }
- }
-}
-
-void qemu_devices_reset(void)
-{
- QEMUResetEntry *re, *nre;
-
- /* reset all devices */
- QTAILQ_FOREACH_SAFE(re, &reset_handlers, entry, nre) {
- re->func(re->opaque);
- }
-}
-
void qemu_system_reset(bool report)
{
if (current_machine && current_machine->reset) {
@@ -14,6 +14,7 @@
#include "hw/pc.h"
#include "hw/xen_common.h"
#include "hw/xen_backend.h"
+#include "hw/reset.h"
#include "qmp-commands.h"
#include "range.h"
The core qdev code uses the reset handler list from vl.c, and currently *-user has some hacks to make CPU reset work. This moves qemu_register_reset(), qemu_unregister_reset() and qemu_devices_reset() to a new file, hw/reset.c, that can be used by qdev and by *-user. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/Makefile.objs | 1 + hw/ac97.c | 1 + hw/acpi_ich9.c | 1 + hw/acpi_piix4.c | 1 + hw/adb.c | 1 + hw/arm_boot.c | 1 + hw/armv7m.c | 1 + hw/bonito.c | 1 + hw/cirrus_vga.c | 1 + hw/cris-boot.c | 1 + hw/cs4231a.c | 1 + hw/cuda.c | 1 + hw/dma.c | 1 + hw/dp8393x.c | 1 + hw/eepro100.c | 1 + hw/es1370.c | 1 + hw/etraxfs_timer.c | 1 + hw/gt64xxx.c | 1 + hw/heathrow_pic.c | 1 + hw/hw.h | 5 ----- hw/ide/cmd646.c | 1 + hw/ide/macio.c | 1 + hw/ide/mmio.c | 1 + hw/ide/piix.c | 1 + hw/ide/via.c | 1 + hw/leon3.c | 1 + hw/lm32_boards.c | 1 + hw/lm832x.c | 1 + hw/loader.c | 1 + hw/mac_dbdma.c | 1 + hw/mac_nvram.c | 1 + hw/mc146818rtc.c | 1 + hw/microblaze_boot.c | 1 + hw/milkymist.c | 1 + hw/mips_fulong2e.c | 1 + hw/mips_jazz.c | 1 + hw/mips_malta.c | 1 + hw/mips_mipssim.c | 1 + hw/mips_r4k.c | 1 + hw/nseries.c | 1 + hw/omap1.c | 1 + hw/omap2.c | 1 + hw/openpic.c | 1 + hw/openrisc_sim.c | 1 + hw/parallel.c | 1 + hw/pc.c | 1 + hw/pckbd.c | 1 + hw/piix4.c | 1 + hw/piix_pci.c | 1 + hw/ppc/e500.c | 1 + hw/ppc405_boards.c | 1 + hw/ppc405_uc.c | 1 + hw/ppc440_bamboo.c | 1 + hw/ppc4xx_devs.c | 1 + hw/ppc4xx_pci.c | 1 + hw/ppc_newworld.c | 1 + hw/ppc_oldworld.c | 1 + hw/ppc_prep.c | 1 + hw/ppce500_spin.c | 1 + hw/ps2.c | 1 + hw/qdev.c | 1 + hw/r2d.c | 1 + hw/rc4030.c | 1 + hw/reset.c | 43 +++++++++++++++++++++++++++++++++++++++++++ hw/reset.h | 11 +++++++++++ hw/s390-virtio-bus.c | 1 + hw/serial.c | 1 + hw/spapr.c | 1 + hw/sun4m.c | 1 + hw/sun4u.c | 1 + hw/tsc2005.c | 1 + hw/tsc210x.c | 1 + hw/usb/hcd-ehci.c | 1 + hw/usb/hcd-ohci.c | 1 + hw/usb/hcd-uhci.c | 1 + hw/vga.c | 1 + hw/virtex_ml507.c | 1 + hw/vt82c686.c | 1 + hw/xics.c | 1 + hw/xtensa_lx60.c | 1 + hw/xtensa_sim.c | 1 + kvm-all.c | 1 + sysemu.h | 1 - target-i386/cpu.c | 1 + target-i386/kvm.c | 1 + vl.c | 41 +---------------------------------------- xen-all.c | 1 + 87 files changed, 137 insertions(+), 46 deletions(-) create mode 100644 hw/reset.c create mode 100644 hw/reset.h