]>
Commit | Line | Data |
---|---|---|
8046f374 DH |
1 | /* |
2 | * TOD (Time Of Day) clock | |
3 | * | |
4 | * Copyright 2018 Red Hat, Inc. | |
5 | * Author(s): David Hildenbrand <[email protected]> | |
6 | * | |
7 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
8 | * See the COPYING file in the top-level directory. | |
9 | */ | |
10 | ||
11 | #ifndef HW_S390_TOD_H | |
12 | #define HW_S390_TOD_H | |
13 | ||
14 | #include "hw/qdev.h" | |
15 | ||
16 | typedef struct S390TOD { | |
17 | uint8_t high; | |
18 | uint64_t low; | |
19 | } S390TOD; | |
20 | ||
21 | #define TYPE_S390_TOD "s390-tod" | |
22 | #define S390_TOD(obj) OBJECT_CHECK(S390TODState, (obj), TYPE_S390_TOD) | |
23 | #define S390_TOD_CLASS(oc) OBJECT_CLASS_CHECK(S390TODClass, (oc), \ | |
24 | TYPE_S390_TOD) | |
25 | #define S390_TOD_GET_CLASS(obj) OBJECT_GET_CLASS(S390TODClass, (obj), \ | |
26 | TYPE_S390_TOD) | |
27 | #define TYPE_KVM_S390_TOD TYPE_S390_TOD "-kvm" | |
28 | #define TYPE_QEMU_S390_TOD TYPE_S390_TOD "-qemu" | |
29 | ||
30 | typedef struct S390TODState { | |
31 | /* private */ | |
32 | DeviceState parent_obj; | |
33 | } S390TODState; | |
34 | ||
35 | typedef struct S390TODClass { | |
36 | /* private */ | |
37 | DeviceClass parent_class; | |
38 | ||
39 | /* public */ | |
40 | void (*get)(const S390TODState *td, S390TOD *tod, Error **errp); | |
41 | void (*set)(S390TODState *td, const S390TOD *tod, Error **errp); | |
42 | } S390TODClass; | |
43 | ||
44 | void s390_init_tod(void); | |
45 | ||
46 | #endif |