• A
    Fix character devices after DisplayState refactoring · 2796dae0
    aliguori 提交于
    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.
    Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6352 c046a42c-6fe2-441c-8c8c-71466251a162
    2796dae0
vl.c 151.1 KB