From patchwork Tue Nov 22 19:18:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luke Starrett X-Patchwork-Id: 1708033 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=xsightlabs.com header.i=@xsightlabs.com header.a=rsa-sha256 header.s=selector1 header.b=rCPOh6s3; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NGxx41S2tz23nR for ; Wed, 23 Nov 2022 08:20:06 +1100 (AEDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oxafT-0002JJ-Es; Tue, 22 Nov 2022 16:18:59 -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 1oxYmi-0006v8-DA; Tue, 22 Nov 2022 14:18:20 -0500 Received: from mail-db8eur05on20629.outbound.protection.outlook.com ([2a01:111:f400:7e1a::629] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oxYmg-00021r-Hv; Tue, 22 Nov 2022 14:18:20 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bt5VgloJEB8dOpxFfuX8cxiw+trASXBapES2UGmQOXiYd5Z9KeqJeQB4NAqJuSNcYD/XutPL/WgmVqmsNsNQOgNve13d3cLn5ZTwKZdUwsxdZ2XNPziJRgdG6SSD3Lbecyl7xAy9QwWUnAxJpigs7Ur/ESKAoph2QvZwE6IpWgpkWGaTjk6PfhaUGr8UPmV6s6X1LLWnj2rbtyTrBGwh2Usnff/30b5l1MuhUYLiTX6yGbDJGH0Khsmrqpao12O0l95ffYwqp7O1m883sECYa6E8saX+kTwX99QAb/YgPys6Ud4R/gOHkeM98t4ed7/fA42Rv8ykDwBCFBYfCtYkkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fFs2S2gBa4AWRKY8XfHPrNI8sjMuNkjGreS/cQag4Xc=; b=mzGCg80+uYa1d1NC8TnCzvagDrJngcCCHL4xfiPUzWyhAXQs3R8IgPoPYwJlIqz3jNl4lpi4eSxF0M09FyixFlYUc5l0Eacg6l05U/TO/TQlWGFqBwk19HZmXpdnfU1fqc+vzT0pPUBTwz7GGomv/DlDHynxJyJnUmQAkm0gMdMHVOr0oGu7tKTjeHSqiEVrzDvfrECQxErLhk8UTA+kxfgaW2MmEWKTlhfAoyQ1vmsGJEhtMHLp3nTe2URwhwfhKqir79MvZH6zB3p2Nx8CVIZFqurP34Bx8An8NeXZZK2oJzLYtci40EwQ+LUlOhWEWB7kyvMFNHCrqGqDEfnGRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=xsightlabs.com; dmarc=pass action=none header.from=xsightlabs.com; dkim=pass header.d=xsightlabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xsightlabs.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fFs2S2gBa4AWRKY8XfHPrNI8sjMuNkjGreS/cQag4Xc=; b=rCPOh6s35dXsulpMk740YYYzYd1Iop/NxmERApjA/EguIbOb81ugk2O7d6IYvITG/M0BrZRs1dh1IKucogo4hwbGnf0beRO8RRIXOTrb6Wa7dizgvggCXUxfwPh6/Kn5xAmdBVsrYzRRO4UKh9b1xwKes/tBQKsUgWtqof7m70s= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=xsightlabs.com; Received: from AM9P193MB1684.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:3eb::9) by AS8P193MB2415.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:40e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Tue, 22 Nov 2022 19:18:11 +0000 Received: from AM9P193MB1684.EURP193.PROD.OUTLOOK.COM ([fe80::4250:f814:d3d6:53fc]) by AM9P193MB1684.EURP193.PROD.OUTLOOK.COM ([fe80::4250:f814:d3d6:53fc%4]) with mapi id 15.20.5834.015; Tue, 22 Nov 2022 19:18:11 +0000 Message-ID: Date: Tue, 22 Nov 2022 14:18:07 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-US To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Peter Maydell From: Luke Starrett Subject: Subject: [PATCH] hw/intc/arm_gicv3: Fix GICD_TYPER ITLinesNumber advertisement X-ClientProxiedBy: BL0PR02CA0089.namprd02.prod.outlook.com (2603:10b6:208:51::30) To AM9P193MB1684.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:3eb::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9P193MB1684:EE_|AS8P193MB2415:EE_ X-MS-Office365-Filtering-Correlation-Id: 74afcac4-4b60-426f-01ef-08daccbe4bd8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cIcZWAu1pO2hLiXmqulBTcs4HFliPfV7oGS4g2a0mOGO2OWrwAMNiwujHURTORY/k7e7SVcHXVxnmP7hQDmNS/jO4dSeM6fq4zTegnzwwpKGuM1Qt8Eu3t9dX01AmrxiLDOm26rcZxdzTrW2SRwbyUpTwN31u6j+U0wjoBMdCVEgI1tC0GsD1pJ9/Gp+7728tQ3kYY+4o2X7gfzK/T0YeWi0qqHI4l5antPDM0Zz0YpHX50i+Lj/FVYsQGHTgXG64dwUvDJrAQrHb/v4cK9gzCmQhvrdb210LRP0JH0Gix5VvjANgq2HW3QuvK5dvuBETNLvTgONXfQjcr8T6vDmzp0m4gnuufqXDy2DjaJlhnZNhAoGFOgqYeDu8AaLbSlQfzOeMjLBtWk4AmXUHCFsIQJQJBIST05DCiudM9G/XWNZj4yGsBZQ1G0ciV5NVGdVM6KuqyXBdRMfSmro3T1CgtVwjYSF4jDCYyl+U8MO6n0+pONzEM7zbVg5UyR0ATlHOb2R/GxIhjruqT1H5sVQF1Dce3YL6MkpFI1EMOOH2fD6ucPqNa4wliBOcmhXi09Lry/HHVvB/pUNHtCeaus43qyrlm1soZ1pDXGJP+sYyu4dCkwUVSLDNkO91oYQKOkn94IH4vQHBBh5pW2wvi1roL+edl1kdEvB+foHqtbfO09KNV6gNGm+wH9m+HuMxA3rzvzl2oOSVJUdwVDGEJ+c9mno5W1WZorUBfJfAl389L/AWhheLIOc+ZCHORyMv/xdPzfcaRllb7fkijgbeCGuaQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9P193MB1684.EURP193.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(366004)(346002)(39850400004)(376002)(396003)(451199015)(8676002)(36756003)(8936002)(6506007)(6512007)(26005)(66946007)(4326008)(66556008)(478600001)(6666004)(66476007)(316002)(5660300002)(31696002)(38100700002)(86362001)(83380400001)(6486002)(41300700001)(2616005)(31686004)(186003)(2906002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?j6eiw6jpA2VI9TOCte7hV8N/tQql?= =?utf-8?q?+JSRkI1gZcuHSIMg/PiJjdhwAIAVTQh2mPxaY6Drui9N6bYeKBl7Ak75FIUBcylxM?= =?utf-8?q?3k3vEllRhFke3EPp+tyUnnvE5ugibMy8nUw/iDOqd1tvhKCaYLPp3BwaZM/0UAnVV?= =?utf-8?q?l8w4Oc2zpLJObj1wl4DY7cHvGTLoudevQseDkR86qKA/MFJyB4MVnZ5iO/dArefja?= =?utf-8?q?RcElez8q4w40RhdaW0GGjg4IUcnF5TROBVNQ6KKw4c4SnL/s8uNCsxGVh1gY2jdFY?= =?utf-8?q?5eW1CXdLl9RmO58AdL7UzpyI0B/Xfn6okZbj7pxLRAjqlUjPIfCaKNLNtaDLrfvlR?= =?utf-8?q?l8a4NhisCyQLMn0zNSasA14fjhi0ZP3Q/82pNTVQE6YatPF1zfKmyPd8RsNouTOhG?= =?utf-8?q?Nvedv+LE3ldY+I4h7TLEeO+FVwYc5IhNqz/QsRYLgAnKVv6uUpOvCyqkNhGsE8ai2?= =?utf-8?q?us6OzA8SWhZFHPU7lmV9v6F20ARNQub3US5EJEIdtUKvCwUfst6TO5o6eVtGDmC1E?= =?utf-8?q?gqoEqNR2lx3XaadsF33GCRkLzKJI8gFUJWjhVf5Zg4QaUts9KbRXfPJwKXnxBfiB/?= =?utf-8?q?/BYyOWjMosLD3ZyjPyYWLAImMy4gWg0XOca4XvW7c4ZUuDnl60TpnkgrCXrY5+nAk?= =?utf-8?q?/ECOv4PL6WbEPlcaxYD2IqkW7EoC+1VgwWQEHk7nH3BtS3y9bGzDrVkMUSU4vMwBv?= =?utf-8?q?58wAiSqQvE82tQG1QIPG8hk2trq0sPp5wUNMeA4KVEz3AyWWI/mqtA3kiyrZAkdC1?= =?utf-8?q?FOqxQ3GYyiaevio44nYTc3SsI3t8ZdPP8PIJqhfajz5X9noVvvAMnS4fNTHhj6Qt2?= =?utf-8?q?xTnH/wAqttJ3KIo0ljmqw5K8sz2Q57eWSdPNp4+7qCdDB3MezfVZNPZb47QvSja9k?= =?utf-8?q?SQXXe7y2Vs2UCL3ONJbsTjtp97nkWDNCv8d2sLxgaR9QsrJAijMLetyvTO+M3zsxX?= =?utf-8?q?igx73rWzKZ0emr4dFKfVJ50Lec/6ehocVjophNhfSjVAJ2IVH924kriNbiLrTkJdk?= =?utf-8?q?C25wqKLL5W+bpFs8N60btqxLOWmEwMG7Jf8N0l2hMbJPdr3eV0OF88XMrCafTGUoe?= =?utf-8?q?Uatp8xSoc9Cs+8Aa73IF7Wj60f36ko47NNXw/Ap8xaznIuM4p6cVca0m9H3r42sRe?= =?utf-8?q?pQeSwXTj7JaqoazUANxhnvyMX/iA0eM+YE3Q5PiglEw+TR5oyYYZAn9sPZ9dOEpDg?= =?utf-8?q?XQeCp6xkcFmYVflF+03w9iQ0mO5kbKmFD3A1iBY9ns0to3g3PZNYZUKJ4qA7bfiZV?= =?utf-8?q?eaBO1W3J8oU1hUlo4G1j+dYlApJivBUa7+hzLHkMawfIWip/lyg3fiH+JDl2Tr9Cz?= =?utf-8?q?9cJt8lyu4cxi5jiHzLViZBI/B2l8cRCJmdzmuy4kAtS5OztKlQJcEymFbAyoM0T7l?= =?utf-8?q?u0gpptVNQBSUdFvje57xHZS49Wf0Wa4HUBJx22zyYZ5LwoTkthV92f4Rx+2T0gip8?= =?utf-8?q?CeAYRnSUeWtTct9czL30THvIxm3tkpfIqIxM5carEhcnbgyCMpPBXyMZYrBhEpoj4?= =?utf-8?q?Edm232sFmFUP?= X-OriginatorOrg: xsightlabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74afcac4-4b60-426f-01ef-08daccbe4bd8 X-MS-Exchange-CrossTenant-AuthSource: AM9P193MB1684.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2022 19:18:11.6536 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 646a3e34-83ea-4273-9177-ab01923abaa9 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3/5YdhoD9TPvMCN6G2aXarwaZTnAEyQ1Iq5I/E9rqr8obKeAkspn59iDU/4uilq/TuyGK2VJN11MXTwz1L68Hw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P193MB2415 Received-SPF: permerror client-ip=2a01:111:f400:7e1a::629; envelope-from=lukes@xsightlabs.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, T_SPF_PERMERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 22 Nov 2022 16:18:58 -0500 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The ARM GICv3 TRM describes that the ITLinesNumber field of GICD_TYPER register: "indicates the maximum SPI INTID that the GIC implementation supports" As SPI #0 is absolute IRQ #32, the max SPI INTID should have accounted for the internal 16x SGI's and 16x PPI's.  However, the original GICv3 model subtracted off the SGI/PPI.  Cosmetically this can be seen at OS boot (Linux) showing 32 shy of what should be there, i.e.:     [    0.000000] GICv3: 224 SPIs implemented Though in hw/arm/virt.c, the machine is configured for 256 SPI's. ARM virt machine likely doesn't have a problem with this because the upper 32 IRQ's don't actually have anything meaningful wired. But, this does become a functional issue on a custom use case which wants to make use of these IRQ's.  Additionally, boot code (i.e. TF-A) will only init up to the number (blocks of 32) that it believes to actually be there. Signed-off-by: Luke Starrett ---  hw/intc/arm_gicv3_dist.c | 4 ++--  1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c index eea0368118..d599fefcbc 100644 --- a/hw/intc/arm_gicv3_dist.c +++ b/hw/intc/arm_gicv3_dist.c @@ -390,9 +390,9 @@ static bool gicd_readl(GICv3State *s, hwaddr offset,           * MBIS == 0 (message-based SPIs not supported)           * SecurityExtn == 1 if security extns supported           * CPUNumber == 0 since for us ARE is always 1 -         * ITLinesNumber == (num external irqs / 32) - 1 +         * ITLinesNumber == (((max SPI IntID + 1) / 32) - 1)           */ -        int itlinesnumber = ((s->num_irq - GIC_INTERNAL) / 32) - 1; +        int itlinesnumber = (s->num_irq / 32) - 1;          /*           * SecurityExtn must be RAZ if GICD_CTLR.DS == 1, and           * "security extensions not supported" always implies DS == 1,