On 21 March 2013 18:25, Anthony Liguori <[email protected]> wrote:
> Gerd Hoffmann <[email protected]> writes:
>> I think the most sensible way to handle this is to implement the output
>> routing device, make it own the (single) QemuConsole, and depending on
>> the router state the one or the other display device is allowed to
>> render to the QemuConsole.
>
> Where does the switching happen in hardware? Is this two devices with a
> DVI port with a switch on it to have a single output port or it is
> something more sophisticated where there are two memory regions and a
> register is used to select which one is written out?
The motherboard has a DVI multiplexer, which selects between the
two video+audio output streams (actually it selects between three
sources but we don't model the second daughterboard at all). I think
these streams are not actually DVI but they are certainly video
with pixel clock and S/PDIF audio already. There's a config register
in the motherboard which selects which source should go out to the
DVI connector. Conceptually I think it should look like this:
/-----\
[ PL111 ] ===(video)====> | |
| MUX | ===(video)===> [display]
[ PL111 ] ===(video)====> | |
\-----/
^
[arm_sysregs]---(qemu_irq)---/
(where [] means a device and () a kind of connection.)
If we supported routing of audio output we could in theory run
the audio through the mux in the same way.
-- PMM