Files
RockOS/kernel/common_stubs.S
2026-06-21 16:57:16 -05:00

68 lines
839 B
ArmAsm

.code32
.section .text
.global disable_interrupts
disable_interrupts:
cli
ret
.global enable_interrupts
enable_interrupts:
sti
ret
.global io_wait
io_wait:
outb %al, $0x80
ret
.global liftoff
liftoff:
cli
mov 4(%esp), %ecx
mov 8(%esp), %ebx
mov $0x23, %ax
mov %ax, %ds
mov %ax, %es
mov %ax, %fs
mov %ax, %gs
push $0x23
push %ebx
push $0x202
push $0x1B
push %ecx
xor %eax, %eax
xor %edx, %edx
iret
.global outb
outb:
push %ebp
mov %esp, %ebp
# 8(%ebp) port
# 12(%ebp) data
mov 8(%ebp), %edx
mov 12(%ebp), %eax
outb %al, %dx
leave
ret
.global inb
inb:
push %ebp
mov %esp, %ebp
# 8(%ebp) port
mov 8(%ebp), %edx
xor %eax, %eax
inb %dx, %al
leave
ret