Commit Graph

10 Commits

Author SHA1 Message Date
kaguya 3b6e68bc16 sys: Implement LAPIC and IOAPIC support, add PS/2 keyboard driver
- Added LAPIC implementation in `apic.c` and `apic.h`, including initialization and basic operations.
- Introduced IOAPIC (I/O Advanced Programmable Interrupt Controller) support in `ioapic.c` and `ioapic.h`, parsing the ACPI MADT to locate IOAPICs and manage redirection entries.
- Implemented PS/2 keyboard driver in `ps2.c` and `ps2.h`, handling keyboard interrupts and translating scancodes to ASCII.
- Attempted to make usermode work again (it failed, coming soon)
- Cleaned up comments in `time.c` and `render.c` for clarity.

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-24 01:59:33 -04:00
kaguya 551eb00708 feat: partially implement PS/2 input subsystem with keyboard and mouse support
This implementation is incomplete, and doesn't work, but it will soon, to be determined, hopefully, uh, yknow.

Signed-off-by kaguya <vpshinomiya@protonmail.com>
2026-04-17 17:34:46 -04:00
kaguya 016ee32987 feat: update .gitignore and enhance ext2 file timestamps
Added back g_Unixseconds to the ext2 driver

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-16 00:37:30 -04:00
kaguya bd77c7a2b9 sound: HDA support with PCM and wav playback
- Implemented HDA driver in src/sound/hda.c, providing initialization, codec enumeration, and playback functionality.
- Defined HDA register offsets and structures in src/sound/hda.h.
- Added WAV file parsing and playback capabilities in src/sound/pcm.c, supporting both WAV and raw PCM formats.
- Created header file src/sound/pcm.h for PCM playback functions and WAV header structures.
- Integrated memory management for DMA buffers during audio playback.

Yes we played Charlie Charlie Kirky as the first sound on KirkOS

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-16 00:08:56 -04:00
kaguya 4f0480fa84 acpi: remerge uacpi as inhouse
Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-15 13:42:16 -04:00
kaguya d66e042ec1 feat: remove uACPI submodule and make uACPI in house
Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-15 13:39:15 -04:00
kaguya cc8351bf8d feat: implement PCI subsystem and integrate uACPI support
See previous commit

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-15 13:33:18 -04:00
kaguya 840210ddc0 feat: add uACPI submodule for ACPI support
Here we implement ACPI into KirkOS, while it took a little bit to do, it surely will pay off massively in the long run.

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-15 13:32:27 -04:00
kaguya 95cc19fd1a build: partially transition userpsace build system to CMake
Replace the legacy userpsace Makefile with the CMake build system for the kernel

The userspace is the only one still utilizing manual Makefiles, it will eventually be CMakified

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-04-15 01:41:48 -04:00
kaguya 426ad76676 Initial Commit 2026-04-14 22:52:24 -04:00