85006411bd
kernel: add header files
2026-02-19 19:13:44 +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
720ed75770
x86_64: add invalid pmap pointer constant
2026-02-08 11:59:18 +00:00
880930e917
x86_64: implement functions to jump to userspace
2026-02-08 11:58:27 +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
c04b33647c
x86_64: add kernel and user virtual memory boundary definitions
2026-02-08 11:27:37 +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
8463423c10
kernel: add endian conversion functions
2023-07-08 22:14:31 +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
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
9f3c080e41
vm: minimum and maximum zone IDs are now defined in arch/../vm.h
2023-05-07 21:39:31 +01:00
96e695704a
x86_64: allow serial port baud rate to be configured
2023-05-07 12:22:47 +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
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
da415c7f6d
kernel: implement panic()
2023-04-09 16:35:15 +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
d41ea0cd52
kernel: implement initcalls and a testing system
2023-02-26 10:05:39 +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
ad63f0b251
x86_64: pmap: map all of physical memory starting at VM_PAGEMAP_BASE
2023-02-07 15:38:18 +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
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
1abc7a4f6c
x86_64: move non-ML headers to include/arch/
2023-02-05 09:45:17 +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
c65f034e0e
kernel: x86_64: add machine init function called by kernel_init
2023-02-03 20:24:27 +00:00
26853c32c8
Implemented GDT initialisation
2022-12-24 10:28:41 +00:00
8475a6139e
Implemented some basic libc functions and a text console
2022-12-21 08:29:33 +00:00