In my case addr 0x9 was allready in use.
lspci | grep 09.0
now its working with:
args: -device ahci,id=ahci1,multifunction=on,bus=pci.0,addr=0x10 -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata6,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.0,drive=drive-sata6,id=sata6,serial=XXXXXXXX -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata7,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.1,drive=drive-sata7,id=sata7,serial=XXXXXXXX -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata8,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.2,drive=drive-sata8,id=sata8,serial=XXXXXXXX -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata9,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.3,drive=drive-sata9,id=sata9,serial=XXXXXXXX
lspci | grep 09.0
now its working with:
args: -device ahci,id=ahci1,multifunction=on,bus=pci.0,addr=0x10 -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata6,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.0,drive=drive-sata6,id=sata6,serial=XXXXXXXX -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata7,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.1,drive=drive-sata7,id=sata7,serial=XXXXXXXX -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata8,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.2,drive=drive-sata8,id=sata8,serial=XXXXXXXX -drive file=/dev/disk/by-id/ata-XXXXXXXX,if=none,id=drive-sata9,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ahci1.3,drive=drive-sata9,id=sata9,serial=XXXXXXXX