|
|
8e9127cd6a
|
x86_64: init local apic on boot, or legacy pic/pit as fallback
|
2023-03-19 20:36:36 +00:00 |
|
|
|
57eaf4e01c
|
kernel: implement cpu IDs and per-cpu variables
|
2023-03-18 19:35:00 +00:00 |
|
|
|
e1e897c953
|
kernel: add per-cpu data section to kernel image
|
2023-03-17 20:07:19 +00:00 |
|
|
|
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 |
|