We need a proxy device for virtio-pmem, and this device has to be the actual memory device so we can cleanly hotplug it. Forward memory device class functions either to the actual device or use properties of the virtio-pmem device to implement these in the proxy. virtio-pmem will only be compiled for selected, supported architectures (that can deal with virtio/pci devices being memory devices). An architecture that is prepared for that can simply enable CONFIG_VIRTIO_PMEM to make it work. As not all architectures support memory devices (and CONFIG_VIRTIO_PMEM will be enabled per supported architecture), we have to move the PCI proxy to a separate file. Signed-off-by: Pankaj Gupta <pagupta@redhat.com> [ split up patches, memory-device changes, move pci proxy] Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20190619094907.10131-5-pagupta@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
40 lines
1.6 KiB
Makefile
40 lines
1.6 KiB
Makefile
ifeq ($(CONFIG_VIRTIO),y)
|
|
common-obj-y += virtio-bus.o
|
|
obj-y += virtio.o
|
|
|
|
obj-$(call lor,$(CONFIG_VHOST_USER),$(CONFIG_VHOST_KERNEL)) += vhost.o vhost-backend.o
|
|
common-obj-$(call lnot,$(call lor,$(CONFIG_VHOST_USER),$(CONFIG_VHOST_KERNEL))) += vhost-stub.o
|
|
obj-$(CONFIG_VHOST_USER) += vhost-user.o
|
|
|
|
common-obj-$(CONFIG_VIRTIO_RNG) += virtio-rng.o
|
|
common-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
|
|
common-obj-$(CONFIG_VIRTIO_MMIO) += virtio-mmio.o
|
|
obj-$(CONFIG_VIRTIO_BALLOON) += virtio-balloon.o
|
|
obj-$(CONFIG_VIRTIO_CRYPTO) += virtio-crypto.o
|
|
obj-$(call land,$(CONFIG_VIRTIO_CRYPTO),$(CONFIG_VIRTIO_PCI)) += virtio-crypto-pci.o
|
|
obj-$(CONFIG_VIRTIO_PMEM) += virtio-pmem.o
|
|
common-obj-$(call land,$(CONFIG_VIRTIO_PMEM),$(CONFIG_VIRTIO_PCI)) += virtio-pmem-pci.o
|
|
obj-$(CONFIG_VHOST_VSOCK) += vhost-vsock.o
|
|
|
|
ifeq ($(CONFIG_VIRTIO_PCI),y)
|
|
obj-$(CONFIG_VHOST_VSOCK) += vhost-vsock-pci.o
|
|
obj-$(CONFIG_VHOST_USER_BLK) += vhost-user-blk-pci.o
|
|
obj-$(CONFIG_VHOST_USER_INPUT) += vhost-user-input-pci.o
|
|
obj-$(CONFIG_VHOST_USER_SCSI) += vhost-user-scsi-pci.o
|
|
obj-$(CONFIG_VHOST_SCSI) += vhost-scsi-pci.o
|
|
obj-$(CONFIG_VIRTIO_INPUT_HOST) += virtio-input-host-pci.o
|
|
obj-$(CONFIG_VIRTIO_INPUT) += virtio-input-pci.o
|
|
obj-$(CONFIG_VIRTIO_RNG) += virtio-rng-pci.o
|
|
obj-$(CONFIG_VIRTIO_BALLOON) += virtio-balloon-pci.o
|
|
obj-$(CONFIG_VIRTIO_9P) += virtio-9p-pci.o
|
|
obj-$(CONFIG_VIRTIO_SCSI) += virtio-scsi-pci.o
|
|
obj-$(CONFIG_VIRTIO_BLK) += virtio-blk-pci.o
|
|
obj-$(CONFIG_VIRTIO_NET) += virtio-net-pci.o
|
|
obj-$(CONFIG_VIRTIO_SERIAL) += virtio-serial-pci.o
|
|
endif
|
|
else
|
|
common-obj-y += vhost-stub.o
|
|
endif
|
|
|
|
common-obj-$(CONFIG_ALL) += vhost-stub.o
|