qemu/include/hw/rtc/pl031.h
<<
>>
Prefs
   1/*
   2 * ARM AMBA PrimeCell PL031 RTC
   3 *
   4 * Copyright (c) 2007 CodeSourcery
   5 *
   6 * This file is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 *
  10 * Contributions after 2012-01-13 are licensed under the terms of the
  11 * GNU GPL, version 2 or (at your option) any later version.
  12 */
  13
  14#ifndef HW_RTC_PL031_H
  15#define HW_RTC_PL031_H
  16
  17#include "hw/sysbus.h"
  18#include "qemu/timer.h"
  19
  20#define TYPE_PL031 "pl031"
  21#define PL031(obj) OBJECT_CHECK(PL031State, (obj), TYPE_PL031)
  22
  23typedef struct PL031State {
  24    SysBusDevice parent_obj;
  25
  26    MemoryRegion iomem;
  27    QEMUTimer *timer;
  28    qemu_irq irq;
  29
  30    /*
  31     * Needed to preserve the tick_count across migration, even if the
  32     * absolute value of the rtc_clock is different on the source and
  33     * destination.
  34     */
  35    uint32_t tick_offset_vmstate;
  36    uint32_t tick_offset;
  37    bool tick_offset_migrated;
  38    bool migrate_tick_offset;
  39
  40    uint32_t mr;
  41    uint32_t lr;
  42    uint32_t cr;
  43    uint32_t im;
  44    uint32_t is;
  45} PL031State;
  46
  47#endif
  48