Commit Graph

  • 5d9f193aa2 obj: objects can now be published in the namespace root wash 2023-04-09 20:35:17 +01:00
  • b1b16ba19c kernel: reduce log message spam during boot wash 2023-04-09 17:14:19 +01:00
  • eb998860a5 kxld: implement internal kext dependency resolution and initialisation wash 2023-04-09 16:43:03 +01:00
  • 076a15e47b kernel: add second example kext for dependency test wash 2023-04-09 16:42:16 +01:00
  • c7fdb81ef9 kernel: implement string hashing with FNV wash 2023-04-09 16:39:08 +01:00
  • 981a5f2a0d kernel: add kern_status_string() wash 2023-04-09 16:38:31 +01:00
  • 80f5e0483c sched: initialise kernel_thread parent ptr wash 2023-04-09 16:38:08 +01:00
  • da415c7f6d kernel: implement panic() wash 2023-04-09 16:35:15 +01:00
  • 9b75ca8b8c kernel: enumerate internal kexts during boot wash 2023-04-08 09:27:21 +01:00
  • a1f54fd156 kexttool: store extensions.yaml in .config instead of build wash 2023-04-08 09:26:06 +01:00
  • e472c83d28 tools: kexttool: implement Makefile generation for internal kexts wash 2023-04-06 21:20:20 +01:00
  • 3e2164c7c2 kernel: rename extensions/ to kexts/ wash 2023-04-06 21:18:56 +01:00
  • 84e5b848c7 tools: sync: update script filename in in_source_tree() wash 2023-04-05 18:55:24 +01:00
  • eb22e72568 build: add subcommands to kexttool wash 2023-04-05 18:53:10 +01:00
  • 3ec25da693 kext: rename extension.info to extension.yaml wash 2023-04-04 11:01:04 +01:00
  • 7128bbf72a kernel: add sample kernel extension wash 2023-04-04 10:59:52 +01:00
  • fadab38da7 build: add a tool to scan extensions/ for kernel extensions wash 2023-04-04 10:59:42 +01:00
  • 06ba21bd9d build: standardise script filenames wash 2023-04-04 09:59:25 +01:00
  • 5b53168c5f dev: add functions to create device objects wash 2023-04-03 16:59:14 +01:00
  • 7c6f619b96 kernel: add device manager definitions wash 2023-04-02 21:03:23 +01:00
  • 13c06a827e kernel: disable pre-emption when accessing per-cpu variables wash 2023-03-28 21:41:07 +01:00
  • 7d003da960 sched: add current_task(), current_thread(), and preempt_disable/enable() wash 2023-03-28 21:39:59 +01:00
  • e0e6f4a9ae acpi: calibrate local APIC timer on BSP wash 2023-03-28 21:38:47 +01:00
  • 9828f35d36 x86_64: fix optimised var read in pit_wait() wash 2023-03-28 21:37:24 +01:00
  • 474878911b kernel: add enable_irq() and disable_irq() wash 2023-03-28 19:44:51 +01:00
  • 8de86c210f kernel: define READ/WRITE_ONCE using typeof() for C sources wash 2023-03-27 22:00:30 +01:00
  • e1634de1b4 kernel: C++ read_once() and write_once() functions wash 2023-03-25 20:37:37 +00:00
  • e615b7dec1 build: enable -O2 optimisation level wash 2023-03-24 14:39:09 +00:00
  • 864362ba82 acpi: add APIC irq ack and legacy vector remapping wash 2023-03-24 14:21:02 +00:00
  • cb622f5ad4 vm: add macro for allocating and initialising C++ objects wash 2023-03-24 14:20:26 +00:00
  • db6b2ca4c9 queue: add explicit casts to queue_foreach() wash 2023-03-24 14:19:06 +00:00
  • 3be6c2a99f kernel: remove typename() from READ_ONCE() and WRITE_ONCE() wash 2023-03-24 14:18:45 +00:00
  • b34e60bb25 build: switch to C17 / C++17 wash 2023-03-24 14:17:56 +00:00
  • dd6c190720 memblock: fix returned memory region overrunning reserved memory region wash 2023-03-24 14:17:28 +00:00
  • 2bfb6bcd78 kernel: add c++ support wash 2023-03-20 20:41:39 +00:00
  • a4d850cc03 x86_64: more local and i/o apic configuration wash 2023-03-20 20:21:44 +00:00
  • 8e9127cd6a x86_64: init local apic on boot, or legacy pic/pit as fallback wash 2023-03-19 20:36:36 +00:00
  • 7e26050bde kernel: add volatile var read/write macros wash 2023-03-19 20:36:13 +00:00
  • ae848e9776 sched: add thread status flags wash 2023-03-19 20:35:48 +00:00
  • 768e6c4ff6 kernel: fix off-by-one in per-cpu area allocation size wash 2023-03-19 20:35:25 +00:00
  • 6ab0e653d5 build: allow language extensions wash 2023-03-19 20:33:36 +00:00
  • 44702bec5f build: move compile_commands.json to build directory wash 2023-03-19 20:33:27 +00:00
  • 4785c767e4 sched: set kernel_task as current task of bootstrap cpu wash 2023-03-18 19:35:23 +00:00
  • 57eaf4e01c kernel: implement cpu IDs and per-cpu variables wash 2023-03-18 19:35:00 +00:00
  • 56bc47f570 misc: add sync config file to gitignore wash 2023-03-17 20:08:23 +00:00
  • 62eb3b63a7 sched: add per-cpu runqueue wash 2023-03-17 20:07:49 +00:00
  • e1e897c953 kernel: add per-cpu data section to kernel image wash 2023-03-17 20:07:19 +00:00
  • f816b97cf8 kernel: add bitmap datatype wash 2023-03-17 20:06:25 +00:00
  • 1266fe5b86 build: link to libgcc wash 2023-03-17 20:06:02 +00:00
  • e66c611038 build: store compile_commands.json in source tree .config dir wash 2023-03-13 21:41:33 +00:00
  • c8facafb77 build: add script to copy source tree to/from build server wash 2023-03-13 21:40:45 +00:00
  • 3e954b1e13 sched: add task and thread alloc functions wash 2023-03-09 19:55:52 +00:00
  • f2b929e52e btree: fix bad function name expansion in BTREE_DEFINE_SIMPLE_GET() wash 2023-03-09 19:55:26 +00:00
  • 079941f3f9 libc: remove sprintf() wash 2023-03-09 19:54:27 +00:00
  • 22743edeb7 pmap: add get_kernel_pmap() wash 2023-03-09 19:50:22 +00:00
  • 902df83654 sched: add struct and object types for task and thread objects wash 2023-03-06 11:08:26 +00:00
  • 1a413189ab kernel: move object_bootstrap() call to kernel_init() wash 2023-03-06 11:08:02 +00:00
  • eecc4c5c1a user: replace x86_64 definitions with stubs wash 2023-03-06 11:06:59 +00:00
  • 7fab406b44 test: obj: deref objects obtained from get_at() after use wash 2023-03-05 18:26:28 +00:00
  • 8285506e58 obj: use ref-counting in set objects wash 2023-03-05 18:26:05 +00:00
  • d41ea0cd52 kernel: implement initcalls and a testing system wash 2023-02-26 10:05:39 +00:00
  • bc1bc9fec5 obj: add set and namespace object callbacks wash 2023-02-25 19:12:09 +00:00
  • eed73e2414 build: add a "user" arch to allow the kernel to run as a program on the host machine wash 2023-02-25 17:58:23 +00:00
  • 8c87e78797 obj: add more set and namespace functions wash 2023-02-25 17:57:53 +00:00
  • ef10ed5cd2 kernel: add initial object manager definitions wash 2023-02-17 19:36:14 +00:00
  • ff19915466 vm: mark memory holes as reserved under sparse memory model wash 2023-02-17 19:34:12 +00:00
  • 81ca98c952 x86_64: acpi: add minimal SMP core startup wash 2023-02-09 21:39:20 +00:00
  • d960909d1b x86_64: pmap: enable NX protection during bootstrap wash 2023-02-09 21:38:06 +00:00
  • ddb00acd31 x86_64: add a basic ACPI driver wash 2023-02-09 19:09:07 +00:00
  • a206b640e9 build: write VM serial output to log file wash 2023-02-09 19:08:24 +00:00
  • 5b9bdd4848 kernel: add definitions for a TTY device interface. wash 2023-02-09 09:17:04 +00:00
  • 943e9dc517 build: make tools makefile quiet wash 2023-02-09 09:16:44 +00:00
  • 8c4c224435 vm: fix get_or_create_page not allocating enough memory for sparse page map wash 2023-02-08 21:29:45 +00:00
  • 22eabbedbc vm: log per-zone free memory during init wash 2023-02-08 21:29:20 +00:00
  • 9792aa512d vm: use vm_memory_mode() to determine which model to initialise wash 2023-02-08 21:28:47 +00:00
  • b0b557d919 x86_64: add temporary serial driver for printk wash 2023-02-08 21:28:14 +00:00
  • 56578dda38 build: x86_64: write printk output to file via qemu serial port wash 2023-02-08 21:27:47 +00:00
  • 6c6ca6920b vm: handle null vm_pages and empty zones in zone init wash 2023-02-08 20:26:51 +00:00
  • b32791ade7 vm: zero sector array; perform overflow checks wash 2023-02-08 20:26:18 +00:00
  • a595b3040a vm: remove debug message from get_or_create_page wash 2023-02-08 20:25:52 +00:00
  • a9f8069aab vm: add sparse mm support to vm_page functions wash 2023-02-08 20:25:24 +00:00
  • cb6b400fae x86_64: build: add rule to debug using ncurses wash 2023-02-08 20:24:49 +00:00
  • 5e10f566a4 x86_64: add basic interrupt handling wash 2023-02-08 20:24:40 +00:00
  • 18c5b34923 build: create copy of kernel binary with debug symbols wash 2023-02-08 20:22:54 +00:00
  • e96da32cd5 x86_64: check for failure in alloc test wash 2023-02-08 18:48:01 +00:00
  • a7d4166c89 vm: implement a sparse memory model wash 2023-02-08 17:13:01 +00:00
  • 6690572bf3 kernel: add utility math functions wash 2023-02-08 17:12:34 +00:00
  • b8eb88627a vm: add huge page order size definitions wash 2023-02-08 17:11:08 +00:00
  • d56fc961fa kernel: print log messages directly to the console if log_buffer is full wash 2023-02-08 17:10:13 +00:00
  • 4c4178e170 build: stop make compile-db from having to call make clean wash 2023-02-08 16:46:59 +00:00
  • 4edc7e308e vm: refactor page_array and functions into a separate source file wash 2023-02-07 21:18:08 +00:00
  • b13907f3bc x86_64: initialise vm subsystem wash 2023-02-07 16:00:45 +00:00
  • 9879bbf646 vm: optimise page array size and initialisation. wash 2023-02-07 15:58:37 +00:00
  • 51ad3d48fd memblock: mark bytes preceding an aligned allocation as reserved. wash 2023-02-07 15:57:18 +00:00
  • e9d4b60181 vm: print log messages during initialisation wash 2023-02-07 15:43:14 +00:00
  • bf0b4d412c vm: use direct page mapping to convert virt/phys addresses wash 2023-02-07 15:40:06 +00:00
  • ad63f0b251 x86_64: pmap: map all of physical memory starting at VM_PAGEMAP_BASE wash 2023-02-07 15:38:18 +00:00
  • e939aae775 x86_64: pmap: fix typos wash 2023-02-07 12:10:12 +00:00
  • 52c1ba89c4 x86_64: pmap: add null-pointer to check to delete_pdir wash 2023-02-07 12:10:05 +00:00
  • 3ea1a28e5a x86_64: pmap: fix make_pte not using PTE_NX for non-exec pages wash 2023-02-07 12:09:36 +00:00