@@ -355,8 +355,9 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
355355 serial_init ();
356356 serial_write_string ("\n\n--- KERNEL STARTING ---\n" );
357357
358- // Display splash as early as possible
359- vga_display_splash ();
358+ // Temporarily disable splash to troubleshoot hang
359+ // vga_display_splash();
360+ serial_write_string ("DEBUG: Splash skipped\n" );
360361
361362 serial_write_string ("DEBUG: Multiboot Magic: 0x" );
362363 serial_write_hex32 (multiboot_magic );
@@ -371,6 +372,7 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
371372 syscall_init ();
372373 serial_write_string ("DEBUG: Syscall Initialized\n" );
373374 diag_init ();
375+ serial_write_string ("DEBUG: Diag Initialized\n" );
374376 diag_log (DIAG_INFO , "boot start" );
375377
376378 multiboot_info_t * info = 0 ;
@@ -381,15 +383,21 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
381383 mem_bytes = (info -> mem_upper + 1024 ) * 1024 ;
382384 }
383385 }
384- serial_write_string ("DEBUG: Multiboot info parsed\n" );
386+ serial_write_string ("DEBUG: Multiboot info parsed, Memory: " );
387+ serial_write_hex32 (mem_bytes );
388+ serial_write_string (" bytes\n" );
389+
390+ fb_init (info );
391+ fb_clear (0 );
392+ fb_console_init (0xFFFFFF , 0 );
393+ fb_console_write ("Kernel Loading...\n" );
394+ serial_write_string ("DEBUG: Framebuffer Initialized Early\n" );
385395
386396 if (mem_bytes > 0x100000 ) {
387397 pmm_init (0x100000 , mem_bytes - 0x100000 );
388- } else {
389- pmm_init (0x100000 , 0 );
390- }
391398 diag_log_hex32 (DIAG_INFO , "mem_bytes" , mem_bytes );
392399 serial_write_string ("DEBUG: PMM Initialized\n" );
400+ fb_console_write ("PMM Initialized\n" );
393401
394402 pmm_reserve_region ((uint32_t )& kernel_start , (uint32_t )& kernel_end - (uint32_t )& kernel_start );
395403 if (info ) {
@@ -405,12 +413,15 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
405413 }
406414 }
407415 serial_write_string ("DEBUG: Memory regions reserved\n" );
416+ fb_console_write ("Memory Reserved\n" );
408417
409418 acpi_scan ();
410419 serial_write_string ("DEBUG: ACPI scan complete\n" );
420+ fb_console_write ("ACPI Scanned\n" );
411421
412422 paging_init ();
413423 serial_write_string ("DEBUG: Paging Initialized\n" );
424+ fb_console_write ("Paging Initialized\n" );
414425
415426 serial_write_string ("DEBUG: Initializing Interrupt Controller...\n" );
416427 apex_intc_init ();
@@ -419,6 +430,7 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
419430 serial_write_string ("DEBUG: Initializing SMP...\n" );
420431 smp_rally_init ();
421432 serial_write_string ("DEBUG: SMP/Interrupt Controller Initialized\n" );
433+ fb_console_write ("SMP/Intc Initialized\n" );
422434
423435 serial_write_string ("DEBUG: Initializing Power Subsystems...\n" );
424436 power_plane_init ();
@@ -448,6 +460,7 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
448460 sys_view_init ();
449461 sys_config_init ();
450462 serial_write_string ("DEBUG: Subsystems Initialized\n" );
463+ fb_console_write ("Subsystems Initialized\n" );
451464
452465 if (cpu_has_sse ()) {
453466 sse_enable ();
@@ -457,11 +470,13 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
457470 }
458471 ai_model_init ();
459472 serial_write_string ("DEBUG: AI Model Initialized\n" );
473+ fb_console_write ("AI Model Initialized\n" );
460474
461475 heap_init ();
462476 slab_init ();
463477 kswapd_init ();
464478 serial_write_string ("DEBUG: Memory Management (Heap/Slab) Initialized\n" );
479+ fb_console_write ("Heap/Slab Initialized\n" );
465480
466481 numa_init (get_ram_size ());
467482 ipc_init ();
@@ -475,42 +490,49 @@ void kernel_main(unsigned int multiboot_magic, unsigned int multiboot_info_addr)
475490 btrfs_init ();
476491 job_init ();
477492 serial_write_string ("DEBUG: FS/IPC/Jobs Initialized\n" );
478-
479- fb_init (info );
480- fb_clear (0 );
481- fb_console_init (0xFFFFFF , 0 );
482- fb_console_write ("Kernel Loaded Successfully\n" );
483- serial_write_string ("DEBUG: Framebuffer Initialized\n" );
493+ fb_console_write ("FS/IPC/Jobs Initialized\n" );
484494
485495 vfs_init ();
486496 serial_write_string ("DEBUG: VFS Initialized\n" );
497+ fb_console_write ("VFS Initialized\n" );
487498
488499 if (info && info -> mods_count > 0 ) {
489500 multiboot_module_t * module = (multiboot_module_t * )info -> mods_addr ;
490501 uint32_t size = module -> mod_end - module -> mod_start ;
491502 vfs_set_root (ramdisk_init (module -> mod_start , size ));
492503 }
493504 serial_write_string ("DEBUG: Ramdisk mounted\n" );
505+ fb_console_write ("Ramdisk Mounted\n" );
494506
495507 scheduler_init ();
508+ serial_write_string ("DEBUG: Scheduler Initialized\n" );
509+ fb_console_write ("Scheduler Initialized\n" );
496510 process_create (task_a , 0 );
511+ serial_write_string ("DEBUG: Task A created\n" );
497512 process_create (task_b , 0 );
513+ serial_write_string ("DEBUG: Task B created\n" );
498514 pit_init (100 );
499- serial_write_string ("DEBUG: Scheduler/PIT Initialized.\n" );
515+ serial_write_string ("DEBUG: PIT Initialized (100Hz)\n" );
516+ fb_console_write ("PIT Initialized\n" );
500517
501- fb_clear (0 );
502- fb_console_init (0xFFFFFF , 0 );
518+ fb_console_write ("Shell Initializing...\n" );
503519 keyboard_init ();
504520 keyboard_set_callback (shell_on_input );
505521 shell_init ();
522+ serial_write_string ("DEBUG: Shell Initialized\n" );
523+ fb_console_write ("Shell Initialized\n" );
506524
507525 serial_write_string ("DEBUG: Kernel Main complete, enabling interrupts...\n" );
526+ fb_console_write ("Enabling Interrupts...\n" );
508527 enable_interrupts ();
509528 serial_write_string ("DEBUG: Interrupts enabled\n" );
529+ fb_console_write ("Interrupts Enabled\n" );
510530#ifdef SELFTEST_AUTORUN
531+ serial_write_string ("DEBUG: Running Selftests...\n" );
511532 selftest_run ();
512533#endif
513534
535+ serial_write_string ("DEBUG: Entering Kernel Idle Loop\n" );
514536 for (;;) {
515537 asm volatile ("hlt" );
516538 }
0 commit comments