From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id 2E9743858013 for ; Fri, 26 Nov 2021 14:00:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2E9743858013 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy03.your-server.de ([88.198.220.132]) by dedi548.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1mqblf-000EQ2-4z; Fri, 26 Nov 2021 14:59:59 +0100 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy03.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mqblf-000V78-1P; Fri, 26 Nov 2021 14:59:59 +0100 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id A90CF480060; Fri, 26 Nov 2021 14:59:58 +0100 (CET) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id RnJDwhknRDm9; Fri, 26 Nov 2021 14:59:58 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 59EDA4800F2; Fri, 26 Nov 2021 14:59:58 +0100 (CET) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 7qikO3hD8-qb; Fri, 26 Nov 2021 14:59:58 +0100 (CET) Received: from [10.10.171.10] (unknown [10.10.171.10]) by mail.embedded-brains.de (Postfix) with ESMTPSA id 0A112480060; Fri, 26 Nov 2021 14:59:57 +0100 (CET) Subject: Re: [Ada] RTEMS: use hardware interrupts instead of signals for interrupt handling To: Pierre-Marie de Rodat , gcc-patches@gcc.gnu.org Cc: Patrick Bernardi References: <20211011133933.GA1518942@adacore.com> From: Sebastian Huber Message-ID: <3568d567-258a-b6f1-45e2-bb572242c922@embedded-brains.de> Date: Fri, 26 Nov 2021 14:59:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20211011133933.GA1518942@adacore.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.3/26365/Fri Nov 26 10:23:49 2021) X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2021 14:00:07 -0000 Hello Pierre-Marie, On 11/10/2021 15:39, Pierre-Marie de Rodat via Gcc-patches wrote: > RTEMS supports attaching interrupt handlers to hardware interrupt > vectors, which is superior to the current approach of attaching handler= s > to signals. Direct attachment of handlers removes the execution > overhead of converting hardware interrupts to signals and their > subsequent propagation to the interrupt manager. It also removes the > limitation of the number of hardware interrupts that can be supported > under the signals model, as RTEMS is limited to 32 signals. >=20 > Tested on x86_64-pc-linux-gnu, committed on trunk for Newlib internal locks, the OpenMP library (libgomp), and the C++=20 standard library we use self-contained synchronization objects for RTEMS=20 defined by which is provided by Newlib: https://sourceware.org/git/?p=3Dnewlib-cygwin.git;a=3Dblob;f=3Dnewlib/lib= c/sys/rtems/include/sys/lock.h;h=3Dd6169025b1a0d10ded0e31982baff64453e69c= ae;hb=3DHEAD Binary and counting semaphores are supported, for example: void _Semaphore_Post_binary(struct _Semaphore_Control *); Using this interface has the benefit that the storage for the=20 synchronization objects is user-provided. So, there is no need to=20 account for these objects in the configuration. --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=FCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=E4ftsf=FChrer: Peter Rasmussen, Thomas D=F6r= fler Unsere Datenschutzerkl=E4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/