|  | /* | 
|  | * ARM AMBA PrimeCell PL031 RTC | 
|  | * | 
|  | * Copyright (c) 2007 CodeSourcery | 
|  | * | 
|  | * This file is free software; you can redistribute it and/or modify | 
|  | * it under the terms of the GNU General Public License version 2 as | 
|  | * published by the Free Software Foundation. | 
|  | * | 
|  | * Contributions after 2012-01-13 are licensed under the terms of the | 
|  | * GNU GPL, version 2 or (at your option) any later version. | 
|  | */ | 
|  |  | 
|  | #ifndef HW_RTC_PL031_H | 
|  | #define HW_RTC_PL031_H | 
|  |  | 
|  | #include "hw/sysbus.h" | 
|  | #include "qemu/timer.h" | 
|  | #include "qom/object.h" | 
|  |  | 
|  | #define TYPE_PL031 "pl031" | 
|  | OBJECT_DECLARE_SIMPLE_TYPE(PL031State, PL031) | 
|  |  | 
|  | struct PL031State { | 
|  | SysBusDevice parent_obj; | 
|  |  | 
|  | MemoryRegion iomem; | 
|  | QEMUTimer *timer; | 
|  | qemu_irq irq; | 
|  |  | 
|  | /* | 
|  | * Needed to preserve the tick_count across migration, even if the | 
|  | * absolute value of the rtc_clock is different on the source and | 
|  | * destination. | 
|  | */ | 
|  | uint32_t tick_offset_vmstate; | 
|  | uint32_t tick_offset; | 
|  | bool tick_offset_migrated; | 
|  | bool migrate_tick_offset; | 
|  |  | 
|  | uint32_t mr; | 
|  | uint32_t lr; | 
|  | uint32_t cr; | 
|  | uint32_t im; | 
|  | uint32_t is; | 
|  | }; | 
|  |  | 
|  | #endif |