Skip to content
Snippets Groups Projects
  • Gerd Hoffmann's avatar
    995b3017
    hw/display: add ramfb, a simple boot framebuffer living in guest ram · 995b3017
    Gerd Hoffmann authored
    
    The boot framebuffer is expected to be configured by the firmware, so it
    uses fw_cfg as interface.  Initialization goes as follows:
    
      (1) Check whenever etc/ramfb is present.
      (2) Allocate framebuffer from RAM.
      (3) Fill struct RAMFBCfg, write it to etc/ramfb.
    
    Done.  You can write stuff to the framebuffer now, and it should appear
    automagically on the screen.
    
    Note that this isn't very efficient because it does a full display
    update on each refresh.  No dirty tracking.  Dirty tracking would have
    to be active for the whole ram slot, so that wouldn't be very efficient
    either.  For a boot display which is active for a short time only this
    isn't a big deal.  As permanent guest display something better should be
    used (if possible).
    
    This is the ramfb core code.  Some windup is needed for display devices
    which want have a ramfb boot display.
    
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    Tested-by: default avatarLaszlo Ersek <lersek@redhat.com>
    Message-id: 20180613122948.18149-2-kraxel@redhat.com
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    995b3017
    History
    hw/display: add ramfb, a simple boot framebuffer living in guest ram
    Gerd Hoffmann authored
    
    The boot framebuffer is expected to be configured by the firmware, so it
    uses fw_cfg as interface.  Initialization goes as follows:
    
      (1) Check whenever etc/ramfb is present.
      (2) Allocate framebuffer from RAM.
      (3) Fill struct RAMFBCfg, write it to etc/ramfb.
    
    Done.  You can write stuff to the framebuffer now, and it should appear
    automagically on the screen.
    
    Note that this isn't very efficient because it does a full display
    update on each refresh.  No dirty tracking.  Dirty tracking would have
    to be active for the whole ram slot, so that wouldn't be very efficient
    either.  For a boot display which is active for a short time only this
    isn't a big deal.  As permanent guest display something better should be
    used (if possible).
    
    This is the ramfb core code.  Some windup is needed for display devices
    which want have a ramfb boot display.
    
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    Tested-by: default avatarLaszlo Ersek <lersek@redhat.com>
    Message-id: 20180613122948.18149-2-kraxel@redhat.com
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>