From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2050.outbound.protection.outlook.com [40.107.93.50]) by sourceware.org (Postfix) with ESMTPS id 080983858C62 for ; Mon, 25 Sep 2023 09:23:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 080983858C62 Authentication-Results: sourceware.org; dmarc=fail (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B66xCmRxMXmaAh8OEhCGIwwU1jiIU3exXDtjvW7+lOTW1CQs4vTW8UvciUkIgy//lGZg1Wnb8Gw6UXlfIr/Mu3NiwmucxOnESL5FRrA1DFPLw7HWEqvEAKAMyrPX9RmPmQ4++aaUeQV5+4M4kFS/u6boRv0jiOHWXuWkvPGtwh/h9N5PH7PXimN/mIwkeiRvf/WUMnFRr4janDOhbnoeI0bZpe8JL/0atokNC1QtZwvrvm+x2Utm+fzrOx51kx4gdacrgcynOgvjckoPkd7BeriaazaUy1Cmm/CBSzH4oNh4AhayU7lrACo/Camz3ZD7YxvNnFG4BxL4bfI+pH0vuA== 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=jOO7OEquJYnw3mwGHt5Df3hfntDSZvtPdbShz4Hi6e0=; b=XWmZQSAlKBEJrRtiYkYLwGl2W3v60+wS48dQJRuPRtJjeXOVXPUe4qYx/xCKNeV8NMiHoTB7eZdXIE98vqMeY2LM8mamJXZ12nmQqnEQGqJb9Ui59GRQiI5RQ1p3mdMIKYmJSGjAgSGDSEt1V6bk4de80PXiesRTzIXcfF3l3I9yGjrX59+KIaQmTfS2rZRhNrc/IiqBY0GXWuA70u/tPPnL2uF5Ahy2W66n/EPA6dgmS+2rzOu/r434slCr6cVE8TNFBxDNWunrdbIaOecl8CpWUaR28M3YB293Qe3JRRJnU2/T72H2xKRbbxO5r4/AB5vEYWX0hHiC72tmbbSZIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jOO7OEquJYnw3mwGHt5Df3hfntDSZvtPdbShz4Hi6e0=; b=B+s4iFrdas4aS/F0fYEh7LhYVFEi+g3KY+hPLzw3S0TPVzN3onI6i7u9tI4ic0ajU0oHW+p/vU+lL2mwyUMxJo9Y3PjyUobiKedNTqLV8Vz/2aI+OY7I7hdrKZW4+OWnDpwNYl723pHNAD3yvV1ayKcko1jMXb8JY7UJuEaEtDA= Received: from DM6PR07CA0060.namprd07.prod.outlook.com (2603:10b6:5:74::37) by CY8PR12MB7753.namprd12.prod.outlook.com (2603:10b6:930:93::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.26; Mon, 25 Sep 2023 09:23:17 +0000 Received: from DS2PEPF0000343D.namprd02.prod.outlook.com (2603:10b6:5:74:cafe::28) by DM6PR07CA0060.outlook.office365.com (2603:10b6:5:74::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.35 via Frontend Transport; Mon, 25 Sep 2023 09:23:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS2PEPF0000343D.mail.protection.outlook.com (10.167.18.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6838.14 via Frontend Transport; Mon, 25 Sep 2023 09:23:17 +0000 Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 25 Sep 2023 04:23:15 -0500 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 25 Sep 2023 02:22:50 -0700 Received: from xirengwts09.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend Transport; Mon, 25 Sep 2023 04:22:49 -0500 From: Neal Frager To: CC: , , , , , Neal Frager Subject: [PATCH v1 1/1] opcodes: microblaze: Add wdc.ext.clear and wdc.ext.flush insns Date: Mon, 25 Sep 2023 10:22:44 +0100 Message-ID: <20230925092244.3449756-1-neal.frager@amd.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PEPF0000343D:EE_|CY8PR12MB7753:EE_ X-MS-Office365-Filtering-Correlation-Id: aa897e86-1b06-40d3-206c-08dbbda90d98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qj9tz6jWEBcST5Bab2ma+c181kP1CMGNJQ6vOnTudBziXZ5rjqxkkGJU7hpd+VcZwIn0wHunCn0Wk8q+CXlwdN16adKwMEztrWaFAtQ3qNi+L/V0Fxqvh5a7seIQR7HsSCvFl6U8czTe8SxALZC6fFFKukiN1LJSiPkdsekhw3hAh24qBQF6ilsXI5jRph0pG6LcMhuLhaUhmqbx7tEp64sv4OLQQGUj9DcgAHsGfpgjR35QQTkR4M1AXhHd7BmoSNDxVJ1y4ZngnPRQoGY1/QEu4+TzxUjJdkA2V5wWD3y/cf/HQ/HaankgzPUf5n3imuqzN6uBxaQl//9uePOhTdESKPEL7Yvi3NnCQVkkS3TokaMuDRrEHFZEPLUKvUZZ+keveawDUzWSWGI8kPqO/jozRx9Z0scTgEyrQioC+5ggErPdpVBmbI7kQRwaoJvHwomGs+bOQ6QQ5VmLxwK3Eadhccu9q6OlnaMLkVF0N3s1C6wtRGMDz8YeTJymHjdihBdELUtdgQY2fsFClwSPL81lapszpagBH0WrGik3WM1qmT4hq5iMQZmHF5vZ44T2FCkSt4Q1yEcFmpIj7sHTKYD5vWUQ6Oc2/VYFfGl9TSz6szZ7su4yQhKCBsqaFDNlNREDZkka1TJuwjN7tAIMrNFhCBC6GaUax8WMzyVtUBURphkkj3q2BGNLFr4an/9IOXoG+Ryjx7s9uLuiDHtySvVE0exuN1j3kfYdo1PzuwTqUlJz75bgr3ifM6bVVTOV5IeHORtqQnSUsLvmUkOu6g== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(451199024)(1800799009)(82310400011)(186009)(40470700004)(36840700001)(46966006)(40460700003)(86362001)(47076005)(2906002)(26005)(1076003)(2616005)(426003)(40480700001)(336012)(41300700001)(6916009)(54906003)(83380400001)(70206006)(8676002)(316002)(36756003)(70586007)(36860700001)(8936002)(4326008)(966005)(478600001)(44832011)(5660300002)(356005)(81166007)(82740400003)(6666004)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 09:23:17.7472 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aa897e86-1b06-40d3-206c-08dbbda90d98 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS2PEPF0000343D.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7753 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Added two new instructions, wdc.ext.clear and wdc.ext.flush, to enable MicroBlaze to flush an external cache, which is used with the new coherency support for multiprocessing. This patch has been tested for years of AMD Xilinx Yocto releases as part of the following patch set: https://github.com/Xilinx/meta-xilinx/tree/master/meta-microblaze/recipes-devtools/binutils/binutils Signed-off-by: nagaraju Signed-off-by: Neal Frager --- opcodes/microblaze-opc.h | 5 ++++- opcodes/microblaze-opcm.h | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h index 94048e67551..c53eacc3db2 100644 --- a/opcodes/microblaze-opc.h +++ b/opcodes/microblaze-opc.h @@ -91,6 +91,7 @@ #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */ #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */ #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */ +#define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */ #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */ /* New Mask for msrset, msrclr insns. */ @@ -101,7 +102,7 @@ #define DELAY_SLOT 1 #define NO_DELAY_SLOT 0 -#define MAX_OPCODES 289 +#define MAX_OPCODES 291 const struct op_code_struct { @@ -174,7 +175,9 @@ const struct op_code_struct {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst }, {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst }, {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst }, + {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst } {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst }, + {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst }, {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst }, {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst }, {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst }, diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h index 4cf6f077219..92c245dc0fd 100644 --- a/opcodes/microblaze-opcm.h +++ b/opcodes/microblaze-opcm.h @@ -33,8 +33,8 @@ enum microblaze_instr /* 'or/and/xor' are C++ keywords. */ microblaze_or, microblaze_and, microblaze_xor, andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16, - wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd, - brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt, + wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br, + brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt, bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni, imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid, brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti, -- 2.25.1