projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rename cpuXXX_t to cpu_XXX_t
[bertos.git]
/
bertos
/
kern
/
monitor.c
diff --git
a/bertos/kern/monitor.c
b/bertos/kern/monitor.c
index 9dcc38b0b666543e116f75909f7d4a0817b909dd..5759c5334b2418c437bebbd21a8c2479cc7c64e7 100644
(file)
--- a/
bertos/kern/monitor.c
+++ b/
bertos/kern/monitor.c
@@
-42,9
+42,10
@@
#if CONFIG_KERN_MONITOR
#include "proc_p.h"
#if CONFIG_KERN_MONITOR
#include "proc_p.h"
-#include <
mware
/list.h>
+#include <
struct
/list.h>
#include <drv/timer.h>
#include <kern/proc.h>
#include <drv/timer.h>
#include <kern/proc.h>
+#include <cpu/frame.h> /* CPU_STACK_GROWS_UPWARD */
#include <cfg/macros.h>
#include <cfg/debug.h>
#include <cfg/macros.h>
#include <cfg/debug.h>
@@
-77,21
+78,23
@@
void monitor_rename(Process *proc, const char *name)
proc->monitor.name = name;
}
proc->monitor.name = name;
}
-size_t monitor_checkStack(cpustack_t *stack_base, size_t stack_size)
+size_t monitor_checkStack(cpu
_
stack_t *stack_base, size_t stack_size)
{
{
- cpustack_t *beg;
- cpustack_t *cur;
- cpustack_t *end;
+ cpu_stack_t *beg;
+ cpu_stack_t *cur;
+ cpu_stack_t *end;
+ int inc;
size_t sp_free;
size_t sp_free;
+
beg = stack_base;
beg = stack_base;
- end = stack_base + stack_size / sizeof(cpustack_t) - 1;
+ end = stack_base + stack_size / sizeof(cpu_stack_t);
+ inc = +1;
if (CPU_STACK_GROWS_UPWARD)
{
if (CPU_STACK_GROWS_UPWARD)
{
- cur = beg;
- beg = end;
- end = cur;
+ SWAP(beg, end);
+ inc = -1;
}
cur = beg;
}
cur = beg;
@@
-100,13
+103,10
@@
size_t monitor_checkStack(cpustack_t *stack_base, size_t stack_size)
if (*cur != CONFIG_KERN_STACKFILLCODE)
break;
if (*cur != CONFIG_KERN_STACKFILLCODE)
break;
- if (CPU_STACK_GROWS_UPWARD)
- cur--;
- else
- cur++;
+ cur += inc;
}
}
- sp_free = ABS(cur - beg) * sizeof(cpustack_t);
+ sp_free = ABS(cur - beg) * sizeof(cpu
_
stack_t);
return sp_free;
}
return sp_free;
}
@@
-116,8
+116,8
@@
void monitor_report(void)
Node *node;
int i;
Node *node;
int i;
- kprintf("%-
24s%-8s%-8s%-8s%-8s\n", "Process name", "TCB", "SPbase", "SPsize", "SPfre
e");
- for (i = 0; i
<
56; i++)
+ kprintf("%-
9s%-9s%-9s%-9s%s\n", "TCB", "SPbase", "SPsize", "SPfree", "Nam
e");
+ for (i = 0; i
<
56; i++)
kputchar('-');
kputchar('\n');
kputchar('-');
kputchar('\n');
@@
-126,8
+126,8
@@
void monitor_report(void)
{
Process *p = containerof(node, Process, monitor.link);
size_t free = monitor_checkStack(p->stack_base, p->stack_size);
{
Process *p = containerof(node, Process, monitor.link);
size_t free = monitor_checkStack(p->stack_base, p->stack_size);
- kprintf("%-
24s%-8p%-8p%-8lu%-8lu
\n",
- p
->monitor.name, p, p->stack_base, p->stack_size, fre
e);
+ kprintf("%-
9p%-9p%-9zu%-9zu%s
\n",
+ p
, p->stack_base, p->stack_size, free, p->monitor.nam
e);
}
proc_permit();
}
}
proc_permit();
}
@@
-135,7
+135,6
@@
void monitor_report(void)
static void NORETURN monitor(void)
{
static void NORETURN monitor(void)
{
- Process *p;
Node *node;
for (;;)
Node *node;
for (;;)
@@
-158,7
+157,7
@@
static void NORETURN monitor(void)
}
}
-void monitor_start(size_t stacksize, cpustack_t *stack)
+void monitor_start(size_t stacksize, cpu
_
stack_t *stack)
{
proc_new(monitor, NULL, stacksize, stack);
}
{
proc_new(monitor, NULL, stacksize, stack);
}