Roadmap #1

Open
opened 2025-01-25 13:03:12 +01:00 by rgimad · 1 comment
Owner

Booting

  • Implement versatile macros for debug output
  • Create helloworld kernel module, that would be able to load (NOTE: where? maybe 0x100000 (1mb) cause it always free(?)) either by bootx64.efi or by legacy bootloader (maybe requires some stub for setup before running kernel module). NOTE: define what kernel module expects (long mode? provided memory map? ) boot protocol
    ** Both legacy bootloader or efi boot stub will pass LFB to the kernel so it could set up writing text with custom font **

Kolibri64 kernel

  • Set up higher half. I.e map kernel to 0xFFFFFFFF80000000
  • Set up interrupts, cpu exceptions, ...
  • Set up SMP
  • ...
## Booting - [ ] Implement versatile macros for debug output - [ ] Create helloworld kernel module, that would be able to load (NOTE: where? maybe 0x100000 (1mb) cause it always free(?)) either by bootx64.efi or by legacy bootloader (maybe requires some stub for setup before running kernel module). NOTE: define ~~what kernel module expects (long mode? provided memory map? )~~ boot protocol ** Both legacy bootloader or efi boot stub will pass LFB to the kernel so it could set up writing text with custom font ** ## Kolibri64 kernel - [ ] Set up higher half. I.e map kernel to 0xFFFFFFFF80000000 - [ ] Set up interrupts, cpu exceptions, ... - [ ] Set up SMP - [ ] ...
Owner

NOTE: firstly define what kernel module expects (long mode? provided memory map? ).

This is called a boot protocol. Here is the one from Linux as an example.

> NOTE: firstly define what kernel module expects (long mode? provided memory map? ). This is called a boot protocol. [Here](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/x86/boot.rst) is the one from Linux as an example.
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios64#1
No description provided.