X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=emul%2Femul.cpp;h=9be4ed23071f03c35451683e581217897d507aff;hb=6b2099c56772961182353617a8d4b839f6a1a6db;hp=b6cf30fa4e6d9773549186fe67054c1770e2adf6;hpb=20d3c79024c12bb366270c0c1fdda53c4c55e734;p=bertos.git diff --git a/emul/emul.cpp b/emul/emul.cpp index b6cf30fa..9be4ed23 100755 --- a/emul/emul.cpp +++ b/emul/emul.cpp @@ -15,6 +15,9 @@ /*#* *#* $Log$ + *#* Revision 1.4 2006/02/24 01:35:40 bernie + *#* Update for new emulator. + *#* *#* Revision 1.3 2006/02/20 02:00:40 bernie *#* Port to Qt 4.1. *#* @@ -30,6 +33,12 @@ #include "emulwin.h" #include +#include +#if CONFIG_KERNEL + #include +#endif + + #include // std::exit() #if _QT < 4 @@ -42,6 +51,17 @@ /// The global emulator instance. Emulator *emul; +#if CONFIG_KERNEL + #include + + /// List of process stacks + List StackFreeList; + + // HACK: Reserve 64KB of stack space for kernel processes + const int NPROC = 8; + int stacks[NPROC][(64 * 1024) / sizeof(int)]; +#endif + Emulator::Emulator(int &argc, char **argv) : emulApp(new QApplication(argc, argv)), emulWin(new EmulWin(this)) @@ -79,6 +99,12 @@ extern "C" void emul_init(int *argc, char *argv[]) // setup global emulator pointer emul = new Emulator(*argc, argv); +#if CONFIG_KERNEL + LIST_INIT(&StackFreeList); + for (int i = 0; i < NPROC; i++) + ADDTAIL(&StackFreeList, (Node *)stacks[i]); +#endif + MOD_INIT(emul); }