Revision 0cd2df75

b/hw/omap1.c
3349 3349

  
3350 3350
static void omap_rtc_alarm_update(struct omap_rtc_s *s)
3351 3351
{
3352
    s->alarm_ti = mktime(&s->alarm_tm);
3352
    s->alarm_ti = mktimegm(&s->alarm_tm);
3353 3353
    if (s->alarm_ti == -1)
3354 3354
        printf("%s: conversion failed\n", __FUNCTION__);
3355 3355
}
......
3492 3492
#endif
3493 3493
        memcpy(&new_tm, &s->current_tm, sizeof(new_tm));
3494 3494
        new_tm.tm_mon = omap_rtc_bin(value);
3495
        ti[0] = mktime(&s->current_tm);
3496
        ti[1] = mktime(&new_tm);
3495
        ti[0] = mktimegm(&s->current_tm);
3496
        ti[1] = mktimegm(&new_tm);
3497 3497

  
3498 3498
        if (ti[0] != -1 && ti[1] != -1) {
3499 3499
            s->ti -= ti[0];
......
3511 3511
#endif
3512 3512
        memcpy(&new_tm, &s->current_tm, sizeof(new_tm));
3513 3513
        new_tm.tm_year += omap_rtc_bin(value) - (new_tm.tm_year % 100);
3514
        ti[0] = mktime(&s->current_tm);
3515
        ti[1] = mktime(&new_tm);
3514
        ti[0] = mktimegm(&s->current_tm);
3515
        ti[1] = mktimegm(&new_tm);
3516 3516

  
3517 3517
        if (ti[0] != -1 && ti[1] != -1) {
3518 3518
            s->ti -= ti[0];
......
3719 3719
    s->alarm_tm.tm_mday = 0x01;
3720 3720
    s->status = 1 << 7;
3721 3721
    qemu_get_timedate(&tm, 0);
3722
    s->ti = mktime(&tm);
3722
    s->ti = mktimegm(&tm);
3723 3723

  
3724 3724
    omap_rtc_alarm_update(s);
3725 3725
    omap_rtc_tick(s);
b/hw/pl031.c
206 206
    s->irq  = irq;
207 207
    /* ??? We assume vm_clock is zero at this point.  */
208 208
    qemu_get_timedate(&tm, 0);
209
    s->tick_offset = mktime(&tm);
209
    s->tick_offset = mktimegm(&tm);
210 210

  
211 211
    s->timer = qemu_new_timer(vm_clock, pl031_interrupt, s);
212 212
}
b/hw/pxa2xx.c
1181 1181
    qemu_get_timedate(&tm, 0);
1182 1182
    wom = ((tm.tm_mday - 1) / 7) + 1;
1183 1183

  
1184
    s->last_rcnr = (uint32_t) mktime(&tm);
1184
    s->last_rcnr = (uint32_t) mktimegm(&tm);
1185 1185
    s->last_rdcr = (wom << 20) | ((tm.tm_wday + 1) << 17) |
1186 1186
            (tm.tm_hour << 12) | (tm.tm_min << 6) | tm.tm_sec;
1187 1187
    s->last_rycr = ((tm.tm_year + 1900) << 9) |

Also available in: Unified diff