Commit Graph

261 Commits

Author SHA1 Message Date
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
f816b97cf8 kernel: add bitmap datatype 2023-03-17 20:06:25 +00:00
1266fe5b86 build: link to libgcc 2023-03-17 20:06:02 +00:00
e66c611038 build: store compile_commands.json in source tree .config dir 2023-03-13 21:41:33 +00:00
c8facafb77 build: add script to copy source tree to/from build server 2023-03-13 21:40:53 +00:00
3e954b1e13 sched: add task and thread alloc functions 2023-03-09 19:55:52 +00:00
f2b929e52e btree: fix bad function name expansion in BTREE_DEFINE_SIMPLE_GET() 2023-03-09 19:55:26 +00:00
079941f3f9 libc: remove sprintf() 2023-03-09 19:54:27 +00:00
22743edeb7 pmap: add get_kernel_pmap() 2023-03-09 19:50:22 +00:00
902df83654 sched: add struct and object types for task and thread objects 2023-03-06 11:08:26 +00:00
1a413189ab kernel: move object_bootstrap() call to kernel_init() 2023-03-06 11:08:02 +00:00
eecc4c5c1a user: replace x86_64 definitions with stubs 2023-03-06 11:06:59 +00:00
7fab406b44 test: obj: deref objects obtained from get_at() after use 2023-03-05 18:26:28 +00:00
8285506e58 obj: use ref-counting in set objects 2023-03-05 18:26:05 +00:00
d41ea0cd52 kernel: implement initcalls and a testing system 2023-02-26 10:05:39 +00:00
bc1bc9fec5 obj: add set and namespace object callbacks 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 2023-02-25 17:58:23 +00:00
8c87e78797 obj: add more set and namespace functions 2023-02-25 17:57:53 +00:00
ef10ed5cd2 kernel: add initial object manager definitions 2023-02-17 19:36:14 +00:00
ff19915466 vm: mark memory holes as reserved under sparse memory model 2023-02-17 19:34:12 +00:00
81ca98c952 x86_64: acpi: add minimal SMP core startup 2023-02-09 21:39:20 +00:00
d960909d1b x86_64: pmap: enable NX protection during bootstrap 2023-02-09 21:38:50 +00:00
ddb00acd31 x86_64: add a basic ACPI driver 2023-02-09 19:09:07 +00:00
a206b640e9 build: write VM serial output to log file 2023-02-09 19:08:24 +00:00
5b9bdd4848 kernel: add definitions for a TTY device interface. 2023-02-09 11:35:35 +00:00
943e9dc517 build: make tools makefile quiet 2023-02-09 09:16:48 +00:00
8c4c224435 vm: fix get_or_create_page not allocating enough memory for sparse page map 2023-02-08 21:29:45 +00:00
22eabbedbc vm: log per-zone free memory during init 2023-02-08 21:29:20 +00:00
9792aa512d vm: use vm_memory_mode() to determine which model to initialise 2023-02-08 21:28:47 +00:00