On Mon, Jun 16, 2014 at 10:04:21AM +0300, Michael S. Tsirkin wrote: > On Mon, Jun 16, 2014 at 02:29:08PM +0800, Hu Tao wrote: > > On Sun, Jun 15, 2014 at 01:00:56PM +0300, Michael S. Tsirkin wrote: > > > On Sat, Jun 14, 2014 at 12:48:55PM +0800, Hu Tao wrote: > > > > Michael, > > > > > > > > This is fixes for your pci tree. > > > > > > > > patch 1 remove signed range as requested. > > > > > > This also fixes make check failures so I applied this. > > > > > > Others don't look like regressions to me - > > > this is error handling in new functionality, correct? > > > > Yes. > > > > > > BTW, thre are two more problems: > > > > 1. if numa node number doesn't start from 0 then qemu will core dump. > > > > cmd line: > > > > ./x86_64-softmmu/qemu-system-x86_64 -hda > > /home/data/libvirt-images/f18.img -m 128M,maxmem=2G,slots=3 -qmp > > unix:/tmp/m,server,nowait -monitor stdio -enable-kvm -object > > memory-backend-ram,id=m1,size=128M -numa node,nodeid=1,cpus=1,memdev=m1 > > > > This problem can be fixed by: > > > > diff --git a/numa.c b/numa.c > > index ce9382d..b00c5cf 100644 > > --- a/numa.c > > +++ b/numa.c > > @@ -270,10 +270,13 @@ void > > memory_region_allocate_system_memory(MemoryRegion *mr, Obj > > } > > > > memory_region_init(mr, owner, name, ram_size); > > - for (i = 0; i < nb_numa_nodes; i++) { > > + for (i = 0; i < MAX_NODES; i++) { > > Error *local_err = NULL; > > uint64_t size = numa_info[i].node_mem; > > HostMemoryBackend *backend = numa_info[i].node_memdev; > > + if (!backend) { > > + continue; > > + } > > MemoryRegion *seg = host_memory_backend_get_memory(backend, > > &local_err); > > if (local_err) { > > qerror_report_err(local_err); > > > > 2. your current pci tree doesn't compile because patch 'qmp: add > > query-memdev' is dropped > > while commit 5b517e74ed7825(hmp: add info memdev) depends on it. > > Hmm it builds for me. > Does it only build if some library is present?
No, it always builds. Failed to build both on Fedora 17 and 20. My commandline to build: ../configure --target-list=x86_64-softmmu && make -j4 These are the error messages: /mnt/data/kernel/qemu/hmp.c: In function ‘hmp_info_memdev’: /mnt/data/kernel/qemu/hmp.c:1685:5: error: unknown type name ‘MemdevList’ /mnt/data/kernel/qemu/hmp.c:1685:5: error: implicit declaration of function ‘qmp_query_memdev’ [-Werror=implicit-function-declaration] /mnt/data/kernel/qemu/hmp.c:1685:5: error: nested extern declaration of ‘qmp_query_memdev’ [-Werror=nested-externs] /mnt/data/kernel/qemu/hmp.c:1685:31: error: initialization makes pointer from integer without a cast [-Werror] /mnt/data/kernel/qemu/hmp.c:1686:5: error: unknown type name ‘MemdevList’ /mnt/data/kernel/qemu/hmp.c:1694:33: error: request for member ‘value’ in something not a structure or union /mnt/data/kernel/qemu/hmp.c:1696:56: error: request for member ‘value’ in something not a structure or union /mnt/data/kernel/qemu/hmp.c:1698:25: error: request for member ‘value’ in something not a structure or union /mnt/data/kernel/qemu/hmp.c:1700:25: error: request for member ‘value’ in something not a structure or union /mnt/data/kernel/qemu/hmp.c:1702:25: error: request for member ‘value’ in something not a structure or union /mnt/data/kernel/qemu/hmp.c:1704:46: error: request for member ‘value’ in something not a structure or union /mnt/data/kernel/qemu/hmp.c:1709:14: error: request for member ‘next’ in something not a structure or union cc1: all warnings being treated as errors make: *** [hmp.o] Error 1