62ec4c93ab
meta: rename
2024-11-02 11:31:51 +00:00
d29b955ee8
x86_64: re-enable legacy PIC and PIT initialisation
2024-09-17 17:48:26 +01:00
3f992d84fb
kernel: remove everything that is related to device/fs management
...
this is now a microkernel.
2024-09-17 17:47:50 +01:00
b0c021d4e9
kernel: add kernel.early-console and kernel.console boot args
...
kernel.early-console is used to specify which output device the
kernel boot log should be written to. the first thing the kernel
does on boot after initialising the bootstrap processor is initialise
the early console, making it useful for debugging problems that
occur early in the boot process. this arg accepts a list of hard-coded
values for output devices, such as tty0 for the display or ttyS0
for the serial port. the exact values supported will depend on the
platform.
once all drivers are loaded, the kernel switches to the device specified
by kernel.console for output. unlike kernel.early-console, this arg
specifies the name of a tty device in /dev/tty. this means that, not
only are more devices supported (any device provided by a tty driver),
but the kernel can also get input from the user using this console too
(not used by the kernel itself, but will be used by the user to interact
with userspace programs, like the shell).
2023-12-30 09:09:18 +00:00
8af6670b0d
x86_64: move serial port code to serialcon kext
2023-12-29 20:35:26 +00:00
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
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
2638b8c27a
x86_64: initialise device subsystem during boot
2023-05-08 18:18:59 +01:00
aaad77aea5
x86_64: zero-init BSP and AP CPU cpu_data before use
2023-05-07 21:40:30 +01:00
96e695704a
x86_64: allow serial port baud rate to be configured
2023-05-07 12:22:47 +01:00
a9e95db39b
x86_64: write printk messages to COM1 serial port
2023-05-06 21:33:36 +01:00
72d8facd47
kernel: add standard clock system
2023-04-28 20:51:51 +01:00
b6f8c1ccaa
kernel: don't use typedef for enums or non-opaque structs
2023-04-13 11:40:52 +01:00
e0e6f4a9ae
acpi: calibrate local APIC timer on BSP
2023-03-28 21:38:47 +01:00
864362ba82
acpi: add APIC irq ack and legacy vector remapping
2023-03-24 14:38:53 +00:00
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
1a413189ab
kernel: move object_bootstrap() call to kernel_init()
2023-03-06 11:08:02 +00:00
d41ea0cd52
kernel: implement initcalls and a testing system
2023-02-26 10:05:39 +00:00
ef10ed5cd2
kernel: add initial object manager definitions
2023-02-17 19:36:14 +00:00
ddb00acd31
x86_64: add a basic ACPI driver
2023-02-09 19:09:07 +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
625eac9ca7
x86_64: implement bootstrap function for pmap interface
2023-02-06 20:50:38 +00:00
b9b3794aee
x86_64: initialise memblock using e820
2023-02-05 10:50:13 +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
31cb7aab8b
kernel: add basic console registration system and printk()
2023-02-04 19:03:45 +00:00
c65f034e0e
kernel: x86_64: add machine init function called by kernel_init
2023-02-03 20:24:27 +00:00