summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
8 dayskernel: ahci: Defer ahci_init()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: drivers: Add DRIVER_DEFER() macroIan Moffett
- Add DRIVER_DEFER() macro to schedule initialization for lower priority drivers - Expose `proc0' to the rest of the kernel Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: syslog: Handle userspace kmsg loggingIan Moffett
- Add USER_KMSG option to configure if kernel messages should be logged in user contexts - Add syslog_silence() to silence kernel messages in user contexts if USER_KMSG is "yes" Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: proc: Store kernel thread flag in `proc'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskconf: GENERIC: Add additional documentationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: exit: Ensure curtd is NULL if killedIan Moffett
If the current process is killed, make sure that we set the pointer to the currently running process to NULL. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel: exit: Handle killings of kernel threadsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel/amd64: trap: Log page fault flagsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 dayskernel: disklabel: Improve clarityIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 dayskernel: Add initial installer implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 dayskernel: sched: Don't switch on PID 0Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 dayskernel: Add md_halt()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysbuild: Generate OMAR ramfs after invoking makeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysbuild: Clean stage 1 on two stage buildsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 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>
11 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>
11 dayskernel: ahci: Add ahci_dev_bsize()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Add ahci_dev_write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Create devfs entry as block deviceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: init_main: Fix sizeof arg on proc0 memsetIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayssys: cdefs: Add __used attributeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 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>
11 dayskernel: ahci: Detect max SATA sector countIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Do not fake success on empty portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Add ahci_get_dev() for drive lookupsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Fix operator in dev_max checkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Use hba_device instead of hba_portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Add g_hba for indirect devfs accessIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskernel: ahci: Remove useless lineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 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>
13 daysbuild: Fix indentationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 daysproject: Bump version to 1.7Ian Moffett
- Introduce new Hyra build architecture (hyra-build.sh) [0] - Optimize console and logging [1] - Add SATA caching support via the DCDR framework [2] - Improve GDT implementation [3] - Add machine independent interrupt registration [4] - Add uACPI port as well as an acpi_sleep() interface [5] Commits referenced: [0]: 7f52818ebf05f056eb31cdcb09fbc564a4ece6c4 [1]: 06260dd6aeedc5c4ab0d42215fc38ab459365ce3 [2]: def5182fdeb9ea60df0d3de6365dfa368943c3f0 [3]: 92e385d64d9883896b4cf55e7e0d5e110621cb0c [4]: 5dfbc067d095b2bbaefad6d77469f4d701bdd539 [5]: 08eeb79db14145d83578025e1f0e7f7af460ee25 Signed-off-by: Ian Moffett <ian@osmora.org>
13 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>
2025-05-22kernel: 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>
2025-05-22kernel: 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>
2025-05-22kernel: 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>
2025-05-22kernel/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>
2025-05-22kernel/amd64: i8042: Remove conf r/w for nowIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-21kernel: xhci: Add runtime register offset definesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-21kernel: xhci: Remove unused includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-21kernel: Enable interrupts before driversIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-21kernel/amd64: i8042: Simplify init + handlingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-21kernel/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-19usr: osh: Add "reboot" and "shutdown" commandsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-05-19usr: libc: Add cpu_reboot()Ian 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>