X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=emul%2Femul.cpp;h=ad081db12501030ad49a1ef04ca4c1321a060283;hb=8ceb6ba0e3d44b47960b6e01554f624e2dbbb45e;hp=b6cf30fa4e6d9773549186fe67054c1770e2adf6;hpb=20d3c79024c12bb366270c0c1fdda53c4c55e734;p=bertos.git diff --git a/emul/emul.cpp b/emul/emul.cpp old mode 100755 new mode 100644 index b6cf30fa..ad081db1 --- a/emul/emul.cpp +++ b/emul/emul.cpp @@ -1,9 +1,34 @@ /** * \file * * * \version $Id$ @@ -15,6 +40,15 @@ /*#* *#* $Log$ + *#* Revision 1.6 2006/05/28 12:17:57 bernie + *#* Drop almost all the Qt3 cruft. + *#* + *#* Revision 1.5 2006/05/27 22:30:56 bernie + *#* Add some delay to slow things down. + *#* + *#* 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,25 +64,35 @@ #include "emulwin.h" #include +#include +#if CONFIG_KERNEL + #include +#endif + + #include // std::exit() -#if _QT < 4 - #include -#else - #include -#endif +#include /// 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)) { - #if QT_VERSION < ((4 << 16) + (0 << 8) + 0) - emulApp->setMainWidget(emulWin); - #endif emulWin->show(); } @@ -79,6 +123,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); } @@ -94,5 +144,6 @@ extern "C" void emul_idle() { // We process GUI events when the application is idle. emul->emulApp->processEvents(); + usleep(1000); }