vkernel - Fix early boot seg-fault
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 1 Sep 2010 15:42:00 +0000 (08:42 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 1 Sep 2010 15:42:00 +0000 (08:42 -0700)
* kprintf() needs 'mycpu' to work now, the vkernel was trying to use it
  too early.

Reported-by: Ilya Dryomov
sys/platform/vkernel/platform/init.c
sys/platform/vkernel64/platform/init.c

index f79a669..c4144c6 100644 (file)
@@ -422,7 +422,8 @@ init_sys_memory(char *imageFile)
                char *zmem;
                off_t off = st.st_size & ~SEG_MASK;
 
-               kprintf("%s: Reserving blocks for memory image\n", imageFile);
+               /* cannot use kprintf yet */
+               printf("%s: Reserving blocks for memory image\n", imageFile);
                zmem = malloc(SEG_SIZE);
                bzero(zmem, SEG_SIZE);
                lseek(fd, off, SEEK_SET);
@@ -490,6 +491,8 @@ init_kern_memory(void)
        KvaStart = (vm_offset_t)base;
        KvaSize = KERNEL_KVA_SIZE;
        KvaEnd = KvaStart + KvaSize;
+
+       /* cannot use kprintf yet */
        printf("KVM mapped at %p-%p\n", (void *)KvaStart, (void *)KvaEnd);
 
        /*
index f3f3079..c0f7d75 100644 (file)
@@ -420,7 +420,8 @@ init_sys_memory(char *imageFile)
                char *zmem;
                off_t off = st.st_size & ~SEG_MASK;
 
-               kprintf("%s: Reserving blocks for memory image\n", imageFile);
+               /* cannot use kprintf yet */
+               printf("%s: Reserving blocks for memory image\n", imageFile);
                zmem = malloc(SEG_SIZE);
                bzero(zmem, SEG_SIZE);
                lseek(fd, off, SEEK_SET);
@@ -487,6 +488,8 @@ init_kern_memory(void)
        KvaStart = (vm_offset_t)base;
        KvaSize = KERNEL_KVA_SIZE;
        KvaEnd = KvaStart + KvaSize;
+
+       /* cannot use kprintf yet */
        printf("KVM mapped at %p-%p\n", (void *)KvaStart, (void *)KvaEnd);
 
        /* MAP_FILE? */