pub unsafe fn new(base: usize, mapper: M) -> Self {
        let control: Single<MessageControl, M> = Single::new(base + 2, mapper.clone());

        if control.read().bit64_address_capable() {
            Self::Addr64(Single::new(base, mapper))
        } else {
            Self::Addr32(Single::new(base, mapper))
        }
    }
/// Creates an accessor to xHCI Message Interrupt Capability.
///
/// # Safety
///
/// `base` must be the correct address to xHCI Message Interrupt Capability.
///
/// # Panics
///
/// This method panics if `base` is not aligned correctly.
Creates an accessor to xHCI Message Interrupt Capability.
Creates an accessor to xHCI Message Interrupt Capability .
pub unsafe fn new(base: usize, mapper: M) -> Self {
        let control: Single<MessageControl, M> = Single::new(base + 2, mapper.clone());
        if control.read().bit64_address_capable() {
            Self::Addr64(Single::new(base, mapper))
        } else {
            Self::Addr32(Single::new(base, mapper))
        }
    }
pub unsafe fn new ( base : usize , mapper : M ) -> Self { let control : Single < MessageControl , M > = Single :: new ( base + 2 , mapper . clone ( ) ) ; if control . read ( ) . bit64_address_capable ( ) { Self :: Addr64 ( Single :: new ( base , mapper ) ) } else { Self :: Addr32 ( Single :: new ( base , mapper ) ) } }
Creates an accessor to xHCI Message Interrupt Capability.
Creates an accessor to xHCI Message Interrupt Capability .
base
usize
mapper
M
base
usize
mapper
M
safety
`base` must be the correct address to xHCI Message Interrupt Capability.
` base ` must be the correct address to xHCI Message Interrupt Capability .
panics
This method panics if `base` is not aligned correctly.
This method panics if ` base ` is not aligned correctly .