Commit Graph

  • 880930e917 x86_64: implement functions to jump to userspace Max Wash 2026-02-08 11:58:27 +00:00
  • da611ab070 x86_64: find, record, and reserve the memory location of the bsp Max Wash 2026-02-08 11:52:33 +00:00
  • 129e782e99 kernel: add functions to get/set the bsp boot module location Max Wash 2026-02-08 11:38:50 +00:00
  • 00ea2b1b3b x86_64: adjust formatting Max Wash 2026-02-08 11:36:16 +00:00
  • 4051265876 x86_64: implement TSS initialisation and user/kernel stack pointer switching Max Wash 2026-02-08 11:34:21 +00:00
  • 564d4f9ba0 x86_64: rename struct cpu_context; move to machine/cpu.h Max Wash 2026-02-08 11:32:09 +00:00
  • c04b33647c x86_64: add kernel and user virtual memory boundary definitions Max Wash 2026-02-08 11:27:37 +00:00
  • a56d69e260 kernel: add a type to represent boot modules Max Wash 2026-02-08 11:02:35 +00:00
  • af0d97d6f5 misc: changes from a long time ago Max Wash 2026-02-03 21:28:15 +00:00
  • c7d4463f7e x86_64: remove redundant header files Max Wash 2025-05-20 23:14:42 +01:00
  • 8811016b7d kernel: remove redundant header files Max Wash 2025-05-20 23:14:33 +01:00
  • e1aeac9562 obj: remove redundant object functions; move to kernel/ subfolder Max Wash 2025-05-20 23:13:12 +01:00
  • 0ba46e065c build: build script now exports compile commands Max Wash 2025-05-20 23:12:21 +01:00
  • 675a6de47e build: add build script to configure kernel and tools build systems Max Wash 2025-05-19 22:01:12 +01:00
  • 4d12cab7f7 doc: add kernel interface documentation Max Wash 2024-11-02 15:12:05 +00:00
  • 62ec4c93ab meta: rename Max Wash 2024-11-02 11:31:51 +00:00
  • 065fdeec65 build: convert build system to CMake Max Wash 2024-09-17 17:50:15 +01:00
  • 8497962af6 kernel: show current task id, thread id, and cpu id in test messages Max Wash 2024-09-17 17:49:34 +01:00
  • ef05233dcf sched: allocate and assign ids to each thread Max Wash 2024-09-17 17:49:05 +01:00
  • d29b955ee8 x86_64: re-enable legacy PIC and PIT initialisation Max Wash 2024-09-17 17:48:26 +01:00
  • 3f992d84fb kernel: remove everything that is related to device/fs management Max Wash 2024-09-17 17:47:50 +01:00
  • 9b00f83ff1 build: set default qemu display to SDL Max Wash 2024-01-07 20:04:55 +00:00
  • 15c576a99d tools: delete legacy amldecode tool Max Wash 2024-01-07 20:04:23 +00:00
  • 149f49bd28 vm: limit sparse page init loop to last free page frame Max Wash 2023-12-30 15:29:48 +00:00
  • abfd97b924 memblock: fix bounds being ignored when iterating through total or reserved regions Max Wash 2023-12-30 15:29:13 +00:00
  • b0c021d4e9 kernel: add kernel.early-console and kernel.console boot args Max Wash 2023-12-30 09:09:18 +00:00
  • fc56f906d3 kexts: serialcon: implement writing to serial ports via tty interface Max Wash 2023-12-30 09:06:47 +00:00
  • 8af6670b0d x86_64: move serial port code to serialcon kext Max Wash 2023-12-29 20:35:26 +00:00
  • 1c5c256c89 vm: sparse sector map now extends to cover only all free pages by default Max Wash 2023-12-29 19:53:31 +00:00
  • 36c7f3bbeb debug: auto-select gdb/lldb session pane when starting debug session Max Wash 2023-12-27 17:35:27 +00:00
  • 53e756eca0 kernel: add boot argument parsing Max Wash 2023-12-27 17:34:59 +00:00
  • b8934d220c vm: increase the number of sparse memory sectors that can be created Max Wash 2023-12-24 09:43:52 +00:00
  • 8803c23f08 vm: improve memory usage under sparse with a high reserved memory ratio Max Wash 2023-12-24 09:39:28 +00:00
  • 8b99158d66 vm: fix overflow in memblock do_alloc when allocating large aligned blocks Max Wash 2023-12-24 09:37:52 +00:00
  • 63b69d8d85 util: fix absdiff64() always over/underflowing Max Wash 2023-12-24 09:36:41 +00:00
  • 1cbab5f2f4 vm: optimise vm_zone_init by only making blocks from free regions during boot Max Wash 2023-12-24 09:35:50 +00:00
  • 67c0b6eba9 tools: amldecode: skip creation of unnamed objects Max Wash 2023-07-27 19:06:06 +01:00
  • d66f0df2c2 tools: amldecode: add parsing support for more AML opcodes Max Wash 2023-07-22 17:57:20 +01:00
  • d08612f7db tools: amldecode: add test files extracted from Lenovo ThinkStation machine Max Wash 2023-07-22 17:56:47 +01:00
  • 82dd8c7846 tools: amldecode: fix read_pkg_length reading multibyte lengths in the wrong order Max Wash 2023-07-20 19:47:08 +01:00
  • af15eaa75b tools: amldecode: store table revision in parser Max Wash 2023-07-20 19:46:00 +01:00
  • 9a2ac25343 x86_64: don't call early_vgacon_init() if fbcon kext is not compiled in Max Wash 2023-07-19 19:02:00 +01:00
  • ac15f18782 build: remove --no-print-directory from make call when building userspace tools Max Wash 2023-07-19 19:01:02 +01:00
  • f8c1a52259 tools: add tool to decode AML files and build an ACPI namespace Max Wash 2023-07-19 19:00:27 +01:00
  • 42c6cfb697 kexts: ahci: remove generic log messages Max Wash 2023-07-19 18:59:42 +01:00
  • b4ef018c5f build: support multiple source files and nested directories for userspace tools Max Wash 2023-07-19 18:59:11 +01:00
  • e9e73bc027 dev: removed internal spinlock from bcache Max Wash 2023-07-11 21:28:02 +01:00
  • c0f380ddca kernel: lock block device before reading from it Max Wash 2023-07-11 21:26:22 +01:00
  • c696bdf122 kexts: ahci: implement read support for ATA devices Max Wash 2023-07-09 22:02:30 +01:00
  • 3233169f25 dev: implement reading from block devices Max Wash 2023-07-09 21:58:40 +01:00
  • 53440653f2 kernel: remove static qualifier from functions generated by btree convenience macros Max Wash 2023-07-09 21:57:04 +01:00
  • cefbd3e8d6 kexts: ahci: refactor driver Max Wash 2023-07-09 09:07:15 +01:00
  • 7d51bcb7b8 kexts: pci: add function to get pci-specific device data Max Wash 2023-07-09 09:07:02 +01:00
  • 49f50859b5 dev: block device IO callbacks now use iovec Max Wash 2023-07-09 09:06:36 +01:00
  • 2ac75cd541 kexts: ahci: implement identification of ATAPI devices Max Wash 2023-07-08 22:15:22 +01:00
  • 8463423c10 kernel: add endian conversion functions Max Wash 2023-07-08 22:14:31 +01:00
  • dd6e49e8a6 kernel: tweak thresholds for data size->string conversion Max Wash 2023-07-08 22:13:49 +01:00
  • fa41e50f56 kexts: add AHCI block driver Max Wash 2023-07-08 15:57:16 +01:00
  • 2ea509c4dc build: add test AHCI drives to VM Max Wash 2023-07-08 15:56:20 +01:00
  • db992a0994 kernel: add status codes for device IO Max Wash 2023-07-08 15:55:56 +01:00
  • d9b9c0d4e7 dev: implement block device registration Max Wash 2023-07-08 15:55:43 +01:00
  • ce40a4f57d kexts: fbcon: use ttyFBX name format for tty devices Max Wash 2023-07-08 15:54:29 +01:00
  • 71dbdf21a2 dev: allow devices to specify human-readable model names Max Wash 2023-07-08 15:53:59 +01:00
  • d96c549f17 vm: allow pages to be mapped as no-cache Max Wash 2023-07-08 15:53:06 +01:00
  • 8ffbacb0cd dev: don't lock bus list when enumerating all buses Max Wash 2023-07-08 15:52:31 +01:00
  • 9d2644ffa7 kexts: pci: score driver matches, allow fallback class drivers Max Wash 2023-07-08 15:51:12 +01:00
  • 65db7cfbda kernel: add filesystem model definitions Max Wash 2023-06-25 11:03:44 +01:00
  • 31a4e00fdc tty: retain reference to foreground tty and input devices Max Wash 2023-06-14 21:45:05 +01:00
  • 1c20efc36e dev: add function to ref/deref device objects Max Wash 2023-06-14 21:44:47 +01:00
  • 2656696757 tty: reading input from a tty is now handled by the line discipline Max Wash 2023-06-14 17:38:03 +01:00
  • 16d0a398b3 kexts: ps2kbd: send events to devices outside of interrupt context Max Wash 2023-06-14 17:37:11 +01:00
  • 4a1c6cae69 sched: add support for scheduling functions to be executed later Max Wash 2023-06-14 17:35:10 +01:00
  • cdb9fef36c tty: remove tty event queues Max Wash 2023-06-11 19:00:55 +01:00
  • a7c28e983c kernel: tty: implement tty input using line disciplines Max Wash 2023-06-11 16:47:33 +01:00
  • 7308fd98fb dev: implement input event hooks Max Wash 2023-06-11 16:46:58 +01:00
  • 3cc72f1f24 kernel: tty: support printing output from printk() Max Wash 2023-06-11 14:55:47 +01:00
  • 0245d2254b kernel: tty: support for printing newlines Max Wash 2023-06-11 14:54:39 +01:00
  • aa62fa71b0 kexts: fbcon: add 8x16 bitmap font Max Wash 2023-06-11 14:53:53 +01:00
  • a75c620dde kexts: fbcon: support scrolling multiple lines under vgacon Max Wash 2023-06-11 14:53:22 +01:00
  • 1adb635303 kexts: qemufb: update fb_baseptr in qemu_set_varinfo Max Wash 2023-06-11 12:59:33 +01:00
  • d10c89544c kexts: fbcon: implement VGA text mode tty driver Max Wash 2023-06-11 09:24:22 +01:00
  • abe4af093e tty: implement read/write support Max Wash 2023-06-11 09:23:57 +01:00
  • 557e1dda30 kexts: pci: remove extern qualifier Max Wash 2023-06-10 21:42:05 +01:00
  • 4cd9ebcb4f kexts: add generic vga/fb tty driver Max Wash 2023-06-10 21:41:46 +01:00
  • d09ad5838e kernel: implement tty driver system Max Wash 2023-06-10 21:41:07 +01:00
  • e10f11af88 kexts: add driver for Bochs/QEMU display controller Max Wash 2023-06-10 13:24:36 +01:00
  • 28dab53147 kexts: pci: create generic devices for all pci devices found during scan Max Wash 2023-06-10 13:23:57 +01:00
  • c5edce612d dev: implement generic devices Max Wash 2023-06-10 13:21:42 +01:00
  • 4a2c5de5b6 kexts: pci: implement device enumeration Max Wash 2023-06-09 21:26:04 +01:00
  • 9bea0a8081 kexts: acpi: add DEFINE_KEXT Max Wash 2023-06-09 21:25:53 +01:00
  • 20f77893cf dev: implement bus device enumeration Max Wash 2023-06-09 21:24:51 +01:00
  • 27387aa080 x86_64: move ACPI driver to kext Max Wash 2023-06-09 19:31:30 +01:00
  • f6064eea53 tools: kexttool: include directory support; pre-processor defines for internal kexts Max Wash 2023-06-09 19:30:01 +01:00
  • f83ecca490 dev: boot framebuffer support Max Wash 2023-06-08 20:46:43 +01:00
  • ff8902ef1c kernel: add more status codes Max Wash 2023-06-08 20:46:20 +01:00
  • cb220452db dev: start implementing framebuffer devices Max Wash 2023-06-06 22:01:17 +01:00
  • 81533a1cff kexts: ps2kbd: log message before and after initialising controller Max Wash 2023-06-06 22:01:07 +01:00
  • 7aa8f613fb dev: zero allocated driver structures Max Wash 2023-06-06 21:50:26 +01:00
  • 929560e055 obj: fix kmalloc'd namespace paths not being null-terminated Max Wash 2023-06-06 21:50:02 +01:00
  • 4def9a74f0 kexts: ps2kbd: fix driver not being registered Max Wash 2023-06-03 21:06:52 +01:00