[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 14/20] memory-device: ids of virtio based dev
From: |
David Hildenbrand |
Subject: |
Re: [Qemu-devel] [PATCH v2 14/20] memory-device: ids of virtio based devices are special |
Date: |
Fri, 31 Aug 2018 13:18:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 31.08.2018 12:43, Dr. David Alan Gilbert wrote:
> * David Hildenbrand (address@hidden) wrote:
>>
>>>> static gint memory_device_addr_sort(gconstpointer a, gconstpointer b)
>>>> {
>>>> const MemoryDeviceState *md_a = MEMORY_DEVICE(a);
>>>> @@ -168,6 +184,7 @@ static uint64_t
>>>> memory_device_get_free_addr(MachineState *ms,
>>>> for (item = list; item; item = g_slist_next(item)) {
>>>> MemoryDeviceState *md = item->data;
>>>> const MemoryDeviceClass *mdc =
>>>> MEMORY_DEVICE_GET_CLASS(OBJECT(md));
>>>> + const char *id = memory_device_id(md);
>>>> uint64_t md_size, md_addr;
>>>>
>>>> md_addr = mdc->get_addr(md);
>>>> @@ -178,8 +195,8 @@ static uint64_t
>>>> memory_device_get_free_addr(MachineState *ms,
>>>>
>>>> if (ranges_overlap(md_addr, md_size, new_addr, size)) {
>>>> if (hint) {
>>>> - const DeviceState *d = DEVICE(md);
>>>> - error_setg(errp, "address range conflicts with '%s'",
>>>> d->id);
>>>> + error_setg(errp, "address range conflicts with '%s'",
>>>> + id ? id : 0);
>>>
>>> What's that 'id ? id : 0' trick for?
>>
>> 0 -> "", then it actually makes sense :)
>>
>> I'll fix this up, thanks!
>
> Except that:
>
> address range conflicts with ''
> isn't very helpful.
> Why would you get a NULL id ?
This is easy: don't specify an id for a memory device:
Unfortunately, if the user does not give ids to devices, there is no way
of telling him what we are talking about.
qemu-system-x86_64 -machine pc -m 4G,maxmem=20G,slots=4 \
-object memory-backend-ram,id=mem0,size=4G \
-object memory-backend-ram,id=mem1,size=4G \
-device pc-dimm,memdev=mem0,addr=0x140000000 \
-device pc-dimm,memdev=mem1,addr=0x140000000
qemu-system-x86_64: -device pc-dimm,memdev=mem1,addr=0x140000000:
address range conflicts with '(null)'
(I thought providing NULL would lead to a crash, but it is actually
handled properly)
So while not being able to indicate an id is not nice, I can simply
forward the id directly here.
Thanks!
>
> Dave
>
>>
>> --
>>
>> Thanks,
>>
>> David / dhildenb
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
>
--
Thanks,
David / dhildenb
- [Qemu-devel] [PATCH v2 09/20] memory-device: complete factoring out pre_plug handling, (continued)
- [Qemu-devel] [PATCH v2 09/20] memory-device: complete factoring out pre_plug handling, David Hildenbrand, 2018/08/29
- [Qemu-devel] [PATCH v2 10/20] memory-device: complete factoring out plug handling, David Hildenbrand, 2018/08/29
- [Qemu-devel] [PATCH v2 11/20] memory-device: complete factoring out unplug handling, David Hildenbrand, 2018/08/29
- [Qemu-devel] [PATCH v2 12/20] memory-device: trace when pre_assigning/assigning/unassigning addresses, David Hildenbrand, 2018/08/29
- [Qemu-devel] [PATCH v2 13/20] hw/acpi-build: only indicate nvdimm and pc-dimm, David Hildenbrand, 2018/08/29
- [Qemu-devel] [PATCH v2 14/20] memory-device: ids of virtio based devices are special, David Hildenbrand, 2018/08/29
Re: [Qemu-devel] [PATCH v2 14/20] memory-device: ids of virtio based devices are special, Eduardo Habkost, 2018/08/31
[Qemu-devel] [PATCH v2 15/20] virtio-pmem: prototype, David Hildenbrand, 2018/08/29
[Qemu-devel] [PATCH v2 17/20] hmp: handle virtio-pmem when printing memory device infos, David Hildenbrand, 2018/08/29
[Qemu-devel] [PATCH v2 16/20] virtio-pci: proxy for virtio-pmem, David Hildenbrand, 2018/08/29
[Qemu-devel] [PATCH v2 18/20] numa: handle virtio-pmem in NUMA stats, David Hildenbrand, 2018/08/29