History | View | Annotate | Download (93.1 kB)
monitor: Convert do_quit() do QObject
Patchworks-ID: 35345Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Convert do_stop() to QObject
Patchworks-ID: 35343Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Convert do_system_reset() to QObject
Patchworks-ID: 35347Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Convert do_system_powerdown() to QObject
Patchworks-ID: 35346Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Convert do_cont() to QObject
Appropriate error handling support will be needed to haveencrypted images working under the future machine protocol,but this initial conversion will work with the currentuser protocol.
Patchworks-ID: 35348Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>...
monitor: Convert do_balloon() to QObject
It is important to note that it never fails, as big refactoringof the virtio code would be needed to get the proper error code.
Patchworks-ID: 35349Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Convert do_info_version() to QObject
The returned data is always a QString.
Also introduces monitor_print_qobject(), which can be used asa standard way to print QObjects in the user protocol format.
Patchworks-ID: 35350Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>...
monitor: Convert do_info_balloon() to QObject
On success return a QInt with the balloon's value.
This also introduces monitor_print_balloon() to print theballoon information in the user protocol.
Please, note that errors are not being converted yet.
Patchworks-ID: 35351...
monitor: Convert mon_cmd_t initializations to C99 style
Patchworks-ID: 35335Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: union for info handlers
This commit adds a union to mon_cmd_t for info handlers andconverts do_info() and info_cmds[] array to use it.
This improves type safety.
Next commit will convert command handlers.
Patchworks-ID: 35336Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>...
monitor: union for command handlers
This commits adds a new union member to mon_cmd_t for commandhandlers and convert monitor_handle_command() and qemu-monitor.hxto use it.
Patchworks-ID: 35337Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>...
monitor: Add user_print() to mon_cmd_t
This new struct member will store a pointer to a function thatshould be used to output data in the user protocol format.
It will also serve as a flag to say if a given handler has alreadybeen converted to the new QObject style....
monitor: Handle new and old style handlers
This commit changes monitor_handle_command() to support old styleand new style handlers.
New style handlers are protocol independent, they return theirdata to the Monitor, which in turn decides how to print them...
monitor: do_info(): handle new and old info handlers
do_info() is special, its job is to call 'info handlers'.This is similar to what monitor_handle_command() does,therefore do_info() also has to distinguish among new andold style info handlers.
This commit converts do_info() to the new QObject style and...
Reorganize option rom (+linux kernel) loading.
This patch adds infrastructure to maintain memory regions which must berestored on reset. That includes roms (vga bios and option roms on pc),but is also used when loading linux kernels directly. Features:...
Revert "Get rid of _t suffix"
In the very least, a change like this requires discussion on the list.
The naming convention is goofy and it causes a massive merge problem. Somethinglike this must be presented on the list first so people can provide input...
Get rid of _t suffix
Some not so obvious bits, slirp and Xen were left alone for the timebeing.
Signed-off-by: malc <av1474@comtv.ru>
Fix build with profiler enabled
Broken by 4a1418e07bdcfaa3177739e04707ecaec75d89e1
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
ioports: remove unused env parameter and compile only once
The CPU state parameter is not used, remove it and adjust callers. Now wecan compile ioport.c once for all targets.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Fix sys-queue.h conflict for good
Problem: Our file sys-queue.h is a copy of the BSD file, but there aresome additions and it's not entirely compatible. Because of that, there havebeen conflicts with system headers on BSD systems. Some hacks have beenintroduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896,...
Unexport ticks_per_sec variable. Create get_ticks_per_sec() function
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: fix muxing
make the mux driver send mux_in and mux_out events when switchingfocus while hooking up more handlers.
stop using CharDriverState->focus in monitor.c, track state usingthe mux events instead. This also removes the implicit assumtion...
monitor: fail when 'i' type is greater than 32-bit
The 'i' argument type is for 32-bit only and most handlerswill use an 'int' to store its value.
It's better to fail gracefully when the user enters a valuegreater than 32-bit than to get subtle casting bugs....
monitor: Update supported types documentation
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Drop handler_8 and handler_9
Commit 79c4f6b08009a1d23177c2be8bd003253cf3686a added handler_8 andhandler_9 handling, but there isn't any command handler with thosenumber of arguments.
Just drop them.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>...
monitor: Port handler_10 to use QDict
This commit ports command handlers that receive ten arguments to usethe new monitor's dictionary.
monitor: Split monitor_handle_command()
In order to help the integration with unit-tests and having a betterdesign, this commit splits monitor_handle_command() into two parts.
The parsing code is moved to a function called monitor_parse_command(),while allocating memory and calling the handler is still done by...
monitor: Drop unused macros
GET_TLONG() and GET_TPHYSADDR() are not needed anymore, QInt canhandle such conversions.
monitor: Drop str_allocated[]
It's not used anymore, as QDict is now used to handle stringmemory allocation/deallocation.
monitor: Drop args[] handling code
This commit drops all the code used to handle the 'args[]' array,as now we use a dictionary to pass arguments.
monitor: Port handler_1 to use QDict
This commit ports command handlers that receive one argument to usethe new monitor's dictionary.
monitor: Port handler_2 to use QDict
This commit ports command handlers that receive two arguments to usethe new monitor's dictionary.
monitor: Port handler_3 to use QDict
This commit ports command handlers that receive three arguments to usethe new monitor's dictionary.
monitor: Port handler_4 to use QDict
This commit ports command handlers that receive four arguments to usethe new monitor's dictionary.
Note that GET_TLONG() and GET_TPHYSADDR() macros are not used anymore.
monitor: Port handler_5 to use QDict
This commit ports command handlers that receive five arguments to usethe new monitor's dictionary.
monitor: Port handler_6 to use QDict
This commit ports command handlers that receive six arguments to usethe new monitor's dictionary.
monitor: Port handler_7 to use QDict
This commit ports command handlers that receive seven arguments touse the new monitor's dictionary.
monitor: Setup a QDict with arguments to handlers
With this commit monitor_handle_command() will be able to setup aQDict with arguments to command handlers.
However, the current 'args[]' method is still being used, nextchanges will port commands to get their arguments from the dictionary....
monitor: Port handler_0 to use QDict
This commit ports command handlers that receive no arguments to usethe new monitor's dictionary.
It might seem no sense to do this, as the handlers have no arguments,but at the end of this porting work all handlers will have the same...
Add wrappers to functions used by the Monitor
Some functions exported to be used by the Monitor as commandhandlers are also called in other places as regular functions.
When those functions got ported to use the Monitor dictionaryto pass argments, the callers will have to setup a dictionary...
monitor: New format for handlers argument types
Current handlers argument types, as defined in qemu-monitor.hx file,are a sequence of chars where each one represents one argument typeof the command handler. The number of chars is also used to know howmany arguments a given handler accepts....
Fix breakage due to __thread
Thread-local storage is not supported on all hosts.
add qemu_error() + friends
This patch adds some functions for error reporting to address theproblem that error messages should be routed to different destinationsdepending on the context of the caller, i.e. monitor command errorsshould go to the monitor, command line errors to stderr....
kvm: Simplify cpu_synchronize_state()
cpu_synchronize_state() is a little unreadable since the 'modified'argument isn't self-explanatory. Simplify it by making it alwayssynchronize the kernel state into qemu, and automatically flush theregisters back to the kernel if they've been synchronized on this...
move do_loadvm() to monitor.c
make load_vmstate() return errors
Unbreak large mem support by removing kqemu
kqemu introduces a number of restrictions on the i386 target. The worst is thatit prevents large memory from working in the default build.
Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on...
Fix device name completion for 'eject'
rename "info qdrv" to "info qdm"
As requested by avi: driver != device model.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>Message-Id:
Fix do_commit() behavior
Commit 751c6a17042b5d011013d6963c0505d671cf708e changed the monitor's'commit' command to this behavior:
1. Any string you type as argument will cause do_commit() tocall bdrv_commit() to all devices
2. If you enter a device name, it will be the only one ignored...
Fix Sparse warnings: "Using plain integer as NULL pointer"
qdev/core: add monitor command to list all drivers
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
kill drives_table
First step cleaning up the drives handling. This one does nothing butremoving drives_table[], still it became seriously big.
drive_get_index() is gone and is replaced by drives_get() which handsout DriveInfo pointers instead of a table index. This needs adaption in...
Add getfd and closefd monitor commands
Add monitor commands to support passing file descriptors viaSCM_RIGHTS.
getfd assigns the passed file descriptor a name for use with othermonitor commands.
closefd allows passed file descriptors to be closed. If a monitor...
Add monitor_get_fd() command for fetching named fds
Signed-off-by: Mark McLoughlin <markmc@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Add port write command
Useful for testing hardware emulations or manipulating its state tostress guest drivers.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Move boot_set callback backend
Move registration function for the boot_set callback handler and provideqemu_boot_set so that it can also be used outside the monitor code.
use constant IOPORTS_MASK instead of 0xffff.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
QEMU: MCE: Add MCE simulation to qemu/tcg
- MCE features are initialized when VCPU is intialized according to CPUID.- A monitor command "mce" is added to inject a MCE.- A new interrupt mask: CPU_INTERRUPT_MCE is added to inject the MCE.
aliguori: fix build for linux-user...
monitor: Add completion for help command
monitor: Refactor acl commnds
Refactor the ACL monitor interface to make full use of the monitorcommand dispatcher. This also gives proper help formatting and commandcompletion. Note that 'acl allow' and 'acl deny' were combined to'acl_add aclname match allow|deny [index]' for consistency reasons....
slirp: Add info usernet for dumping connection states
Break out sockstats from the slirp statistics and present them under thenew info category "usernet". This patch also improves the current output/wrt proper reporting connection source and destination....
slirp: Drop statistic code
As agreed on the mailing list, there is no interest in keeping theusually disabled slirp statistics in the tree. So this patch removesthem.
monitor: Introduce get_command_name()
Move code to extract command name into a function of its own, thisclearifies the code and let us remove two variables frommonitor_handle_command().
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
monitor: Remove unused variable
The local pointer 'q' is not used by monitor_handle_command().
monitor: Remove uneeded 'return' statement
The 'return' statement at the of monitor_handle_command() is notneeded and can be removed.
monitor: Remove uneeded goto
The 'found' goto in monitor_handle_command() can be dropped if we checkfor 'cmd->name' after looking up for the command to execute.
Use hxtool to generate monitor documentation and C structures
qdev: add monitor command to dump the tree.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Paul Brook <paul@codesourcery.com>
User networking: Show active connections
In case you're wondering what connections exactly you have openor maybe redir'ed in the past, you can't really find out from qemuright now.
This patch enables you to see all current connections the hostonly networking holds open, so you can kill them using the previous...
User Networking: Enable removal of redirections
Using the new host_net_redir command you can easily create redirectionson the fly while your VM is running.
While that's great, it's missing the removal of redirections, in case youwant to have a port closed again at a later point in time....
Drop CONFIG_GDBSTUB
This is no user-flippable switch, and no arch makes use of disablinggdbstub support. So it's pointless to keep the related #ifdefs andconfigure hunks around - and risking breakages like 711c410fdd again.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Hardware watchdog
Here is an updated hardware watchdog patch, which should fixeverything that was raised about the previous version ...
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor: Fix warning in do_info_numa (Jan Kiszka)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7232 c046a42c-6fe2-441c-8c8c-71466251a162
add info numa command to monitor (Andre Przywara)
adds an "info numa" command to the monitor to output the currenttopology. Since NUMA is advertised via static ACPI tables, no changes arepossible during runtime.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>...
slirp: Enhance host-guest redirection setup (Jan Kiszka)
Allow to establish a TCP/UDP connection redirection also via a monitorcommand 'host_net_redir'. Moreover, assume TCP as connection type ifthat parameter is omitted.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
monitor: Allow host_net_add/remove for all targets (Jan Kiszka)
There is nothing x86-specific in host_net_add/remove, so allow them forall targets.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
monitor: Improve host_net_add (Jan Kiszka)
Fix the documentation of the host_net_add monitor command and allow theuser to pass no options at all. Moreover, inform the user on themonitor terminal if a request failed.
net: Add support for capturing VLANs (Jan Kiszka)
This patch is derived from Tristan Gingold's patch. It adds a new VLANclient type that writes all traffic on the VLAN it is attached to into apcap file. Such a file can then be analyzed offline with Wireshark or...
kqemu: merge CONFIG_KQEMU and USE_KQEMU
Basically a recursive ":%s/USE_KQEMU/CONFIG_KQEMU/g".
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7189 c046a42c-6fe2-441c-8c8c-71466251a162
monitor: Update command help (Jan Kiszka)
Align some monitor help texts to the related command parameterdefinitions. host_net_add is skipped intentionally, will be slightlyreworked in a separate patch later.
Add --with-pkgversion.Allows distributors to identify their builds without needing to hack thesources.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7036 c046a42c-6fe2-441c-8c8c-71466251a162
Add new command line option -singlestep for tcg single stepping.
This replaces a compile time option for some targets and addsthis feature to targets which did not have a compile time option.
Add monitor command to enable or disable single step mode.
Modify monitor command "info status" to display single step mode....
gdbstub: Rework configuration via command line and monitor (Jan Kiszka)
Introduce a more canonical gdbstub configuration (system emulation only)via the new switch '-gdb dev'. Keep '-s' as shorthand for'-gdb tcp::1234'. Use the same syntax also for the corresponding monitor...
gdbstub: Allow re-instantiation (Jan Kiszka)
[ Note: depends on char closing fixes ]
Properly clean up the gdbstub when the user tries to re-open it(possibly under a different address). Moreover, allow to shut it downfrom the monitor via 'gdbserver none'....
monitor: sync from kvm state before generating output (Jan Kiszka)
Ported from the KVM tree: Synchronize the qemu cpu state with kvm'sbefore invoking various monitor info commands (like 'info registers').
Multi-key completion for sendkey
Allow completion of concatenated key strings for the sendkey command.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6784 c046a42c-6fe2-441c-8c8c-71466251a162
Sparse fixes: NULL use, header order, ANSI prototypes, static
Fix Sparse warnings: * use NULL instead of plain 0 * rearrange header include order to avoid redefining types accidentally * ANSIfy SLIRP * avoid "restrict" keyword * add static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6736 c046a42c-6fe2-441c-8c8c-71466251a162
Remove tabs introduced from VNC ACL series
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6727 c046a42c-6fe2-441c-8c8c-71466251a162
Support ACLs for controlling VNC access ("Daniel P. Berrange")
This patch introduces a generic internal API for access control liststo be used by network servers in QEMU. It adds support for checkingthese ACL in the VNC server, in two places. The first ACL is for the...
monitor: Introduce MONITOR_USE_READLINE flag (Jan Kiszka)
This allows to create monitor terminals that do not make use of theinteractive readline back-end but rather send complete commands. Thepass-through monitor interface of the gdbstub will be an example....
monitor: Improve mux'ed console experience (Jan Kiszka)
Up to now, you never really knew if you already switched the consoleafter pressing CTRL-A C or if you mistyped it again. This patchclarifies the situation by providing a prompt in a new line andinjecting a linebreak when switching away again. For this purpose, the...
monitor: Decouple terminals (Jan Kiszka)
Currently all registered (and activate) monitor terminals work inbroadcast mode: Everyone sees what someone else types on some otherterminal and what the monitor reports back. This model is broken whenyou have a management monitor terminal that is automatically operated...
monitor: Introduce ReadLineState (Jan Kiszka)
As another step towards decoupled monitor terminals encapsulate thestate of the readline processor in a separate data structure calledReadLineState and adapt all interfaces appropriately. For now themonitor continues to instantiate just a single readline state....
monitor: Drop banner hiding (Jan Kiszka)
There is no use for the hide/show banner option, and it is appliedinconsistently anyway (or what makes the difference between -serial mon:stdio and -nographic for the monitor?). So drop this mode.
monitor: Rework terminal management (Jan Kiszka)
Remove the static MAX_MON limit by managing monitor terminals in alinked list.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6712 c046a42c-6fe2-441c-8c8c-71466251a162
monitor: Rework API (Jan Kiszka)
Refactor the monitor API and prepare it for decoupled terminals:term_print functions are renamed to monitor_* and all monitor servicesgain a new parameter (mon) that will once refer to the monitor instancethe output is supposed to appear on. However, the argument remains...
monitor: Rework modal password input (Jan Kiszka)
Currently, waiting for the user to type in some password blocks thewhole VM because monitor_readline starts its own I/O loop. And this loopalso screws up reading passwords from virtual console.
Patch below fixes the shortcomings by using normal I/O processing also...
monitor: Break out readline_show_prompt (Jan Kiszka)
Break readline_show_prompt out of readline_start so that (re-)printingthe prompt can be controlled in a more fine-grained way.
monitor: Simplify password input mode (Jan Kiszka)
Drop the hack to query passwords on all monitor terminals now that theyare requested when the user initially enters 'continue'.