summaryrefslogtreecommitdiff
path: root/kernel/amd64/io/ports.S
diff options
context:
space:
mode:
authorSamuel Johnson <[email protected]>2025-07-01 10:33:05 -0400
committerSamuel Johnson <[email protected]>2025-07-01 10:33:05 -0400
commit571a656a6bd9b4b9d5c595c578d15ba79bb19ef7 (patch)
tree46f75b47f4edab4281de14ffa1c4a91a5a84f8f1 /kernel/amd64/io/ports.S
parent12fd3a91f138bf90520134682e38bf3b0341e660 (diff)
Add serial loggingHEADtrunkdev
Diffstat (limited to 'kernel/amd64/io/ports.S')
-rw-r--r--kernel/amd64/io/ports.S24
1 files changed, 24 insertions, 0 deletions
diff --git a/kernel/amd64/io/ports.S b/kernel/amd64/io/ports.S
new file mode 100644
index 0000000..37301a4
--- /dev/null
+++ b/kernel/amd64/io/ports.S
@@ -0,0 +1,24 @@
+.section .text
+.global inb, outb
+
+inb:
+ push %rbp
+ mov %rsp, %rbp
+ sub $0x10, %rsp
+ mov %rdi, %rdx
+ xor %rax, %rax
+ in (%dx), %al
+ add $0x10, %rsp
+ pop %rbp
+ ret
+
+outb:
+ push %rbp
+ mov %rsp, %rbp
+ sub $0x10, %rsp
+ mov %rdi, %rdx
+ mov %rsi, %rax
+ out %al, (%dx)
+ add $0x10, %rsp
+ pop %rbp
+ ret