hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues
The virtio-mmio spec says that QueueNumMax must read zero for queues which are unavailable; implement this, rather than always returning VIRTQUEUE_MAX_SIZE. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1374853288-9912-3-git-send-email-peter.maydell@linaro.org Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									f6049f4483
								
							
						
					
					
						commit
						f7b803b377
					
				| 
						 | 
				
			
			@ -151,6 +151,9 @@ static uint64_t virtio_mmio_read(void *opaque, hwaddr offset, unsigned size)
 | 
			
		|||
        }
 | 
			
		||||
        return proxy->host_features;
 | 
			
		||||
    case VIRTIO_MMIO_QUEUENUMMAX:
 | 
			
		||||
        if (!virtio_queue_get_num(vdev, vdev->queue_sel)) {
 | 
			
		||||
            return 0;
 | 
			
		||||
        }
 | 
			
		||||
        return VIRTQUEUE_MAX_SIZE;
 | 
			
		||||
    case VIRTIO_MMIO_QUEUEPFN:
 | 
			
		||||
        return virtio_queue_get_addr(vdev, vdev->queue_sel)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue