Same problem as sfuart(4); no support for detecting a BREAK. So leverage db_rint(9) to provide a way to enter DDB.
ok? Index: dev/fdt/amluart.c =================================================================== RCS file: /cvs/src/sys/dev/fdt/amluart.c,v retrieving revision 1.3 diff -u -p -r1.3 amluart.c --- dev/fdt/amluart.c 24 Oct 2021 17:52:26 -0000 1.3 +++ dev/fdt/amluart.c 15 Jul 2022 09:20:10 -0000 @@ -276,8 +276,20 @@ amluart_softintr(void *arg) splx(s); - while (ibufp < ibufend) - (*linesw[tp->t_line].l_rint)(*ibufp++, tp); + while (ibufp < ibufend) { + int i = *ibufp++; +#ifdef DDB + if (tp->t_dev == cn_tab->cn_dev) { + int j = db_rint(i); + + if (j == 1) /* Escape received, skip */ + continue; + if (j == 2) /* Second char wasn't 'D' */ + (*linesw[tp->t_line].l_rint)(27, tp); + } +#endif + (*linesw[tp->t_line].l_rint)(i, tp); + } } int