mirror of
https://github.com/FDOS/kernel.git
synced 2025-07-23 05:44:41 +02:00
debug macro adjustments to separate what is printed in DEBUG mode
This commit is contained in:
parent
7fd6a6b71b
commit
654e7b7a6c
11
hdr/debug.h
11
hdr/debug.h
@ -76,7 +76,7 @@ VOID panic(BYTE * s);
|
|||||||
/* #define DEBUGIRQ */
|
/* #define DEBUGIRQ */
|
||||||
|
|
||||||
/* show output related to moving kernel into HMA */
|
/* show output related to moving kernel into HMA */
|
||||||
#ifdef DEBUG
|
#ifdef DEBUGHMA
|
||||||
#define HMAInitPrintf(x) DebugPrintf(x)
|
#define HMAInitPrintf(x) DebugPrintf(x)
|
||||||
#else
|
#else
|
||||||
#define HMAInitPrintf(x)
|
#define HMAInitPrintf(x)
|
||||||
@ -128,14 +128,23 @@ VOID panic(BYTE * s);
|
|||||||
|
|
||||||
/* debug truename */
|
/* debug truename */
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
#ifndef DEBUG_TRUENAME
|
||||||
#define DEBUG_TRUENAME
|
#define DEBUG_TRUENAME
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#ifdef DEBUG_TRUENAME
|
#ifdef DEBUG_TRUENAME
|
||||||
#define tn_printf(x) DebugPrintf(x)
|
#define tn_printf(x) DebugPrintf(x)
|
||||||
#else
|
#else
|
||||||
#define tn_printf(x)
|
#define tn_printf(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* debug task/process creation */
|
||||||
|
#ifdef DEBUGTASK
|
||||||
|
#define ProcDbgPrintf(x) DebugPrintf(x)
|
||||||
|
#else
|
||||||
|
#define ProcDbgPrintf(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* ensure printf is prototyped */
|
/* ensure printf is prototyped */
|
||||||
#if defined(DEBUG) || defined(DEBUGIRQ) || defined(DEBUGCFG) || \
|
#if defined(DEBUG) || defined(DEBUGIRQ) || defined(DEBUGCFG) || \
|
||||||
|
@ -30,13 +30,9 @@
|
|||||||
#include "portab.h"
|
#include "portab.h"
|
||||||
#include "init-mod.h"
|
#include "init-mod.h"
|
||||||
#include "dyndata.h"
|
#include "dyndata.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG
|
|
||||||
#define DebugPrintf(x) printf x
|
|
||||||
#else
|
|
||||||
#define DebugPrintf(x)
|
|
||||||
#endif
|
|
||||||
#define para2far(seg) ((mcb FAR *)MK_FP((seg), 0))
|
#define para2far(seg) ((mcb FAR *)MK_FP((seg), 0))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -338,7 +334,7 @@ void PreConfig(void)
|
|||||||
{
|
{
|
||||||
/* Initialize the base memory pointers */
|
/* Initialize the base memory pointers */
|
||||||
|
|
||||||
DebugPrintf(("SDA located at 0x%p\n", internal_data));
|
CfgDbgPrintf(("SDA located at 0x%p\n", internal_data));
|
||||||
/* Begin by initializing our system buffers */
|
/* Begin by initializing our system buffers */
|
||||||
/* DebugPrintf(("Preliminary %d buffers allocated at 0x%p\n", Config.cfgBuffers, buffers));*/
|
/* DebugPrintf(("Preliminary %d buffers allocated at 0x%p\n", Config.cfgBuffers, buffers));*/
|
||||||
|
|
||||||
@ -352,14 +348,14 @@ void PreConfig(void)
|
|||||||
|
|
||||||
LoL->CDSp = KernelAlloc(sizeof(struct cds) * LoL->lastdrive, 'L', 0);
|
LoL->CDSp = KernelAlloc(sizeof(struct cds) * LoL->lastdrive, 'L', 0);
|
||||||
|
|
||||||
/* DebugPrintf((" FCB table 0x%p\n",LoL->FCBp));*/
|
/* CfgDbgPrintf((" FCB table 0x%p\n",LoL->FCBp));*/
|
||||||
DebugPrintf((" sft table 0x%p\n", LoL->sfthead));
|
CfgDbgPrintf((" sft table 0x%p\n", LoL->sfthead));
|
||||||
DebugPrintf((" CDS table 0x%p\n", LoL->CDSp));
|
CfgDbgPrintf((" CDS table 0x%p\n", LoL->CDSp));
|
||||||
DebugPrintf((" DPB table 0x%p\n", LoL->DPBp));
|
CfgDbgPrintf((" DPB table 0x%p\n", LoL->DPBp));
|
||||||
|
|
||||||
/* Done. Now initialize the MCB structure */
|
/* Done. Now initialize the MCB structure */
|
||||||
/* This next line is 8086 and 80x86 real mode specific */
|
/* This next line is 8086 and 80x86 real mode specific */
|
||||||
DebugPrintf(("Preliminary allocation completed: top at %p\n", lpTop));
|
CfgDbgPrintf(("Preliminary allocation completed: top at %p\n", lpTop));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do second pass initialization: near allocation and MCBs */
|
/* Do second pass initialization: near allocation and MCBs */
|
||||||
@ -425,7 +421,7 @@ void PostConfig(void)
|
|||||||
if (LoL->lastdrive < LoL->nblkdev)
|
if (LoL->lastdrive < LoL->nblkdev)
|
||||||
LoL->lastdrive = LoL->nblkdev;
|
LoL->lastdrive = LoL->nblkdev;
|
||||||
|
|
||||||
DebugPrintf(("starting FAR allocations at %x\n", base_seg));
|
CfgDbgPrintf(("starting FAR allocations at %x\n", base_seg));
|
||||||
|
|
||||||
/* Begin by initializing our system buffers */
|
/* Begin by initializing our system buffers */
|
||||||
/* dma_scratch = (BYTE FAR *) KernelAllocDma(BUFFERSIZE); */
|
/* dma_scratch = (BYTE FAR *) KernelAllocDma(BUFFERSIZE); */
|
||||||
@ -446,10 +442,10 @@ void PostConfig(void)
|
|||||||
|
|
||||||
LoL->CDSp = KernelAlloc(sizeof(struct cds) * LoL->lastdrive, 'L', Config.cfgLastdriveHigh);
|
LoL->CDSp = KernelAlloc(sizeof(struct cds) * LoL->lastdrive, 'L', Config.cfgLastdriveHigh);
|
||||||
|
|
||||||
/* DebugPrintf((" FCB table 0x%p\n",LoL->FCBp));*/
|
/* CfgDbgPrintf((" FCB table 0x%p\n",LoL->FCBp));*/
|
||||||
DebugPrintf((" sft table 0x%p\n", LoL->sfthead->sftt_next));
|
CfgDbgPrintf((" sft table 0x%p\n", LoL->sfthead->sftt_next));
|
||||||
DebugPrintf((" CDS table 0x%p\n", LoL->CDSp));
|
CfgDbgPrintf((" CDS table 0x%p\n", LoL->CDSp));
|
||||||
DebugPrintf((" DPB table 0x%p\n", LoL->DPBp));
|
CfgDbgPrintf((" DPB table 0x%p\n", LoL->DPBp));
|
||||||
|
|
||||||
if (Config.cfgStacks)
|
if (Config.cfgStacks)
|
||||||
{
|
{
|
||||||
@ -458,9 +454,9 @@ void PostConfig(void)
|
|||||||
Config.cfgStacksHigh);
|
Config.cfgStacksHigh);
|
||||||
init_stacks(stackBase, Config.cfgStacks, Config.cfgStackSize);
|
init_stacks(stackBase, Config.cfgStacks, Config.cfgStackSize);
|
||||||
|
|
||||||
DebugPrintf(("Stacks allocated at %p\n", stackBase));
|
CfgDbgPrintf(("Stacks allocated at %p\n", stackBase));
|
||||||
}
|
}
|
||||||
DebugPrintf(("Allocation completed: top at 0x%x\n", base_seg));
|
CfgDbgPrintf(("Allocation completed: top at 0x%x\n", base_seg));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -483,12 +479,12 @@ VOID configDone(VOID)
|
|||||||
p->m_name[1] = 'C';
|
p->m_name[1] = 'C';
|
||||||
p->m_psp = 8;
|
p->m_psp = 8;
|
||||||
|
|
||||||
DebugPrintf(("HMA not available, moving text to %x\n", kernel_seg));
|
CfgDbgPrintf(("HMA not available, moving text to %x\n", kernel_seg));
|
||||||
MoveKernel(kernel_seg);
|
MoveKernel(kernel_seg);
|
||||||
|
|
||||||
kernel_seg += hma_paras + 1;
|
kernel_seg += hma_paras + 1;
|
||||||
|
|
||||||
DebugPrintf(("kernel is low, start alloc at %x", kernel_seg));
|
CfgDbgPrintf(("kernel is low, start alloc at %x\n", kernel_seg));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The standard handles should be reopened here, because
|
/* The standard handles should be reopened here, because
|
||||||
@ -590,7 +586,7 @@ STATIC void umb_init(void)
|
|||||||
}
|
}
|
||||||
para2far(umb_max)->m_size++;
|
para2far(umb_max)->m_size++;
|
||||||
para2far(umb_max)->m_type = MCB_LAST;
|
para2far(umb_max)->m_type = MCB_LAST;
|
||||||
DebugPrintf(("UMB Allocation completed: start at 0x%x\n", umb_base_seg));
|
CfgDbgPrintf(("UMB Allocation completed: start at 0x%x\n", umb_base_seg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -830,11 +826,11 @@ VOID DoConfig(int nPass)
|
|||||||
if (mdsk != NULL)
|
if (mdsk != NULL)
|
||||||
{
|
{
|
||||||
printf("MEMDISK version %u.%02u (%lu sectors)\n", mdsk->version, mdsk->version_minor, mdsk->size);
|
printf("MEMDISK version %u.%02u (%lu sectors)\n", mdsk->version, mdsk->version_minor, mdsk->size);
|
||||||
DebugPrintf(("MEMDISK args:{%S}\n", mdsk->cmdline));
|
CfgDbgPrintf(("MEMDISK args:{%S}\n", mdsk->cmdline));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DebugPrintf(("MEMDISK not detected!\n"));
|
CfgDbgPrintf(("MEMDISK not detected!\n"));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -871,10 +867,10 @@ VOID DoConfig(int nPass)
|
|||||||
for (ii = 0; configcommands[ii].pointer != NULL; ++ii) {
|
for (ii = 0; configcommands[ii].pointer != NULL; ++ii) {
|
||||||
if (**configcommands[ii].pointer != '\0') {
|
if (**configcommands[ii].pointer != '\0') {
|
||||||
if ((nFileDesc = open(*configcommands[ii].pointer, 0)) >= 0) {
|
if ((nFileDesc = open(*configcommands[ii].pointer, 0)) >= 0) {
|
||||||
DebugPrintf(("Reading \"%s\"...\n", *configcommands[ii].pointer));
|
CfgDbgPrintf(("Reading \"%s\"...\n", *configcommands[ii].pointer));
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
DebugPrintf(("\"%s\" not found\n", *configcommands[ii].pointer));
|
CfgDbgPrintf(("\"%s\" not found\n", *configcommands[ii].pointer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -955,7 +951,7 @@ VOID DoConfig(int nPass)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
DebugPrintf(("CONFIG=[%s]\n", szLine));
|
CfgDbgPrintf(("CONFIG=[%s]\n", szLine));
|
||||||
|
|
||||||
/* Skip leading white space and get verb. */
|
/* Skip leading white space and get verb. */
|
||||||
pLine = scan(szLine, szBuf, 1);
|
pLine = scan(szLine, szBuf, 1);
|
||||||
@ -1828,7 +1824,7 @@ STATIC BOOL LoadDevice(BYTE * pLine, char FAR *top, COUNT mode)
|
|||||||
/* The device driver is paragraph aligned. */
|
/* The device driver is paragraph aligned. */
|
||||||
eb.load.reloc = eb.load.load_seg = base;
|
eb.load.reloc = eb.load.load_seg = base;
|
||||||
|
|
||||||
DebugPrintf(("Loading device driver %s at segment %04x\n", szBuf, base));
|
CfgDbgPrintf(("Loading device driver %s at segment %04x\n", szBuf, base));
|
||||||
|
|
||||||
if ((result = init_DosExec(3, &eb, szBuf)) != SUCCESS)
|
if ((result = init_DosExec(3, &eb, szBuf)) != SUCCESS)
|
||||||
{
|
{
|
||||||
@ -1923,7 +1919,7 @@ void FAR * KernelAllocPara(size_t nPara, char type, char *name, int mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* create the special DOS data MCB if it doesn't exist yet */
|
/* create the special DOS data MCB if it doesn't exist yet */
|
||||||
DebugPrintf(("kernelallocpara: %x %x %x %c %d\n", start, base, nPara, type, mode));
|
CfgDbgPrintf(("kernelallocpara: %x %x %x %c %d\n", start, base, nPara, type, mode));
|
||||||
|
|
||||||
if (base == start)
|
if (base == start)
|
||||||
{
|
{
|
||||||
@ -2178,8 +2174,8 @@ STATIC void config_init_buffers(int wantedbuffers)
|
|||||||
LoL->deblock_buf = DiskTransferBuffer;
|
LoL->deblock_buf = DiskTransferBuffer;
|
||||||
LoL->firstbuf = pbuffer;
|
LoL->firstbuf = pbuffer;
|
||||||
|
|
||||||
DebugPrintf(("init_buffers (size %u) at", sizeof(struct buffer)));
|
CfgDbgPrintf(("init_buffers (size %u) at", sizeof(struct buffer)));
|
||||||
DebugPrintf((" (%p)", LoL->firstbuf));
|
CfgDbgPrintf((" (%p)", LoL->firstbuf));
|
||||||
|
|
||||||
buffers--;
|
buffers--;
|
||||||
pbuffer->b_prev = FP_OFF(pbuffer + buffers);
|
pbuffer->b_prev = FP_OFF(pbuffer + buffers);
|
||||||
@ -2201,7 +2197,7 @@ STATIC void config_init_buffers(int wantedbuffers)
|
|||||||
but not if the BUFFERS count is negative ;-)
|
but not if the BUFFERS count is negative ;-)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DebugPrintf((" done\n"));
|
CfgDbgPrintf((" done\n"));
|
||||||
|
|
||||||
if (FP_SEG(pbuffer) == 0xffff)
|
if (FP_SEG(pbuffer) == 0xffff)
|
||||||
{
|
{
|
||||||
|
@ -144,7 +144,7 @@ STATIC COUNT ChildEnv(exec_blk * exp, UWORD * pChildEnvSeg, char far * pathname)
|
|||||||
/* create a new environment for the process */
|
/* create a new environment for the process */
|
||||||
/* copy parent's environment if exec.env_seg == 0 */
|
/* copy parent's environment if exec.env_seg == 0 */
|
||||||
|
|
||||||
DebugPrintf(("ChildEnv: environment block is %u, using %s\n", exp->exec.env_seg, (exp->exec.env_seg)?"exec_blk":"parent_blk"));
|
ProcDbgPrintf(("ChildEnv: environment block is %u, using %s\n", exp->exec.env_seg, (exp->exec.env_seg)?"exec_blk":"parent_blk"));
|
||||||
pSrc = exp->exec.env_seg ?
|
pSrc = exp->exec.env_seg ?
|
||||||
MK_FP(exp->exec.env_seg, 0) : MK_FP(ppsp->ps_environ, 0);
|
MK_FP(exp->exec.env_seg, 0) : MK_FP(ppsp->ps_environ, 0);
|
||||||
|
|
||||||
@ -181,13 +181,13 @@ STATIC COUNT ChildEnv(exec_blk * exp, UWORD * pChildEnvSeg, char far * pathname)
|
|||||||
Note: we must allocate at least 1 paragraph (16 bytes) for empty environment
|
Note: we must allocate at least 1 paragraph (16 bytes) for empty environment
|
||||||
+ ENV_KEEPFREE for argv[0] (program name)
|
+ ENV_KEEPFREE for argv[0] (program name)
|
||||||
*/
|
*/
|
||||||
DebugPrintf(("PriPathName is %lu bytes\n", sizeof(PriPathName)));
|
/* ProcDbgPrintf(("PriPathName is %lu bytes\n", sizeof(PriPathName))); */
|
||||||
assert(sizeof(PriPathName)+3==ENV_KEEPFREE);
|
assert(sizeof(PriPathName)+3==ENV_KEEPFREE);
|
||||||
if ((RetCode = DosMemAlloc((nEnvSize + ENV_KEEPFREE + 15)/16,
|
if ((RetCode = DosMemAlloc((nEnvSize + ENV_KEEPFREE + 15)/16,
|
||||||
mem_access_mode, pChildEnvSeg,
|
mem_access_mode, pChildEnvSeg,
|
||||||
NULL /*(UWORD FAR *) MaxEnvSize ska */ )) < 0)
|
NULL /*(UWORD FAR *) MaxEnvSize ska */ )) < 0)
|
||||||
{
|
{
|
||||||
DebugPrintf(("Error alloc Env space\n"));
|
ProcDbgPrintf(("Error alloc Env space\n"));
|
||||||
return RetCode;
|
return RetCode;
|
||||||
}
|
}
|
||||||
pDest = MK_FP(*pChildEnvSeg + 1, 0); /* skip past MCB and set pDest to start of env block */
|
pDest = MK_FP(*pChildEnvSeg + 1, 0); /* skip past MCB and set pDest to start of env block */
|
||||||
@ -211,10 +211,10 @@ STATIC COUNT ChildEnv(exec_blk * exp, UWORD * pChildEnvSeg, char far * pathname)
|
|||||||
/* copy complete pathname */
|
/* copy complete pathname */
|
||||||
if ((RetCode = truename(pathname, PriPathName, CDS_MODE_SKIP_PHYSICAL)) < SUCCESS)
|
if ((RetCode = truename(pathname, PriPathName, CDS_MODE_SKIP_PHYSICAL)) < SUCCESS)
|
||||||
{
|
{
|
||||||
DebugPrintf(("Failed to get truename for env argv0\n"));
|
ProcDbgPrintf(("Failed to get truename for env argv0\n"));
|
||||||
return RetCode;
|
return RetCode;
|
||||||
}
|
}
|
||||||
DebugPrintf(("ChildEnv for [%s]\n", PriPathName));
|
ProcDbgPrintf(("ChildEnv for [%s]\n", PriPathName));
|
||||||
fstrcpy(pDest, PriPathName);
|
fstrcpy(pDest, PriPathName);
|
||||||
|
|
||||||
/* Theoretically one could either:
|
/* Theoretically one could either:
|
||||||
@ -487,7 +487,7 @@ COUNT DosComLoader(BYTE FAR * namep, exec_blk * exp, COUNT mode, COUNT fd)
|
|||||||
|
|
||||||
rc = ChildEnv(exp, &env, namep);
|
rc = ChildEnv(exp, &env, namep);
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
if (rc != SUCCESS) DebugPrintf(("Failed to create ChildEnv\n"));
|
if (rc != SUCCESS) { ProcDbgPrintf(("Failed to create ChildEnv\n")); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* COMFILES will always be loaded in largest area. is that true TE */
|
/* COMFILES will always be loaded in largest area. is that true TE */
|
||||||
@ -519,9 +519,7 @@ COUNT DosComLoader(BYTE FAR * namep, exec_blk * exp, COUNT mode, COUNT fd)
|
|||||||
mem = exp->load.load_seg;
|
mem = exp->load.load_seg;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
ProcDbgPrintf(("DosComLoader. Loading '%S' at %04x\n", namep, mem));
|
||||||
printf("DosComLoader. Loading '%S' at %04x\n", namep, mem);
|
|
||||||
#endif
|
|
||||||
/* Now load the executable */
|
/* Now load the executable */
|
||||||
{
|
{
|
||||||
BYTE FAR *sp;
|
BYTE FAR *sp;
|
||||||
@ -670,7 +668,7 @@ COUNT DosExeLoader(BYTE FAR * namep, exec_blk * exp, COUNT mode, COUNT fd)
|
|||||||
|
|
||||||
rc = ChildEnv(exp, &env, namep);
|
rc = ChildEnv(exp, &env, namep);
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
if (rc != SUCCESS) DebugPrintf(("Failed to create ChildEnv\n"));
|
if (rc != SUCCESS) { ProcDbgPrintf(("Failed to create ChildEnv\n")); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (rc == SUCCESS)
|
if (rc == SUCCESS)
|
||||||
@ -708,9 +706,7 @@ COUNT DosExeLoader(BYTE FAR * namep, exec_blk * exp, COUNT mode, COUNT fd)
|
|||||||
|
|
||||||
mode &= 0x7f; /* forget about high loading from now on */
|
mode &= 0x7f; /* forget about high loading from now on */
|
||||||
|
|
||||||
#ifdef DEBUG
|
ProcDbgPrintf(("DosExeLoader. Loading '%S' at %04x\n", namep, mem));
|
||||||
printf("DosExeLoader. Loading '%S' at %04x\n", namep, mem);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* memory found large enough - continue processing */
|
/* memory found large enough - continue processing */
|
||||||
++mem;
|
++mem;
|
||||||
@ -909,7 +905,7 @@ VOID ASMCFUNC P_0(struct config FAR *Config)
|
|||||||
exb.exec.cmd_line = (CommandTail *)(tailp + 1);
|
exb.exec.cmd_line = (CommandTail *)(tailp + 1);
|
||||||
exb.exec.cmd_line->ctCount = endp - tailp - 2;
|
exb.exec.cmd_line->ctCount = endp - tailp - 2;
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("Process 0 starting: %s%s\n\n", Shell, tailp + 2);
|
DebugPrintf(("Process 0 starting: %s%s\n\n", Shell, tailp + 2));
|
||||||
#endif
|
#endif
|
||||||
res_DosExec(mode, &exb, Shell);
|
res_DosExec(mode, &exb, Shell);
|
||||||
put_string("Bad or missing Command Interpreter: "); /* failure _or_ exit */
|
put_string("Bad or missing Command Interpreter: "); /* failure _or_ exit */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user