|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [RFC PATCH 0/5] hw/ppc/e500: Pass array of CPUs as array of canonical QOM paths |
Date: | Thu, 2 Nov 2023 08:56:33 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 |
On 31/10/23 22:49, Daniel Henrique Barboza wrote:
On 10/30/23 11:39, Philippe Mathieu-Daudé wrote:Following the discussion with Peter on my "cpus: Step toward removing global 'first_cpu'" series [*], we now pass the array of CPUs via property. Since we can not pass array of "link" properties, we pass the QOM path of each CPU as a QList(String). Tagged as RFC to discuss the idea of using qdev_prop_set_array with qlist_append_str(object_get_canonical_path). Personally I find it super simple.I probably misunderstood the concept/problem but "super simple" is not the firstthing that came to my mind in patch 5 hehe
Right, I probably forgot some paragraph here. I meant, passing QOM canonical path as a string between (qdev) objects seems much simpler than declaring a PropertyInfo for each type we want to pass, because this is within the same QEMU process and we don't need to serialize anything. See for example: $ git grep -h PropertyInfo hw/core/qdev-properties-system.c 219:const PropertyInfo qdev_prop_drive = { 228:const PropertyInfo qdev_prop_drive_iothread = { 295:const PropertyInfo qdev_prop_chr = { 369:const PropertyInfo qdev_prop_macaddr = { 457:const PropertyInfo qdev_prop_netdev = { 495:const PropertyInfo qdev_prop_audiodev = { 585:const PropertyInfo qdev_prop_losttickpolicy = { 615:const PropertyInfo qdev_prop_blocksize = { 628:const PropertyInfo qdev_prop_blockdev_on_error = { 642:const PropertyInfo qdev_prop_bios_chs_trans = { 654:const PropertyInfo qdev_prop_fdc_drive_type = { 666:const PropertyInfo qdev_prop_multifd_compression = { 747:const PropertyInfo qdev_prop_reserved_region = { 810:const PropertyInfo qdev_prop_pci_devfn = { 916:const PropertyInfo qdev_prop_pci_host_devaddr = { 926:const PropertyInfo qdev_prop_off_auto_pcibar = { 996:const PropertyInfo qdev_prop_pcie_link_speed = { 1084:const PropertyInfo qdev_prop_pcie_link_width = { 1134:const PropertyInfo qdev_prop_uuid = { 1147:const PropertyInfo qdev_prop_cpus390entitlement = {
[Prev in Thread] | Current Thread | [Next in Thread] |