Skip to content
Snippets Groups Projects
  1. Sep 02, 2013
  2. Aug 30, 2013
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'luiz/queue/qmp' into staging · 4ff78e0d
      Anthony Liguori authored
      # By Wenchao Xia (15) and Stefan Weil (1)
      # Via Luiz Capitulino
      * luiz/queue/qmp:
        monitor: improve auto complete of "help" for single command in sub group
        monitor: allow "help" show message for single command in sub group
        monitor: support sub command in auto completion
        monitor: refine monitor_find_completion()
        monitor: support sub command in help
        monitor: refine parse_cmdline()
        monitor: code move for parse_cmdline()
        monitor: avoid direct use of global variable *mon_cmds
        monitor: split off monitor_data_init()
        monitor: call sortcmdlist() only one time
        monitor: avoid use of global *cur_mon in readline_completion()
        monitor: avoid use of global *cur_mon in monitor_find_completion()
        monitor: avoid use of global *cur_mon in block_completion_it()
        monitor: avoid use of global *cur_mon in file_completion()
        monitor: avoid use of global *cur_mon in cmd_completion()
        monitor: Add missing attributes to local function
      
      Message-id: 1377865357-6742-1-git-send-email-lcapitulino@redhat.com
      4ff78e0d
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'borntraeger/tags/kdump' into staging · b95fdc0e
      Anthony Liguori authored
      This is a set of patches dealing with kdump support for s390x/kvm.
      kdump on s390x uses subcode 1 of diagnose 0x308 to put the hardware
      in a defined state. This is different from a full reset, since it
      does not touch all CPU registers.
      These patches define the cpu resets, the subsystem reset a load
      function and also wires up the "nmi" command to issue a RESTART
      interrupt as defined in the z/Architecture principles of operation.
      
      This allows recent guest kernels with properly setup userspace
      to trigger kdump:
      - via guest crash
      - via nmi from the host
      
      # gpg: Signature made Fri 30 Aug 2013 07:19:18 AM CDT using RSA key ID B5A61C7C
      # gpg: Can't check signature: public key not found
      
      # By Christian Borntraeger (5) and Eugene (jno) Dvurechenski (2)
      # Via Christian Borntraeger
      * borntraeger/tags/kdump:
        s390: wire up nmi command to raise a RESTART interrupt on S390
        s390: Implement load normal reset
        s390/cpu: split CPU reset into architectured functions
        s390: provide a cpu load normal function
        s390: provide I/O subsystem reset
        s390/kvm: basic implementation of diagnose 308 subcode 6
        s390x/kvm: Fix switch/case indentation for handle_diag
      
      Message-id: 1377810649-47484-1-git-send-email-borntraeger@de.ibm.com
      b95fdc0e
    • Eugene (jno) Dvurechenski's avatar
      s390: wire up nmi command to raise a RESTART interrupt on S390 · 7f7f9752
      Eugene (jno) Dvurechenski authored
      
      There is the 'nmi' command that is used to trigger a guest dump via kdump feature on x86.
      s390 uses RESTART interrupt to trigger kdump.
      So, this patch provides a mean to use 'nmi' command on s390 to raise RESTART interrupt.
      
      The CPU to receive the RESTART interrupt is the "default" one.
      
      There is an infrastructure to select the "default" CPU using 'cpu' command.
      The 'info cpus' command can be used to see which one is the "default".
      
      In order to wire up the RESTART to 'nmi' command we had to:
      1. implement the kvm_s390_cpu_restart function by exporting the existing code
      2. implement s390_cpu_restart function as kvm-aware wrapper
      3. modify the qmp_inject_nmi function to enable (for s390) the scan for
         "default" CPU and call s390_cpu_restart for it;
      3. fix some messages.
      
      Signed-off-by: default avatarEugene (jno) Dvurechenski <jno@linux.vnet.ibm.com>
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: default avatarAlexander Graf <agraf@suse.de>
      7f7f9752
    • Christian Borntraeger's avatar
      s390: Implement load normal reset · f0778475
      Christian Borntraeger authored
      
      kdump on s390 uses a load normal reset to bring the system in a defined
      state by doing a subsystem reset. The issuing CPUs will have an initial
      CPU reset, all other CPUs will have a CPU reset as defined in POP (no
      register content will change).
      
      Implement this as architectured.
      
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      f0778475
    • Christian Borntraeger's avatar
      s390/cpu: split CPU reset into architectured functions · f5ae2a4f
      Christian Borntraeger authored
      
      s390 provides several CPU resets:
      - CPU reset, clears interrupts, stop processing, clears TLB, but does
        not touch registers
      - initial CPU reset, like CPU reset, but also clears PSW, prefix, FPC,
        timer and control registers. It does not touch gprs, fprs and acrs (!)
      - Power on reset: the full monty
      
      wire up CPUClass reset to the full monty, but provide the lesser resets
      as part of S390CPUClass.
      
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      f5ae2a4f
    • Wenchao Xia's avatar
      monitor: improve auto complete of "help" for single command in sub group · 7ca0e061
      Wenchao Xia authored
      
      Now special case "help *" in auto completion can work with sub commands,
      such as "help info u*".
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      7ca0e061
    • Wenchao Xia's avatar
      monitor: allow "help" show message for single command in sub group · 129be006
      Wenchao Xia authored
      
      A new parameter type 'S' is introduced to allow user input any string.
      "help info block" works normal now.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      129be006
    • Wenchao Xia's avatar
      monitor: support sub command in auto completion · d903a779
      Wenchao Xia authored
      
      This patch allows auto completion work normal for sub command case,
      "info block [DEVICE]" can auto complete now, by re-enter the completion
      function. In original code "info" is treated as a special case, now it
      is treated as a sub command group, global variable info_cmds is not used
      any more.
      
      "help" command is still treated as a special case, since it is not a sub
      command group but want to auto complete command in root command table.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      d903a779
    • Wenchao Xia's avatar
      monitor: refine monitor_find_completion() · c35b6400
      Wenchao Xia authored
      
      In order to support sub command in auto completion, a reentrant function
      is needed, so monitor_find_completion() is split into two parts. The
      first part does parsing of user input which need to be done only once,
      the second part does the auto completion job according to the parsing
      result, which contains the necessary code to support sub command and
      works as the reentrant function. The global "info_cmds" is still used
      in second part, which will be replaced by sub command code later.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      c35b6400
    • Wenchao Xia's avatar
      monitor: support sub command in help · 66855495
      Wenchao Xia authored
      
      The old code in help_cmd() uses global 'info_cmds' and treats it as a
      special case. Actually 'info_cmds' is a sub command group of 'mon_cmds',
      in order to avoid direct use of it, help_cmd() needs to change its work
      mechanism to support sub command and not treat it as a special case
      any more.
      
      To support sub command, help_cmd() will first parse the input and then call
      help_cmd_dump(), which works as a reentrant function. When it meets a sub
      command, it simply enters the function again. Since help dumping needs to
      know whole input to printf full help message include prefix, for example,
      "help info block" need to printf prefix "info", so help_cmd_dump() takes all
      args from input and extra parameter arg_index to identify the progress.
      Another function help_cmd_dump_one() is introduced to printf the prefix
      and command's help message.
      
      Now help supports sub command, so later if another sub command group is
      added in any depth, help will automatically work for it. Still "help info
      block" will show error since command parser reject additional parameter,
      which can be improved later. "log" is still treated as a special case.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      66855495
    • Wenchao Xia's avatar
      monitor: refine parse_cmdline() · dcc70cdf
      Wenchao Xia authored
      
      Since this function will be used by help_cmd() later, so improve
      it to make it more generic and easier to use. free_cmdline_args()
      is added too as paired function to free the result.
      
      One change of this function is that, when the valid args in input
      exceed the limit of MAX_ARGS, it fails now, instead of return with
      MAX_ARGS of parsed args in old code. This should not impact much
      since it is rare that user input many args in monitor's "help" and
      auto complete scenario.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      dcc70cdf
    • Wenchao Xia's avatar
      monitor: code move for parse_cmdline() · f5438c05
      Wenchao Xia authored
      
      help_cmd() need this function later, so move it. get_str() is called by
      parse_cmdline() so it is moved also. Some code style error reported by
      check script, is also fixed.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      f5438c05
    • Wenchao Xia's avatar
      monitor: avoid direct use of global variable *mon_cmds · 7717239d
      Wenchao Xia authored
      
      New member *cmd_table is added in structure Monitor to avoid direct usage of
      *mon_cmds. Now monitor have an associated command table, when global variable
      *info_cmds is also discarded, structure Monitor would gain full control about
      how to deal with user input.
      
      Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      7717239d
Loading