Skip to main content

xen/ctrl/event/
selector.rs

1use xen_sys::vm_event_x86_selector_reg;
2
3#[derive(Debug)]
4pub struct VmEventSelectorReg {
5    // The limit field is right-shifted by 12 bits if .ar.g is set.
6    pub limit: u32,
7    pub ar: u32,
8}
9
10impl From<vm_event_x86_selector_reg> for VmEventSelectorReg {
11    fn from(value: vm_event_x86_selector_reg) -> Self {
12        Self {
13            limit: value.limit(),
14            ar: value.ar(),
15        }
16    }
17}
18
19impl From<VmEventSelectorReg> for vm_event_x86_selector_reg {
20    fn from(value: VmEventSelectorReg) -> Self {
21        Self {
22            _bitfield_align_1: Default::default(),
23            _bitfield_1: Self::new_bitfield_1(value.limit, value.ar),
24        }
25    }
26}