David Woodhouse be15509882 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>
2023-11-07 08:54:20 +00:00
..
2023-10-20 08:51:41 +02:00
2023-10-23 14:45:29 -07:00
2023-11-07 09:42:07 +08:00
2023-11-03 10:04:12 +08:00
2023-11-07 09:42:07 +08:00
2023-09-21 11:31:16 +03:00
2023-11-07 09:41:34 +08:00
2023-10-20 00:47:38 +02:00
2023-11-07 09:41:52 +08:00
2023-11-03 10:04:12 +08:00
2023-11-03 10:04:12 +08:00
2023-11-03 09:57:32 +08:00
2023-10-23 14:45:29 -07:00
2023-10-23 14:45:29 -07:00
2023-11-01 16:13:58 +01:00
2023-09-21 11:31:16 +03:00
2023-11-01 16:13:59 +01:00
2023-08-31 19:47:43 +02:00
2023-09-21 11:31:16 +03:00
2023-07-25 17:14:07 +03:00
2023-09-20 07:54:34 +03:00
2023-11-07 09:41:52 +08:00
2023-10-18 10:01:01 +02:00