mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
hpet: Coding style cleanups and some refactorings
This moves the private HPET structures into the C module, simplifies some helper functions and fixes most coding style issues (biggest chunk was improper switch-case indention). No functional changes. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
6982d6647e
commit
27bb0b2d6f
2 changed files with 226 additions and 218 deletions
|
@ -18,7 +18,6 @@
|
|||
|
||||
#define FS_PER_NS 1000000
|
||||
#define HPET_NUM_TIMERS 3
|
||||
#define HPET_TIMER_TYPE_LEVEL 0x002
|
||||
|
||||
#define HPET_CFG_ENABLE 0x001
|
||||
#define HPET_CFG_LEGACY 0x002
|
||||
|
@ -33,7 +32,7 @@
|
|||
#define HPET_TN_ROUTE 0x010
|
||||
#define HPET_CFG_WRITE_MASK 0x3
|
||||
|
||||
|
||||
#define HPET_TN_TYPE_LEVEL 0x002
|
||||
#define HPET_TN_ENABLE 0x004
|
||||
#define HPET_TN_PERIODIC 0x008
|
||||
#define HPET_TN_PERIODIC_CAP 0x010
|
||||
|
@ -46,34 +45,6 @@
|
|||
#define HPET_TN_INT_ROUTE_CAP_SHIFT 32
|
||||
#define HPET_TN_CFG_BITS_READONLY_OR_RESERVED 0xffff80b1U
|
||||
|
||||
struct HPETState;
|
||||
typedef struct HPETTimer { /* timers */
|
||||
uint8_t tn; /*timer number*/
|
||||
QEMUTimer *qemu_timer;
|
||||
struct HPETState *state;
|
||||
/* Memory-mapped, software visible timer registers */
|
||||
uint64_t config; /* configuration/cap */
|
||||
uint64_t cmp; /* comparator */
|
||||
uint64_t fsb; /* FSB route, not supported now */
|
||||
/* Hidden register state */
|
||||
uint64_t period; /* Last value written to comparator */
|
||||
uint8_t wrap_flag; /* timer pop will indicate wrap for one-shot 32-bit
|
||||
* mode. Next pop will be actual timer expiration.
|
||||
*/
|
||||
} HPETTimer;
|
||||
|
||||
typedef struct HPETState {
|
||||
uint64_t hpet_offset;
|
||||
qemu_irq *irqs;
|
||||
HPETTimer timer[HPET_NUM_TIMERS];
|
||||
|
||||
/* Memory-mapped, software visible registers */
|
||||
uint64_t capability; /* capabilities */
|
||||
uint64_t config; /* configuration */
|
||||
uint64_t isr; /* interrupt status reg */
|
||||
uint64_t hpet_counter; /* main counter */
|
||||
} HPETState;
|
||||
|
||||
#if defined TARGET_I386
|
||||
extern uint32_t hpet_in_legacy_mode(void);
|
||||
extern void hpet_init(qemu_irq *irq);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue