Commit Graph

337 Commits

Author SHA1 Message Date
d10c89544c kexts: fbcon: implement VGA text mode tty driver 2023-06-11 09:24:22 +01:00
abe4af093e tty: implement read/write support 2023-06-11 09:23:57 +01:00
557e1dda30 kexts: pci: remove extern qualifier 2023-06-10 21:42:05 +01:00
4cd9ebcb4f kexts: add generic vga/fb tty driver 2023-06-10 21:41:46 +01:00
d09ad5838e kernel: implement tty driver system 2023-06-10 21:41:07 +01:00
e10f11af88 kexts: add driver for Bochs/QEMU display controller 2023-06-10 13:24:36 +01:00
28dab53147 kexts: pci: create generic devices for all pci devices found during scan 2023-06-10 13:23:57 +01:00
c5edce612d dev: implement generic devices
generic devices don't have a type (char, block, etc) and are created
by bus drivers to represent the device until a suitable driver is found.

generic devices are registered by the bus driver. once a more suitable
driver is found, that driver will re-register the device under itself.
2023-06-10 13:21:42 +01:00
4a2c5de5b6 kexts: pci: implement device enumeration 2023-06-09 21:27:09 +01:00
9bea0a8081 kexts: acpi: add DEFINE_KEXT 2023-06-09 21:25:53 +01:00
20f77893cf dev: implement bus device enumeration 2023-06-09 21:24:51 +01:00
27387aa080 x86_64: move ACPI driver to kext 2023-06-09 19:31:30 +01:00
f6064eea53 tools: kexttool: include directory support; pre-processor defines for internal kexts 2023-06-09 19:30:57 +01:00
f83ecca490 dev: boot framebuffer support 2023-06-08 20:46:43 +01:00
ff8902ef1c kernel: add more status codes 2023-06-08 20:46:20 +01:00
cb220452db dev: start implementing framebuffer devices 2023-06-06 22:01:17 +01:00
81533a1cff kexts: ps2kbd: log message before and after initialising controller 2023-06-06 22:01:07 +01:00
7aa8f613fb dev: zero allocated driver structures 2023-06-06 21:50:26 +01:00
929560e055 obj: fix kmalloc'd namespace paths not being null-terminated 2023-06-06 21:50:06 +01:00
4def9a74f0 kexts: ps2kbd: fix driver not being registered 2023-06-03 21:06:52 +01:00
52c17be29d dev: check that driver has a major number before registering device 2023-06-03 21:06:33 +01:00
b7b0691b8f dev: implement driver objects to organise and identify devices 2023-06-02 19:35:07 +01:00
577abf3bba obj: implement link objects 2023-06-02 19:34:33 +01:00
648c370679 kexts: add stub VGA16 framebuffer driver 2023-06-02 19:32:56 +01:00
fcf5dc32b9 kernel: add BITMAP_NPOS definition 2023-06-02 19:31:09 +01:00
d02d05d922 obj: add read() and write() object callbacks 2023-05-14 21:11:32 +01:00
0238008986 dev: auto-generate device name in device_register if name is unspecified 2023-05-11 21:19:00 +01:00
802e610eed ps2kbd: move to kexts/drivers/input subtree 2023-05-11 20:30:52 +01:00
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