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 21typedef 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