[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/29] qapi: Restrict LostTickPolicy enum to machine code
From: |
Markus Armbruster |
Subject: |
[PULL 01/29] qapi: Restrict LostTickPolicy enum to machine code |
Date: |
Tue, 29 Sep 2020 22:18:58 +0200 |
From: Philippe Mathieu-Daudé <philmd@redhat.com>
Restricting LostTickPolicy to machine.json pulls slightly less
QAPI-generated code into user-mode.
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-2-philmd@redhat.com>
[Add rationale to commit message]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
qapi/machine.json | 32 ++++++++++++++++++++++++++++++++
qapi/misc.json | 32 --------------------------------
include/hw/rtc/mc146818rtc.h | 2 +-
hw/core/qdev-properties.c | 1 +
hw/i386/kvm/i8254.c | 2 +-
5 files changed, 35 insertions(+), 34 deletions(-)
diff --git a/qapi/machine.json b/qapi/machine.json
index d8ed096e9a..8e2164a0b6 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -402,6 +402,38 @@
##
{ 'command': 'query-target', 'returns': 'TargetInfo' }
+##
+# @LostTickPolicy:
+#
+# Policy for handling lost ticks in timer devices. Ticks end up getting
+# lost when, for example, the guest is paused.
+#
+# @discard: throw away the missed ticks and continue with future injection
+# normally. The guest OS will see the timer jump ahead by a
+# potentially quite significant amount all at once, as if the
+# intervening chunk of time had simply not existed; needless to
+# say, such a sudden jump can easily confuse a guest OS which is
+# not specifically prepared to deal with it. Assuming the guest
+# OS can deal correctly with the time jump, the time in the guest
+# and in the host should now match.
+#
+# @delay: continue to deliver ticks at the normal rate. The guest OS will
+# not notice anything is amiss, as from its point of view time will
+# have continued to flow normally. The time in the guest should now
+# be behind the time in the host by exactly the amount of time during
+# which ticks have been missed.
+#
+# @slew: deliver ticks at a higher rate to catch up with the missed ticks.
+# The guest OS will not notice anything is amiss, as from its point
+# of view time will have continued to flow normally. Once the timer
+# has managed to catch up with all the missing ticks, the time in
+# the guest and in the host should match.
+#
+# Since: 2.0
+##
+{ 'enum': 'LostTickPolicy',
+ 'data': ['discard', 'delay', 'slew' ] }
+
##
# @NumaOptionsType:
#
diff --git a/qapi/misc.json b/qapi/misc.json
index 8cf6ebe67c..b21963a176 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -8,38 +8,6 @@
{ 'include': 'common.json' }
-##
-# @LostTickPolicy:
-#
-# Policy for handling lost ticks in timer devices. Ticks end up getting
-# lost when, for example, the guest is paused.
-#
-# @discard: throw away the missed ticks and continue with future injection
-# normally. The guest OS will see the timer jump ahead by a
-# potentially quite significant amount all at once, as if the
-# intervening chunk of time had simply not existed; needless to
-# say, such a sudden jump can easily confuse a guest OS which is
-# not specifically prepared to deal with it. Assuming the guest
-# OS can deal correctly with the time jump, the time in the guest
-# and in the host should now match.
-#
-# @delay: continue to deliver ticks at the normal rate. The guest OS will
-# not notice anything is amiss, as from its point of view time will
-# have continued to flow normally. The time in the guest should now
-# be behind the time in the host by exactly the amount of time during
-# which ticks have been missed.
-#
-# @slew: deliver ticks at a higher rate to catch up with the missed ticks.
-# The guest OS will not notice anything is amiss, as from its point
-# of view time will have continued to flow normally. Once the timer
-# has managed to catch up with all the missing ticks, the time in
-# the guest and in the host should match.
-#
-# Since: 2.0
-##
-{ 'enum': 'LostTickPolicy',
- 'data': ['discard', 'delay', 'slew' ] }
-
##
# @add_client:
#
diff --git a/include/hw/rtc/mc146818rtc.h b/include/hw/rtc/mc146818rtc.h
index 6224b5276a..5b45b22924 100644
--- a/include/hw/rtc/mc146818rtc.h
+++ b/include/hw/rtc/mc146818rtc.h
@@ -9,7 +9,7 @@
#ifndef HW_RTC_MC146818RTC_H
#define HW_RTC_MC146818RTC_H
-#include "qapi/qapi-types-misc.h"
+#include "qapi/qapi-types-machine.h"
#include "qemu/queue.h"
#include "qemu/timer.h"
#include "hw/isa/isa.h"
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 098298c78e..343c824da0 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -4,6 +4,7 @@
#include "qapi/error.h"
#include "hw/pci/pci.h"
#include "qapi/qapi-types-block.h"
+#include "qapi/qapi-types-machine.h"
#include "qapi/qapi-types-misc.h"
#include "qapi/qmp/qerror.h"
#include "qemu/ctype.h"
diff --git a/hw/i386/kvm/i8254.c b/hw/i386/kvm/i8254.c
index e18fd337fa..40d84734e7 100644
--- a/hw/i386/kvm/i8254.c
+++ b/hw/i386/kvm/i8254.c
@@ -25,7 +25,7 @@
#include "qemu/osdep.h"
#include <linux/kvm.h>
-#include "qapi/qapi-types-misc.h"
+#include "qapi/qapi-types-machine.h"
#include "qapi/error.h"
#include "qemu/module.h"
#include "qemu/timer.h"
--
2.26.2
- [PULL 00/29] QAPI patches patches for 2020-09-29, Markus Armbruster, 2020/09/29
- [PULL 01/29] qapi: Restrict LostTickPolicy enum to machine code,
Markus Armbruster <=
- [PULL 19/29] qga/qapi-schema.json: Add some headings, Markus Armbruster, 2020/09/29
- [PULL 10/29] qapi/block.json: Add newline after "Example:" for block-latency-histogram-set, Markus Armbruster, 2020/09/29
- [PULL 04/29] qapi: Restrict query-vm-generation-id command to machine code, Markus Armbruster, 2020/09/29
- [PULL 07/29] qapi: Extract ACPI commands to 'acpi.json', Markus Armbruster, 2020/09/29
- [PULL 06/29] qapi: Restrict device memory commands to machine code, Markus Armbruster, 2020/09/29
- [PULL 08/29] qapi: Extract PCI commands to 'pci.json', Markus Armbruster, 2020/09/29
- [PULL 11/29] tests/qapi/doc-good.json: Prepare for qapi-doc Sphinx extension, Markus Armbruster, 2020/09/29
- [PULL 03/29] qapi: Restrict balloon-related commands to machine code, Markus Armbruster, 2020/09/29
- [PULL 09/29] qapi: Fix doc comment indentation again, Markus Armbruster, 2020/09/29
- [PULL 27/29] Remove Texinfo related line from git.orderfile, Markus Armbruster, 2020/09/29