mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
Like %cr2 for pagefaults, %dr6 contains ancillary information for debug exceptions, and needs similar handling. For xendevicemodel_inject_event(), no ABI change is needed (although an API one would be ideal). Switch from 'cr2' to 'extra' in variable names which don't constitute an API change, and update the documentation to match. For the monitor interface, vm_event_debug needs extending with a pending_dbg field. This shall behave like the VT-x PENDING_DBG control. Extend hvm_monitor_debug() and for now, always pass in 0 - this will be fixed eventually, when other hypervisor bugfixes are complete. While modifying hvm_monitor_debug(), take the opportunity to correct trap type and instruction length from unsigned long to unsigned int, as they are both tiny values. Finally, adjust xen-access.c to the new expectations. Introspection tools intercepting debug exceptions should mirror the new pending_dbg field into xendevicemodel_inject_event() for %dr6 to be processed correctly for the guest. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Tamas K Lengyel <tamas@tklengyel.com> Acked-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Petre Pircalabu <ppircalabu@bitdefender.com>