morpheus_network/asm/core/
pio.rs#[cfg(target_arch = "x86_64")]
extern "win64" {
fn asm_pio_read8(port: u16) -> u8;
fn asm_pio_write8(port: u16, value: u8);
fn asm_pio_read16(port: u16) -> u16;
fn asm_pio_write16(port: u16, value: u16);
fn asm_pio_read32(port: u16) -> u32;
fn asm_pio_write32(port: u16, value: u32);
}
#[cfg(target_arch = "x86_64")]
#[inline]
pub unsafe fn inb(port: u16) -> u8 {
asm_pio_read8(port)
}
#[cfg(target_arch = "x86_64")]
#[inline]
pub unsafe fn outb(port: u16, value: u8) {
asm_pio_write8(port, value)
}
#[cfg(target_arch = "x86_64")]
#[inline]
pub unsafe fn inw(port: u16) -> u16 {
asm_pio_read16(port)
}
#[cfg(target_arch = "x86_64")]
#[inline]
pub unsafe fn outw(port: u16, value: u16) {
asm_pio_write16(port, value)
}
#[cfg(target_arch = "x86_64")]
#[inline]
pub unsafe fn inl(port: u16) -> u32 {
asm_pio_read32(port)
}
#[cfg(target_arch = "x86_64")]
#[inline]
pub unsafe fn outl(port: u16, value: u32) {
asm_pio_write32(port, value)
}
#[cfg(not(target_arch = "x86_64"))]
#[inline]
pub unsafe fn inb(_port: u16) -> u8 {
0
}
#[cfg(not(target_arch = "x86_64"))]
#[inline]
pub unsafe fn outb(_port: u16, _value: u8) {}
#[cfg(not(target_arch = "x86_64"))]
#[inline]
pub unsafe fn inw(_port: u16) -> u16 {
0
}
#[cfg(not(target_arch = "x86_64"))]
#[inline]
pub unsafe fn outw(_port: u16, _value: u16) {}
#[cfg(not(target_arch = "x86_64"))]
#[inline]
pub unsafe fn inl(_port: u16) -> u32 {
0
}
#[cfg(not(target_arch = "x86_64"))]
#[inline]
pub unsafe fn outl(_port: u16, _value: u32) {}