use qmp for vm_devices_list

This commit is contained in:
Dietmar Maurer 2012-07-13 08:42:13 +02:00
parent 9df5cbcc70
commit ceea9078ad

View File

@ -2364,24 +2364,13 @@ sub next_migrate_port {
sub vm_devices_list {
my ($vmid) = @_;
my $res = vm_monitor_command ($vmid, "info pci");
my $res = vm_mon_cmd($vmid, 'query-pci');
my @lines = split ("\n", $res);
my $devices;
my $bus;
my $addr;
my $id;
foreach my $line (@lines) {
$line =~ s/^\s+//;
if ($line =~ m/^Bus (\d+), device (\d+), function (\d+):$/) {
$bus=$1;
$addr=$2;
}
if ($line =~ m/^id "([a-z][a-z_\-]*\d*)"$/) {
$id=$1;
$devices->{$id}->{bus}=$bus;
$devices->{$id}->{addr}=$addr;
my $devices = {};
foreach my $pcibus (@$res) {
foreach my $device (@{$pcibus->{devices}}) {
next if !$device->{'qdev_id'};
$devices->{$device->{'qdev_id'}} = $device;
}
}