mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
s390x/tod: factor out TOD into separate device
Let's treat this like a separate device. TCG will have to store the actual state/time later on. Include cpu-qom.h in kvm_s390x.h (due to S390CPU) to compile tod-kvm.c. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20180627134410.4901-4-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
4ab6a1feac
commit
8046f374a6
9 changed files with 286 additions and 88 deletions
46
include/hw/s390x/tod.h
Normal file
46
include/hw/s390x/tod.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* TOD (Time Of Day) clock
|
||||
*
|
||||
* Copyright 2018 Red Hat, Inc.
|
||||
* Author(s): David Hildenbrand <david@redhat.com>
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*/
|
||||
|
||||
#ifndef HW_S390_TOD_H
|
||||
#define HW_S390_TOD_H
|
||||
|
||||
#include "hw/qdev.h"
|
||||
|
||||
typedef struct S390TOD {
|
||||
uint8_t high;
|
||||
uint64_t low;
|
||||
} S390TOD;
|
||||
|
||||
#define TYPE_S390_TOD "s390-tod"
|
||||
#define S390_TOD(obj) OBJECT_CHECK(S390TODState, (obj), TYPE_S390_TOD)
|
||||
#define S390_TOD_CLASS(oc) OBJECT_CLASS_CHECK(S390TODClass, (oc), \
|
||||
TYPE_S390_TOD)
|
||||
#define S390_TOD_GET_CLASS(obj) OBJECT_GET_CLASS(S390TODClass, (obj), \
|
||||
TYPE_S390_TOD)
|
||||
#define TYPE_KVM_S390_TOD TYPE_S390_TOD "-kvm"
|
||||
#define TYPE_QEMU_S390_TOD TYPE_S390_TOD "-qemu"
|
||||
|
||||
typedef struct S390TODState {
|
||||
/* private */
|
||||
DeviceState parent_obj;
|
||||
} S390TODState;
|
||||
|
||||
typedef struct S390TODClass {
|
||||
/* private */
|
||||
DeviceClass parent_class;
|
||||
|
||||
/* public */
|
||||
void (*get)(const S390TODState *td, S390TOD *tod, Error **errp);
|
||||
void (*set)(S390TODState *td, const S390TOD *tod, Error **errp);
|
||||
} S390TODClass;
|
||||
|
||||
void s390_init_tod(void);
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue