Changes in / [15b592b:c47e1a8] in mainline


Ignore:
Files:
102 added
5 deleted
19 edited

Legend:

Unmodified
Added
Removed
  • boot/Makefile

    r15b592b rc47e1a8  
    6161                cp "$$file" "$(DIST_PATH)/cfg/net/" ; \
    6262        done
    63 
     63        for drv in $(RD_DRVS) ; do \
     64                mkdir -p "$(DIST_PATH)/$(DRVS_PATH)/$$drv" ; \
     65                cp "$(USPACE_PATH)/$(DRVS_PATH)/$$drv/$$drv" "$(DIST_PATH)/$(DRVS_PATH)/$$drv/$$drv" ; \
     66                cp "$(USPACE_PATH)/$(DRVS_PATH)/$$drv/$$drv.ma" "$(DIST_PATH)/$(DRVS_PATH)/$$drv/$$drv.ma" ; \
     67        done
     68        for file in $(RD_DRV_CFG) ; do \
     69                cp "$(USPACE_PATH)/$(DRVS_PATH)/$$file" "$(DIST_PATH)/$(DRVS_PATH)/$$file" ; \
     70        done
     71       
    6472clean: clean_dist
    6573        $(MAKE) -f $(BUILD) clean PRECHECK=$(PRECHECK)
     
    7381clean_dist:
    7482        rm -f $(INITRD).fs $(INITRD).img $(COMPS_H) $(COMPS_C) $(LINK) *.co
     83        rm -f -r "$(DIST_PATH)/$(DRVS_PATH)"
    7584        rm -f $(USPACE_PATH)/dist/srv/*
    7685        rm -f $(USPACE_PATH)/dist/app/*
  • boot/Makefile.common

    r15b592b rc47e1a8  
    4949DIST_PATH = $(USPACE_PATH)/dist
    5050TOOLS_PATH = $(ROOT_PATH)/tools
     51DRVS_PATH = srv/drivers
    5152
    5253SANDBOX = pack
     
    105106        $(USPACE_PATH)/srv/net/net/net \
    106107        $(USPACE_PATH)/srv/net/netstart/netstart \
     108        $(USPACE_PATH)/srv/devman/devman \
     109        $(USPACE_PATH)/srv/drivers/root/root
     110       
     111RD_DRVS = \
     112        root
     113
     114RD_DRV_CFG =
    107115
    108116ifneq ($(CONFIG_NETIF_NIL_BUNDLE),y)
     
    124132        $(USPACE_PATH)/app/taskdump/taskdump \
    125133        $(USPACE_PATH)/app/tester/tester \
     134        $(USPACE_PATH)/app/test_serial/test_serial \
    126135        $(USPACE_PATH)/app/tetris/tetris \
    127136        $(USPACE_PATH)/app/trace/trace \
  • boot/arch/amd64/Makefile.inc

    r15b592b rc47e1a8  
    3737        $(USPACE_PATH)/srv/hid/char_mouse/char_ms
    3838
     39RD_DRVS += \
     40        rootia32 \
     41        pciintel \
     42        isa \
     43        ns8250
     44       
     45RD_DRV_CFG += \
     46        isa/isa.dev
     47
    3948BOOT_OUTPUT = $(ROOT_PATH)/image.iso
    4049PREBUILD = $(INITRD).img
  • boot/arch/mips32/src/Makefile

    r15b592b rc47e1a8  
    3232.PHONY: all clean
    3333
    34 all: ../../../../version ../../../../Makefile.common ../../../../Makefile.config ../../../../config.h
     34all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
    3535        -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
    3636        $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
    3737
    3838clean:
    39         rm -f $(USPACEDIR)/dist/srv/*
    40         rm -f $(USPACEDIR)/dist/app/*
    41         rm -f $(USPACEDIR)/dist/cfg/net/*
    42 
    4339        for file in $(RD_SRVS) ; do \
    4440                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    4743                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    4844        done
    49         for file in $(NET_CFG) ; do \
    50                 rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
    51         done
    5245        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(RAW) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    5346        find . -name '*.o' -follow -exec rm \{\} \;
  • boot/arch/mips32/src/Makefile.build

    r15b592b rc47e1a8  
    3232
    3333include ../../../../version
    34 include ../../../../Makefile.common
    3534include ../../../../Makefile.config
     35include ../../../../config.defs
    3636include Makefile.common
    3737include Makefile.toolchain
     
    7777
    7878$(DEPEND):
    79         rm -f $(USPACEDIR)/dist/srv/*
    80         rm -f $(USPACEDIR)/dist/app/*
    81         rm -f $(USPACEDIR)/dist/cfg/net/*
    82 
    8379        for file in $(RD_SRVS) ; do \
    8480                cp $$file $(USPACEDIR)/dist/srv/ ; \
     
    8682        for file in $(RD_APPS) ; do \
    8783                cp $$file $(USPACEDIR)/dist/app/ ; \
    88         done
    89         for file in $(NET_CFG) ; do \
    90                 cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    9184        done
    9285ifeq ($(RDFMT),tmpfs)
  • boot/arch/mips32/src/Makefile.toolchain

    r15b592b rc47e1a8  
    2727#
    2828
     29## Toolchain configuration
     30#
     31
     32ifndef CROSS_PREFIX
     33        CROSS_PREFIX = /usr/local
     34endif
     35
    2936BFD_ARCH = mips
     37TARGET = mipsel-linux-gnu
     38TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32/bin
    3039
    3140JOBFILE = ../../../../tools/jobfile.py
     
    3948        BFD_NAME = elf32-tradbigmips
    4049        BFD = ecoff-bigmips
     50        TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32eb/bin
     51        TARGET = mips-linux-gnu
    4152endif
    4253
     
    4455        BFD_NAME = elf32-tradlittlemips
    4556        BFD = binary
     57endif
     58
     59ifeq ($(COMPILER),gcc_native)
     60        CC = gcc
     61        AS = as
     62        LD = ld
     63        OBJCOPY = objcopy
     64        OBJDUMP = objdump
     65endif
     66
     67ifeq ($(COMPILER),gcc_cross)
     68        CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
     69        AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
     70        LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
     71        OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy
     72        OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
    4673endif
    4774
  • kernel/generic/include/ddi/ddi.h

    r15b592b rc47e1a8  
    5656extern unative_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg);
    5757extern unative_t sys_preempt_control(int enable);
     58extern unative_t sys_interrupt_enable(int irq, int enable);
    5859
    5960/*
     
    6263extern int ddi_iospace_enable_arch(task_t *task, uintptr_t ioaddr, size_t size);
    6364
     65
    6466#endif
    6567
  • kernel/generic/include/syscall/syscall.h

    r15b592b rc47e1a8  
    8181        SYS_IOSPACE_ENABLE,
    8282        SYS_PREEMPT_CONTROL,
     83        SYS_INTERRUPT_ENABLE,
    8384       
    8485        SYS_SYSINFO_GET_TAG,
  • kernel/generic/src/ddi/ddi.c

    r15b592b rc47e1a8  
    283283}
    284284
     285/** Disable or enable specified interrupts.
     286 *
     287 * @param irq the interrupt to be enabled/disabled.
     288 * @param enable if true enable the interrupt, disable otherwise.
     289 *
     290 * @retutn Zero on success, error code otherwise.
     291 */
     292unative_t sys_interrupt_enable(int irq, int enable)
     293{       
     294        cap_t task_cap = cap_get(TASK);
     295        if (!(task_cap & CAP_PREEMPT_CONTROL) || !(task_cap & CAP_IRQ_REG))
     296                return EPERM;
     297               
     298        if (irq < 0 || irq > 16) {
     299                return EINVAL;
     300        }
     301       
     302        uint16_t irq_mask = (uint16_t)(1 << irq);
     303        if (enable) {
     304                trap_virtual_enable_irqs(irq_mask);
     305        } else {
     306                trap_virtual_disable_irqs(irq_mask);
     307        }
     308       
     309        return 0;       
     310}
     311
    285312/** @}
    286313 */
  • kernel/generic/src/ipc/irq.c

    r15b592b rc47e1a8  
    149149                (unative_t) devno
    150150        };
     151       
     152        printf("kernel ipc_irq_register() ... registering irq = %d\n", inr);
    151153       
    152154        if (ucode) {
     
    202204       
    203205        interrupts_restore(ipl);
     206       
     207        printf("kernel ipc_irq_register() ... registering irq = %d was successful \n", inr);
     208
    204209        return EOK;
    205210}
  • kernel/generic/src/syscall/syscall.c

    r15b592b rc47e1a8  
    166166        (syshandler_t) sys_iospace_enable,
    167167        (syshandler_t) sys_preempt_control,
     168        (syshandler_t) sys_interrupt_enable,
    168169       
    169170        /* Sysinfo syscalls */
  • uspace/Makefile

    r15b592b rc47e1a8  
    4343        app/sbi \
    4444        app/stats \
     45        app/shutters \
    4546        app/taskdump \
    4647        app/tasks \
    4748        app/tester \
     49        app/test_serial \
    4850        app/tetris \
    4951        app/trace \
     
    5153        srv/clip \
    5254        srv/devmap \
     55        srv/devman \
     56        srv/drivers/root \
    5357        srv/loader \
    5458        srv/ns \
     
    109113
    110114ifeq ($(UARCH),ia32)
    111         DIRS += srv/hw/bus/pci
     115        DIRS += srv/drivers/rootia32
     116        DIRS += srv/drivers/pciintel
     117        DIRS += srv/drivers/isa
     118        DIRS += srv/drivers/ns8250
     119#       DIRS += srv/hw/bus/pci
    112120endif
    113121
     
    132140        lib/softint \
    133141        lib/softfloat \
     142        lib/drv \
    134143        lib/socket \
    135144        lib/net
  • uspace/Makefile.common

    r15b592b rc47e1a8  
    8888LIBPCI_PREFIX = $(LIB_PREFIX)/pci
    8989
     90LIBDRV_PREFIX = $(LIB_PREFIX)/drv
     91
    9092LIBSOCKET_PREFIX = $(LIB_PREFIX)/socket
    9193LIBNET_PREFIX = $(LIB_PREFIX)/net
  • uspace/app/init/init.c

    r15b592b rc47e1a8  
    307307        getterm("term/vc5", "/app/bdsh");
    308308        getterm("term/vc6", "/app/klog");
     309        getterm("term/vc7", "/srv/devman");
    309310       
    310311        return 0;
  • uspace/app/trace/syscalls.c

    r15b592b rc47e1a8  
    7474    [SYS_IOSPACE_ENABLE] = { "iospace_enable",          1,      V_ERRNO },
    7575    [SYS_PREEMPT_CONTROL] = { "preempt_control",        1,      V_ERRNO },
     76        [SYS_INTERRUPT_ENABLE] = { "interrupt_enable",  2,      V_ERRNO },
    7677
    7778    [SYS_SYSINFO_GET_TAG] = { "sysinfo_get_tag",                2,      V_INTEGER },
  • uspace/lib/c/Makefile

    r15b592b rc47e1a8  
    5757        generic/clipboard.c \
    5858        generic/devmap.c \
     59        generic/devman.c \
     60        generic/device/hw_res.c \
     61        generic/device/char.c \
    5962        generic/event.c \
    6063        generic/errno.c \
  • uspace/lib/c/generic/ddi.c

    r15b592b rc47e1a8  
    105105}
    106106
     107/** Enable an interrupt.
     108 *
     109 * @param irq the interrupt.
     110 *
     111 * @return Zero on success, negative error code otherwise.
     112 */
     113int interrupt_enable(int irq)
     114{
     115        return __SYSCALL2(SYS_INTERRUPT_ENABLE, (sysarg_t) irq, 1);
     116}
     117
     118/** Disable an interrupt.
     119 *
     120 * @param irq the interrupt.
     121 *
     122 * @return Zero on success, negative error code otherwise.
     123 */
     124int interrupt_disable(int irq)
     125{
     126        return __SYSCALL2(SYS_INTERRUPT_ENABLE, (sysarg_t) irq, 0);
     127}
     128
    107129/** Enable PIO for specified I/O range.
    108130 *
  • uspace/lib/c/include/ddi.h

    r15b592b rc47e1a8  
    4343extern int preemption_control(int);
    4444extern int pio_enable(void *, size_t, void **);
     45extern int interrupt_enable(int);
     46extern int interrupt_disable(int);
    4547
    4648#endif
  • uspace/lib/c/include/ipc/services.h

    r15b592b rc47e1a8  
    4545        SERVICE_VFS,
    4646        SERVICE_DEVMAP,
     47        SERVICE_DEVMAN,
    4748        SERVICE_FHC,
    4849        SERVICE_OBIO,
Note: See TracChangeset for help on using the changeset viewer.