linux-imx/tools/hv/lsvmbus
Adrian Vladu 5912e791f3 tools: hv: fixed Python pep8/flake8 warnings for lsvmbus
Fixed pep8/flake8 python style code for lsvmbus tool.

The TAB indentation was on purpose ignored (pep8 rule W191) to make
sure the code is complying with the Linux code guideline.
The following command doe not show any warnings now:
pep8 --ignore=W191 lsvmbus
flake8 --ignore=W191 lsvmbus

Signed-off-by: Adrian Vladu <avladu@cloudbasesolutions.com>

Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Sasha Levin <sashal@kernel.org>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: Alessandro Pilotti <apilotti@cloudbasesolutions.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-08-17 15:29:18 -04:00

3.5 KiB

#!/usr/bin/env python

SPDX-License-Identifier: GPL-2.0

import os from optparse import OptionParser

help_msg = "print verbose messages. Try -vv, -vvv for more verbose messages" parser = OptionParser() parser.add_option( "-v", "--verbose", dest="verbose", help=help_msg, action="count")

(options, args) = parser.parse_args()

verbose = 0 if options.verbose is not None: verbose = options.verbose

vmbus_sys_path = '/sys/bus/vmbus/devices' if not os.path.isdir(vmbus_sys_path): print("%s doesn't exist: exiting..." % vmbus_sys_path) exit(-1)

vmbus_dev_dict = { '{0e0b6031-5213-4934-818b-38d90ced39db}': '[Operating system shutdown]', '{9527e630-d0ae-497b-adce-e80ab0175caf}': '[Time Synchronization]', '{57164f39-9115-4e78-ab55-382f3bd5422d}': '[Heartbeat]', '{a9a0f4e7-5a45-4d96-b827-8a841e8c03e6}': '[Data Exchange]', '{35fa2e29-ea23-4236-96ae-3a6ebacba440}': '[Backup (volume checkpoint)]', '{34d14be3-dee4-41c8-9ae7-6b174977c192}': '[Guest services]', '{525074dc-8985-46e2-8057-a307dc18a502}': '[Dynamic Memory]', '{cfa8b69e-5b4a-4cc0-b98b-8ba1a1f3f95a}': 'Synthetic mouse', '{f912ad6d-2b17-48ea-bd65-f927a61c7684}': 'Synthetic keyboard', '{da0a7802-e377-4aac-8e77-0558eb1073f8}': 'Synthetic framebuffer adapter', '{f8615163-df3e-46c5-913f-f2d2f965ed0e}': 'Synthetic network adapter', '{32412632-86cb-44a2-9b5c-50d1417354f5}': 'Synthetic IDE Controller', '{ba6163d9-04a1-4d29-b605-72e2ffb1dc7f}': 'Synthetic SCSI Controller', '{2f9bcc4a-0069-4af3-b76b-6fd0be528cda}': 'Synthetic fiber channel adapter', '{8c2eaf3d-32a7-4b09-ab99-bd1f1c86b501}': 'Synthetic RDMA adapter', '{44c4f61d-4444-4400-9d52-802e27ede19f}': 'PCI Express pass-through', '{276aacf4-ac15-426c-98dd-7521ad3f01fe}': '[Reserved system device]', '{f8e65716-3cb3-4a06-9a60-1889c5cccab5}': '[Reserved system device]', '{3375baf4-9e15-4b30-b765-67acb10d607b}': '[Reserved system device]', }

def get_vmbus_dev_attr(dev_name, attr): try: f = open('%s/%s/%s' % (vmbus_sys_path, dev_name, attr), 'r') lines = f.readlines() f.close() except IOError: lines = []

return lines

class VMBus_Dev: pass

vmbus_dev_list = []

for f in os.listdir(vmbus_sys_path): vmbus_id = get_vmbus_dev_attr(f, 'id')[0].strip() class_id = get_vmbus_dev_attr(f, 'class_id')[0].strip() device_id = get_vmbus_dev_attr(f, 'device_id')[0].strip() dev_desc = vmbus_dev_dict.get(class_id, 'Unknown')

chn_vp_mapping = get_vmbus_dev_attr(f, 'channel_vp_mapping')
chn_vp_mapping = [c.strip() for c in chn_vp_mapping]
chn_vp_mapping = sorted(
	chn_vp_mapping, key=lambda c: int(c.split(':')[0]))

chn_vp_mapping = [
	'\tRel_ID=%s, target_cpu=%s' %
	(c.split(':')[0], c.split(':')[1]) for c in chn_vp_mapping
]
d = VMBus_Dev()
d.sysfs_path = '%s/%s' % (vmbus_sys_path, f)
d.vmbus_id = vmbus_id
d.class_id = class_id
d.device_id = device_id
d.dev_desc = dev_desc
d.chn_vp_mapping = '\n'.join(chn_vp_mapping)
if d.chn_vp_mapping:
	d.chn_vp_mapping += '\n'

vmbus_dev_list.append(d)

vmbus_dev_list = sorted(vmbus_dev_list, key=lambda d: int(d.vmbus_id))

format0 = '%2s: %s' format1 = '%2s: Class_ID = %s - %s\n%s' format2 = '%2s: Class_ID = %s - %s\n\tDevice_ID = %s\n\tSysfs path: %s\n%s'

for d in vmbus_dev_list: if verbose == 0: print(('VMBUS ID ' + format0) % (d.vmbus_id, d.dev_desc)) elif verbose == 1: print( ('VMBUS ID ' + format1) % (d.vmbus_id, d.class_id, d.dev_desc, d.chn_vp_mapping) ) else: print( ('VMBUS ID ' + format2) % ( d.vmbus_id, d.class_id, d.dev_desc, d.device_id, d.sysfs_path, d.chn_vp_mapping ) )