On Fri, May 27, 2016 at 08:01:49PM +0000, Manuel Bouyer wrote: > Module Name: src > Committed By: bouyer > Date: Fri May 27 20:01:49 UTC 2016 > > Modified Files: > src/sys/arch/arm/allwinner: files.awin > src/sys/conf: files > src/sys/dev/ic: com.c comreg.h comvar.h ns16550reg.h > > Log Message: > The UART in the allwiner SoCs is not full-compatible with the 16550, and > it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt, > which is triggered when writing to LCR while the chip > can't accept it. But unlike the 16750, it has a specific register, > HALT, to allow writing to the LCR and divisor registers, and then > commit the changes. > Tested on an A20 SoC, changing the baud rate while keeping the > tty device open and incoming data.
Hello Manuel, I'm not sure how you tested this, but you are trivally accessing an array beyond the end. COM_REG_TFL and friends are all larger than the cr_map array. Joerg