Commit Graph

113 Commits

Author SHA1 Message Date
53e756eca0 kernel: add boot argument parsing 2023-12-27 17:34:59 +00:00
9a2ac25343 x86_64: don't call early_vgacon_init() if fbcon kext is not compiled in 2023-07-19 19:02:00 +01:00
8463423c10 kernel: add endian conversion functions 2023-07-08 22:14:31 +01:00
2ea509c4dc build: add test AHCI drives to VM 2023-07-08 15:56:20 +01:00
d96c549f17 vm: allow pages to be mapped as no-cache 2023-07-08 15:53:06 +01:00
abe4af093e tty: implement read/write support 2023-06-11 09:23:57 +01:00
4cd9ebcb4f kexts: add generic vga/fb tty driver 2023-06-10 21:41:46 +01:00
27387aa080 x86_64: move ACPI driver to kext 2023-06-09 19:31:30 +01:00
f83ecca490 dev: boot framebuffer support 2023-06-08 20:46:43 +01:00
b7b0691b8f dev: implement driver objects to organise and identify devices 2023-06-02 19:35:07 +01:00
b3957b311a x86_64: remove printk call from isr/irq handlers 2023-05-10 20:22:51 +01:00
add48f8a83 x86_64: acpi: create acpi bus device 2023-05-08 18:19:12 +01:00
2638b8c27a x86_64: initialise device subsystem during boot 2023-05-08 18:18:59 +01:00
482e65d13d x86_64: irq: add array of asm irq entry points 2023-05-08 08:08:33 +01:00
55c8918d28 x86_64: serial: enable interrupts and announce incoming data 2023-05-07 21:44:03 +01:00
ab4eeb8e16 x86_64: expand IDT to 256 entries 2023-05-07 21:43:04 +01:00
3435c2bffe x86_64: acpi: add dest CPU parameter to io_apic::map_irq() 2023-05-07 21:42:22 +01:00
aaad77aea5 x86_64: zero-init BSP and AP CPU cpu_data before use 2023-05-07 21:40:30 +01:00
9f3c080e41 vm: minimum and maximum zone IDs are now defined in arch/../vm.h 2023-05-07 21:39:31 +01:00
ad2ce0b2ab build: add rule to run kernel under Bochs 2023-05-07 21:36:53 +01:00
96e695704a x86_64: allow serial port baud rate to be configured 2023-05-07 12:22:47 +01:00
d8de0ddfe4 build: add rules to build and run iso images 2023-05-06 22:20:28 +01:00
6239b09e8e x86_64: panic on general protection fault 2023-05-06 22:19:55 +01:00
6cf8f4234a x86_64: print stack trace during panic 2023-05-06 22:18:40 +01:00
a9e95db39b x86_64: write printk messages to COM1 serial port 2023-05-06 21:33:36 +01:00
76919abb10 x86_64: smp: initialise APs in parallel
bring_all_ap_online() now initialises all APs in parallel, and waits
for them all to come online (i.e. reach the end of ap_trampoline_exit,
making them ready to start scheduling threads) before returning.
2023-05-05 15:25:55 +01:00
2ca1bd0b06 x86_64: acpi: only mask pit irq line during bsp init 2023-05-05 15:20:20 +01:00
3f91c96050 x86_64: smp: flag cpu as online during bootstrap 2023-05-04 21:41:39 +01:00
5611fce641 x86_64: smp: query CPU ID using CPUID during bootstrap 2023-05-04 21:04:17 +01:00
cd257e41cf x86_64: smp: reset __this_ap_ok to 0 before starting AP 2023-05-03 20:20:22 +01:00
4bcd00fc3c x86_64: smp: set AP idle thread ID to CPU ID 2023-05-03 20:19:56 +01:00
d0371d9204 x86_64: create idle thread and initialise runqueue during AP bootstrap 2023-05-03 19:27:39 +01:00
ad58693dfb x86_64: panic: fix printk formatting specifiers for cpu registers 2023-05-03 19:26:19 +01:00
a52571eb19 kernel: add panic() function that accepts a cpu_context 2023-05-03 19:26:09 +01:00
390fe86657 x86_64: enable NX protection during AP bootstrap 2023-05-03 19:20:07 +01:00
4677c881e1 x86_64: acpi: bring up other APs in long mode 2023-05-01 18:13:44 +01:00
654e54653c x86_64: pmap: implement pmap_add() 2023-05-01 18:12:07 +01:00
8a0291c9b3 sched: add timer tasks and schedule_timeout() 2023-04-30 21:09:36 +01:00
085c3d2a89 sched: add kernel-mode context switching 2023-04-30 14:27:57 +01:00
2cb2d9100a x86_64: define struct offsets for access from assembly 2023-04-30 14:26:37 +01:00
f349e4963c x86_64: charge clock cycles to threads when handling IRQs
Clock cycles that are used to handle the IRQ itself are *not*
charged to the thread.
2023-04-28 21:06:59 +01:00
72d8facd47 kernel: add standard clock system 2023-04-28 20:51:51 +01:00
995e364b21 x86_64: acpi: fix bad local APIC register offset 2023-04-28 20:49:46 +01:00
e7fe5a8f8e kernel: add function to query CPU clock cycle count 2023-04-22 21:07:34 +01:00
b6f8c1ccaa kernel: don't use typedef for enums or non-opaque structs 2023-04-13 11:40:52 +01:00
b1b16ba19c kernel: reduce log message spam during boot 2023-04-09 17:14:19 +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
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