1cbab5f2f4
vm: optimise vm_zone_init by only making blocks from free regions during boot
2023-12-24 09:35:50 +00:00
67c0b6eba9
tools: amldecode: skip creation of unnamed objects
2023-07-27 19:06:06 +01:00
d66f0df2c2
tools: amldecode: add parsing support for more AML opcodes
2023-07-22 17:57:20 +01:00
d08612f7db
tools: amldecode: add test files extracted from Lenovo ThinkStation machine
2023-07-22 17:56:47 +01:00
82dd8c7846
tools: amldecode: fix read_pkg_length reading multibyte lengths in the wrong order
2023-07-20 19:47:08 +01:00
af15eaa75b
tools: amldecode: store table revision in parser
2023-07-20 19:46:00 +01:00
9a2ac25343
x86_64: don't call early_vgacon_init() if fbcon kext is not compiled in
2023-07-19 19:02:00 +01:00
ac15f18782
build: remove --no-print-directory from make call when building userspace tools
2023-07-19 19:01:02 +01:00
f8c1a52259
tools: add tool to decode AML files and build an ACPI namespace
2023-07-19 19:00:27 +01:00
42c6cfb697
kexts: ahci: remove generic log messages
2023-07-19 18:59:42 +01:00
b4ef018c5f
build: support multiple source files and nested directories for userspace tools
2023-07-19 18:59:11 +01:00
e9e73bc027
dev: removed internal spinlock from bcache
...
bcaches must now have an explicit external lock to protect them from
concurrent access (i.e. a lock belonging to their parent block device)
2023-07-11 21:28:02 +01:00
c0f380ddca
kernel: lock block device before reading from it
2023-07-11 21:26:22 +01:00
c696bdf122
kexts: ahci: implement read support for ATA devices
2023-07-09 22:02:30 +01:00
3233169f25
dev: implement reading from block devices
...
reading from block devices is done using the block cache (bcache).
This cache stores sectors from a block device in pages of memory
marked as 'cached', which will allow them to be reclaimed when
memory pressure is high (TODO).
while block device drivers implement callbacks allowing reading/writing
at block-granularity, the device subsystem uses the block cache to
implement reading/writing at byte-granularity in a driver-agnostic way.
block drivers can disable the block cache for their devices, but this
will require that any clients communicate with the devices at
block-granularity.
also added an offset parameter to device and object read/write functions/callbacks.
2023-07-09 21:58:40 +01:00
53440653f2
kernel: remove static qualifier from functions generated by btree convenience macros
2023-07-09 21:57:04 +01:00
cefbd3e8d6
kexts: ahci: refactor driver
2023-07-09 09:07:15 +01:00
7d51bcb7b8
kexts: pci: add function to get pci-specific device data
2023-07-09 09:07:02 +01:00
49f50859b5
dev: block device IO callbacks now use iovec
2023-07-09 09:06:36 +01:00
2ac75cd541
kexts: ahci: implement identification of ATAPI devices
2023-07-08 22:15:22 +01:00
8463423c10
kernel: add endian conversion functions
2023-07-08 22:14:31 +01:00
dd6e49e8a6
kernel: tweak thresholds for data size->string conversion
2023-07-08 22:13:49 +01:00
fa41e50f56
kexts: add AHCI block driver
2023-07-08 15:57:16 +01:00
2ea509c4dc
build: add test AHCI drives to VM
2023-07-08 15:56:20 +01:00
db992a0994
kernel: add status codes for device IO
2023-07-08 15:55:56 +01:00
d9b9c0d4e7
dev: implement block device registration
2023-07-08 15:55:43 +01:00
ce40a4f57d
kexts: fbcon: use ttyFBX name format for tty devices
2023-07-08 15:54:29 +01:00
71dbdf21a2
dev: allow devices to specify human-readable model names
2023-07-08 15:53:59 +01:00
d96c549f17
vm: allow pages to be mapped as no-cache
2023-07-08 15:53:06 +01:00
8ffbacb0cd
dev: don't lock bus list when enumerating all buses
2023-07-08 15:52:31 +01:00
9d2644ffa7
kexts: pci: score driver matches, allow fallback class drivers
2023-07-08 15:51:12 +01:00
65db7cfbda
kernel: add filesystem model definitions
2023-06-25 11:03:44 +01:00
31a4e00fdc
tty: retain reference to foreground tty and input devices
2023-06-14 21:45:05 +01:00
1c20efc36e
dev: add function to ref/deref device objects
2023-06-14 21:44:47 +01:00
2656696757
tty: reading input from a tty is now handled by the line discipline
2023-06-14 17:38:11 +01:00
16d0a398b3
kexts: ps2kbd: send events to devices outside of interrupt context
2023-06-14 17:37:11 +01:00
4a1c6cae69
sched: add support for scheduling functions to be executed later
2023-06-14 17:36:45 +01:00
cdb9fef36c
tty: remove tty event queues
2023-06-11 19:00:55 +01:00
a7c28e983c
kernel: tty: implement tty input using line disciplines
2023-06-11 16:47:33 +01:00
7308fd98fb
dev: implement input event hooks
2023-06-11 16:46:58 +01:00
3cc72f1f24
kernel: tty: support printing output from printk()
2023-06-11 14:55:47 +01:00
0245d2254b
kernel: tty: support for printing newlines
2023-06-11 14:54:39 +01:00
aa62fa71b0
kexts: fbcon: add 8x16 bitmap font
2023-06-11 14:53:53 +01:00
a75c620dde
kexts: fbcon: support scrolling multiple lines under vgacon
2023-06-11 14:53:22 +01:00
1adb635303
kexts: qemufb: update fb_baseptr in qemu_set_varinfo
2023-06-11 12:59:33 +01:00
d10c89544c
kexts: fbcon: implement VGA text mode tty driver
2023-06-11 09:24:22 +01:00
abe4af093e
tty: implement read/write support
2023-06-11 09:23:57 +01:00
557e1dda30
kexts: pci: remove extern qualifier
2023-06-10 21:42:05 +01:00
4cd9ebcb4f
kexts: add generic vga/fb tty driver
2023-06-10 21:41:46 +01:00
d09ad5838e
kernel: implement tty driver system
2023-06-10 21:41:07 +01:00