Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
From 30decd3a8ace08e46bf0176648c82c2162ada81a Mon Sep 17 00:00:00 2001
From: Quinn Stephens <quinn@osmora.org>
Date: Fri, 14 Feb 2025 23:43:58 -0500
Subject: [PATCH] kernel: amd64: Add more defines to UART driver
Added more defines and comments to the UART driver, based on the 16550
chip datasheet, to make it more clear how each operation works.
Signed-off-by: Quinn Stephens <quinn@osmora.org>
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
From fe1beed19be88e0c43ff2a68994d6abc04a52f54 Mon Sep 17 00:00:00 2001
From: Quinn Stephens <quinn@osmora.org>
Date: Fri, 14 Feb 2025 23:30:03 -0500
Subject: [PATCH] kernel: pci: Optimize PCI bus scanning
Uses recursive bus/bridge scanning, skips nonexistent devices, and only
scans for multiple functions on multifunction devices. This may result
in PCI scanning being up to 100x as fast.
Signed-off-by: Quinn Stephens <quinn@osmora.org>
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
From c7130585ba891d7049d274331783ecc62a15bca3 Mon Sep 17 00:00:00 2001
From: Quinn Stephens <quinn@osmora.org>
Date: Fri, 14 Feb 2025 21:18:34 -0500
Subject: [PATCH] kernel: cons: Optimize console drawing
Prevents the cursor from being cleared right before a character is drawn
or right after the screen is cleared. Also optimized the cursor drawing
routine to just draw a rectangle instead of rendering a space character.
Additionally renamed `cons_render_char()` to `cons_draw_char()` and
fixed all characters being drawn one pixel too far to the right.
Signed-off-by: Quinn Stephens <quinn@osmora.org>
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add machine-independent PCI MSI-X EOI wrapper to Local APIC EOI function
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Ensure all loads preceding SWAPGS are serialized using LFENCE. This
mitigates the possibility of SWAPGS being speculatively bypassed which
would lead to security issues.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Maintain naming consistency between public machine-dependent and
machine-independent functions.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit expands the virtual memory subsystem by providing the
initial implementation of virtual memory objects, pager descriptors and
pagers. This change currently implemenents a minimal vnode pager.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit implements local vcaches and lazy vcache migration (LZVM)
for on the fly vcache type switching.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Require internal add/pull routines to be passed a pointer to the vcache
to be operated on. This makes it easier to support for per-process vcaches and LZVM.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit makes changes to how vnodes are allocated and released. When
we want to allocate a new vnode, we check if there is something we can
recycle before calling dynalloc(). Instead of calling dynfree() on a
vnode, enter it into the vnode cache.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit makes various changes such as updating how readonly and
writable entries are stored and how entry lookups are made to improve
flexibility.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Sometimes we may need to duplicate a file descriptor and create a new
fdno that refers to the same vnode. The fd_dup() function enables us
to do this when needed.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Added the Drive Cache Descriptor Ring (DCDR) framework to manage the
caching of logical blocks for LBA-based storage mediums. This commit
implements core components including data structures for Drive Cache
Descriptors (DCDs) and Drive Cache Descriptor Rings (DCDRs). Other
implemented features include:
- DCD eviction policy based on least hit count
- DCD invalidation
- DCD lookups
- Support for logical block coalescing
Signed-off-by: Ian Moffett <ian@osmora.org>
|