From patchwork Wed Feb 5 03:36:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bibo Mao X-Patchwork-Id: 13960520 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D4D8AC02192 for ; Wed, 5 Feb 2025 03:41:16 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tfWHi-0003ly-FB; Tue, 04 Feb 2025 22:41:06 -0500 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 1tfWHg-0003lk-G0 for qemu-devel@nongnu.org; Tue, 04 Feb 2025 22:41:04 -0500 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tfWHd-0002Uu-VR for qemu-devel@nongnu.org; Tue, 04 Feb 2025 22:41:04 -0500 Received: from loongson.cn (unknown [10.2.5.213]) by gateway (Coremail) with SMTP id _____8BxTKy23KJn2wtsAA--.25787S3; Wed, 05 Feb 2025 11:36:22 +0800 (CST) Received: from localhost.localdomain (unknown [10.2.5.213]) by front1 (Coremail) with SMTP id qMiowMDxbMW23KJncEM2AA--.59146S2; Wed, 05 Feb 2025 11:36:22 +0800 (CST) From: Bibo Mao To: Song Gao Cc: Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH v2 0/3] hw/loongarch/virt: CPU irq line connection improvement Date: Wed, 5 Feb 2025 11:36:11 +0800 Message-Id: <20250205033614.1478604-1-maobibo@loongson.cn> X-Mailer: git-send-email 2.39.3 MIME-Version: 1.0 X-CM-TRANSID: qMiowMDxbMW23KJncEM2AA--.59146S2 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Interrupt controller extioi and ipi connect to multiple CPUs with irq line method. With command -smp x, -device la464-loongarch-cpu, CPU object may be created with cold-plug method. smp.cpus is not accurate for all possible CPU objects, possible_cpu_arch_ids() is used here. --- v1 ... v2: 1. Remove cpu irq line connection from machine_done callback, and put it after ipi and extioi irqchip is created. If CPU object is created after ipi irqchip object, there will be double function calling about cpu irq line connection in both cold-plug handler and machine_done callback. --- Bibo Mao (3): hw/loongarch/virt: Set iocsr address space when CPU is created hw/loongarch/virt: Remove unused ipistate hw/loongarch/virt: CPU irq line connection improvement hw/loongarch/virt.c | 67 ++++++++++++++++++++----------------- include/hw/loongarch/virt.h | 2 ++ target/loongarch/cpu.h | 2 -- 3 files changed, 39 insertions(+), 32 deletions(-) base-commit: d922088eb4ba6bc31a99f17b32cf75e59dd306cd