Ignore:
File:
1 edited

Legend:

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

    r53d6ac3d r79ae36dd  
    4646#include <macros.h>
    4747#include <str.h>
    48 #include <loc.h>
     48#include <devmap.h>
    4949#include <str_error.h>
    5050#include "init.h"
     
    5353#define ROOT_MOUNT_POINT  "/"
    5454
    55 #define LOCFS_FS_TYPE      "locfs"
    56 #define LOCFS_MOUNT_POINT  "/loc"
     55#define DEVFS_FS_TYPE      "devfs"
     56#define DEVFS_MOUNT_POINT  "/dev"
    5757
    5858#define TMPFS_FS_TYPE      "tmpfs"
     
    6666#define APP_GETTERM  "/app/getterm"
    6767
    68 /** Print banner */
    6968static void info_print(void)
    7069{
     
    7271}
    7372
    74 /** Report mount operation success */
    7573static bool mount_report(const char *desc, const char *mntpt,
    7674    const char *fstype, const char *dev, int rc)
     
    102100}
    103101
    104 /** Mount root filesystem
    105  *
    106  * The operation blocks until the root filesystem
    107  * server is ready for mounting.
    108  *
    109  * @param[in] fstype Root filesystem type.
    110  *
    111  * @return True on success.
    112  * @return False on failure.
    113  *
    114  */
    115102static bool mount_root(const char *fstype)
    116103{
     
    126113}
    127114
    128 /** Mount locfs filesystem
    129  *
    130  * The operation blocks until the locfs filesystem
    131  * server is ready for mounting.
    132  *
    133  * @return True on success.
    134  * @return False on failure.
    135  *
    136  */
    137 static bool mount_locfs(void)
    138 {
    139         int rc = mount(LOCFS_FS_TYPE, LOCFS_MOUNT_POINT, "", "",
     115static bool mount_devfs(void)
     116{
     117        int rc = mount(DEVFS_FS_TYPE, DEVFS_MOUNT_POINT, "", "",
    140118            IPC_FLAG_BLOCKING);
    141         return mount_report("Location service filesystem", LOCFS_MOUNT_POINT,
    142             LOCFS_FS_TYPE, NULL, rc);
     119        return mount_report("Device filesystem", DEVFS_MOUNT_POINT, DEVFS_FS_TYPE,
     120            NULL, rc);
    143121}
    144122
     
    179157        rc = task_wait(id, &texit, &retval);
    180158        if (rc != EOK) {
    181                 printf("%s: Error waiting for %s (%s)\n", NAME, fname,
     159                printf("%s: Error waiting for %s (%s(\n", NAME, fname,
    182160                    str_error(rc));
    183161                return;
     
    196174}
    197175
    198 static void console(const char *svc)
    199 {
    200         printf("%s: Spawning %s %s\n", NAME, SRV_CONSOLE, svc);
    201        
    202         /* Wait for the input service to be ready */
    203         service_id_t service_id;
    204         int rc = loc_service_get_id(svc, &service_id, IPC_FLAG_BLOCKING);
    205         if (rc != EOK) {
    206                 printf("%s: Error waiting on %s (%s)\n", NAME, svc,
    207                     str_error(rc));
    208                 return;
    209         }
    210        
    211         rc = task_spawnl(NULL, SRV_CONSOLE, SRV_CONSOLE, svc, NULL);
     176static void console(const char *dev)
     177{
     178        printf("%s: Spawning %s %s\n", NAME, SRV_CONSOLE, dev);
     179       
     180        /* Wait for the input device to be ready */
     181        devmap_handle_t handle;
     182        int rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING);
     183        if (rc != EOK) {
     184                printf("%s: Error waiting on %s (%s)\n", NAME, dev,
     185                    str_error(rc));
     186                return;
     187        }
     188       
     189        rc = task_spawnl(NULL, SRV_CONSOLE, SRV_CONSOLE, dev, NULL);
    212190        if (rc != EOK) {
    213191                printf("%s: Error spawning %s %s (%s)\n", NAME, SRV_CONSOLE,
    214                     svc, str_error(rc));
    215         }
    216 }
    217 
    218 static void getterm(const char *svc, const char *app, bool wmsg)
    219 {
    220         char term[LOC_NAME_MAXLEN];
     192                    dev, str_error(rc));
     193        }
     194}
     195
     196static void getterm(const char *dev, const char *app, bool wmsg)
     197{
     198        char term[DEVMAP_NAME_MAXLEN];
    221199        int rc;
    222200       
    223         snprintf(term, LOC_NAME_MAXLEN, "%s/%s", LOCFS_MOUNT_POINT, svc);
     201        snprintf(term, DEVMAP_NAME_MAXLEN, "%s/%s", DEVFS_MOUNT_POINT, dev);
    224202       
    225203        printf("%s: Spawning %s %s %s\n", NAME, APP_GETTERM, term, app);
    226204       
    227         /* Wait for the terminal service to be ready */
    228         service_id_t service_id;
    229         rc = loc_service_get_id(svc, &service_id, IPC_FLAG_BLOCKING);
     205        /* Wait for the terminal device to be ready */
     206        devmap_handle_t handle;
     207        rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING);
    230208        if (rc != EOK) {
    231209                printf("%s: Error waiting on %s (%s)\n", NAME, term,
     
    279257        }
    280258       
    281         spawn("/srv/locfs");
     259        spawn("/srv/devfs");
    282260        spawn("/srv/taskmon");
    283261       
    284         if (!mount_locfs()) {
     262        if (!mount_devfs()) {
    285263                printf("%s: Exiting\n", NAME);
    286264                return -2;
     
    292270        spawn("/srv/apic");
    293271        spawn("/srv/i8259");
     272        spawn("/srv/fhc");
    294273        spawn("/srv/obio");
    295274        srv_start("/srv/cuda_adb");
    296275        srv_start("/srv/i8042");
    297276        srv_start("/srv/s3c24ser");
     277        srv_start("/srv/adb_ms");
     278        srv_start("/srv/char_ms");
    298279        srv_start("/srv/s3c24ts");
    299280       
    300281        spawn("/srv/fb");
    301         spawn("/srv/input");
    302         console("hid/input");
     282        spawn("/srv/kbd");
     283        console("hid_in/kbd");
    303284       
    304285        spawn("/srv/clip");
     
    316297       
    317298#ifdef CONFIG_MOUNT_DATA
    318         /* Make sure fat is running. */
    319         if (str_cmp(STRING(RDFMT), "fat") != 0) {
    320                 srv_start("/srv/fat");
    321         }
    322299        mount_data();
    323300#else
Note: See TracChangeset for help on using the changeset viewer.