Commit Graph

106 Commits

Author SHA1 Message Date
22743edeb7 pmap: add get_kernel_pmap() 2023-03-09 19:50:22 +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
d41ea0cd52 kernel: implement initcalls and a testing system 2023-02-26 10:05:39 +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
ef10ed5cd2 kernel: add initial object manager definitions 2023-02-17 19:36:14 +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
b0b557d919 x86_64: add temporary serial driver for printk 2023-02-08 21:28:20 +00:00
56578dda38 build: x86_64: write printk output to file via qemu serial port 2023-02-08 21:27:47 +00:00
cb6b400fae x86_64: build: add rule to debug using ncurses 2023-02-08 20:24:49 +00:00
5e10f566a4 x86_64: add basic interrupt handling 2023-02-08 20:24:40 +00:00
e96da32cd5 x86_64: check for failure in alloc test 2023-02-08 18:48:01 +00:00
b13907f3bc x86_64: initialise vm subsystem 2023-02-07 16:00:45 +00:00
ad63f0b251 x86_64: pmap: map all of physical memory starting at VM_PAGEMAP_BASE 2023-02-07 15:38:18 +00:00
e939aae775 x86_64: pmap: fix typos 2023-02-07 12:10:12 +00:00
52c1ba89c4 x86_64: pmap: add null-pointer to check to delete_pdir 2023-02-07 12:10:05 +00:00
3ea1a28e5a x86_64: pmap: fix make_pte not using PTE_NX for non-exec pages 2023-02-07 12:09:36 +00:00
15ddd2fe0b x86_64: use e64patch to generate kernel binary for QEMU 2023-02-07 11:25:58 +00:00
625eac9ca7 x86_64: implement bootstrap function for pmap interface 2023-02-06 20:50:38 +00:00
52b3a5d6a5 x86_64: enable hugepage support in QEMU 2023-02-06 20:50:38 +00:00
5e20bbe223 x86_64: use higher-half pointer for VGA framebuffer 2023-02-06 20:50:38 +00:00
fe0b7e043f x86_64: move stack pointer to higher-half in start_64 2023-02-06 20:50:38 +00:00
a72117abcd x86_64: move start_64 to .boot.text 2023-02-06 10:41:06 +00:00
b9b3794aee x86_64: initialise memblock using e820 2023-02-05 10:50:13 +00:00
58171df912 vm: move arch-specific definitions to arch/ 2023-02-05 10:28:07 +00:00
72b2d8d525 x86_64: re-implement ml_halt_cpu() in pure assembly 2023-02-05 10:27:29 +00:00
2b2c5a24da x86_64: fix broken multiboot pointer boot arg 2023-02-05 10:26:47 +00:00
1abc7a4f6c x86_64: move non-ML headers to include/arch/ 2023-02-05 09:45:17 +00:00
17b90a484a kernel: print version banner on boot 2023-02-04 19:19:48 +00:00
49d2b0a847 x86_64: make vgacon clear the display on init 2023-02-04 19:19:37 +00:00
dee639968b x86_64: remove vga functions from start_32 and start_64 2023-02-04 19:18:25 +00:00
31cb7aab8b kernel: add basic console registration system and printk() 2023-02-04 19:03:45 +00:00
d0a431c860 kernel: add basic spinlocks 2023-02-04 19:03:30 +00:00
6e290ee18a x86_64: cleanup 2023-02-04 15:25:39 +00:00
c65f034e0e kernel: x86_64: add machine init function called by kernel_init 2023-02-03 20:24:27 +00:00
fe6b7220df Kernel is now compiled with -Wall -Werror -pedantic 2022-12-28 18:40:41 +00:00
23e8e654d9 Changed jump label in gdt_load 2022-12-24 21:11:43 +00:00
0309e1edd1 Adjusted build system to make it more portable 2022-12-24 17:42:33 +00:00
26853c32c8 Implemented GDT initialisation 2022-12-24 10:28:41 +00:00
0c0830cca7 QEMU monitor is now enabled 2022-12-24 10:28:28 +00:00
62ec27e76b start_32 now maps 2GiB of virtual memory instead of 1 GiB 2022-12-24 10:28:01 +00:00
a3be1de07d start_64 vga_clear now clears the screen AND resets the colour attribute bytes 2022-12-21 08:31:11 +00:00
43a15c2dee Boot log is now stored in the build directory 2022-12-21 08:30:23 +00:00
8475a6139e Implemented some basic libc functions and a text console 2022-12-21 08:29:33 +00:00
38202e5ccd Fixed a misnamed label in start_64 print_kernel_identifier 2022-12-15 13:48:55 +00:00
72bf6faadd Started implementing debugging facilities 2022-12-14 21:45:24 +00:00
51e065faaf Fixed some more dodgy formatting 2022-12-14 18:44:46 +00:00