#include "vga.h"
#ifdef FILESYS
#include "filesys.h"
+#include "disk.h"
#endif
/* Size of kernel static code and data, in 4 kB pages. */
static void
main_thread (void *aux UNUSED)
{
- thread_execute ("a.out");
+ disk_init ();
+
+#ifdef FILESYS
+ filesys_init (true);
+#endif
+ filesys_self_test ();
}
int
/* Clear out the BSS segment. */
memset (&__bss_start, 0, &_end - &__bss_start);
+ /* Initialize components needed by printk() very early. */
vga_init ();
serial_init ();
+ printk ("Booting cnachos86...\n");
/* Calculate how much RAM the kernel uses, and find out from
the bootloader how much RAM this machine has. */
kernel_pages = (&_end - &_text + 4095) / 4096;
ram_pages = *(uint32_t *) (0x7e00 - 6);
-
- printk ("Initializing nachos-x86, %d kB RAM detected.\n",
- ram_pages * 4);
+ printk ("ram: detected %'d kB main memory.\n", ram_pages * 4);
/* Memory from the end of the kernel through the end of memory
is free. Give it to the page allocator. */
timer_init ();
kbd_init ();
-#ifdef FILESYS
- filesys_init (false);
-#endif
-
thread_init ();
t = thread_create ("main", main_thread, NULL);