From patchwork Tue Jan 31 17:41:26 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 138819 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 01E52B6EF1 for ; Wed, 1 Feb 2012 04:42:16 +1100 (EST) Received: from localhost ([::1]:38038 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsHiX-0001Pf-Ei for incoming@patchwork.ozlabs.org; Tue, 31 Jan 2012 12:42:05 -0500 Received: from eggs.gnu.org ([140.186.70.92]:47107) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsHiC-00010H-EA for qemu-devel@nongnu.org; Tue, 31 Jan 2012 12:41:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RsHi3-00018z-Oa for qemu-devel@nongnu.org; Tue, 31 Jan 2012 12:41:44 -0500 Received: from thoth.sbs.de ([192.35.17.2]:27786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsHi3-00018B-CV for qemu-devel@nongnu.org; Tue, 31 Jan 2012 12:41:35 -0500 Received: from mail1.siemens.de (localhost [127.0.0.1]) by thoth.sbs.de (8.13.6/8.13.6) with ESMTP id q0VHfVkS024746; Tue, 31 Jan 2012 18:41:32 +0100 Received: from mchn199C.mchp.siemens.de ([139.25.109.49]) by mail1.siemens.de (8.13.6/8.13.6) with ESMTP id q0VHfUpK022802; Tue, 31 Jan 2012 18:41:31 +0100 From: Jan Kiszka To: Anthony Liguori , qemu-devel Date: Tue, 31 Jan 2012 18:41:26 +0100 Message-Id: X-Mailer: git-send-email 1.7.3.4 In-Reply-To: References: In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Received-From: 192.35.17.2 Cc: Blue Swirl , Marcelo Tosatti , Avi Kivity , kvm Subject: [Qemu-devel] [PATCH v3 3/7] i8254: Factor out interface header X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Move the public interface of the PIT into its own header file and update all users. Signed-off-by: Jan Kiszka --- hw/alpha_dp264.c | 1 + hw/hpet.c | 1 + hw/i82378.c | 1 + hw/i8254.c | 1 + hw/i8254.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ hw/mips_fulong2e.c | 1 + hw/mips_jazz.c | 1 + hw/mips_malta.c | 1 + hw/mips_r4k.c | 1 + hw/pc.c | 1 + hw/pc.h | 25 ------------------------ hw/pcspk.c | 1 + 12 files changed, 64 insertions(+), 25 deletions(-) create mode 100644 hw/i8254.h diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c index 876335a..4c0efd3 100644 --- a/hw/alpha_dp264.c +++ b/hw/alpha_dp264.c @@ -14,6 +14,7 @@ #include "sysemu.h" #include "mc146818rtc.h" #include "ide.h" +#include "i8254.h" #define MAX_IDE_BUS 2 diff --git a/hw/hpet.c b/hw/hpet.c index 39b291f..c921ec9 100644 --- a/hw/hpet.c +++ b/hw/hpet.c @@ -31,6 +31,7 @@ #include "hpet_emul.h" #include "sysbus.h" #include "mc146818rtc.h" +#include "i8254.h" //#define HPET_DEBUG #ifdef HPET_DEBUG diff --git a/hw/i82378.c b/hw/i82378.c index 99b453a..652970e 100644 --- a/hw/i82378.c +++ b/hw/i82378.c @@ -19,6 +19,7 @@ #include "pci.h" #include "pc.h" +#include "i8254.h" //#define DEBUG_I82378 diff --git a/hw/i8254.c b/hw/i8254.c index d4a08d7..df83880 100644 --- a/hw/i8254.c +++ b/hw/i8254.c @@ -25,6 +25,7 @@ #include "pc.h" #include "isa.h" #include "qemu-timer.h" +#include "i8254.h" //#define DEBUG_PIT diff --git a/hw/i8254.h b/hw/i8254.h new file mode 100644 index 0000000..cd3111c --- /dev/null +++ b/hw/i8254.h @@ -0,0 +1,54 @@ +/* + * QEMU 8253/8254 interval timer emulation + * + * Copyright (c) 2003-2004 Fabrice Bellard + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef HW_I8254_H +#define HW_I8254_H + +#include "hw.h" +#include "isa.h" + +#define PIT_FREQ 1193182 + +static inline ISADevice *pit_init(ISABus *bus, int base, int irq) +{ + ISADevice *dev; + + dev = isa_create(bus, "isa-pit"); + qdev_prop_set_uint32(&dev->qdev, "iobase", base); + qdev_prop_set_uint32(&dev->qdev, "irq", irq); + qdev_init_nofail(&dev->qdev); + + return dev; +} + +void pit_set_gate(ISADevice *dev, int channel, int val); +int pit_get_gate(ISADevice *dev, int channel); +int pit_get_initial_count(ISADevice *dev, int channel); +int pit_get_mode(ISADevice *dev, int channel); +int pit_get_out(ISADevice *dev, int channel, int64_t current_time); + +void hpet_pit_disable(void); +void hpet_pit_enable(void); + +#endif /* !HW_I8254_H */ diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c index 163a668..ead72ae 100644 --- a/hw/mips_fulong2e.c +++ b/hw/mips_fulong2e.c @@ -40,6 +40,7 @@ #include "elf.h" #include "vt82c686.h" #include "mc146818rtc.h" +#include "i8254.h" #include "blockdev.h" #include "exec-memory.h" diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c index 63165b9..61dee4d 100644 --- a/hw/mips_jazz.c +++ b/hw/mips_jazz.c @@ -36,6 +36,7 @@ #include "mips-bios.h" #include "loader.h" #include "mc146818rtc.h" +#include "i8254.h" #include "blockdev.h" #include "sysbus.h" #include "exec-memory.h" diff --git a/hw/mips_malta.c b/hw/mips_malta.c index 64603ce..32f9f65 100644 --- a/hw/mips_malta.c +++ b/hw/mips_malta.c @@ -45,6 +45,7 @@ #include "loader.h" #include "elf.h" #include "mc146818rtc.h" +#include "i8254.h" #include "blockdev.h" #include "exec-memory.h" #include "sysbus.h" /* SysBusDevice */ diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c index 1c0615c..1b3ec2d 100644 --- a/hw/mips_r4k.c +++ b/hw/mips_r4k.c @@ -22,6 +22,7 @@ #include "loader.h" #include "elf.h" #include "mc146818rtc.h" +#include "i8254.h" #include "blockdev.h" #include "exec-memory.h" diff --git a/hw/pc.c b/hw/pc.c index 31608d3..080a731 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -36,6 +36,7 @@ #include "elf.h" #include "multiboot.h" #include "mc146818rtc.h" +#include "i8254.h" #include "msi.h" #include "sysbus.h" #include "sysemu.h" diff --git a/hw/pc.h b/hw/pc.h index c666ec9..b08708d 100644 --- a/hw/pc.h +++ b/hw/pc.h @@ -81,31 +81,6 @@ typedef struct GSIState { void gsi_handler(void *opaque, int n, int level); -/* i8254.c */ - -#define PIT_FREQ 1193182 - -static inline ISADevice *pit_init(ISABus *bus, int base, int irq) -{ - ISADevice *dev; - - dev = isa_create(bus, "isa-pit"); - qdev_prop_set_uint32(&dev->qdev, "iobase", base); - qdev_prop_set_uint32(&dev->qdev, "irq", irq); - qdev_init_nofail(&dev->qdev); - - return dev; -} - -void pit_set_gate(ISADevice *dev, int channel, int val); -int pit_get_gate(ISADevice *dev, int channel); -int pit_get_initial_count(ISADevice *dev, int channel); -int pit_get_mode(ISADevice *dev, int channel); -int pit_get_out(ISADevice *dev, int channel, int64_t current_time); - -void hpet_pit_disable(void); -void hpet_pit_enable(void); - /* vmport.c */ static inline void vmport_init(ISABus *bus) { diff --git a/hw/pcspk.c b/hw/pcspk.c index acb0167..43df818 100644 --- a/hw/pcspk.c +++ b/hw/pcspk.c @@ -27,6 +27,7 @@ #include "isa.h" #include "audio/audio.h" #include "qemu-timer.h" +#include "i8254.h" #define PCSPK_BUF_LEN 1792 #define PCSPK_SAMPLE_RATE 32000