Commit Graph

509 Commits

Author SHA1 Message Date
664e5f57b2 test: report keypresses from /dev/system/misc/ps2kbd 2023-05-10 20:34:53 +01:00
8dd7616594 ps2kbd: create input devices for kbd/mouse. report keypress events. 2023-05-10 20:34:19 +01:00
05395542a8 dev: implement writing/reading input events to/from input devices 2023-05-10 20:33:40 +01:00
ad8865fe66 obj: implement object_namespace_get_object() 2023-05-10 20:33:08 +01:00
422d4fb375 kernel: implement ring-buffer data structure 2023-05-10 20:32:29 +01:00
63f27adb1b sched: implement waitqueues 2023-05-10 20:29:57 +01:00
b3957b311a x86_64: remove printk call from isr/irq handlers 2023-05-10 20:22:51 +01:00
a4f2dec1fb kext: add PS/2 keyboard/mouse driver 2023-05-08 18:19:28 +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
1a633eee6b dev: implement object callbacks for devices. add misc device 2023-05-08 18:18:34 +01:00
4d04959219 build: add rules to configure kexts 2023-05-08 18:17:14 +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
d8326cfec5 sched: remove unused code 2023-05-07 21:42:38 +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
bd26039102 kernel: test: adjust tick-tock multithreading test timing 2023-05-07 12:38:06 +01:00
36834c26b8 doc: document serial port usage for debugging 2023-05-07 12:37:39 +01:00
d2972403dc repo: update gitignore 2023-05-07 12:37:21 +01:00
96e695704a x86_64: allow serial port baud rate to be configured 2023-05-07 12:22:47 +01:00
9e16a2e70c build: add tool to install a bootable ISO to a removable block device 2023-05-07 12:21:25 +01:00
a79d109fcc obj: add header-offset field to object_type
this allows the object header to be placed anywhere within the larger
object structure.

the object system now also ensures that the object is zero-initialised
during allocation.
2023-05-06 22:22:05 +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
90afd997e6 tools: add tool to generate kernel boot cd image 2023-05-06 21:34:02 +01:00
a9e95db39b x86_64: write printk messages to COM1 serial port 2023-05-06 21:33:36 +01:00
94ea756b31 kernel: write to all registered consoles with printk() 2023-05-06 21:32:19 +01:00
f52ca2f1e2 obj: object header is no longer allocated automatically 2023-05-06 19:48:14 +01:00
79c30e5393 tools: sync: create .config directory if it doesn't exist 2023-05-06 19:45:09 +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
cec6b644ac kernel: add functions to query the number of available/online CPUs 2023-05-05 15:25:44 +01:00
2ca1bd0b06 x86_64: acpi: only mask pit irq line during bsp init 2023-05-05 15:20:20 +01:00
7d321fb7f0 sched: add kernel thread creation and SMP-aware thread scheduling 2023-05-04 21:43:18 +01:00
bb524c1576 kernel: add support for getting percpu variables that belong to other CPUs 2023-05-04 21:42:51 +01:00
3f91c96050 x86_64: smp: flag cpu as online during bootstrap 2023-05-04 21:41:39 +01:00
a3df88f062 kernel: fix bad offset calculation in bitmap_check() 2023-05-04 21:41:15 +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
3a315901ba sched: fix create_idle_thread() not initialising tr_parent 2023-05-03 20:19:11 +01:00
cbd6aae037 kernel: test: replace schedule_timeout with milli_sleep 2023-05-03 19:27:58 +01:00
d0371d9204 x86_64: create idle thread and initialise runqueue during AP bootstrap 2023-05-03 19:27:39 +01:00
c64577e24e sched: add function to create per-cpu idle threads 2023-05-03 19:27:18 +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