Changeset 228b135 in mainline


Ignore:
Timestamp:
2006-11-28T10:55:43Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d4b5542
Parents:
22f851e
Message:

start RAM disk support

Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • kernel/Makefile

    r22f851e r228b135  
    178178        generic/src/mm/backend_phys.c \
    179179        generic/src/mm/slab.c \
     180        generic/src/mm/rd.c \
    180181        generic/src/lib/func.c \
    181182        generic/src/lib/memstr.c \
  • kernel/generic/src/main/kinit.c

    r22f851e r228b135  
    6262#include <console/kconsole.h>
    6363#include <security/cap.h>
     64#include <mm/rd.h>
    6465
    6566#ifdef CONFIG_SMP
     
    159160#else  /* CONFIG_TEST */
    160161
    161         task_t *utask;
    162162        count_t i;
    163163        for (i = 0; i < init.cnt; i++) {
    164164                /*
    165                  * Run user tasks.
     165                 * Run user tasks, load RAM disk images.
    166166                 */
    167167               
    168                 if (init.tasks[i].addr % FRAME_SIZE)
    169                         panic("init[%d].addr is not frame aligned", i);
    170 
    171                 utask = task_run_program((void *) init.tasks[i].addr, "USPACE");
     168                if (init.tasks[i].addr % FRAME_SIZE) {
     169                        printf("init[%d].addr is not frame aligned", i);
     170                        continue;
     171                }
     172
     173                task_t *utask = task_run_program((void *) init.tasks[i].addr, "USPACE");
    172174                if (utask) {
    173175                        /*
     
    178180                        if (!ipc_phone_0)
    179181                                ipc_phone_0 = &utask->answerbox;
    180                 } else
    181                         printf("Init task %zd not started.\n", i);
     182                } else {
     183                        bool rd = init_rd((void *) init.tasks[i].addr);
     184                       
     185                        if (!rd)
     186                                printf("Init binary %zd not used.\n", i);
     187                }
    182188        }
    183189
  • kernel/generic/src/main/main.c

    r22f851e r228b135  
    235235                        printf("init[%zd].addr=%.*p, init[%zd].size=%zd\n", i, sizeof(uintptr_t) * 2, init.tasks[i].addr, i, init.tasks[i].size);
    236236        } else
    237                 printf("No init tasks found\n");
     237                printf("No init binaries found\n");
    238238       
    239239        ipc_init();
  • uspace/Makefile

    r22f851e r228b135  
    4343        tetris \
    4444        ipcc \
    45         klog
     45        klog \
     46        rd
    4647
    4748ifeq ($(ARCH), amd64)
  • uspace/libc/include/ipc/services.h

    r22f851e r228b135  
    4242#define SERVICE_VIDEO           3
    4343#define SERVICE_CONSOLE         4
     44#define SERVICE_RD              5
    4445
    4546/* Memory area to be received from NS */
Note: See TracChangeset for help on using the changeset viewer.