Philippe Mathieu-Daudé <phi...@linaro.org> writes: > On 29/4/24 11:41, Daniil Tatianin wrote: >> This can be used to force-synchronize the time in guest after a long >> stop-cont pause, which can be useful for serverless-type workload. >> Also add a comment to highlight the fact that this (and one other QMP >> command) only works for the MC146818 RTC controller. >> Signed-off-by: Daniil Tatianin <d-tatia...@yandex-team.ru> >> --- >> Changes since v0: >> - Rename to rtc-inject-irq to match other similar API >> - Add a comment to highlight that this only works for the I386 RTC >> Changes since v1: >> - Added a description below the QMP command to explain how it can be >> used and what it does.
[...] >> diff --git a/qapi/misc-target.json b/qapi/misc-target.json >> index 4e0a6492a9..0f2479f8f4 100644 >> --- a/qapi/misc-target.json >> +++ b/qapi/misc-target.json >> @@ -19,6 +19,24 @@ >> { 'command': 'rtc-reset-reinjection', >> 'if': 'TARGET_I386' } >> +## >> +# @rtc-inject-irq: >> +# >> +# Inject an RTC interrupt. This command forces the guest to synchornize synchronize >> +# the time with RTC. This is useful after a long stop-cont pause, which >> +# is common for serverless-type workload. docs/devel/qapi-code-gen.rst: For legibility, wrap text paragraphs so every line is at most 70 characters long. Separate sentences with two spaces. >> +# >> +# Since: 9.1 >> +# >> +# Example: >> +# >> +# -> { "execute": "rtc-inject-irq" } >> +# <- { "return": {} } >> +# >> +## >> +{ 'command': 'rtc-inject-irq', >> + 'if': 'TARGET_I386' } > > Why is that restricted to x86? Ah, this is specific to the MC146818 > RTC... Other machines use hw accelerators and the MC146818, aren't > we interested in synchronizing them the same way? > > Personally I'd name this command 'mc146818rtc-raise-irq-broadcast', > KISS. I might be wrong, but the *interface* looks general to me, only nobody bothered to implement for the other RTCs.