From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1av2Mu-0003hO-IJ for qemu-devel@nongnu.org; Tue, 26 Apr 2016 08:45:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1av2Mt-0003Ii-AN for qemu-devel@nongnu.org; Tue, 26 Apr 2016 08:45:32 -0400 Received: from mail-vk0-x22d.google.com ([2607:f8b0:400c:c05::22d]:32985) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1av2Ms-0003Ie-JZ for qemu-devel@nongnu.org; Tue, 26 Apr 2016 08:45:31 -0400 Received: by mail-vk0-x22d.google.com with SMTP id o133so14964145vka.0 for ; Tue, 26 Apr 2016 05:45:30 -0700 (PDT) MIME-Version: 1.0 From: Peter Maydell Date: Tue, 26 Apr 2016 13:45:10 +0100 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: [Qemu-devel] how should a device implement an array of link(?) properties? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers Cc: Peter Crosthwaite , Paolo Bonzini , =?UTF-8?Q?Andreas_F=C3=A4rber?= Hi; I have what seems like a fairly straightforward requirement for a QOM device but no idea how to implement it, so I'm looking for advice on the right "modern" way to do it... Specifically, this is the GICv3 device. It would like to have a pointer to every CPU object it needs to be connected to. My guess is that this should be an array of QOM link properties of some kind, so that the board level code can do: * create the gicv3 device * set the 'num-cpu' property * for each cpu: set the cpu[i] property to that CPU * realize the device But how should I implement this in the device? There are qdev array properties, but there's no link qdev property type. Or should I not be using a link property at all? Suggestions for the right approach welcome. thanks -- PMM