KVM: set upper bounds for iobus dev to limit userspace

kvm_io_bus devices are used for ioevent, pit, pic, ioapic,
coalesced_mmio.

Currently Qemu only emulates one PCI bus, it contains 32 slots,
one slot contains 8 functions, maximum of supported PCI devices:
 1 * 32 * 8 = 256. One virtio-blk takes one iobus device,
one virtio-net(vhost=on) takes two iobus devices.
The maximum of coalesced mmio zone is 100, each zone
has an iobus devices. So 300 io_bus devices are not enough.

Set an upper bounds for kvm_io_range to limit userspace.
1000 is a very large limit and not bloat the typical user.

Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Amos Kong 2012-03-09 12:17:40 +08:00 коммит произвёл Avi Kivity
Родитель a13007160f
Коммит 786a9f888b
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -68,7 +68,7 @@ struct kvm_io_range {
struct kvm_io_device *dev;
};
#define NR_IOBUS_DEVS 300
#define NR_IOBUS_DEVS 1000
struct kvm_io_bus {
int dev_count;