view .hgtags @ 16537:bf21e00155b7

[QEMU-DM] Modem control line & msl/mcr register support.

This patch enables handling of the modem/flow control lines of a
serial port when the backend for the virtual port is a physical serial
port. During initialization, it tries to load the msr with the
detected status from the real port (this is consistent with physical
uart, which starts with its msr values set according to the status of
the modem status lines). If the ioctl returns -ENOTSUP, then the code
assumes the backend is not a real serial port and will disable any
further attempts to manipulate or read the physical port's line

It's tries to be as "correct" as possible in its msr/msl handling,
with the exception of modem line status change interrupts. A real
16550 uart apparently have a delay time of 250ns between when a modem
status line changes and the IRQ line goes high. In this patch, an
"idle" port is polled for line status changes only if the guest has
enabled UART_IER_MSI is enabled, and only polled every 10 ms.

Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
author Keir Fraser <keir.fraser@citrix.com>
date Wed Dec 05 14:18:34 2007 +0000 (2007-12-05)
parents fee42e9bc3f0
children f7e7520fd1b1
line source
1 42882b3e0dda89f3a8ec00da568f86e9b3c230f1 RELEASE-2.0.0
2 475a162b66e2c19b1e9468b234a4ba705334905e RELEASE-2.0.1
3 dc2f08429f17e6614fd2f1ab88cc09ca0a850f32 RELEASE-2.0.2
4 6e1bbc13911751efa0b1c018425c1b085820fa02 RELEASE-2.0.3
5 fb875591fd72e15c31879c0e9034d99b80225595 RELEASE-2.0.4
6 1a522944f76540ea9d73fcc1b0d13d0f670183f0 RELEASE-2.0.5
7 2a5814ad2e5634a5fa291b703a152e7fc0b4faf0 RELEASE-2.0.6
8 487b2ee37d1cecb5f3e7a546b05ad097a0226f2f beta1
9 6a65fe0f84c8339b5b89362d0ec34d8abab752b0 ia64-stable
10 3d330e41f41ce1bc118c02346e18949ad5d67f6b latest-semistable
11 30c521db4c71960b0cf1d9c9e1b658e77b535a3e latest-stable
12 9afec5bc14aeb197ef37ea54a57eacd427463fc3 semistable
13 30c521db4c71960b0cf1d9c9e1b658e77b535a3e split-1.0
14 3d330e41f41ce1bc118c02346e18949ad5d67f6b split-1.1
15 c8fdb0caa77b429cf47f9707926e83947778cb48 RELEASE-3.0.0
16 af0573e9e5258db0a9d28aa954dd302ddd2c2d23 3.0.2-rc
17 d0d3fef37685be264a7f52201f8ef44c030daad3 3.0.2-branched
18 6ed4368b4a9e1924c983774c4b1a2b6baf8e98a6 3.0.3-branched
19 057f7c4dbed1c75a3fbe446d346cee04cff31497 3.0.4-branched
20 d2ef85c6bf84cc619ca2d42c2edfc6229e70a6ad 3.1.0-branched
21 bd3d6b4c52ec809f080c89c4ffcf61dc6e445978 sparse-tree-deprecated