X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Finit_src%2Fmain.c;h=3473eb51dad431afbc258f3e1d083b252554172c;hb=95a7eaaa4a1065334125b65130866f8d1048ddb7;hp=e701b44e4a2a262063ef3f6a34e82650242e3cc1;hpb=17e16b3110b4c5124b0707435e0427993d696545;p=tpg%2Facess2.git diff --git a/Usermode/Applications/init_src/main.c b/Usermode/Applications/init_src/main.c index e701b44e..3473eb51 100644 --- a/Usermode/Applications/init_src/main.c +++ b/Usermode/Applications/init_src/main.c @@ -5,25 +5,35 @@ // === CONSTANTS === #define NULL ((void*)0) +#define NUM_TERMS 4 #define DEFAULT_TERMINAL "/Devices/VTerm/0" -#define DEFAULT_SHELL "/Acess/CLIShell" +#define DEFAULT_SHELL "/Acess/SBin/login" // === CODE === /** * \fn int main(int argc, char *argv[]) + * \brief Entrypoint */ int main(int argc, char *argv[]) { - open(DEFAULT_TERMINAL, OPENFLAG_READ); // Stdin - open(DEFAULT_TERMINAL, OPENFLAG_WRITE); // Stdout - open(DEFAULT_TERMINAL, OPENFLAG_WRITE); // Stderr + int tid; + // int i; + char termpath[sizeof(DEFAULT_TERMINAL)+1] = DEFAULT_TERMINAL; - write(1, 13, "Hello, World!"); - - if(clone(CLONE_VM, 0) == 0) - { - execve(DEFAULT_SHELL, NULL, NULL); - } + //for( i = 0; i < NUM_TERMS; i++ ) + //{ + //termpath[ sizeof(DEFAULT_TERMINAL)-1 ] = '0' + i; + open(termpath, OPENFLAG_READ); // Stdin + open(termpath, OPENFLAG_WRITE); // Stdout + open(termpath, OPENFLAG_WRITE); // Stderr + + tid = clone(CLONE_VM, 0); + if(tid == 0) + { + execve(DEFAULT_SHELL, NULL, NULL); + for(;;) __asm__ __volatile__("hlt"); + } + //} for(;;) sleep();