static void main_fiq(void) { uint32_t iar; DMSG("%s\n", __func__); iar = gic_read_iar(); while (uart_have_rx_data(CONSOLE_UART_BASE)) DMSG("got 0x%x\n", uart_getchar(CONSOLE_UART_BASE)); gic_write_eoir(iar); DMSG("return from %s\n", __func__); }
void gic_it_handle(struct gic_data *gd) { uint32_t iar; uint32_t id; iar = gic_read_iar(gd); id = iar & GICC_IAR_IT_ID_MASK; if (id == GIC_SPURIOUS_ID) DMSG("ignoring spurious interrupt"); else itr_handle(id); gic_write_eoir(gd, iar); }
static void main_fiq(void) { uint32_t iar; kprintf("%s\n", __func__); iar = gic_read_iar(); while (uart_have_rx_data(UART1_BASE)) kprintf("got 0x%x\n", uart_getchar(UART1_BASE)); gic_write_eoir(iar); kprintf("return from %s\n", __func__); }
static void main_fiq(void) { uint32_t iar; DMSG("enter"); iar = gic_read_iar(); while (pl011_have_rx_data(CONSOLE_UART_BASE)) { DMSG("cpu %zu: got 0x%x", get_core_pos(), pl011_getchar(CONSOLE_UART_BASE)); } gic_write_eoir(iar); DMSG("return"); }