Changeset d783145 in mainline for kernel/genarch/src


Ignore:
Timestamp:
2013-10-20T21:51:39Z (12 years ago)
Author:
Jakub Klama <jakub.klama@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
817d939
Parents:
13c94f7
Message:

Finally plug in IRQMP and UART kernel drivers.

Location:
kernel/genarch/src/drivers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/grlib_irqmp/grlib_irqmp.c

    r13c94f7 rd783145  
    4545            PAGE_NOT_CACHEABLE);
    4646
     47        printf("irqmp regs: %p\n", irqc->regs);
     48
    4749        /* Mask all interrupts */
    48         pio_write_32((void *)&irqc->regs + GRLIB_IRQMP_MASK_OFFSET, 0);
     50        pio_write_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET, 0);
    4951}
    5052
     
    6466void grlib_irqmp_clear(grlib_irqmp_t *irqc, int inum)
    6567{
     68        inum++;
    6669        pio_write_32(&irqc->regs->clear, (1 << inum));
    6770}
     
    6972void grlib_irqmp_mask(grlib_irqmp_t *irqc, int src)
    7073{
    71         uint32_t mask = pio_read_32((void *)&irqc->regs + GRLIB_IRQMP_MASK_OFFSET);
     74        uint32_t mask = pio_read_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET);
    7275
     76        src++;
    7377        mask &= ~(1 << src);
    7478
    75         pio_write_32((void *)&irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask);
     79        pio_write_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask);
    7680}
    7781
    7882void grlib_irqmp_unmask(grlib_irqmp_t *irqc, int src)
    7983{
    80         uint32_t mask = pio_read_32((void *)&irqc->regs + GRLIB_IRQMP_MASK_OFFSET);
     84        uint32_t mask = pio_read_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET);
    8185
     86        src++;
    8287        mask |= (1 << src);
    8388
    84         pio_write_32((void *)&irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask);
     89        pio_write_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask);
    8590}
    8691
  • kernel/genarch/src/drivers/grlib_uart/grlib_uart.c

    r13c94f7 rd783145  
    109109outdev_t *grlib_uart_init(uintptr_t paddr, inr_t inr)
    110110{
     111        printf("grlib_uart_init: paddr=0x%08x\n", paddr);
     112
    111113        outdev_t *uart_dev = malloc(sizeof(outdev_t), FRAME_ATOMIC);
    112114        if (!uart_dev)
Note: See TracChangeset for help on using the changeset viewer.