Commit Graph

439 Commits

Author SHA1 Message Date
0d75e347e9 doc: document object layout and definitions 2023-04-09 21:26:56 +01:00
f7d581d352 obj: remove unused ob_parent pointer from object_t 2023-04-09 21:26:33 +01:00
e38ca58f18 kxld: publish kext objects in //kexts 2023-04-09 20:40:06 +01:00
5d9f193aa2 obj: objects can now be published in the namespace root 2023-04-09 20:35:17 +01:00
b1b16ba19c kernel: reduce log message spam during boot 2023-04-09 17:14:19 +01:00
eb998860a5 kxld: implement internal kext dependency resolution and initialisation 2023-04-09 16:43:03 +01:00
076a15e47b kernel: add second example kext for dependency test 2023-04-09 16:42:16 +01:00
c7fdb81ef9 kernel: implement string hashing with FNV 2023-04-09 16:39:08 +01:00
981a5f2a0d kernel: add kern_status_string() 2023-04-09 16:38:31 +01:00
80f5e0483c sched: initialise kernel_thread parent ptr 2023-04-09 16:38:08 +01:00
da415c7f6d kernel: implement panic() 2023-04-09 16:35:15 +01:00
9b75ca8b8c kernel: enumerate internal kexts during boot 2023-04-08 09:27:21 +01:00
a1f54fd156 kexttool: store extensions.yaml in .config instead of build 2023-04-08 09:26:06 +01:00
e472c83d28 tools: kexttool: implement Makefile generation for internal kexts 2023-04-06 21:20:20 +01:00
3e2164c7c2 kernel: rename extensions/ to kexts/ 2023-04-06 21:18:56 +01:00
84e5b848c7 tools: sync: update script filename in in_source_tree() 2023-04-05 18:55:24 +01:00
eb22e72568 build: add subcommands to kexttool 2023-04-05 18:53:10 +01:00
3ec25da693 kext: rename extension.info to extension.yaml 2023-04-04 11:01:04 +01:00
7128bbf72a kernel: add sample kernel extension 2023-04-04 10:59:52 +01:00
fadab38da7 build: add a tool to scan extensions/ for kernel extensions 2023-04-04 10:59:42 +01:00
06ba21bd9d build: standardise script filenames 2023-04-04 09:59:25 +01:00
5b53168c5f dev: add functions to create device objects 2023-04-03 16:59:14 +01:00
7c6f619b96 kernel: add device manager definitions 2023-04-02 21:03:23 +01:00
13c06a827e kernel: disable pre-emption when accessing per-cpu variables 2023-03-28 21:41:07 +01:00
7d003da960 sched: add current_task(), current_thread(), and preempt_disable/enable() 2023-03-28 21:40:56 +01:00
e0e6f4a9ae acpi: calibrate local APIC timer on BSP 2023-03-28 21:38:47 +01:00
9828f35d36 x86_64: fix optimised var read in pit_wait() 2023-03-28 21:37:24 +01:00
474878911b kernel: add enable_irq() and disable_irq() 2023-03-28 19:44:51 +01:00
8de86c210f kernel: define READ/WRITE_ONCE using typeof() for C sources 2023-03-27 22:00:30 +01:00
e1634de1b4 kernel: C++ read_once() and write_once() functions 2023-03-25 20:37:37 +00:00
e615b7dec1 build: enable -O2 optimisation level 2023-03-24 16:40:33 +00:00
864362ba82 acpi: add APIC irq ack and legacy vector remapping 2023-03-24 14:38:53 +00:00
cb622f5ad4 vm: add macro for allocating and initialising C++ objects 2023-03-24 14:20:26 +00:00
db6b2ca4c9 queue: add explicit casts to queue_foreach() 2023-03-24 14:19:06 +00:00
3be6c2a99f kernel: remove typename() from READ_ONCE() and WRITE_ONCE() 2023-03-24 14:18:45 +00:00
b34e60bb25 build: switch to C17 / C++17 2023-03-24 14:17:56 +00:00
dd6c190720 memblock: fix returned memory region overrunning reserved memory region 2023-03-24 14:17:28 +00:00
2bfb6bcd78 kernel: add c++ support 2023-03-20 20:41:39 +00:00
a4d850cc03 x86_64: more local and i/o apic configuration 2023-03-20 20:21:44 +00:00
8e9127cd6a x86_64: init local apic on boot, or legacy pic/pit as fallback 2023-03-19 20:36:36 +00:00
7e26050bde kernel: add volatile var read/write macros 2023-03-19 20:36:13 +00:00
ae848e9776 sched: add thread status flags 2023-03-19 20:35:48 +00:00
768e6c4ff6 kernel: fix off-by-one in per-cpu area allocation size 2023-03-19 20:35:25 +00:00
6ab0e653d5 build: allow language extensions 2023-03-19 20:33:36 +00:00
44702bec5f build: move compile_commands.json to build directory 2023-03-19 20:33:27 +00:00
4785c767e4 sched: set kernel_task as current task of bootstrap cpu 2023-03-18 19:35:23 +00:00
57eaf4e01c kernel: implement cpu IDs and per-cpu variables 2023-03-18 19:35:00 +00:00
56bc47f570 misc: add sync config file to gitignore 2023-03-17 20:08:23 +00:00
62eb3b63a7 sched: add per-cpu runqueue 2023-03-17 20:07:49 +00:00
e1e897c953 kernel: add per-cpu data section to kernel image 2023-03-17 20:07:19 +00:00