mirror of
https://github.com/systemd/systemd.git
synced 2024-12-05 00:04:02 +08:00
2063b5540e
This addresses missing feature on #8677 Devices in Hyper-V/Azure exist on vmbus and are identified by UUID value. This patch adds a hardware table so that udevadm can report properties. I chose names are based on the values reported in Window Device Manager (for consistency). The table includes several devices that are not used by Linux but are present and ignored. For example: $ udevadm info -q property /sys/bus/vmbus/devices/58f75a6d-d949-4320-99e1-a2a2576d581c DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/VMBUS:00/58f75a6d-d949-4320-99e1-a2a2576d581c DRIVER=hid_hyperv ID_MODEL_FROM_DATABASE=Microsoft Hyper-V Mouse MODALIAS=vmbus:9eb6a8cf4a5bc04cb98b8ba1a1f3f95a SUBSYSTEM=vmbus USEC_INITIALIZED=11076966 Or with updated kernel the driverctl script. $ driverctl -b vmbus -v list-devices 1eccfd72-4b41-45ef-b73a-4a6e44c12924 hv_balloon (Microsoft Hyper-V Dynamic Memory) 242ff919-07db-4180-9c2e-b86cb68c8c55 hv_util (Microsoft Hyper-V Data Exchange) 2450ee40-33bf-4fbd-892e-9fb06e9214cf hv_util (Microsoft Hyper-V Backup/Restore) 2dd1ce17-079e-403c-b352-a1921ee207ee hv_util (Microsoft Hyper-V Time Sync) 4487b255-b88c-403f-bb51-d1f69cf17f87 (none) (Microsoft Hyper-V Virtual Machine Activation) 53557f8e-057d-425b-9265-01c0fd7e273e hv_netvsc (Microsoft Hyper-V Network Adapter) 5620e0c7-8062-4dce-aeb7-520c7ef76171 hyperv_fb (Microsoft Hyper-V Video) 58f75a6d-d949-4320-99e1-a2a2576d581c hid_hyperv (Microsoft Hyper-V Mouse) 849a776e-8120-4e4a-9a36-7e3d95ac75b3 hv_netvsc (Microsoft Hyper-V Network Adapter) 99221fa0-24ad-11e2-be98-001aa01bbf6e (none) (Microsoft Hyper-V Remote Desktop Control) b2f44faf-2a29-42ba-91b2-f13fd30a2d4b hv_storvsc (Microsoft Hyper-V SCSI Controller) b6650ff7-33bc-4840-8048-e0676786f393 hv_util (Microsoft Hyper-V Guest Shutdown) d34b2567-b9b6-42b9-8778-0a4ec0b955bf hyperv_keyboard (Microsoft Hyper-V Keyboard) f5bee29c-1741-4aad-a4c2-8fdedb46dcc2 (none) (Microsoft Hyper-V Remote Desktop Virtualization) fd149e91-82e0-4a7d-afa6-2a4166cbd7c0 hv_util (Microsoft Hyper-V Heartbeat)
63 lines
2.0 KiB
Meson
63 lines
2.0 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
# Copyright 2017 Zbigniew Jędrzejewski-Szmek
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# systemd is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
hwdb_files = files('''
|
|
20-pci-vendor-model.hwdb
|
|
20-pci-classes.hwdb
|
|
20-usb-vendor-model.hwdb
|
|
20-usb-classes.hwdb
|
|
20-sdio-vendor-model.hwdb
|
|
20-sdio-classes.hwdb
|
|
20-bluetooth-vendor-product.hwdb
|
|
20-acpi-vendor.hwdb
|
|
20-OUI.hwdb
|
|
20-net-ifname.hwdb
|
|
20-vmbus-class.hwdb
|
|
60-evdev.hwdb
|
|
60-keyboard.hwdb
|
|
60-sensor.hwdb
|
|
70-joystick.hwdb
|
|
70-mouse.hwdb
|
|
70-pointingstick.hwdb
|
|
70-touchpad.hwdb
|
|
'''.split())
|
|
|
|
if conf.get('ENABLE_HWDB') == 1
|
|
install_data(hwdb_files,
|
|
install_dir : udevhwdbdir)
|
|
|
|
meson.add_install_script('sh', '-c',
|
|
mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d')))
|
|
|
|
meson.add_install_script('sh', '-c',
|
|
'test -n "$DESTDIR" || @0@/systemd-hwdb update'
|
|
.format(rootbindir))
|
|
endif
|
|
|
|
############################################################
|
|
|
|
parse_hwdb_py = find_program('parse_hwdb.py')
|
|
test('parse-hwdb',
|
|
parse_hwdb_py,
|
|
timeout : 90)
|
|
|
|
############################################################
|
|
|
|
run_target(
|
|
'hwdb-update',
|
|
command : [hwdb_update_sh, meson.current_source_dir()])
|