@@ -352,14 +352,26 @@ static void task_b(void) {
352352}
353353
354354void kernel_main (unsigned int multiboot_magic , unsigned int multiboot_info_addr ) {
355+ serial_init ();
356+ serial_write_string ("\n\n--- KERNEL STARTING ---\n" );
357+
358+ // Display splash as early as possible
359+ vga_display_splash ();
360+
361+ serial_write_string ("DEBUG: Multiboot Magic: 0x" );
362+ serial_write_hex32 (multiboot_magic );
363+ serial_write_string ("\n" );
364+
355365 gdt_init ();
366+ serial_write_string ("DEBUG: GDT Initialized\n" );
356367 idt_init ();
368+ serial_write_string ("DEBUG: IDT Initialized\n" );
357369 isr_init ();
370+ serial_write_string ("DEBUG: ISR Initialized\n" );
358371 syscall_init ();
359- serial_init ( );
372+ serial_write_string ( "DEBUG: Syscall Initialized\n" );
360373 diag_init ();
361374 diag_log (DIAG_INFO , "boot start" );
362- serial_write_string ("DEBUG: GDT/IDT/ISR Initialized\n" );
363375
364376 multiboot_info_t * info = 0 ;
365377 uint32_t mem_bytes = 16u * 1024u * 1024u ;
@@ -400,29 +412,38 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
400412 paging_init ();
401413 serial_write_string ("DEBUG: Paging Initialized\n" );
402414
415+ serial_write_string ("DEBUG: Initializing Interrupt Controller...\n" );
403416 apex_intc_init ();
417+ serial_write_string ("DEBUG: Initializing MSGI...\n" );
404418 msgi_init ();
419+ serial_write_string ("DEBUG: Initializing SMP...\n" );
405420 smp_rally_init ();
406421 serial_write_string ("DEBUG: SMP/Interrupt Controller Initialized\n" );
407422
423+ serial_write_string ("DEBUG: Initializing Power Subsystems...\n" );
408424 power_plane_init ();
409425 acpi_power_init ();
426+ serial_write_string ("DEBUG: Initializing Security...\n" );
410427 secure_hard_init ();
411428 secure_policy_init ();
412429 secure_caps_init ();
413430 secure_audit_init ();
431+ serial_write_string ("DEBUG: Initializing Trace/USB/PCIe/GFX...\n" );
414432 trace_forge_init ();
415433 usb_nexus_init ();
416434 pcie_portshift_init ();
417435 gfx_forge_init ();
436+ serial_write_string ("DEBUG: Initializing Input/DriverGrid/Net/Loader...\n" );
418437 input_stream_init ();
419438 driver_grid_init ();
420439 net_stack_init ();
421440 dyn_loader_init ();
422441 init_orch_init ();
442+ serial_write_string ("DEBUG: Initializing TTY/PTY/Devnodes...\n" );
423443 tty_core_init ();
424444 pty_mux_init ();
425445 devnodes_init ();
446+ serial_write_string ("DEBUG: Initializing View/Config...\n" );
426447 proc_view_init ();
427448 sys_view_init ();
428449 sys_config_init ();
@@ -475,10 +496,8 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
475496 process_create (task_a , 0 );
476497 process_create (task_b , 0 );
477498 pit_init (100 );
478- serial_write_string ("DEBUG: Scheduler/PIT Initialized. Displaying splash... \n" );
499+ serial_write_string ("DEBUG: Scheduler/PIT Initialized.\n" );
479500
480- vga_display_splash ();
481-
482501 fb_clear (0 );
483502 fb_console_init (0xFFFFFF , 0 );
484503 keyboard_init ();
0 commit comments