my $vollist = [];
my $scsicontroller = {};
+ my $ahcicontroller = {};
foreach_drive($conf, sub {
my ($ds, $drive) = @_;
$scsicontroller->{$controller}=1;
}
- push @$cmd, '-drive', print_drive_full($storecfg, $vmid, $drive);
+ if ($drive->{interface} eq 'sata') {
+ my $controller = int($drive->{index} / $MAX_SATA_DISKS);
+ $pciaddr = print_pci_addr("ahci$controller");
+ push @$cmd, '-device', "ahci,id=ahci$controller,multifunction=on$pciaddr" if !$ahcicontroller->{$controller};
+ $ahcicontroller->{$controller}=1;
+ }
+
+ push @$cmd, '-drive',print_drive_full($storecfg, $vmid, $drive);
push @$cmd, '-device',print_drivedevice_full($storecfg,$vmid, $drive);
});
watchdog => { bus => 0, addr => 4 },
lsi0 => { bus => 0, addr => 5 },
lsi1 => { bus => 0, addr => 6 },
+ ahci0 => { bus => 0, addr => 7 },
virtio0 => { bus => 0, addr => 10 },
virtio1 => { bus => 0, addr => 11 },
virtio2 => { bus => 0, addr => 12 },