aboutsummaryrefslogtreecommitdiff
path: root/include/hw/xen/interface/event_channel.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2023-08-02 17:04:49 +0100
committerDavid Woodhouse <dwmw@amazon.co.uk>2023-11-07 08:54:20 +0000
commitbe15509882f2a745ec81a52d023864f077c13182 (patch)
tree7c0448c4ab20511478d170886bfa41dd0622bd03 /include/hw/xen/interface/event_channel.h
parent547c9757ddc4f83358e7187a6db9c05125dda2a2 (diff)
hw/xen: Clean up event channel 'type_val' handling to use union
A previous implementation of this stuff used a 64-bit field for all of the port information (vcpu/type/type_val) and did atomic exchanges on them. When I implemented that in Qemu I regretted my life choices and just kept it simple with locking instead. So there's no need for the XenEvtchnPort to be so simplistic. We can use a union for the pirq/virq/interdomain information, which lets us keep a separate bit for the 'remote domain' in interdomain ports. A single bit is enough since the only possible targets are loopback or qemu itself. So now we can ditch PORT_INFO_TYPEVAL_REMOTE_QEMU and the horrid manual masking, although the in-memory representation is identical so there's no change in the saved state ABI. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org>
Diffstat (limited to 'include/hw/xen/interface/event_channel.h')
0 files changed, 0 insertions, 0 deletions