From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a17:504:7fd7:b0:1be9:327d:8ee3 with SMTP id hj23csp465366njc; Thu, 8 Aug 2024 04:24:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXVwgEB8bl3vyYfeYnWZsT6CmDHFUUztTpjEZvuBpetxgdWPrtZiOQNHv6d62e9JrNPsQycSvNpNZaOzJjoDV9Efh9dY/rn X-Google-Smtp-Source: AGHT+IFCQQv8OettB3bRSVWV1Kj4VE54iNLDBqfP9idxKNWsmz9fxzFK7AQuDWdYbkq3yOUnh+8b X-Received: by 2002:a05:6902:2210:b0:e08:5b14:dfb0 with SMTP id 3f1490d57ef6-e0e9db19e01mr1538428276.28.1723116254848; Thu, 08 Aug 2024 04:24:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723116254; cv=none; d=google.com; s=arc-20160816; b=RVs+hWTOiFmfviXmerZXO4L0NhCyF2dnNkoksx9r5IjU0ur4bAJ+R3i9WiuWz0NmRm 0kamgb+KxOdujFxgwlzO39WUKvXtVSKAao9uYbkhaoQ7G8W7YkeoDr/L7gnIeIlgymAu zXB7TXXYManFnUF7k+3LPhUa/T4Zal2xCC5+zKuFNlSMQAdi8kOuLVZDrZZoICvlzQkd pw9FnBfWiI50uTCokNwG6f26M5mojNDaBV7YaKBIVWww0gZuy5thSB3hWx1vc0r3TPsm S3njd7KesaYdb/pbmqRu5JKoH2NB1VaU8S4hrINtAMJLogN5JjMQrMituemvRy/WPecM suiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:user-agent :in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:dkim-signature; bh=ktQgG7j4gPl1x9yeyA1FOm/APy/ixeU6Pdcr3oq6LAA=; fh=n5fSrY/QQONNbtoUknvIjCuW4gOb7tRDldWPwx49bNw=; b=lJN1cPvWuLVvVnjsIc0blTEd/4QXmucPFhH0jqwdi2dBxb71qwTQ873DRZSyu++qap rLP1W0naYJPUSJDZJo2ApQ1vjD0hjFla+84q4iXU9PlXdU6hYaAt6FgNGxb9WhXm2lcX gIYYkgo2XEj81Sxb3SXyUHYW1xuM2yhMMoTseBWfNVCISkIErvjNgScE9xcwpqWkoSdF 48HXWbpYE9/Osyhu/xVoRJ3M1zWYhaJzPXP2pf5YQpzDdttdkeRrCOk05hfp7mQips86 Aw42lvTu57i4nbZbskN0dpNZpzADk8WVugMBgabO/wbuVc6XeY7DztLQckUh8C+wIpoi GnUw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=AYMUcYbs; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-451c8702b47si44969831cf.67.2024.08.08.04.24.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Aug 2024 04:24:14 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=AYMUcYbs; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sc1FG-0000D8-OF; Thu, 08 Aug 2024 07:23:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sc1FA-0000Bh-5x for qemu-arm@nongnu.org; Thu, 08 Aug 2024 07:23:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sc1F8-0004CY-HC for qemu-arm@nongnu.org; Thu, 08 Aug 2024 07:23:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1723116219; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references; bh=ktQgG7j4gPl1x9yeyA1FOm/APy/ixeU6Pdcr3oq6LAA=; b=AYMUcYbsXzNaiXDlUtJB4yTVzyI018oXtkf1kF0fFnu2yIoxL4eYb3PVbm/Wd2MZSd9Kcg S4EJpLhUtHBiuXUFu2LQ2ZuBqL7K7SU6J1ytEA3duTBVGsBOryqWl4KlM+u0xEuHolEV5b Rqxh/or9AZAExN363Z8WdaPkA1HQQB4= Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-368-vKCvuRX6MAGYT_-gLsW_AQ-1; Thu, 08 Aug 2024 07:23:36 -0400 X-MC-Unique: vKCvuRX6MAGYT_-gLsW_AQ-1 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5D4AE195419F; Thu, 8 Aug 2024 11:23:35 +0000 (UTC) Received: from redhat.com (unknown [10.42.28.163]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 38596300018D; Thu, 8 Aug 2024 11:23:31 +0000 (UTC) Date: Thu, 8 Aug 2024 12:23:28 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: Peter Maydell Cc: Markus Armbruster , Richard Henderson , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Eric Blake , qemu-arm@nongnu.org, Thomas Huth Subject: Re: [RFC PATCH-for-9.1? 1/2] target/arm: Move qmp_query_gic_capabilities() to hw/intc/ Message-ID: References: <20240806141940.22095-1-philmd@linaro.org> <20240806141940.22095-2-philmd@linaro.org> <87bk23skhq.fsf@pond.sub.org> <87ed6z1j77.fsf@pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.2.12 (2023-09-09) X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.141, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org X-TUID: NoaMJ1fYTI6Y On Thu, Aug 08, 2024 at 11:15:17AM +0100, Peter Maydell wrote: > On Thu, 8 Aug 2024 at 10:02, Markus Armbruster wrote: > > > > Peter Maydell writes: > > > > > On Thu, 8 Aug 2024 at 05:32, Markus Armbruster wrote: > > >> > > >> Peter Maydell writes: > > >> > > >> [...] > > >> > > >> > The QAPI command which this code is implementing is > > >> > also (a) target-specific and (b) unfortunately > > >> > designed so that it doesn't get passed a particular > > >> > CPU or particular device to query, it's just assumed > > >> > to be a part of the whole simulation. > > >> > > >> We can fix (b) if we care: add a suitable optional argument, default to > > >> the sole GIC in the system, fail if there's more than one. I assume we > > >> have no machines with more than one now. > > > > > > The exynos4210 SoC (board types 'nuri', 'smdkc210') has > > > two GICs. (It's a rather odd design -- there's the > > > interrupt controller that's part of the main CPU > > > cluster, and then they used a second "external" GIC > > > that feeds into that one.) > > > > Then "fail if there's more than one" would be an incompatible change for > > this machine. > > > > If the two GICs have identical capabilities, it doesn't matter to which > > of the two query-gic-capabilities technically applies. > > > > Else, it matters, and we have an interface issue. Do we? > > It's not possible to use KVM with that machine type, so the > question is a bit moot. (This also indicates that the > interface is not very helpful -- it purports to tell the > management layer whether it can use an accelerated in-kernel > GIC, but because it doesn't specifiy the board type there's > no way to provide an accurate answer. It would be useful > to know exactly what libvirt/etc actually use this for...) Libvirt uses this exclusively with the arm 'virt' machine type. If the user didn't express any GIC preference, then if KVM is in use, we'll pick the highest GIC version QEMU reports as supported. If TGCG is in use we'll always pick v2, even if QEMU reports v3 is emulatable due to the v3 impl lacking MSI controller which we need for PCI-e https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_domain.c#L4456 We'll also report to mgmt apps what GIC versions are available. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|