X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2236410f4582ab45ae8c384dd6eeeef5d10aab15..d1b1c8d9119229dbeed06cd252917e54a1cb77f6:/lunaix-os/hal/char/uart/16550_pmio.c?ds=inline diff --git a/lunaix-os/hal/char/uart/16550_pmio.c b/lunaix-os/hal/char/uart/16550_pmio.c index 81d0642..62d403a 100644 --- a/lunaix-os/hal/char/uart/16550_pmio.c +++ b/lunaix-os/hal/char/uart/16550_pmio.c @@ -9,7 +9,7 @@ * */ #include -#include +#include #include @@ -36,9 +36,10 @@ com_regwrite(struct uart16550* uart, ptr_t regoff, u32_t val) } static void -com_irq_handler(const isr_param* param) +com_irq_handler(const struct hart_state* hstate) { - uart_general_irq_handler(param->execp->vector, &com_ports); + int vector = hart_vector_stamp(hstate); + uart_general_irq_handler(vector, &com_ports); } static int @@ -77,7 +78,7 @@ upiom_init(struct device_def* def) uart_enable_fifo(uart, UART_FIFO8); llist_append(&com_ports, &uart->local_ports); - struct serial_dev* sdev = serial_create(&def->class); + struct serial_dev* sdev = serial_create(&def->class, "S"); sdev->backend = uart; sdev->write = uart_general_tx; sdev->exec_cmd = uart_general_exec_cmd;