1 /* 2 * ARMv7M SysTick timer 3 * 4 * Copyright (c) 2006-2007 CodeSourcery. 5 * Written by Paul Brook 6 * Copyright (c) 2017 Linaro Ltd 7 * Written by Peter Maydell 8 * 9 * This code is licensed under the GPL (version 2 or later). 10 */ 11 12 #ifndef HW_TIMER_ARMV7M_SYSTICK_H 13 #define HW_TIMER_ARMV7M_SYSTICK_H 14 15 #include "hw/sysbus.h" 16 17 #define TYPE_SYSTICK "armv7m_systick" 18 19 #define SYSTICK(obj) OBJECT_CHECK(SysTickState, (obj), TYPE_SYSTICK) 20 21 typedef struct SysTickState { 22 /*< private >*/ 23 SysBusDevice parent_obj; 24 /*< public >*/ 25 26 uint32_t control; 27 uint32_t reload; 28 int64_t tick; 29 QEMUTimer *timer; 30 MemoryRegion iomem; 31 qemu_irq irq; 32 } SysTickState; 33 34 #endif 35