From patchwork Thu Nov 28 02:10:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: bibo mao X-Patchwork-Id: 13887644 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 80A65D6D253 for ; Thu, 28 Nov 2024 02:11:58 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tGTzI-0005kA-Tr; Wed, 27 Nov 2024 21:10:36 -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 1tGTzG-0005j9-P8 for qemu-devel@nongnu.org; Wed, 27 Nov 2024 21:10:34 -0500 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tGTzE-0006wo-3K for qemu-devel@nongnu.org; Wed, 27 Nov 2024 21:10:33 -0500 Received: from loongson.cn (unknown [10.2.5.213]) by gateway (Coremail) with SMTP id _____8CxieAQ0UdnD1RKAA--.13849S3; Thu, 28 Nov 2024 10:10:24 +0800 (CST) Received: from localhost.localdomain (unknown [10.2.5.213]) by front1 (Coremail) with SMTP id qMiowMCxNMAQ0UdnfNJqAA--.46399S2; Thu, 28 Nov 2024 10:10:24 +0800 (CST) From: Bibo Mao To: Song Gao , Huacai Chen Cc: Jiaxun Yang , Igor Mammedov , qemu-devel@nongnu.org Subject: [PATCH 0/5] hw/intc/loongarch_ipi: Enhance multiple CPU irq routing Date: Thu, 28 Nov 2024 10:10:19 +0800 Message-Id: <20241128021024.662057-1-maobibo@loongson.cn> X-Mailer: git-send-email 2.39.3 MIME-Version: 1.0 X-CM-TRANSID: qMiowMCxNMAQ0UdnfNJqAA--.46399S2 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 LoongArch IPI can send intterrupt to multiple CPUs, physical cpu id is used to route interrupt for CPUs. With cpu hotplug feature in future, logic cpu index depends on CPUState::cpu_index heavily. Here add cpu hotplug notification interface in IPI driver, cpu mapping logic is created inside. CPUState::cpu_index is not used any more by IPI driver. Bibo Mao (5): hw/intc/loongson_ipi: Add more output parameter for cpu_by_arch_id hw/intc/loongarch_ipi: Add basic hotplug framework hw/intc/loongarch_ipi: Add cpu map table from physical cpu id hw/intc/loongarch_ipi: Implment cpu hotplug interface hw/intc/loongarch_ipi: Optimize function cpu_by_arch_id hw/intc/loongarch_ipi.c | 126 ++++++++++++++++++++++---- hw/intc/loongson_ipi.c | 23 ++++- hw/intc/loongson_ipi_common.c | 21 +++-- hw/loongarch/virt.c | 5 +- include/hw/intc/loongarch_ipi.h | 6 ++ include/hw/intc/loongson_ipi_common.h | 3 +- include/hw/loongarch/virt.h | 9 ++ 7 files changed, 160 insertions(+), 33 deletions(-) base-commit: 791e3837c1105aec4e328674aad32e34056957e2