acrn-hypervisor/devicemodel/include
Wu Zhou 262a48f346 dm: vm_event: add support for RTC change event
When a guest OS performs an RTC change action, we wish this event be
captured by developers, and then they can decide what to do with it.
(e.g., whether to change physical RTC)

There are some facts that makes RTC change event a bit complicated:
- There are 7 RTC date/time regs (year, month…). They can only be
  updated one by one.
- RTC time is not reliable before date/time update is finished.
- Guests can update RTC date/time regs in any order.
- Guests may update RTC date/time regs during either RTC halted or not
  halted.

A single date/time update event is not reliable. We have to wait for
the guest to finish the update process. So the DM's event handler
sets up a timer, and wait for some time (1 second). If no more change
happens befor the timer expires, we can conclude that the RTC
change has been done. Then the rtc change event is emitted.

This logic of event handler can be used to process HV vrtc time change
event too.

Tracked-On: #8547
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
2024-02-01 17:01:31 +08:00
..
public dm: vm_event: init vm_event 2024-02-01 17:01:31 +08:00
acpi.h dm: verify the "iasl" version 2022-07-13 14:01:01 +08:00
acpi_hpet.h dm: vhpet: add HPET-related header files 2019-01-23 10:33:28 +08:00
ahci.h
ata.h dm:Remove deprecated terms 2020-09-01 09:30:08 +08:00
atkbdc.h
atomic.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
att_keybox.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
block_if.h dm: virtio-block: extend the max iov number of virtio block 2019-04-16 15:03:04 +08:00
cmd_monitor.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
console.h DM: remove unused function console_ptr_event 2019-05-24 11:51:00 +08:00
cpuset.h
dm.h dm: remove the dependency on native RTCT for vRTCT init 2022-01-10 13:34:27 +08:00
dm_string.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
gc.h dm: virtio-gpu: VGA compability support 2022-03-28 15:26:20 +08:00
gpio_dm.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
hpet.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
i8253reg.h dm: vpit: add PIT-related header files 2018-10-09 13:24:47 +08:00
igd_pciids.h dm: pci: add device table for igd passthrough 2023-07-27 12:23:12 +08:00
inout.h hv: dm: Use new I/O request data structures 2021-07-15 11:53:54 +08:00
ioapic.h DM: increase vioapic pin count 2018-05-16 15:09:48 +08:00
ioc.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
iodev.h
iothread.h dm: iothread: fix bug in iothread handler 2022-09-21 12:29:07 +08:00
irq.h
log.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
lpc.h
macros.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
mc146818rtc.h
mei.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
mem.h hv: dm: Use new I/O request data structures 2021-07-15 11:53:54 +08:00
mevent.h dm: enhence the mevent API 2018-12-07 20:21:33 +08:00
mmio_dev.h dm: fix the secure coding style violations 2022-08-02 18:01:24 +08:00
monitor.h dm: vm_event: add vm_event support in cmd monitor 2024-02-01 17:01:31 +08:00
mptable.h
mptbl.h DM: remove unused function mptable_add_oemtbl 2019-05-24 11:51:00 +08:00
npk.h DM: implement emulated npk pci device 2018-06-07 16:11:49 +08:00
ns16550.h
passthru.h ACRN:DM:PCI: Load rom_file and map it into PCI ROMbar 2022-09-23 18:12:01 +08:00
pci_core.h doc: remove '@return None' for void functions 2023-08-03 14:56:29 -07:00
pci_util.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
pciio.h
pcireg.h dm: pci: read dsm size from igd device for igd passthrough 2023-07-27 12:23:12 +08:00
pit.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
pm.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
pm_vuart.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
ps2kbd.h
ps2mouse.h
ptm.h dm: PTM: Add virtual root port to vm 2021-05-19 13:54:24 +08:00
pty_vuart.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
rpmb.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
rpmb_backend.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
rpmb_sim.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
rtc.h DM: remove unused function vrtc_reset 2019-05-24 11:51:00 +08:00
sbuf.h dm: vm_event: add sbuf code in dm 2024-02-01 17:01:31 +08:00
segments.h
specialreg.h
sw_load.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
timer.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
tpm.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
tree.h dm: clean up mem.c 2019-03-21 10:28:17 +08:00
types.h dm: Update license info of types.h 2022-04-08 13:54:47 +08:00
uart_core.h dm: refine the uart_core 2018-12-27 09:58:20 +08:00
usb.h DM USB: move the UREQ macro into common header 2018-05-29 10:35:05 +08:00
usb_core.h dm: xhci: remove bus/port limit 2023-09-19 14:26:02 +08:00
usb_pmapper.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
usbdi.h
vbs_common_if.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
vdisplay.h ACRN:DM:VGPU: Calibrate the offset in dmabuf/pixman_image to display the scanout_window 2022-08-15 14:44:47 +08:00
vga.h ACRN:DM: Fix the memory_leak of vga_context in virtio_gpu_deinit 2022-04-19 18:30:06 +08:00
vhost.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
vhost_vsock.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
virtio.h doc: remove '@return None' for void functions 2023-08-03 14:56:29 -07:00
virtio_kernel.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
vm_event.h dm: vm_event: add support for RTC change event 2024-02-01 17:01:31 +08:00
vmmapi.h asyncio: refine the setup ioctl 2022-11-25 10:43:34 +08:00
vrpmb.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
vssram.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
xhci.h DM USB: xHCI: rename some variables about ERST 2019-09-26 11:29:22 +08:00
xhcireg.h DM USB: xHCI: re-implement the emulation of extented capabilities 2019-05-24 13:21:12 +08:00