From: Aurelien Jarno <aurelien@aurel32.net>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [6352] Fix character devices after DisplayState refactoring
Date: Sun, 18 Jan 2009 15:09:33 +0100 [thread overview]
Message-ID: <20090118140933.GA3461@hall.aurel32.net> (raw)
In-Reply-To: <4972578E.5000705@mail.berlios.de>
On Sat, Jan 17, 2009 at 11:11:26PM +0100, Stefan Weil wrote:
> Anthony Liguori schrieb:
> > Revision: 6352
> > http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6352
> > Author: aliguori
> > Date: 2009-01-16 20:23:27 +0000 (Fri, 16 Jan 2009)
> >
> > Log Message:
> > -----------
> > Fix character devices after DisplayState refactoring
> >
> > The DisplayState refactoring changed the machine init function to create a
> > DisplayState for each VGA device instead of being passed an existing
> > DisplayState. This change is critical to enable multiple graphics device
> > support.
> >
> > Unfortunately, the serial/parallel/console code is structured today to run
> > before machine init to fill out the CharDriverState table which the
> > machine
> > init function uses to determine whether to create the required devices.
> >
> > Since a 'vc' is a type of CharDriverState, the CharDriverState code
> > requires
> > that a DisplayState exist before it runs creating a circular dependency.
> >
> > To fix this, this splits the creation of the initial CharDriverState from
> > the initialization of the text console. We can then in a second step
> > associate
> > a DisplayState with all TextConsoles. This allows us to create the
> > CharDriverState's first, machine init, then associate the TextConsoles
> > with
> > a DisplayState.
> >
> > This code screams for more cleanup.
>
> Yes, it screams for more cleanups.
>
> MIPS Malta also no longer works, same reason as for the serial code:
>
> Malta creates a character device during machine init and writes some
> characters to it.
> This is now impossible because qemu_chr_printf can no longer be called
> before text_consoles_set_display was called.
>
I have committed a fix in revision 6365. It is a bit ugly, don't
hesistate to commit a better fix.
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
next prev parent reply other threads:[~2009-01-18 14:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-16 20:23 [Qemu-devel] [6352] Fix character devices after DisplayState refactoring Anthony Liguori
2009-01-16 21:43 ` [Qemu-devel] " Jan Kiszka
2009-01-16 21:54 ` Anthony Liguori
2009-01-17 0:58 ` [Qemu-devel] " Stuart Brady
2009-01-17 22:11 ` Stefan Weil
2009-01-18 14:09 ` Aurelien Jarno [this message]
2009-01-19 11:26 ` Stefano Stabellini
2009-01-19 22:11 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090118140933.GA3461@hall.aurel32.net \
--to=aurelien@aurel32.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.