diff mbox

qemu/kvm_stat: Powerpc related fixes

Message ID 1461036541-3220-1-git-send-email-hemant@linux.vnet.ibm.com
State New
Headers show

Commit Message

Hemant Kumar April 19, 2016, 3:29 a.m. UTC
kvm_stat script is failing to execute on powerpc :
 # ./kvm_stat
Traceback (most recent call last):
  File "./kvm_stat", line 825, in <module>
    main()
  File "./kvm_stat", line 813, in main
    providers = get_providers(options)
  File "./kvm_stat", line 778, in get_providers
    providers.append(TracepointProvider())
  File "./kvm_stat", line 416, in __init__
    self.filters = get_filters()
  File "./kvm_stat", line 315, in get_filters
    if ARCH.exit_reasons:
AttributeError: 'ArchPPC' object has no attribute 'exit_reasons'

This is because, its trying to access a non-defined attribute.

Also, the IOCTL number of RESET is incorrect for powerpc. The correct
number has been added.

Signed-off-by: Hemant Kumar <hemant@linux.vnet.ibm.com>
---
 scripts/kvm/kvm_stat | 2 ++
 1 file changed, 2 insertions(+)

Comments

Paolo Bonzini May 10, 2016, 11:58 a.m. UTC | #1
On 19/04/2016 05:29, Hemant Kumar wrote:
> kvm_stat script is failing to execute on powerpc :
>  # ./kvm_stat
> Traceback (most recent call last):
>   File "./kvm_stat", line 825, in <module>
>     main()
>   File "./kvm_stat", line 813, in main
>     providers = get_providers(options)
>   File "./kvm_stat", line 778, in get_providers
>     providers.append(TracepointProvider())
>   File "./kvm_stat", line 416, in __init__
>     self.filters = get_filters()
>   File "./kvm_stat", line 315, in get_filters
>     if ARCH.exit_reasons:
> AttributeError: 'ArchPPC' object has no attribute 'exit_reasons'
> 
> This is because, its trying to access a non-defined attribute.
> 
> Also, the IOCTL number of RESET is incorrect for powerpc. The correct
> number has been added.
> 
> Signed-off-by: Hemant Kumar <hemant@linux.vnet.ibm.com>
> ---
>  scripts/kvm/kvm_stat | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
> index 769d884..27d217a 100755
> --- a/scripts/kvm/kvm_stat
> +++ b/scripts/kvm/kvm_stat
> @@ -256,11 +256,13 @@ class ArchPPC(Arch):
>          self.ioctl_numbers = IOCTL_NUMBERS
>          self.ioctl_numbers['ENABLE'] = 0x20002400
>          self.ioctl_numbers['DISABLE'] = 0x20002401
> +        self.ioctl_numbers['RESET'] = 0x20002403
>  
>          # PPC comes in 32 and 64 bit and some generated ioctl
>          # numbers depend on the wordsize.
>          char_ptr_size = ctypes.sizeof(ctypes.c_char_p)
>          self.ioctl_numbers['SET_FILTER'] = 0x80002406 | char_ptr_size << 16
> +        self.exit_reasons = {}
>  
>  class ArchA64(Arch):
>      def __init__(self):
> 

Cc: qemu-stable@nongnu.org

Queued for 2.7 and 2.6.1, thanks.

Paolo
diff mbox

Patch

diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index 769d884..27d217a 100755
--- a/scripts/kvm/kvm_stat
+++ b/scripts/kvm/kvm_stat
@@ -256,11 +256,13 @@  class ArchPPC(Arch):
         self.ioctl_numbers = IOCTL_NUMBERS
         self.ioctl_numbers['ENABLE'] = 0x20002400
         self.ioctl_numbers['DISABLE'] = 0x20002401
+        self.ioctl_numbers['RESET'] = 0x20002403
 
         # PPC comes in 32 and 64 bit and some generated ioctl
         # numbers depend on the wordsize.
         char_ptr_size = ctypes.sizeof(ctypes.c_char_p)
         self.ioctl_numbers['SET_FILTER'] = 0x80002406 | char_ptr_size << 16
+        self.exit_reasons = {}
 
 class ArchA64(Arch):
     def __init__(self):