projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add the getSystemPath function that returns a list of string containig the path
[bertos.git]
/
bertos
/
kern
/
monitor.c
diff --git
a/bertos/kern/monitor.c
b/bertos/kern/monitor.c
index 9630d3b392669fda4ad778578708d5221e3f96d5..26e2025b514dab010ec961ae298d0567a3892f5e 100644
(file)
--- a/
bertos/kern/monitor.c
+++ b/
bertos/kern/monitor.c
@@
-78,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;
@@
-101,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;
}
@@
-117,7
+116,7
@@
void monitor_report(void)
Node *node;
int i;
Node *node;
int i;
- kprintf("%-
8s%-8s%-8s%-8s
%s\n", "TCB", "SPbase", "SPsize", "SPfree", "Name");
+ kprintf("%-
9s%-9s%-9s%-9s
%s\n", "TCB", "SPbase", "SPsize", "SPfree", "Name");
for (i = 0; i < 56; i++)
kputchar('-');
kputchar('\n');
for (i = 0; i < 56; i++)
kputchar('-');
kputchar('\n');
@@
-127,7
+126,7
@@
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("%-
8p%-8p%-8zu%-8zu
%s\n",
+ kprintf("%-
9p%-9p%-9zu%-9zu
%s\n",
p, p->stack_base, p->stack_size, free, p->monitor.name);
}
proc_permit();
p, p->stack_base, p->stack_size, free, p->monitor.name);
}
proc_permit();
@@
-157,10
+156,10
@@
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);
+ struct Process *p = proc_new(monitor, NULL, stacksize, stack);
+ proc_setPri(p, -10);
}
#endif /* CONFIG_KERN_MONITOR */
}
#endif /* CONFIG_KERN_MONITOR */