From patchwork Mon Nov 20 12:49:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Cederman X-Patchwork-Id: 839531 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-467410-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="htsrv+A/"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3ygT973Zj7z9rxj for ; Mon, 20 Nov 2017 23:50:51 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; q=dns; s=default; b=YdN7V7XQlyKW O5luUqbEReX8tNqJOL8FGYNkj8UguUmB6rGzNV7eXjLjh8XPgFOdp2pJgkxJdKjv 1QH7sP3cD7mZUsCozEWyRje9JZbaZMmsu8HUHngomJQkhonmYvv9XWF4vHJ/MFbf 68dLqKlS/zwuRFJ6seiMRlKaPKxXUkE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; s=default; bh=EEKZazo4tANz8rvDXD NcFVsPXHg=; b=htsrv+A/Mujizg3nc/DS6Smq6jutgt062ej9bHB+f6Nhe9W7/x bhM4fMy4Ui5iGHxvXgRAayHGPXbbBqotbv/bKE1TkcyVBxJXpChbC/lXs/5ME9Jv mNsu16jX5SEYnFlVGhocJS0xKZvwnUh3H/Jt8g7lCh3nkch/+sgDM0Os4= Received: (qmail 5359 invoked by alias); 20 Nov 2017 12:50:21 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 5190 invoked by uid 89); 20 Nov 2017 12:50:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-8.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_3, KB_WAM_FROM_NAME_SINGLEWORD, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=H*Ad:U*daniel, H*Ad:U*ebotcazou, annulation, UD:php X-HELO: bin-vsp-out-03.atm.binero.net Received: from vsp-unauthed02.binero.net (HELO bin-vsp-out-03.atm.binero.net) (195.74.38.227) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 20 Nov 2017 12:50:16 +0000 X-Halon-ID: 54a9e30d-cdf1-11e7-811b-0050569116f7 Authorized-sender: cederman@gaisler.com Received: from localhost.localdomain (unknown [81.170.187.120]) by bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA id 54a9e30d-cdf1-11e7-811b-0050569116f7; Mon, 20 Nov 2017 13:50:08 +0100 (CET) From: Daniel Cederman To: gcc-patches@gcc.gnu.org Cc: ebotcazou@adacore.com, sebastian.huber@embedded-brains.de, daniel@gaisler.com Subject: [PATCH 0/4] [SPARC] Workarounds for UT699, UT700, and GR712RC errata Date: Mon, 20 Nov 2017 13:49:59 +0100 Message-Id: <20171120125003.22670-1-cederman@gaisler.com> X-IsSubscribed: yes Hello, This patch series adds workarounds for the newly discovered errata for UT699, UT700, and GR712RC. The errata and possible workarounds are described in the following documents available at http://www.gaisler.com/index.php/information/app-tech-notes: GRLIB-TN-0010 - LEON3/FT AHB Deadlock After Sequence of Load and Atomic Instructions GRLIB-TN-0011 - LEON3/FT AHB Lock Release during Atomic Operation GRLIB-TN-0012 - GR712RC Incorrect Annulation of Floating-point Operation on Instruction Cache Parity Error GRLIB-TN-0013 - GRFPU Floating-point controller: Missing FDIV/FSQRT Result Daniel Cederman (4): [SPARC] Errata workaround for GRLIB-TN-0012 [SPARC] Errata workaround for GRLIB-TN-0011 [SPARC] Errata workaround for GRLIB-TN-0010 [SPARC] Errata workaround for GRLIB-TN-0013 gcc/config/sparc/sparc.c | 205 ++++++++++++++++++++++++++++++++++++++++++++- gcc/config/sparc/sparc.md | 24 ++++++ gcc/config/sparc/sparc.opt | 4 + gcc/config/sparc/sync.md | 18 +++- 4 files changed, 245 insertions(+), 6 deletions(-)