mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
- Fix a serial emulation bug affecting (at least) FreeBSD 8's new
uart(4) driver. - Bump PORTREVISION. Reported by: Olivier Cochard-Labbé <olivier@cochard.me> Feature safe: yes
This commit is contained in:
parent
c943dce672
commit
c7acb4aa30
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=241667
2 changed files with 19 additions and 1 deletions
|
@ -7,7 +7,7 @@
|
|||
|
||||
PORTNAME= qemu
|
||||
PORTVERSION= 0.10.6
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= emulators
|
||||
MASTER_SITES= ${MASTER_SITE_SAVANNAH} \
|
||||
http://bellard.org/qemu/
|
||||
|
|
18
emulators/qemu/files/patch-hw-serial.c
Normal file
18
emulators/qemu/files/patch-hw-serial.c
Normal file
|
@ -0,0 +1,18 @@
|
|||
Index: qemu/hw/serial.c
|
||||
@@ -196,12 +195,10 @@ static void serial_update_irq(SerialStat
|
||||
* this is not in the specification but is observed on existing
|
||||
* hardware. */
|
||||
tmp_iir = UART_IIR_CTI;
|
||||
- } else if ((s->ier & UART_IER_RDI) && (s->lsr & UART_LSR_DR)) {
|
||||
- if (!(s->fcr & UART_FCR_FE)) {
|
||||
- tmp_iir = UART_IIR_RDI;
|
||||
- } else if (s->recv_fifo.count >= s->recv_fifo.itl) {
|
||||
- tmp_iir = UART_IIR_RDI;
|
||||
- }
|
||||
+ } else if ((s->ier & UART_IER_RDI) && (s->lsr & UART_LSR_DR) &&
|
||||
+ (!(s->fcr & UART_FCR_FE) ||
|
||||
+ s->recv_fifo.count >= s->recv_fifo.itl)) {
|
||||
+ tmp_iir = UART_IIR_RDI;
|
||||
} else if ((s->ier & UART_IER_THRI) && s->thr_ipending) {
|
||||
tmp_iir = UART_IIR_THRI;
|
||||
} else if ((s->ier & UART_IER_MSI) && (s->msr & UART_MSR_ANY_DELTA)) {
|
Loading…
Add table
Reference in a new issue