X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Finit_src%2Fmain.c;h=55c48012a105e701536361ed38a94136309e6c50;hb=a048f2a350824bb7e0b8191bcf16addd1543b882;hp=e701b44e4a2a262063ef3f6a34e82650242e3cc1;hpb=5b5dc0127fe0d498037410e87d0940d65b1bed0d;p=tpg%2Facess2.git diff --git a/Usermode/Applications/init_src/main.c b/Usermode/Applications/init_src/main.c index e701b44e..55c48012 100644 --- a/Usermode/Applications/init_src/main.c +++ b/Usermode/Applications/init_src/main.c @@ -14,17 +14,22 @@ */ int main(int argc, char *argv[]) { + int tid; open(DEFAULT_TERMINAL, OPENFLAG_READ); // Stdin open(DEFAULT_TERMINAL, OPENFLAG_WRITE); // Stdout open(DEFAULT_TERMINAL, OPENFLAG_WRITE); // Stderr write(1, 13, "Hello, World!"); - if(clone(CLONE_VM, 0) == 0) + tid = clone(CLONE_VM, 0); + if(tid == 0) { execve(DEFAULT_SHELL, NULL, NULL); + for(;;) __asm__ __volatile__("hlt"); } + __asm__ __volatile__("xchg %%bx, %%bx"::"a"(tid)); + for(;;) sleep(); return 42;