b0d70b76cb
1. Some platforms do not support interrupt mode (PCI_MSI/MSIX), so add polling mode support, so these platforms can also use virtio-pci; 2. In some cases, we do not want to use the interrupt for virtio driver to avoid time jitter, so add the polling mode support; 3. If CONFIG_DRIVERS_VIRTIO_PCI_POLLING_PERIOD <= 0, interrupt mode. if CONFIG_DRIVERS_VIRTIO_PCI_POLLING_PERIOD > 0, polling mode. Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
116 lines
2.6 KiB
Plaintext
116 lines
2.6 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menuconfig DRIVERS_VIRTIO
|
|
bool "Virtio Device Support"
|
|
select OPENAMP
|
|
default n
|
|
|
|
if DRIVERS_VIRTIO
|
|
config DRIVERS_VIRTIO_MMIO
|
|
bool "Virtio MMIO Device Support"
|
|
default n
|
|
|
|
config DRIVERS_VIRTIO_MMIO_QUEUE_LEN
|
|
int "Virtio MMIO Virtio Queue Length"
|
|
default 0
|
|
range 0 1024
|
|
depends on DRIVERS_VIRTIO_MMIO
|
|
---help---
|
|
If this value equals to 0, use the max queue length get from
|
|
mmio register.
|
|
|
|
config DRIVERS_VIRTIO_PCI
|
|
bool "Virtio PCI Device Support"
|
|
default n
|
|
|
|
config DRIVERS_VIRTIO_PCI_POLLING_PERIOD
|
|
int "Virtio PCI Polling Period (us)"
|
|
depends on DRIVERS_VIRTIO_PCI
|
|
default 0
|
|
---help---
|
|
if Polling Period <= 0, not support polling mode.
|
|
if Polling Period > 0, support polling mode, and it represent
|
|
polling period (us).
|
|
|
|
config DRIVERS_VIRTIO_BLK
|
|
bool "Virtio block support"
|
|
depends on !DISABLE_MOUNTPOINT
|
|
default n
|
|
|
|
config DRIVERS_VIRTIO_GPU
|
|
bool "Virtio gpu support"
|
|
default n
|
|
depends on VIDEO_FB
|
|
select FB_UPDATE
|
|
|
|
config DRIVERS_VIRTIO_INPUT
|
|
bool "Virtio input support"
|
|
depends on INPUT && INPUT_TOUCHSCREEN && INPUT_KEYBOARD && INPUT_MOUSE
|
|
default n
|
|
|
|
config DRIVERS_VIRTIO_NET
|
|
bool "Virtio network support"
|
|
depends on NETDEVICES
|
|
default n
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
select NETDEV_LATEINIT
|
|
|
|
config DRIVERS_VIRTIO_NET_BUFNUM
|
|
int "Virtio network driver buffer number"
|
|
default 0
|
|
depends on DRIVERS_VIRTIO_NET
|
|
---help---
|
|
The buffer number in each virtqueue. (We have 2 virtqueues.)
|
|
If this value equals to 0, use CONFIG_IOB_NBUFFERS / 4 for each.
|
|
Normally we get just a little improvement for >8 buffers, and very little for >32.
|
|
|
|
config DRIVERS_VIRTIO_RNG
|
|
bool "Virtio rng support"
|
|
default n
|
|
select ARCH_HAVE_RNG
|
|
|
|
config DRIVERS_VIRTIO_RPMB
|
|
bool "Virtio RPMB support"
|
|
default n
|
|
|
|
config DRIVERS_VIRTIO_SERIAL
|
|
bool "Virtio serial support"
|
|
depends on SERIAL
|
|
default n
|
|
select SERIAL_RXDMA
|
|
select SERIAL_TXDMA
|
|
|
|
if DRIVERS_VIRTIO_SERIAL
|
|
config DRIVERS_VIRTIO_SERIAL_BUFSIZE
|
|
int "Virtio serial driver buffer size"
|
|
default 256
|
|
|
|
config DRIVERS_VIRTIO_SERIAL_CONSOLE
|
|
bool "Virtio serial console"
|
|
default n
|
|
select SERIAL_CONSOLE
|
|
---help---
|
|
This enables using first virtio serial device as console.
|
|
|
|
endif
|
|
|
|
config DRIVERS_VIRTIO_SOUND
|
|
bool "Virtio sound support"
|
|
default n
|
|
depends on DRIVERS_AUDIO
|
|
|
|
if DRIVERS_VIRTIO_SOUND
|
|
config DRIVERS_VIRTIO_SOUND_PERIOD_TIME
|
|
int "Virtio snd driver period time"
|
|
default 40
|
|
|
|
config DRIVERS_VIRTIO_SND_BUFFER_COUNT
|
|
int "Virtio snd driver buffer count"
|
|
default 6
|
|
endif
|
|
|
|
endif # DRIVERS_VIRTIO
|