From 7235966ea34c87724aee65792d2f183e653faabb Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 15 Nov 2025 14:22:36 -0500 Subject: kern/amd64: mainbus: Add port I/O helpers Signed-off-by: Ian Moffett --- sys/arch/amd64/bus/mainbus/pio.S | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sys/arch/amd64/bus/mainbus/pio.S diff --git a/sys/arch/amd64/bus/mainbus/pio.S b/sys/arch/amd64/bus/mainbus/pio.S new file mode 100644 index 0000000..e18b7cc --- /dev/null +++ b/sys/arch/amd64/bus/mainbus/pio.S @@ -0,0 +1,42 @@ + .text + .globl pio_outb +pio_outb: + mov %rdi, %rdx // PORT + mov %rsi, %rax // VAL + outb %al, %dx + retq + + .globl pio_outw +pio_outw: + mov %rdi, %rdx // PORT + mov %rsi, %rax // VAL + outw %ax, %dx + retq + + .globl pio_outl +pio_outl: + mov %rdi, %rdx // PORT + mov %rsi, %rax // VAL + outl %eax, %dx + retq + + .globl pio_inb +pio_inb: + mov %rdi, %rdx // PORT + xor %rax, %rax + inb %dx, %al + retq + +.global pio_inw +pio_inw: + mov %rdi, %rdx // PORT + xor %rax, %rax + inw %dx, %ax + retq + +.global pio_inl +pio_inl: + mov %rdi, %rdx // PORT + xor %rax, %rax + inl %dx, %eax + retq -- cgit v1.2.3