All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jorge Ramirez Ortiz <jro@xenomai.org>
To: xenomai@xenomai.org
Subject: Re: [Xenomai] xenomai/ipipe arm64 port
Date: Tue, 29 Sep 2015 08:54:20 -0400	[thread overview]
Message-ID: <560A89FC.9060808@xenomai.org> (raw)
In-Reply-To: <20150929001233.GB15767@hermes.click-hack.org>

On 09/28/2015 08:12 PM, Gilles Chanteperdrix wrote:
> On Mon, Sep 28, 2015 at 04:57:28PM -0700, Dmitriy Cherkasov wrote:
>> On Sat, Sep 26, 2015 at 4:24 AM, Gilles Chanteperdrix <
>> gilles.chanteperdrix@xenomai.org> wrote:
>>
>>>
>>> Ok, I feel I have not been completely clear. There are three
>>> questions:
>>>
>>> - whether every context switch should switch the fpu context: your
>>> answer is yes, my answer is no: simply remove the line forcibly
>>> setting the XNFPU bit in xnarch_init_shadow_tcb and your port will
>>> only switch the FPU context for those tasks that have the XNFPU bit
>>> set. All user-space tasks have the XNFPU bit set, and some
>>> kernel-space tasks. And if you do that it would be nice to forbid
>>> using the FPU when entering a task which does not have the FPU bit
>>> set.
>>
>>
>>> - whether xnarch_init_shadow_tcb should forcibly clear the XNFPU
>>> bit, and the XNFPU bit be enabled upon first use of the FPU, your
>>> answer is no, my answer is yes. But in fact, the x86 and arm 32 bits
>>> could be the default, and the tasks which do not want to pay the
>>> price of a trap upon first use of the FPU could trigger an
>>> initialization of the FPU with pthread_set_mode_np for instance.
>>>
>>
>> To be accurate, my answer is not "no", but more of a "not yet".
>>
>> My original goal is to get it working without lazy switching, then optimize
>> later if needed.
>>
>>
>>>
>>> - whether the FPU faults should emit I-pipe events: here there is no
>>> other answer possible than yes, because otherwise the port is broken
>>> in case of FPU exception (division by zero, etc...).
>>>
>>>
>> Yes, this looks correct, and thank you for the patch. I've applied it to
>> ipipe and made the relevant changes to Xenomai. I will push this to our
>> gitlab shortly.
>>
>> However, armv8 does not trap divide by zero or overflows, and does not seem
>> to trap other things like sqrt(-1) either (at least on A53). So currently
>> I've been unable to exercise this code.
> 
> Ok, this page:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0024a/CJHECGIH.html
> 
> seems to indicate that armv8 may or may not trap upon
> exception. Or maybe the exceptions can be enabled with the FPCR
> register? Or the glibc functions defined in the fenv.h header?
> 

the way it is worded it appears to be a decision left to the SoC vendor.
I'll post the question to support@arm.com for confirmation.

-- 
jro


  reply	other threads:[~2015-09-29 12:54 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-25  0:13 [Xenomai] xenomai/ipipe arm64 port Don Mahurin
2015-08-25 14:08 ` Philippe Gerum
2015-08-25 15:20   ` Jorge Ramirez Ortiz
2015-08-25 16:13     ` Jan Kiszka
2015-08-25 17:07       ` Jorge Ramirez Ortiz
2015-08-25 17:34         ` Jorge Ramirez Ortiz
2015-08-25 17:36           ` Jan Kiszka
2015-08-25 17:54             ` Jorge Ramirez Ortiz
2015-08-25 18:03               ` Jan Kiszka
2015-08-25 17:34         ` Jan Kiszka
2015-08-25 18:02           ` Jorge Ramirez Ortiz
2015-08-25 18:05   ` Don Mahurin
2015-08-25 18:34     ` Jorge Ramirez Ortiz
2015-08-25 18:36     ` Jan Kiszka
2015-08-25 18:43     ` Philippe Gerum
2015-08-25 18:52   ` Gilles Chanteperdrix
2015-08-26 14:40 ` Jorge Ramirez Ortiz
2015-08-26 16:30   ` Don Mahurin
2015-08-27 17:07 ` Jorge Ramirez Ortiz
2015-08-27 21:56   ` Don Mahurin
2015-09-01 17:45 ` Jorge Ramirez Ortiz
     [not found]   ` <CAPuu0=jX6ig5L7SJrmPVOhCmOm=gwxEmTafTpOqzE85hOji8CA@mail.gmail.com>
2015-09-01 19:11     ` Jorge Ramirez Ortiz
2015-09-01 19:24       ` Philippe Gerum
2015-09-01 20:14         ` Jorge Ramirez Ortiz
2015-09-01 21:02           ` Hongfei Cheng
2015-09-02  0:43           ` Don Mahurin
2015-09-07 16:03             ` Philippe Gerum
2015-09-24 19:39             ` Dmitriy Cherkasov
2015-09-25 15:02               ` Gilles Chanteperdrix
2015-09-25 17:14                 ` Dmitriy Cherkasov
2015-09-25 18:01                   ` Gilles Chanteperdrix
2015-09-26 11:24                     ` Gilles Chanteperdrix
2015-09-28 23:57                       ` Dmitriy Cherkasov
2015-09-29  0:12                         ` Gilles Chanteperdrix
2015-09-29 12:54                           ` Jorge Ramirez Ortiz [this message]
2015-09-29 17:31                             ` Dmitriy Cherkasov
2015-09-29 17:47                               ` Gilles Chanteperdrix
2015-09-29 20:17                                 ` Jorge Ramirez Ortiz
2015-09-29 17:05                           ` Don Mahurin
2015-09-29 14:14                         ` Lennart Sorensen
2015-09-29 20:49                           ` Gilles Chanteperdrix
2015-10-01 23:51                             ` Dmitriy Cherkasov
2015-10-02 10:01                               ` Gilles Chanteperdrix
2015-10-02 11:55                                 ` Gilles Chanteperdrix
2015-10-02 20:18                                   ` Dmitriy Cherkasov
2015-10-03  9:53                                     ` Philippe Gerum
2015-10-03 10:01                                       ` Philippe Gerum
2015-10-03 10:05                                         ` Philippe Gerum
2015-09-01 19:30       ` Philippe Gerum
2015-09-01 20:47         ` Jorge Ramirez Ortiz
2015-09-01 19:44       ` Gilles Chanteperdrix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=560A89FC.9060808@xenomai.org \
    --to=jro@xenomai.org \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.