Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp8578090rwb; Thu, 24 Nov 2022 01:12:37 -0800 (PST) X-Google-Smtp-Source: AA0mqf5ySFoeDaCiXmt7IQUGnQ/zdBtZ5FWIOiLfibrGEXBGP/GIM6MJIOHfhhKyMr/N6noxiWoF X-Received: by 2002:a05:6402:142:b0:461:7fe6:9ea7 with SMTP id s2-20020a056402014200b004617fe69ea7mr28808285edu.94.1669281157608; Thu, 24 Nov 2022 01:12:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669281157; cv=none; d=google.com; s=arc-20160816; b=wF07daI1rdzZqCGkiL3dloE+shYEguifvrJDzrqc/Ee1Vm7gPqGq+5pLEZs1JbcuKY uioftxI5psM6GRgF3piNcm+5rTiAlbnKLN1RHTRdPmW8FVYRpKu5nqLNxWiSRedIdqqj xAxzY61cDtzUm5EIeg2CKwpAHmsI54CCAKuuP+1JNk74qp2cxokNlU1+rkKOkqnXwRuB HFAEg3sRR8hP2PvdutJJC2kpkP7wJI35jb2D4F47Z8a3Q//bt6w5Ty0nvlvQ8GbU1+IA /c6cNNr9LBqfhFos/2xn7Af5MWBTg0f7qLtG0WbfA6PMrz+G/uNRnC4pF6x93kFGSDf/ jUjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OKxjoXJRVhUevg2ny6svax9/xOJH1NA1wD73iH6x5No=; b=mX9R/NyAY77+bC7jUMcvOBQp9W7WjD84CrYl2uOPVkb5PJy4VO0NeEVR5ldYaL/rHI /eTfXHcozk4aFZYC3sEj/FHBk+KLDmhNeqS22kJVkhj4pYOas6TuwfWQMyzrqndNK1io SlWPqDbdSAkUquqqsdp0Gu2lj/QkGzzHtTYqoHPTYgC2F1rU5TUaPFCJHkYLT9anrLXU 80v+5BI181xtikOxptjVxUL76fKZdcVdV2JTZNg+ff57STg8P32q7QDGk4tWVqDkqNQe 3yW8ZsQl9pTt8j1tOBDdkvRfu7zFMZDBbrTfLEHIDz6QwDKV0yfK0mS+CnrFadZ4HNdQ DiPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@maxlinear.com header.s=selector header.b=jlPE16zy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=maxlinear.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j8-20020a50ed08000000b0046a354c4679si519158eds.110.2022.11.24.01.12.16; Thu, 24 Nov 2022 01:12:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@maxlinear.com header.s=selector header.b=jlPE16zy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=maxlinear.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229693AbiKXInm (ORCPT + 87 others); Thu, 24 Nov 2022 03:43:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230093AbiKXInf (ORCPT ); Thu, 24 Nov 2022 03:43:35 -0500 Received: from us-smtp-delivery-115.mimecast.com (us-smtp-delivery-115.mimecast.com [170.10.133.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C8E712AE2 for ; Thu, 24 Nov 2022 00:42:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maxlinear.com; s=selector; t=1669279353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OKxjoXJRVhUevg2ny6svax9/xOJH1NA1wD73iH6x5No=; b=jlPE16zy1/+6oBXj2yf7Bj1h24mT5oZyQM7r+pEFIDRAqJ2U8kb4jjJXGejvoJVh7l6453 EOFy0JKUG3qc2WRL03hlPnC8sOMMrI9C4ZUY8q1OaLUyHVJxSKSVsr2H3gqdD+ehLBBObV Lyycte+SJB1Wf/atFHji+BCwoUs8+GBFAEeQ8zcHTBMfhvQ/lDjBflkZb0wTaNNePSmfZs Y4hsETFNN4Gc5j5QYV3q/2l4V7WIH5xvDCuxx4/lF5aDJYDDStB19Htw/5UAkbzs2QbJ74 p1V9guoVKfKstaGoJab3AXJcMC6CmK7amVI4k/wBMOkc2X3lta4uCKyBAKqtOA== Received: from mail.maxlinear.com (174-47-1-84.static.ctl.one [174.47.1.84]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id us-mta-140-D7sP0d26MK-eDxU0Y_y5qg-1; Thu, 24 Nov 2022 03:42:32 -0500 X-MC-Unique: D7sP0d26MK-eDxU0Y_y5qg-1 Received: from sgsxdev001.isng.phoenix.local (10.226.81.111) by mail.maxlinear.com (10.23.38.119) with Microsoft SMTP Server id 15.1.2375.24; Thu, 24 Nov 2022 00:42:27 -0800 From: Rahul Tanwar To: Rahul Tanwar , Andy Shevchenko , , CC: Thomas Gleixner , Marc Zyngier , "Rob Herring" , Krzysztof Kozlowski , Ingo Molnar , "Borislav Petkov" , Dave Hansen , , "H. Peter Anvin" , Subject: [PATCH v5 4/4] x86/of: Add support for boot time interrupt delivery mode configuration Date: Thu, 24 Nov 2022 16:41:43 +0800 Message-ID: <20221124084143.21841-5-rtanwar@maxlinear.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20221124084143.21841-1-rtanwar@maxlinear.com> References: <20221124084143.21841-1-rtanwar@maxlinear.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: maxlinear.com Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Presently, init/boot time interrupt delivery mode is enumerated only for ACPI enabled systems by parsing MADT table or for older systems by parsing MP table. But for OF based x86 systems, it is assumed & hardcoded to legacy PIC mode. This causes boot time crash for platforms which do not use 8259 compliant legacy PIC. Add support for configuration of init time interrupt delivery mode for x86 OF based systems by introducing a new optional boolean property 'intel,virtual-wire-mode' for interrupt-controller node of local APIC. This property emulates IMCRP Bit 7 of MP feature info byte 2 of MP floating pointer structure. Defaults to legacy PIC mode if absent. Configures it to virtual wire compatibility mode if present. Reviewed-by: Andy Shevchenko Signed-off-by: Rahul Tanwar --- arch/x86/kernel/devicetree.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c index fcc6f1b7818f..458e43490414 100644 --- a/arch/x86/kernel/devicetree.c +++ b/arch/x86/kernel/devicetree.c @@ -167,7 +167,14 @@ static void __init dtb_lapic_setup(void) =09=09=09return; =09} =09smp_found_config =3D 1; -=09pic_mode =3D 1; +=09if (of_property_read_bool(dn, "intel,virtual-wire-mode")) { +=09=09pr_info("Virtual Wire compatibility mode.\n"); +=09=09pic_mode =3D 0; +=09} else { +=09=09pr_info("IMCR and PIC compatibility mode.\n"); +=09=09pic_mode =3D 1; +=09} + =09register_lapic_address(lapic_addr); } =20 --=20 2.17.1