summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
7 dayskernel: Add initial installer implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: sched: Don't switch on PID 0Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: Add md_halt()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayssys: Add initial sys/disklabel.hIan Moffett
Adds initial sys/disklabel.h header which describes the ODT (OSMORA Disk Table) Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskernel: cons: Fix newline caused by excessive '\b'Ian Moffett
Before this commit, if you were to write out too many backspace characters, it would result in an integer underflow for the scr->curs_col and scr->ch_col state resulting in the console logic assuming the cursor has gone too far off the screen which would cause behavior similar to as if you wrote out a line-feed character. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Add ahci_dev_bsize()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Add ahci_dev_write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Create devfs entry as block deviceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: init_main: Fix sizeof arg on proc0 memsetIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayssys: cdefs: Add __used attributeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: devfs: Add callback to request block sizeIan Moffett
Add bsize() callback within the bdevsw structure. This returns the number of blocks a block device supports at maximum. This result is *not* in bytes. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Detect max SATA sector countIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Do not fake success on empty portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Add ahci_get_dev() for drive lookupsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Fix operator in dev_max checkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Use hba_device instead of hba_portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Add g_hba for indirect devfs accessIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: ahci: Remove useless lineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: devfs: Detect block devicesIan Moffett
This commit also adds the S_IFBLK flag in sys/stat.h Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysproject: Build Hyra with ./hyra-install.shIan Moffett
- Deprecate *direct* use of 'make' for building world - Add hyra-build.sh to replace direct use of 'make' - Remove make vars that will no longer be used - Update workflow script for GitHub mirror - Add install media detection define (_INSTALL_MEDIA) - Add install media detection logs - Update build instructions within README.md Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: Optimize console & loggingQuinn Stephens
* Modified draw loops to use `fbdev_get_index()` less often. * Created `cons_fast_putch()`, then used it to implement `cons_putch()` and `cons_putstr()`. This way, when printing an entire string, the lock acquire/release and cursor hide/show will only happen once, instead of once per character. * Modified `syslog_write()` to use `cons_putstr()`. Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Create a DCDR per HBA deviceIan Moffett
Optimize reading of logical blocks within SATA drives by giving each device descriptor a drive cache descriptor ring. Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: dcdr: Overwrite existing DCDs if requiredIan Moffett
When writing to a drive, existing cached entries must be written through so DCD reads don't give stale data. Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel/amd64: Improve GDT implementationQuinn Stephens
* Switched to using macros for the GDT entry bits, to improve clarity and make the code easier to modify. Also got rid of some junk values in a few of the entries. * Shrunk the GDT data array from 256 entries to 7 (GDT_ENTRY_COUNT) since the GDT will only ever use 7 of the entries for now. * Aligned the GDT using __cacheline_aligned, because the GDT entries will be read every time a segment selector is loaded. * Modified code dealing with the GDTR to just use `g_gdtr`, since the same GDT/GDTR is always used. * In `gdt_load()`, changed `eax` -> `ax`, since segment registers are only 16 bits. Also replaced the `gdtr` to just use `g_gdtr`. Additionally, used the inline assembly formatting to supply segment selectors with KERNEL_CS/DS macros. Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskernel/amd64: i8042: Remove conf r/w for nowIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 dayskernel: xhci: Add runtime register offset definesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 dayskernel: xhci: Remove unused includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 dayskernel: Enable interrupts before driversIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 dayskernel/amd64: i8042: Simplify init + handlingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 dayskernel/amd64: Unset CPU_IRQ(1) at kbd handler endIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel/amd64: Deprecate intr_alloc_vector()Ian Moffett
Replace intr_alloc_vector() with a cleaner and more machine independent intr_register() Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel/amd64: conf: Default to a nice green colorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel: syscall: Add SYS_reboot syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel/amd64: Add reboot RESET and POWEROFF flagsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel: acpi: Add acpi_sleep()Ian Moffett
Introduce function for calling ACPI \\_S<n> objects via uACPI Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel: sched: Rewrite context switch logicIan Moffett
Simplify and improve context switch logic, also stops the LAPIC from being spammed with register accesses. This also updates the default quantum to 9000 us to avoid cache thrashing and all kinds of other nasty things. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel: acpi: Add stub power button handlerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel/amd64: i8042: Reduce logging verbosityIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel/amd64: mp: Improve AP bootstrap logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19kernel/amd64: Stop sycning per timer interruptIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: acpi: Add uACPI portIan Moffett
See https://github.com/uACPI/uACPI/ Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: pci: Add pci_add_device()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: pci: Add segment fieldIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: acpi: Add acpi_rsdp()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel/amd64: ioapic: Do not include acpi/tables.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: Add compat headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: lib: Add memmove()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: exit: Detach proc on exitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: sched: Add sched_detach()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-17kernel: sched: Switch on sched_yield()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>