X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=hw%2Fi8254.c;h=54407de4de971d937d8941dc61c7407f478bfa7a;hb=cd346349b45ef056f138a184f660b8c34c3213cc;hp=a4097632eb283b208aa4445779d3f57db37c3d2b;hpb=fd06c37550b43980e8d641bb109c219cbe001d13;p=qemu diff --git a/hw/i8254.c b/hw/i8254.c index a409763..54407de 100644 --- a/hw/i8254.c +++ b/hw/i8254.c @@ -1,8 +1,8 @@ /* * 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 @@ -47,7 +47,7 @@ typedef struct PITChannelState { /* irq handling */ int64_t next_transition_time; QEMUTimer *irq_timer; - int irq; + qemu_irq irq; } PITChannelState; struct PITState { @@ -121,7 +121,7 @@ int pit_get_out(PITState *pit, int channel, int64_t current_time) } /* return -1 if no transition will occur. */ -static int64_t pit_get_next_transition_time(PITChannelState *s, +static int64_t pit_get_next_transition_time(PITChannelState *s, int64_t current_time) { uint64_t d, next_time, base; @@ -147,7 +147,7 @@ static int64_t pit_get_next_transition_time(PITChannelState *s, case 3: base = (d / s->count) * s->count; period2 = ((s->count + 1) >> 1); - if ((d - base) < period2) + if ((d - base) < period2) next_time = base + period2; else next_time = base + s->count; @@ -309,7 +309,7 @@ static uint32_t pit_ioport_read(void *opaque, uint32_t addr) PITState *pit = opaque; int ret, count; PITChannelState *s; - + addr &= 3; s = &pit->channels[addr]; if (s->status_latched) { @@ -366,10 +366,10 @@ static void pit_irq_timer_update(PITChannelState *s, int64_t current_time) return; expire_time = pit_get_next_transition_time(s, current_time); irq_level = pit_get_out1(s, current_time); - pic_set_irq(s->irq, irq_level); + qemu_set_irq(s->irq, irq_level); #ifdef DEBUG_PIT printf("irq_level=%d next_delay=%f\n", - irq_level, + irq_level, (double)(expire_time - current_time) / ticks_per_sec); #endif s->next_transition_time = expire_time; @@ -391,7 +391,7 @@ static void pit_save(QEMUFile *f, void *opaque) PITState *pit = opaque; PITChannelState *s; int i; - + for(i = 0; i < 3; i++) { s = &pit->channels[i]; qemu_put_be32s(f, &s->count); @@ -419,7 +419,7 @@ static int pit_load(QEMUFile *f, void *opaque, int version_id) PITState *pit = opaque; PITChannelState *s; int i; - + if (version_id != 1) return -EINVAL; @@ -460,7 +460,7 @@ static void pit_reset(void *opaque) } } -PITState *pit_init(int base, int irq) +PITState *pit_init(int base, qemu_irq irq) { PITState *pit = &pit_state; PITChannelState *s;