use the verbose=2 boot monitor setting to get extensive output for debugging
This commit is contained in:
@@ -82,4 +82,11 @@
|
||||
#define BOOT_VERBOSE(x)
|
||||
#endif
|
||||
|
||||
#ifdef _SYSTEM
|
||||
#define DEBUG_PRINT(params, level) do { \
|
||||
if (verboseboot >= (level)) kprintf params; } while (0)
|
||||
#define DEBUGBASIC(params) DEBUG_PRINT(params, VERBOSEBOOT_BASIC)
|
||||
#define DEBUGMAX(params) DEBUG_PRINT(params, VERBOSEBOOT_MAX)
|
||||
#endif
|
||||
|
||||
#endif /* DEBUG_H */
|
||||
|
||||
@@ -47,6 +47,7 @@ EXTERN int minix_panicing;
|
||||
EXTERN int locklevel;
|
||||
EXTERN char fpu_presence;
|
||||
EXTERN char osfxsr_feature; /* FXSAVE/FXRSTOR instructions support (SSEx) */
|
||||
EXTERN int verboseboot; /* verbose boot, init'ed in cstart */
|
||||
#define MAGICTEST 0xC0FFEE23
|
||||
EXTERN u32_t magictest; /* global magic number */
|
||||
|
||||
|
||||
@@ -40,6 +40,8 @@ PUBLIC void main()
|
||||
/* Global value to test segment sanity. */
|
||||
magictest = MAGICTEST;
|
||||
|
||||
DEBUGMAX(("main()\n"));
|
||||
|
||||
/* Clear the process table. Anounce each slot as empty and set up mappings
|
||||
* for proc_addr() and proc_nr() macros. Do the same for the table with
|
||||
* privilege structures for the system processes.
|
||||
@@ -75,6 +77,7 @@ PUBLIC void main()
|
||||
int ipc_to_m, kcalls;
|
||||
|
||||
ip = &image[i]; /* process' attributes */
|
||||
DEBUGMAX(("initializing %s... ", ip->proc_name));
|
||||
rp = proc_addr(ip->proc_nr); /* get process pointer */
|
||||
ip->endpoint = rp->p_endpoint; /* ipc endpoint */
|
||||
rp->p_max_priority = ip->priority; /* max scheduling priority */
|
||||
@@ -203,15 +206,22 @@ PUBLIC void main()
|
||||
if (rp->p_nr < 0) RTS_SET(rp, RTS_PROC_STOP);
|
||||
RTS_UNSET(rp, RTS_SLOT_FREE); /* remove RTS_SLOT_FREE and schedule */
|
||||
alloc_segments(rp);
|
||||
DEBUGMAX(("done\n"));
|
||||
}
|
||||
|
||||
/* Architecture-dependent initialization. */
|
||||
DEBUGMAX(("arch_init()... "));
|
||||
arch_init();
|
||||
DEBUGMAX(("done\n"));
|
||||
|
||||
/* System and processes initialization */
|
||||
DEBUGMAX(("system_init()... "));
|
||||
system_init();
|
||||
DEBUGMAX(("done\n"));
|
||||
/* Initialize timers handling */
|
||||
DEBUGMAX(("clock_init()... "));
|
||||
clock_init();
|
||||
DEBUGMAX(("done\n"));
|
||||
|
||||
#if SPROFILE
|
||||
sprofiling = 0; /* we're not profiling until instructed to */
|
||||
@@ -251,7 +261,9 @@ PUBLIC void main()
|
||||
FIXME("PROC check enabled");
|
||||
#endif
|
||||
|
||||
DEBUGMAX(("cycles_accounting_init()... "));
|
||||
cycles_accounting_init();
|
||||
DEBUGMAX(("done\n"));
|
||||
|
||||
restart();
|
||||
NOT_REACHABLE;
|
||||
|
||||
@@ -39,6 +39,12 @@ U16_t parmoff, parmsize; /* boot parameters offset and length */
|
||||
/* Copy the boot parameters to the local buffer. */
|
||||
arch_get_params(params_buffer, sizeof(params_buffer));
|
||||
|
||||
/* determine verbosity */
|
||||
if ((value = get_value(params_buffer, VERBOSEBOOTVARNAME)))
|
||||
verboseboot = atoi(value);
|
||||
|
||||
DEBUGMAX(("cstart\n"));
|
||||
|
||||
/* Record miscellaneous information for user-space servers. */
|
||||
kinfo.nr_procs = NR_PROCS;
|
||||
kinfo.nr_tasks = NR_TASKS;
|
||||
@@ -97,6 +103,7 @@ U16_t parmoff, parmsize; /* boot parameters offset and length */
|
||||
* reload selectors and call main().
|
||||
*/
|
||||
|
||||
DEBUGMAX(("intr_init(%d, 0)\n", INTS_MINIX));
|
||||
intr_init(INTS_MINIX, 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user