sortix-mirror/kernel
Jonas 'Sortie' Termansen 898bdef447 Speed up ata(4) 400 ns waits.
Waiting for any non-zero duration currently waits for at least one timer
cycle (10 ms), which is especially expensive during early boot.

The current workaround of simply reading the status 14 times seems really
suspicious although the osdev wiki documents it, but let's see how well it
works on real hardware, it's probably good enough.

Try to determine the initial selected drive to save one drive selection.
2023-03-21 23:59:17 +01:00
..
disk Speed up ata(4) 400 ns waits. 2023-03-21 23:59:17 +01:00
fs Add memusage(2). 2023-03-09 20:27:17 +01:00
gpu/bga Switch bga(4) to the new PCI API. 2022-11-16 20:22:29 +01:00
include/sortix Add kernel virtual address space usage debug information. 2023-03-21 23:59:17 +01:00
kb Include the main kernel header in some kernel files. 2022-04-26 01:08:42 +02:00
mouse Include the main kernel header in some kernel files. 2022-04-26 01:08:42 +02:00
net Debug TCP socket state listing. 2023-03-21 23:59:16 +01:00
x64 Revert "Debug system calls exiting without interrupts enabled." 2023-03-21 23:59:16 +01:00
x86 Support i686 without SSE. 2022-01-09 23:38:16 +02:00
x86-family Decrease PS/2 timeouts. 2023-03-21 23:59:17 +01:00
.gitignore Allow bootloader bitmap framebuffer modesetting. 2016-01-08 19:56:11 +01:00
Makefile Add em(4) driver. 2023-01-09 23:58:19 +01:00
addralloc.cpp Add kernel virtual address space usage debug information. 2023-03-21 23:59:17 +01:00
alarm.cpp Fix handling of overflow and non-canonical values in timespec APIs. 2021-06-22 21:48:27 +02:00
clock.cpp Fix absolute timers triggering in the wrong order. 2022-12-03 22:43:33 +01:00
com.cpp Fix concurrent serial port read and write. 2016-11-03 22:10:45 +01:00
com.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
copy.cpp Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
crc32.cpp Add networking stack. 2022-12-11 13:40:34 +01:00
descriptor.cpp Add networking stack. 2022-12-11 13:40:34 +01:00
dnsconfig.cpp Add getdnsconfig(2) and setdnsconfig(2). 2021-06-13 23:27:52 +02:00
dtable.cpp Fix dtable allocation overflow on INT_MAX. 2022-06-09 22:47:06 +02:00
elf.cpp Optimize is_power_of_two. 2016-11-06 17:42:13 +01:00
end.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fcache.cpp Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
fsfunc.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
hostname.cpp Fix sethostname(2) nul termination. 2022-10-23 14:42:10 +02:00
identity.cpp Fix setuid(2) and setgid(2) not setting the effective user and group. 2021-07-27 00:46:42 +02:00
initrd.cpp Add --append-to kernel(7) multiboot module option. 2018-12-08 22:54:28 +01:00
initrd.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
inode.cpp Fix chown(2) not supporting -1 to not set the owner and group. 2022-01-15 20:48:54 +01:00
interlock.cpp Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
interrupt.cpp Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
io.cpp Return EBADF on negative fds for dup2(2) and dup3(2). 2022-02-10 17:56:25 +00:00
ioctx.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
kernel.cpp Add kernel heap allocation tracing debug facility. 2023-03-21 23:59:16 +01:00
kernelinfo.cpp Add kernel virtual address space usage debug information. 2023-03-21 23:59:17 +01:00
kthread.cpp Fix deadlocks and lost wakeups in threading primitives. 2022-12-10 21:29:23 +01:00
lfbtextbuffer.cpp Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
lfbtextbuffer.h Fix LFBTextBuffer GetChar starting worker thread when paused. 2018-08-06 23:59:35 +02:00
libk.cpp Abort on overlapping memcpy. 2021-05-30 23:48:19 +02:00
linebuffer.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
linebuffer.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
log.cpp Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
logterminal.cpp Support \e[6n for reporting cursor position. 2023-02-26 12:10:58 +01:00
logterminal.h Support \e[6n for reporting cursor position. 2023-02-26 12:10:58 +01:00
memorymanagement.cpp Add memusage(2). 2023-03-09 20:27:17 +01:00
mtable.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
multiboot.h Upgrade to latest upstream multiboot header. 2014-12-01 22:51:07 +01:00
op-new.cpp Add kernel heap allocation tracing debug facility. 2023-03-21 23:59:16 +01:00
palette.h Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
panic.cpp Fix technical typo. 2017-04-08 22:20:03 +02:00
partition.cpp Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
partition.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
pci-mmio.cpp Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
pci.cpp Add PCI scanning functions and busmastering functions. 2017-02-19 12:10:59 +01:00
pipe.cpp Fix the the. 2023-02-17 23:25:40 +01:00
poll.cpp Fix kernel deadlock in ppoll(2). 2021-07-14 15:41:28 +02:00
process.cpp Add memusage(2). 2023-03-09 20:27:17 +01:00
psctl.cpp Add memory statistics to struct psctl_stat. 2023-03-09 20:27:18 +01:00
ptable.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
pty.cpp Fix pty write and read logic. 2022-12-03 22:36:34 +01:00
pty.h Add pseudo terminals. 2016-11-23 22:31:05 +01:00
random.cpp Seed kernel entropy with randomness from the previous boot. 2016-10-04 00:34:50 +02:00
refcount.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
registers.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
resource.cpp Add support for sessions. 2016-11-23 22:30:47 +01:00
scheduler.cpp Fix deadlocks and lost wakeups in threading primitives. 2022-12-10 21:29:23 +01:00
segment.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
signal.cpp Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
sockopt.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
string.cpp Include the main kernel header in some kernel files. 2022-04-26 01:08:42 +02:00
syscall.cpp Add memusage(2). 2023-03-09 20:27:17 +01:00
textbuffer.cpp Fix operator spacing in kernel/textbuffer.cpp. 2017-04-18 23:32:00 +02:00
textterminal.cpp Fix saving and restoring console cursor position. 2017-01-22 22:28:58 +01:00
textterminal.h Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
thread.cpp Fix deadlocks and lost wakeups in threading primitives. 2022-12-10 21:29:23 +01:00
time.cpp Rename CLOCK_BOOT to CLOCK_BOOTTIME. 2022-02-22 18:01:57 +00:00
timer.cpp Fix handling of overflow and non-canonical values in timespec APIs. 2021-06-22 21:48:27 +02:00
tty.cpp Fix improper uses of ScopedLockSignal. 2021-02-11 20:47:47 +01:00
tty.h Add support for sessions. 2016-11-23 22:30:47 +01:00
uart.cpp Add debug uart utility functions. 2016-11-27 11:18:48 +01:00
uart.h Add debug uart utility functions. 2016-11-27 11:18:48 +01:00
user-timer.cpp Revert "Debug system calls exiting without interrupts enabled." 2023-03-21 23:59:16 +01:00
vga.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vga.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vgafont.f16 Allow bootloader bitmap framebuffer modesetting. 2016-01-08 19:56:11 +01:00
vgatextbuffer.cpp Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
vgatextbuffer.h Refactor graphical resolution changes. 2016-11-27 11:18:48 +01:00
video.cpp Refactor graphical resolution changes. 2016-11-27 11:18:48 +01:00
vnode.cpp Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
worker.cpp Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00