[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings c
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check |
Date: |
Thu, 28 Mar 2013 11:03:02 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
Il 28/03/2013 10:04, Michael S. Tsirkin ha scritto:
>>> > > Got ranges_overlap for vq: 0 ring_phys: 0 ring_size: 1028
>>> > > Checking vq: 1 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
>>> > > Got ranges_overlap for vq: 1 ring_phys: 0 ring_size: 1028
>>> > > Checking vq: 2 ring_phys: ed000 ring_size: 5124 >>>>>>>>>>>>>>>>>>.
>>> > > Calling l: 5124 for start_addr: c0000 for vq 2
>>> > > Unable to map ring buffer for ring 2
>>> > > l: 4096 ring_size: 5124
> okay so the ring address is within ROM.
> Unsurprisingly it fails.
> bios should stop device before write protect.
>
The above log is very early, when everything is RAM:
vhost_set_memory: section: 0x7fe2801f2b60 section->size: 2146697216 add: 0
Before vhost_verify_ring_mappings: start_addr: c0000 size: 2146697216
The rings are not within ROM. ROM is at 0xc0000-0xcc000 according to the
PAM registers.
The way I followed the debug output, "Got ranges_overlap" means
actually "bailing out because ranges do not overlap". In particular,
here all three virtqueues fail the test, because this is the ROM area
0xc0000..0xc7fff:
vhost_set_memory: section: 0x7fe2801f2aa0 section->size: 32768 add: 1
Before vhost_verify_ring_mappings: start_addr: c0000 size: 32768
Checking vq: 0 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 0 ring_phys: 0 ring_size: 1028
Checking vq: 1 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 1 ring_phys: 0 ring_size: 1028
Checking vq: 2 ring_phys: ed000 ring_size: 5124 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 2 ring_phys: ed000 ring_size: 5124
Just below, vhost looks at the large RAM area starting at 0xc8000
(it's large because 0xf0000..0xfffff is still RAM):
vhost_set_memory: section: 0x7fe2801f2aa0 section->size: 2146664448 add: 1
Before vhost_verify_ring_mappings: start_addr: c8000 size: 2146664448
Checking vq: 0 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 0 ring_phys: 0 ring_size: 1028
Checking vq: 1 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 1 ring_phys: 0 ring_size: 1028
Checking vq: 2 ring_phys: ed000 ring_size: 5124 >>>>>>>>>>>>>>>>>>.
Calling l: 5124 for start_addr: c8000 for vq 2
Here vq 0 and 1 fail the test because they are in low RAM, vq 2 passes.
After 0xf0000..0xfffff is marked readonly, vhost looks at the RAM
between 0xc9000 and 0xf0000:
vhost_set_memory: section: 0x7fe2801f2aa0 section->size: 159744 add: 1
Before vhost_verify_ring_mappings: start_addr: c9000 size: 159744
Checking vq: 0 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 0 ring_phys: 0 ring_size: 1028
Checking vq: 1 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 1 ring_phys: 0 ring_size: 1028
Checking vq: 2 ring_phys: ed000 ring_size: 5124 >>>>>>>>>>>>>>>>>>.
Calling l: 5124 for start_addr: c9000 for vq 2
and the ROM between 0xf0000 and 0xfffff, which no ring overlaps with:
vhost_set_memory: section: 0x7fe2801f2aa0 section->size: 65536 add: 1
Before vhost_verify_ring_mappings: start_addr: f0000 size: 65536
Checking vq: 0 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 0 ring_phys: 0 ring_size: 1028
Checking vq: 1 ring_phys: 0 ring_size: 1028 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 1 ring_phys: 0 ring_size: 1028
Checking vq: 2 ring_phys: ed000 ring_size: 5124 >>>>>>>>>>>>>>>>>>.
Got ranges_overlap for vq: 2 ring_phys: ed000 ring_size: 5124
SeaBIOS is indeed not initializing vqs 0/1 (the control and event
queues), so their ring_phys is 0. But the one that is failing is vq 2,
the first request queue.
Your patch seems good, but shouldn't fix this problem.
Paolo
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, (continued)
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Stefan Hajnoczi, 2013/03/19
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Asias He, 2013/03/19
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/19
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Michael S. Tsirkin, 2013/03/20
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/27
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Michael S. Tsirkin, 2013/03/27
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/27
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/28
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/28
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Michael S. Tsirkin, 2013/03/28
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/28
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Paolo Bonzini, 2013/03/28
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/28
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Paolo Bonzini, 2013/03/29
- Re: [Qemu-devel] [PATCH V3 WIP 3/3] disable vhost_verify_ring_mappings check, Nicholas A. Bellinger, 2013/03/28
[Qemu-devel] [PATCH V3 WIP 2/3] vhost-scsi: new device supporting the tcm_vhost Linux kernel module, Asias He, 2013/03/18
[Qemu-devel] [PATCH V3 WIP 1/3] virtio-scsi: create VirtIOSCSICommon, Asias He, 2013/03/18