pub unsafe fn physical_alloc<T: Sized>() -> Result<(*mut T, u64)> {
    let mut physical_addr = 0;

    let res: Result<u32> = abi::physical_alloc(mem::size_of::<T>(), &mut physical_addr as *mut _).into();

    res.map(|sip_addr| (sip_addr as *mut T, physical_addr))
}
/// Allocate some physical memory and return the physical address.
Allocate some physical memory and return the physical address.
Allocate some physical memory and return the physical address .
pub unsafe fn physical_alloc<T: Sized>() -> Result<(*mut T, u64)> {
    let mut physical_addr = 0;
    let res: Result<u32> = abi::physical_alloc(mem::size_of::<T>(), &mut physical_addr as *mut _).into();
    res.map(|sip_addr| (sip_addr as *mut T, physical_addr))
}
pub unsafe fn physical_alloc < T : Sized > ( ) -> Result < ( * mut T , u64 ) > { let mut physical_addr = 0 ; let res : Result < u32 > = abi :: physical_alloc ( mem :: size_of :: < T > ( ) , & mut physical_addr as * mut _ ) . into ( ) ; res . map ( | sip_addr | ( sip_addr as * mut T , physical_addr ) ) }
Allocate some physical memory and return the physical address.
Allocate some physical memory and return the physical address .