1. 17 3月, 2009 1 次提交
  2. 13 3月, 2009 1 次提交
    • A
      DisplayAllocator interface (Stefano Stabellini) · 7b5d76da
      aliguori 提交于
      Hi all,
      this patch adds a DisplayAllocator interface that allows display
      frontends (sdl in particular) to provide a preallocated display buffer
      for the graphical backend to use.
      
      Whenever a graphical backend cannot use
      qemu_create_displaysurface_from because its own internal pixel format
      cannot be exported directly (text mode or graphical mode with color
      depth 8 or 24), it creates another display buffer in memory using
      qemu_create_displaysurface and does the conversion.
      This new buffer needs to be blitted into the sdl surface buffer every time
      we need to update portions of the screen.
      We can avoid this using the DisplayAllocator interace: sdl provides its
      own implementation of qemu_create_displaysurface, giving back the sdl
      surface buffer directly (as we used to do before the DisplayState
      changes).
      Since the buffer returned by sdl could be in bgr format we need to put
      back in the handlers of that case.
      
      This approach is good if the two following conditions are true:
      
      1) the sdl surface is a software surface that resides in main memory;
      
      2) the host display color depth is either 16 or 32 bpp.
      
      If first condition is false we can have bad performances using sdl
      and vnc together.
      If the second condition is false performances are certainly not going to
      improve but they shouldn't get worse either.
      
      The first condition is always true, at least on linux/X11 systems; but I
      believe is true also on other platforms.
      The second condition is true in the vast majority of the cases.
      
      This patch should also have the good side effect of solving the sdl
      2D slowness malc was reporting on MacOS, because SDL_BlitSurface is not
      going to be called anymore when the guest is in text mode or 24bpp.
      However the root problem is still present so I suspect we may
      still see some slowness on MacOS when the guest is in 32 or 16 bpp.
      Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6839 c046a42c-6fe2-441c-8c8c-71466251a162
      7b5d76da
  3. 11 3月, 2009 1 次提交
  4. 09 3月, 2009 1 次提交
  5. 08 3月, 2009 5 次提交
  6. 07 3月, 2009 1 次提交
  7. 06 3月, 2009 8 次提交
    • A
      monitor: Introduce MONITOR_USE_READLINE flag (Jan Kiszka) · cde76ee1
      aliguori 提交于
      This allows to create monitor terminals that do not make use of the
      interactive readline back-end but rather send complete commands. The
      pass-through monitor interface of the gdbstub will be an example.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6717 c046a42c-6fe2-441c-8c8c-71466251a162
      cde76ee1
    • A
      monitor: Decouple terminals (Jan Kiszka) · 731b0364
      aliguori 提交于
      Currently all registered (and activate) monitor terminals work in
      broadcast mode: Everyone sees what someone else types on some other
      terminal and what the monitor reports back. This model is broken when
      you have a management monitor terminal that is automatically operated
      and some other terminal used for independent guest inspection. Such
      additional terminals can be multiplexed device channels or a gdb
      frontend connected to QEMU's stub.
      
      Therefore, this patch decouples the buffers and states of all monitor
      terminals, allowing the user to operate them independently. It finally
      starts to use the 'mon' parameter that was introduced earlier with the
      API rework. It also defines the default monitor: the first instantance
      that has the MONITOR_IS_DEFAULT flag set, and that is the monitor
      created via the "-monitor" command line switch (or "vc" if none is
      given).
      
      As the patch requires to rework the monitor suspension interface, it
      also takes the freedom to make it "truely" suspending (so far suspending
      meant suppressing the prompt, but inputs were still processed).
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6715 c046a42c-6fe2-441c-8c8c-71466251a162
      731b0364
    • A
      monitor: Drop banner hiding (Jan Kiszka) · bb806047
      aliguori 提交于
      There is no use for the hide/show banner option, and it is applied
      inconsistently anyway (or what makes the difference between
       -serial mon:stdio and -nographic for the monitor?). So drop this mode.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6713 c046a42c-6fe2-441c-8c8c-71466251a162
      bb806047
    • A
      monitor: Rework API (Jan Kiszka) · 376253ec
      aliguori 提交于
      Refactor the monitor API and prepare it for decoupled terminals:
      term_print functions are renamed to monitor_* and all monitor services
      gain a new parameter (mon) that will once refer to the monitor instance
      the output is supposed to appear on. However, the argument remains
      unused for now. All monitor command callbacks are also extended by a mon
      parameter so that command handlers are able to pass an appropriate
      reference to monitor output services.
      
      For the case that monitor outputs so far happen without clearly
      identifiable context, the global variable cur_mon is introduced that
      shall once provide a pointer either to the current active monitor (while
      processing commands) or to the default one. On the mid or long term,
      those use case will be obsoleted so that this variable can be removed
      again.
      
      Due to the broad usage of the monitor interface, this patch mostly deals
      with converting users of the monitor API. A few of them are already
      extended to pass 'mon' from the command handler further down to internal
      functions that invoke monitor_printf.
      
      At this chance, monitor-related prototypes are moved from console.h to
      a new monitor.h. The same is done for the readline API.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6711 c046a42c-6fe2-441c-8c8c-71466251a162
      376253ec
    • A
      monitor: Rework modal password input (Jan Kiszka) · bb5fc20f
      aliguori 提交于
      Currently, waiting for the user to type in some password blocks the
      whole VM because monitor_readline starts its own I/O loop. And this loop
      also screws up reading passwords from virtual console.
      
      Patch below fixes the shortcomings by using normal I/O processing also
      for waiting on a password. To keep to modal property for the monitor
      terminal, the command handler is temporarily replaced by a password
      handler and a callback infrastructure is established to process the
      result before switching back to command mode.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6710 c046a42c-6fe2-441c-8c8c-71466251a162
      bb5fc20f
    • A
      monitor: Rework early disk password inquiry (Jan Kiszka) · c0f4ce77
      aliguori 提交于
      Reading the passwords for encrypted hard disks during early startup is
      broken (I guess for quiet a while now):
       - No monitor terminal is ready for input at this point
       - Forcing all mux'ed terminals into monitor mode can confuse other
         users of that channels
      
      To overcome these issues and to lay the ground for a clean decoupling of
      monitor terminals, this patch changes the initial password inquiry as
      follows:
       - Prevent autostart if there is some encrypted disk
       - Once the user tries to resume the VM, prompt for all missing
         passwords
       - Only resume if all passwords were accepted
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6707 c046a42c-6fe2-441c-8c8c-71466251a162
      c0f4ce77
    • A
      monitor: Use reasonable default virtual console size (Jan Kiszka) · d47d13b9
      aliguori 提交于
      If a target uses a tiny display (like the MusicPal), the default monitor
      is currently set to the same size. Fix this by applying the same
      defaults like already used serial and virtio consoles.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6705 c046a42c-6fe2-441c-8c8c-71466251a162
      d47d13b9
    • A
      char: Fix initial reset (Jan Kiszka) · 2970a6c9
      aliguori 提交于
      Recent changes to the graphical console initialization broke the initial
      CHR_EVENT_RESET distribution. The reset BHs generated on char device
      initialization are now already consumed during machine init (ide init
      ... -> qemu_aio_wait -> qemu_bh_poll). Therefore, this patch moves the
      initial qemu_chr_reset calls into a separate funtion which is called
      after machine init.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6700 c046a42c-6fe2-441c-8c8c-71466251a162
      2970a6c9
  8. 01 3月, 2009 1 次提交
  9. 28 2月, 2009 5 次提交
  10. 16 2月, 2009 1 次提交
  11. 11 2月, 2009 6 次提交
  12. 06 2月, 2009 1 次提交
  13. 25 1月, 2009 1 次提交
    • B
      Synch code, help and docs · d2c639d6
      blueswir1 提交于
      Rearrange code, help printout and docs so that they are in the same
      (hopefully more logical) order for easier maintenance.
      
      Add help and docs for undocumented options.
      
      Reformat slightly for more consistent help output.
      
      Add comments to encourage better synchronization in the future.
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6432 c046a42c-6fe2-441c-8c8c-71466251a162
      d2c639d6
  14. 24 1月, 2009 1 次提交
  15. 23 1月, 2009 4 次提交
  16. 22 1月, 2009 2 次提交