diff options
Diffstat (limited to 'include/hw/timer')
-rw-r--r-- | include/hw/timer/a9gtimer.h | 6 | ||||
-rw-r--r-- | include/hw/timer/allwinner-a10-pit.h | 4 | ||||
-rw-r--r-- | include/hw/timer/hpet.h | 5 | ||||
-rw-r--r-- | include/hw/timer/i8254.h | 2 | ||||
-rw-r--r-- | include/hw/timer/i8254_internal.h | 2 | ||||
-rw-r--r-- | include/hw/timer/m48t59.h | 6 | ||||
-rw-r--r-- | include/hw/timer/mc146818rtc.h | 2 | ||||
-rw-r--r-- | include/hw/timer/mc146818rtc_regs.h | 5 | ||||
-rw-r--r-- | include/hw/timer/mips_gictimer.h | 46 |
9 files changed, 63 insertions, 15 deletions
diff --git a/include/hw/timer/a9gtimer.h b/include/hw/timer/a9gtimer.h index 98d8e0ae53..81c4388784 100644 --- a/include/hw/timer/a9gtimer.h +++ b/include/hw/timer/a9gtimer.h @@ -20,8 +20,8 @@ * with this program; if not, see <http://www.gnu.org/licenses/>. */ -#ifndef HW_TIMER_A9_GTIMER_H_H -#define HW_TIMER_A9_GTIMER_H_H +#ifndef A9GTIMER_H +#define A9GTIMER_H #include "hw/sysbus.h" @@ -94,4 +94,4 @@ typedef struct A9GTimerUpdate { uint64_t new; } A9GTimerUpdate; -#endif /* #ifdef HW_TIMER_A9_GTIMER_H_H */ +#endif /* A9GTIMER_H */ diff --git a/include/hw/timer/allwinner-a10-pit.h b/include/hw/timer/allwinner-a10-pit.h index 770bdc03c1..c0cc3e2169 100644 --- a/include/hw/timer/allwinner-a10-pit.h +++ b/include/hw/timer/allwinner-a10-pit.h @@ -1,5 +1,5 @@ -#ifndef AW_A10_PIT_H -#define AW_A10_PIT_H +#ifndef ALLWINNER_A10_PIT_H +#define ALLWINNER_A10_PIT_H #include "hw/ptimer.h" diff --git a/include/hw/timer/hpet.h b/include/hw/timer/hpet.h index f38bcfecd6..f04c4d3238 100644 --- a/include/hw/timer/hpet.h +++ b/include/hw/timer/hpet.h @@ -10,8 +10,9 @@ * the COPYING file in the top-level directory. * */ -#ifndef QEMU_HPET_EMUL_H -#define QEMU_HPET_EMUL_H + +#ifndef HW_HPET_H +#define HW_HPET_H #include "qom/object.h" diff --git a/include/hw/timer/i8254.h b/include/hw/timer/i8254.h index 27a0fb6c51..5adae9fa44 100644 --- a/include/hw/timer/i8254.h +++ b/include/hw/timer/i8254.h @@ -80,4 +80,4 @@ static inline ISADevice *kvm_pit_init(ISABus *bus, int base) void pit_set_gate(ISADevice *dev, int channel, int val); void pit_get_channel_info(ISADevice *dev, int channel, PITChannelInfo *info); -#endif /* !HW_I8254_H */ +#endif /* HW_I8254_H */ diff --git a/include/hw/timer/i8254_internal.h b/include/hw/timer/i8254_internal.h index e7cb7573ca..dc09cc0467 100644 --- a/include/hw/timer/i8254_internal.h +++ b/include/hw/timer/i8254_internal.h @@ -73,4 +73,4 @@ void pit_get_channel_info_common(PITCommonState *s, PITChannelState *sc, PITChannelInfo *info); void pit_reset_common(PITCommonState *s); -#endif /* !QEMU_I8254_INTERNAL_H */ +#endif /* QEMU_I8254_INTERNAL_H */ diff --git a/include/hw/timer/m48t59.h b/include/hw/timer/m48t59.h index 3367923639..db5e43a8da 100644 --- a/include/hw/timer/m48t59.h +++ b/include/hw/timer/m48t59.h @@ -1,5 +1,5 @@ -#ifndef NVRAM_H -#define NVRAM_H +#ifndef HW_M48T59_H +#define HW_M48T59_H #include "qemu-common.h" #include "qom/object.h" @@ -31,4 +31,4 @@ Nvram *m48t59_init(qemu_irq IRQ, hwaddr mem_base, uint32_t io_base, uint16_t size, int base_year, int type); -#endif /* !NVRAM_H */ +#endif /* HW_M48T59_H */ diff --git a/include/hw/timer/mc146818rtc.h b/include/hw/timer/mc146818rtc.h index eaf649767f..7c8e64b203 100644 --- a/include/hw/timer/mc146818rtc.h +++ b/include/hw/timer/mc146818rtc.h @@ -10,4 +10,4 @@ ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq); void rtc_set_memory(ISADevice *dev, int addr, int val); int rtc_get_memory(ISADevice *dev, int addr); -#endif /* !MC146818RTC_H */ +#endif /* MC146818RTC_H */ diff --git a/include/hw/timer/mc146818rtc_regs.h b/include/hw/timer/mc146818rtc_regs.h index ccdee42b3c..6ede6c832e 100644 --- a/include/hw/timer/mc146818rtc_regs.h +++ b/include/hw/timer/mc146818rtc_regs.h @@ -21,8 +21,9 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -#ifndef RTC_REGS_H -#define RTC_REGS_H + +#ifndef MC146818RTC_REGS_H +#define MC146818RTC_REGS_H #define RTC_ISA_IRQ 8 diff --git a/include/hw/timer/mips_gictimer.h b/include/hw/timer/mips_gictimer.h new file mode 100644 index 0000000000..c8bc5d2541 --- /dev/null +++ b/include/hw/timer/mips_gictimer.h @@ -0,0 +1,46 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 2016 Imagination Technologies + * + */ + +#ifndef MIPS_GICTIMER_H +#define MIPS_GICTIMER_H + +typedef struct MIPSGICTimerVPState MIPSGICTimerVPState; +typedef struct MIPSGICTimerState MIPSGICTimerState; + +typedef void MIPSGICTimerCB(void *opaque, uint32_t vp_index); + +struct MIPSGICTimerVPState { + QEMUTimer *qtimer; + uint32_t vp_index; + uint32_t comparelo; + MIPSGICTimerState *gictimer; +}; + +struct MIPSGICTimerState { + void *opaque; + uint8_t countstop; + uint32_t sh_counterlo; + int32_t num_vps; + MIPSGICTimerVPState *vptimers; + MIPSGICTimerCB *cb; +}; + +uint32_t mips_gictimer_get_sh_count(MIPSGICTimerState *gic); +void mips_gictimer_store_sh_count(MIPSGICTimerState *gic, uint64_t count); +uint32_t mips_gictimer_get_vp_compare(MIPSGICTimerState *gictimer, + uint32_t vp_index); +void mips_gictimer_store_vp_compare(MIPSGICTimerState *gic, uint32_t vp_index, + uint64_t compare); +uint8_t mips_gictimer_get_countstop(MIPSGICTimerState *gic); +void mips_gictimer_start_count(MIPSGICTimerState *gic); +void mips_gictimer_stop_count(MIPSGICTimerState *gic); +MIPSGICTimerState *mips_gictimer_init(void *opaque, uint32_t nvps, + MIPSGICTimerCB *cb); + +#endif /* MIPS_GICTIMER_H */ |