mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-09 00:46:57 +00:00
dm: clean up assert in virtio.c
clean up assert in virtio.c Tracked-On: #3302 Signed-off-by: Gao Junhao <junhao.gao@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
parent
c265bd5552
commit
93b4cf57fa
@ -63,7 +63,10 @@ virtio_start_timer(struct acrn_timer *timer, time_t sec, time_t nsec)
|
||||
/* set the delay time it will be started when timer_setting */
|
||||
ts.it_value.tv_sec = sec;
|
||||
ts.it_value.tv_nsec = nsec;
|
||||
assert(acrn_timer_settime(timer, &ts) == 0);
|
||||
if (acrn_timer_settime(timer, &ts) != 0) {
|
||||
fprintf(stderr, "acrn timer set time failed\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@ -127,7 +130,11 @@ virtio_linkup(struct virtio_base *base, struct virtio_ops *vops,
|
||||
int i;
|
||||
|
||||
/* base and pci_virtio_dev addresses must match */
|
||||
assert((void *)base == pci_virtio_dev);
|
||||
if ((void *)base != pci_virtio_dev) {
|
||||
fprintf(stderr,
|
||||
"virtio_base and pci_virtio_dev addresses don't match!\n");
|
||||
return;
|
||||
}
|
||||
base->vops = vops;
|
||||
base->dev = dev;
|
||||
dev->arg = base;
|
||||
@ -767,8 +774,6 @@ virtio_pci_legacy_read(struct vmctx *ctx, int vcpu, struct pci_vdev *dev,
|
||||
uint32_t value;
|
||||
int error;
|
||||
|
||||
/* XXX probably should do something better than just assert() */
|
||||
assert(baridx == base->legacy_pio_bar_idx);
|
||||
|
||||
if (base->mtx)
|
||||
pthread_mutex_lock(base->mtx);
|
||||
@ -881,8 +886,6 @@ virtio_pci_legacy_write(struct vmctx *ctx, int vcpu, struct pci_vdev *dev,
|
||||
uint32_t newoff;
|
||||
int error;
|
||||
|
||||
/* XXX probably should do something better than just assert() */
|
||||
assert(baridx == base->legacy_pio_bar_idx);
|
||||
|
||||
if (base->mtx)
|
||||
pthread_mutex_lock(base->mtx);
|
||||
@ -1073,35 +1076,59 @@ virtio_set_modern_mmio_bar(struct virtio_base *base, int barnum)
|
||||
cap.offset = VIRTIO_CAP_COMMON_OFFSET;
|
||||
cap.length = VIRTIO_CAP_COMMON_SIZE;
|
||||
rc = pci_emul_add_capability(base->dev, (u_char *)&cap, sizeof(cap));
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"pci emulation add common configuration capability failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* isr status capability */
|
||||
cap.cfg_type = VIRTIO_PCI_CAP_ISR_CFG;
|
||||
cap.offset = VIRTIO_CAP_ISR_OFFSET;
|
||||
cap.length = VIRTIO_CAP_ISR_SIZE;
|
||||
rc = pci_emul_add_capability(base->dev, (u_char *)&cap, sizeof(cap));
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"pci emulation add isr status capability failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* device specific configuration capability */
|
||||
cap.cfg_type = VIRTIO_PCI_CAP_DEVICE_CFG;
|
||||
cap.offset = VIRTIO_CAP_DEVICE_OFFSET;
|
||||
cap.length = VIRTIO_CAP_DEVICE_SIZE;
|
||||
rc = pci_emul_add_capability(base->dev, (u_char *)&cap, sizeof(cap));
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"pci emulation add device specific configuration capability failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* notification capability */
|
||||
rc = pci_emul_add_capability(base->dev, (u_char *)¬ify,
|
||||
sizeof(notify));
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"pci emulation add notification capability failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* pci alternative configuration access capability */
|
||||
rc = pci_emul_add_capability(base->dev, (u_char *)&cfg, sizeof(cfg));
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"pci emulation add alternative configuration access capability failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* allocate and register modern memory bar */
|
||||
rc = pci_emul_alloc_bar(base->dev, barnum, PCIBAR_MEM64,
|
||||
VIRTIO_MODERN_MEM_BAR_SIZE);
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"allocate and register modern memory bar failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
base->cfg_coff = virtio_find_capability(base, VIRTIO_PCI_CAP_PCI_CFG);
|
||||
if (base->cfg_coff < 0) {
|
||||
@ -1136,11 +1163,19 @@ virtio_set_modern_pio_bar(struct virtio_base *base, int barnum)
|
||||
/* notification capability */
|
||||
rc = pci_emul_add_capability(base->dev, (u_char *)¬ify_pio,
|
||||
sizeof(notify_pio));
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"pci emulation add notification capability for virtio modern PIO BAR failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* allocate and register modern pio bar */
|
||||
rc = pci_emul_alloc_bar(base->dev, barnum, PCIBAR_IO, 4);
|
||||
assert(rc == 0);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr,
|
||||
"allocate and register modern pio bar failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
base->modern_pio_bar_idx = barnum;
|
||||
return 0;
|
||||
@ -1582,7 +1617,6 @@ virtio_pci_modern_mmio_read(struct vmctx *ctx, int vcpu, struct pci_vdev *dev,
|
||||
uint32_t value;
|
||||
int capid;
|
||||
|
||||
assert(base->modern_mmio_bar_idx == baridx);
|
||||
|
||||
vops = base->vops;
|
||||
name = vops->name;
|
||||
@ -1640,7 +1674,6 @@ virtio_pci_modern_mmio_write(struct vmctx *ctx, int vcpu, struct pci_vdev *dev,
|
||||
const char *name;
|
||||
int capid;
|
||||
|
||||
assert(base->modern_mmio_bar_idx == baridx);
|
||||
|
||||
vops = base->vops;
|
||||
name = vops->name;
|
||||
@ -1690,9 +1723,6 @@ static uint32_t
|
||||
virtio_pci_modern_pio_read(struct vmctx *ctx, int vcpu, struct pci_vdev *dev,
|
||||
int baridx, uint64_t offset, int size)
|
||||
{
|
||||
struct virtio_base *base = dev->arg;
|
||||
|
||||
assert(base->modern_pio_bar_idx == baridx);
|
||||
/* guest driver should not read notify pio */
|
||||
return 0;
|
||||
}
|
||||
@ -1708,7 +1738,6 @@ virtio_pci_modern_pio_write(struct vmctx *ctx, int vcpu, struct pci_vdev *dev,
|
||||
const char *name;
|
||||
uint64_t idx;
|
||||
|
||||
assert(base->modern_pio_bar_idx == baridx);
|
||||
|
||||
vops = base->vops;
|
||||
name = vops->name;
|
||||
|
Loading…
Reference in New Issue
Block a user