Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/init/init.c

    r9f51afc rf019cc07  
    4848#include <string.h>
    4949#include <devmap.h>
     50#include <config.h>
    5051#include "init.h"
    5152
    52 #define DEVFS_MOUNT_POINT  "/dev"
    53 
    54 #define SRV_CONSOLE  "/srv/console"
    55 #define APP_GETTERM  "/app/getterm"
    56 
    5753static void info_print(void)
    5854{
     
    6359{
    6460        char *opts = "";
    65         const char *root_dev = "bd/initrd";
     61        const char *root_dev = "initrd";
    6662       
    6763        if (str_cmp(fstype, "tmpfs") == 0)
     
    10298        }
    10399       
    104         snprintf(null, MAX_DEVICE_NAME, "null/%d", null_id);
    105         int rc = mount("devfs", DEVFS_MOUNT_POINT, null, "", IPC_FLAG_BLOCKING);
     100        snprintf(null, MAX_DEVICE_NAME, "null%d", null_id);
     101        int rc = mount("devfs", "/dev", null, "", IPC_FLAG_BLOCKING);
    106102       
    107103        switch (rc) {
     
    175171        }
    176172
    177         if ((texit != TASK_EXIT_NORMAL) || (retval != 0)) {
     173        if (texit != TASK_EXIT_NORMAL || retval != 0) {
    178174                printf(NAME ": Server %s failed to start (returned %d)\n",
    179175                        fname, retval);
     
    181177}
    182178
    183 static void console(char *dev)
    184 {
    185         char *argv[3];
    186         char hid_in[MAX_DEVICE_NAME];
     179static void getvc(char *dev, char *app)
     180{
     181        char *argv[4];
     182        char vc[MAX_DEVICE_NAME];
    187183        int rc;
    188184       
    189         snprintf(hid_in, MAX_DEVICE_NAME, "%s/%s", DEVFS_MOUNT_POINT, dev);
    190        
    191         printf(NAME ": Spawning %s with %s\n", SRV_CONSOLE, hid_in);
    192        
    193         /* Wait for the input device to be ready */
     185        snprintf(vc, MAX_DEVICE_NAME, "/dev/%s", dev);
     186       
     187        printf(NAME ": Spawning getvc on %s\n", vc);
     188       
    194189        dev_handle_t handle;
    195190        rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING);
    196191       
    197192        if (rc == EOK) {
    198                 argv[0] = SRV_CONSOLE;
    199                 argv[1] = hid_in;
    200                 argv[2] = NULL;
    201                
    202                 if (!task_spawn(SRV_CONSOLE, argv))
    203                         printf(NAME ": Error spawning %s with %s\n", SRV_CONSOLE, hid_in);
    204         } else
    205                 printf(NAME ": Error waiting on %s\n", hid_in);
    206 }
    207 
    208 static void getterm(char *dev, char *app)
    209 {
    210         char *argv[4];
    211         char term[MAX_DEVICE_NAME];
    212         int rc;
    213        
    214         snprintf(term, MAX_DEVICE_NAME, "%s/%s", DEVFS_MOUNT_POINT, dev);
    215        
    216         printf(NAME ": Spawning %s with %s %s\n", APP_GETTERM, term, app);
    217        
    218         /* Wait for the terminal device to be ready */
    219         dev_handle_t handle;
    220         rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING);
    221        
    222         if (rc == EOK) {
    223                 argv[0] = APP_GETTERM;
    224                 argv[1] = term;
     193                argv[0] = "/app/getvc";
     194                argv[1] = vc;
    225195                argv[2] = app;
    226196                argv[3] = NULL;
    227197               
    228                 if (!task_spawn(APP_GETTERM, argv))
    229                         printf(NAME ": Error spawning %s with %s %s\n", APP_GETTERM,
    230                             term, app);
    231         } else
    232                 printf(NAME ": Error waiting on %s\n", term);
     198                if (!task_spawn("/app/getvc", argv))
     199                        printf(NAME ": Error spawning getvc on %s\n", vc);
     200        } else {
     201                printf(NAME ": Error waiting on %s\n", vc);
     202        }
    233203}
    234204
     
    237207        int rc;
    238208
    239         printf("Trying to mount bd/disk0 on /data... ");
     209        printf("Trying to mount disk0 on /data... ");
    240210        fflush(stdout);
    241211
    242         rc = mount("fat", "/data", "bd/disk0", "wtcache", 0);
     212        rc = mount("fat", "/data", "disk0", "wtcache", 0);
    243213        if (rc == EOK)
    244214                printf("OK\n");
     
    263233        }
    264234       
     235        spawn("/srv/fb");
     236        spawn("/srv/kbd");
     237        spawn("/srv/console");
    265238        spawn("/srv/fhc");
    266239        spawn("/srv/obio");
    267         srv_start("/srv/i8042");
    268         srv_start("/srv/c_mouse");
    269 
    270         spawn("/srv/fb");
    271         spawn("/srv/kbd");
    272         console("hid_in/kbd");
    273        
    274         spawn("/srv/clip");
    275240
    276241        /*
     
    291256#endif
    292257
    293         getterm("term/vc0", "/app/bdsh");
    294         getterm("term/vc1", "/app/bdsh");
    295         getterm("term/vc2", "/app/bdsh");
    296         getterm("term/vc3", "/app/bdsh");
    297         getterm("term/vc4", "/app/bdsh");
    298         getterm("term/vc5", "/app/bdsh");
    299         getterm("term/vc6", "/app/klog");
     258        getvc("vc0", "/app/bdsh");
     259        getvc("vc1", "/app/bdsh");
     260        getvc("vc2", "/app/bdsh");
     261        getvc("vc3", "/app/bdsh");
     262        getvc("vc4", "/app/bdsh");
     263        getvc("vc5", "/app/bdsh");
     264        getvc("vc6", "/app/klog");
    300265       
    301266        return 0;
Note: See TracChangeset for help on using the changeset viewer.