hi,
I had make virtio_console work OK on my environment(armv8),
But I meet two question when I add virtio net with virtio_console meanwhile.
Question1:
"add_io_port_range@io.c:111 Requested ioport range 0x6200-0x6600" for VIRTIO
CON overlaps with existing range 0x6200-0x6600 for VIRTIO PCI NET
According to the print above:
common_make_virtio_con(virtio_emul_vm, vm->pci, vm->io_port,
VIRTIO_IOPORT_START, VIRTIO_IOPORT_SIZE,
VIRTIO_INTERRUPT_PIN,
VIRTIO_CON_PLAT_INTERRUPT_LINE, backend);
common_make_virtio_net(virtio_emul_vm, vm->pci, vm->io_port, VIRTIO_IOPORT_START
+ 0x1000, VIRTIO_IOPORT_SIZE,
VIRTIO_INTERRUPT_PIN,
VIRTIO_NET_PLAT_INTERRUPT_LINE, backend);
a、above two function,I found they use the same VIRTIO_IOPORT_START, I modify
VIRTIO_IOPORT_START of common_make_virtio_net to (VIRTIO_IOPORT_START + 0x1000), is it
OK?
b、I also found(VIRTIO_CON_PLAT_INTERRUPT_LINE == VIRTIO_NET_PLAT_INTERRUPT_LINE),is
that OK? Whether it should be make interrupt line different ?
Question2:
"_utspace_split_alloc@split.c:272 Failed to find any untyped capable of creating
an object at address 0xc0001000
Failed to find device cap for 0xc0001000"
According to the print above:
a、my PCI region define as below:
#define PCI_CFG_REGION_ADDR 0xC1000000
#define PCI_IO_REGION_ADDR 0xC0000000
#define PCI_CFG_REGION_SIZE 0x1000000
#define PCI_IO_REGION_SIZE 0x1000
#define PCI_CFG_BAR_MASK 0xFFFFFFFF
I found 'virtio_net_init' and 'virtio_console_init' will call
the same function 'install_virtio_vpci_device',
net and console will have the same PCI_IO_REGION_ADDR ? is it OK?
b、If I want to support two or muti virtio device, which should I add a new macro
define for virtio_net in a? for example add PCI_IO_REGION_ADDR for net or add
PCI_CFG_REGION_ADDR ?
c、Can you give me some list file to change for support for support net and console
meanwhile?
Thank you very much.