Files
openbios/kernel/stack.c
Blue Swirl d6aac5ffe2 Reworked version of Forth Source debugger (Mark Cave-Ayland)
This patch implements the following Forth words:

   debug <xt> - Mark word for debugging
   debug-off  - Unmark all words for debugging
   resume     - Return from subordinate Forth interpreter

The source debugger also implements the following commands when it has
been activated:

   Up - Unmark current word for debugging, mark parent and continue
   Down - Mark next word for debugging
   Trace - Continue execution until end of word displaying
           debug information
   Rstack - Display contents of the Rstack
   Forth - Launch subordinate Forth interpreter

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@611 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-15 21:03:51 +00:00

47 lines
974 B
C

/* tag: defines the stacks, program counter and ways to access those
*
* Copyright (C) 2003 Patrick Mauritz, Stefan Reinauer
*
* See the file "COPYING" for further information about
* the copyright and warranty status of this work.
*/
#include "openbios/config.h"
#include "openbios/stack.h"
#include "cross.h"
#define dstacksize 512
int dstackcnt = 0;
cell dstack[dstacksize];
#define rstacksize 512
int rstackcnt = 0;
cell rstack[rstacksize];
/* Rstack value saved before entering forth interpreter in debugger */
int dbgrstackcnt = 0;
#if defined(CONFIG_DEBUG_DSTACK) || defined(FCOMPILER)
void printdstack(void)
{
int i;
printk("dstack:");
for (i = 0; i <= dstackcnt; i++) {
printk(" 0x%" FMT_CELL_x , dstack[i]);
}
printk("\n");
}
#endif
#if defined(CONFIG_DEBUG_RSTACK) || defined(FCOMPILER)
void printrstack(void)
{
int i;
printk("rstack:");
for (i = 0; i <= rstackcnt; i++) {
printk(" 0x%" FMT_CELL_x , rstack[i]);
}
printk("\n");
}
#endif