dbe117135b
x86_64: implement proper user/kernel %gs base switching
...
the %gs base address is now always set to the current cpu block while
in kernel-mode, and is switched back to the userspace %gs base
when returning to user-mode.
2026-02-23 18:26:21 +00:00
6019c9307d
kernel: separate headers into kernel and user headers
...
all kernel headers have been moved from include/mango to include/kernel
and include definitions that are only relevant to kernel-space.
any definitions that are relevant to both kernel- and user-space
(i.e. type definitions, syscall IDs) have been moved to
include/mango within libmango.
2026-02-19 18:54:48 +00:00
00ea2b1b3b
x86_64: adjust formatting
2026-02-08 11:36:16 +00:00
4051265876
x86_64: implement TSS initialisation and user/kernel stack pointer switching
2026-02-08 11:34:49 +00:00
564d4f9ba0
x86_64: rename struct cpu_context; move to machine/cpu.h
2026-02-08 11:32:09 +00:00
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
8af6670b0d
x86_64: move serial port code to serialcon kext
2023-12-29 20:35:26 +00:00
27387aa080
x86_64: move ACPI driver to kext
2023-06-09 19:31:30 +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
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
d0371d9204
x86_64: create idle thread and initialise runqueue during AP bootstrap
2023-05-03 19:27:39 +01:00
4677c881e1
x86_64: acpi: bring up other APs in long mode
2023-05-01 18:13:44 +01:00
085c3d2a89
sched: add kernel-mode context switching
2023-04-30 14:27:57 +01:00
995e364b21
x86_64: acpi: fix bad local APIC register offset
2023-04-28 20:49:46 +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
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
57eaf4e01c
kernel: implement cpu IDs and per-cpu variables
2023-03-18 19:35:00 +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
b0b557d919
x86_64: add temporary serial driver for printk
2023-02-08 21:28:20 +00:00
5e10f566a4
x86_64: add basic interrupt handling
2023-02-08 20:24:40 +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