Moving 'booting' to a header
authorBarret Rhoden <brho@cs.berkeley.edu>
Sun, 6 Nov 2016 16:17:56 +0000 (11:17 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 29 Nov 2016 16:27:40 +0000 (11:27 -0500)
Instead of externing it in random places.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/init.h
kern/src/init.c
kern/src/mm.c
kern/src/printf.c
kern/src/process.c

index f2b827c..789e724 100644 (file)
@@ -5,6 +5,8 @@
 
 #pragma once
 
+extern bool booting;
+
 /**
  * @brief Fetches a given boot commond line parameter.
  *
index f5be4f8..9dc2f90 100644 (file)
@@ -56,7 +56,7 @@
                }                                                                               \
        } while (0)
 
-int booting = 1;
+bool booting = TRUE;
 struct proc_global_info __proc_global_info;
 struct sysinfo_t sysinfo;
 static char boot_cmdline[MAX_BOOT_CMDLINE_SIZE];
@@ -179,7 +179,7 @@ static void __kernel_init_part_deux(void *arg)
        eth_audio_init();
 #endif /* CONFIG_ETH_AUDIO */
        get_coreboot_info(&sysinfo);
-       booting = 0;
+       booting = FALSE;
 
 #ifdef CONFIG_RUN_INIT_SCRIPT
        if (run_init_script()) {
index 23a6988..0bef158 100644 (file)
@@ -26,6 +26,7 @@
 #include <smp.h>
 #include <profiler.h>
 #include <umem.h>
+#include <init.h>
 
 struct kmem_cache *vmr_kcache;
 
@@ -1200,7 +1201,6 @@ int map_vmap_segment(uintptr_t vaddr, uintptr_t paddr, unsigned long num_pages,
         * (like for processes).  To do so, we'll need to insert into every pgdir,
         * and send tlb shootdowns to those that are active (which we don't track
         * yet). */
-       extern int booting;
        assert(booting);
 
        /* TODO: (MM) you should lock on boot pgdir modifications.  A vm region lock
index ecf3560..6e54a04 100644 (file)
@@ -9,6 +9,7 @@
 #include <stdarg.h>
 #include <smp.h>
 #include <kprof.h>
+#include <init.h>
 
 spinlock_t output_lock = SPINLOCK_INITIALIZER_IRQSAVE;
 
@@ -43,7 +44,6 @@ void buffered_putch(int ch, int **cnt)
 int vcprintf(const char *fmt, va_list ap)
 {
        struct per_cpu_info *pcpui;
-       extern int booting;
        int cnt = 0;
        int *cntp = &cnt;
        volatile int i;
index 221ab93..09f9682 100644 (file)
@@ -25,6 +25,7 @@
 #include <arsc_server.h>
 #include <kmalloc.h>
 #include <ros/procinfo.h>
+#include <init.h>
 
 struct kmem_cache *proc_cache;
 
@@ -2442,7 +2443,6 @@ void check_my_owner(void)
                spin_unlock(&p->proc_lock);
        }
        assert(!irq_is_enabled());
-       extern int booting;
        if (!booting && !pcpui->owning_proc) {
                spin_lock(&pid_hash_lock);
                hash_for_each(pid_hash, shazbot, NULL);