Changeset d783145 in mainline
- Timestamp:
- 2013-10-20T21:51:39Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 817d939
- Parents:
- 13c94f7
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
r13c94f7 rd783145 530 530 531 531 % Serial line input module 532 ! [CONFIG_DSRLNIN=y|(PLATFORM= arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)532 ! [CONFIG_DSRLNIN=y|(PLATFORM=sparc32)|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y) 533 533 534 534 % EGA support -
kernel/arch/sparc32/src/machine/leon3/leon3.c
r13c94f7 rd783145 43 43 #include <genarch/drivers/grlib_uart/grlib_uart.h> 44 44 #include <genarch/drivers/grlib_irqmp/grlib_irqmp.h> 45 #include <genarch/srln/srln.h> 45 46 46 47 #include <func.h> … … 130 131 static void leon3_output_init(void) 131 132 { 133 printf("leon3_output_init\n"); 134 printf("machine.bootinfo=%p, machine.bootinfo->uart_base=0x%08x\n", machine.bootinfo, machine.bootinfo->uart_base); 135 132 136 machine.scons_dev = grlib_uart_init(machine.bootinfo->uart_base, machine.bootinfo->uart_irq); 133 137 … … 138 142 static void leon3_input_init(void) 139 143 { 144 grlib_uart_t *scons_inst; 145 140 146 if (machine.scons_dev) { 147 /* Create input device. */ 148 scons_inst = (void *)machine.scons_dev->data; 141 149 150 srln_instance_t *srln_instance = srln_init(); 151 if (srln_instance) { 152 indev_t *sink = stdin_wire(); 153 indev_t *srln = srln_wire(srln_instance, sink); 154 grlib_uart_input_wire(scons_inst, srln); 155 156 /* Enable interrupts from UART */ 157 grlib_irqmp_unmask(&machine.irqmp, machine.bootinfo->uart_irq); 158 } 142 159 } 143 160 } -
kernel/arch/sparc32/src/start.S
r13c94f7 rd783145 47 47 48 48 or %g1, 0x20, %g1 49 or %g1, 0xf00, %g1 ! PIL 49 50 wr %g1, %psr 50 51 -
kernel/genarch/Makefile.inc
r13c94f7 rd783145 112 112 ifeq ($(CONFIG_GRLIB_UART),y) 113 113 GENARCH_SOURCES += \ 114 genarch/src/drivers/omap/uart.c 114 genarch/src/drivers/grlib_uart/grlib_uart.c 115 endif 116 117 ifeq ($(CONFIG_GRLIB_IRQMP),y) 118 GENARCH_SOURCES += \ 119 genarch/src/drivers/grlib_irqmp/grlib_irqmp.c 115 120 endif 116 121 -
kernel/genarch/src/drivers/grlib_irqmp/grlib_irqmp.c
r13c94f7 rd783145 45 45 PAGE_NOT_CACHEABLE); 46 46 47 printf("irqmp regs: %p\n", irqc->regs); 48 47 49 /* 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); 49 51 } 50 52 … … 64 66 void grlib_irqmp_clear(grlib_irqmp_t *irqc, int inum) 65 67 { 68 inum++; 66 69 pio_write_32(&irqc->regs->clear, (1 << inum)); 67 70 } … … 69 72 void grlib_irqmp_mask(grlib_irqmp_t *irqc, int src) 70 73 { 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); 72 75 76 src++; 73 77 mask &= ~(1 << src); 74 78 75 pio_write_32((void *) &irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask);79 pio_write_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask); 76 80 } 77 81 78 82 void grlib_irqmp_unmask(grlib_irqmp_t *irqc, int src) 79 83 { 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); 81 85 86 src++; 82 87 mask |= (1 << src); 83 88 84 pio_write_32((void *) &irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask);89 pio_write_32((void *)irqc->regs + GRLIB_IRQMP_MASK_OFFSET, mask); 85 90 } 86 91 -
kernel/genarch/src/drivers/grlib_uart/grlib_uart.c
r13c94f7 rd783145 109 109 outdev_t *grlib_uart_init(uintptr_t paddr, inr_t inr) 110 110 { 111 printf("grlib_uart_init: paddr=0x%08x\n", paddr); 112 111 113 outdev_t *uart_dev = malloc(sizeof(outdev_t), FRAME_ATOMIC); 112 114 if (!uart_dev)
Note:
See TracChangeset
for help on using the changeset viewer.