All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Ralf Moder <ralf.moder@mail.de>
Cc: "Xenomai@xenomai.org" <Xenomai@xenomai.org>
Subject: Re: [Xenomai] kernel oops in giveup_fpu (file fpu.S)
Date: Tue, 3 Nov 2015 08:59:22 +0100	[thread overview]
Message-ID: <5638695A.6020700@xenomai.org> (raw)
In-Reply-To: <5638511E.9030606@mail.de>

On 11/03/2015 07:15 AM, Ralf Moder wrote:
> Am 02.11.2015 um 16:03 schrieb Philippe Gerum:
>> On 11/02/2015 04:00 PM, Ralf Moder wrote:
>>> Hi,
>>>
>>> i have a powerpc cpu (mpc5200) running linux 3.14.17 with xenomai patch
>>> 2.6.4 on it. I use floating point in kernel, so the (assembly-)function
>>> "giveup_fpu" (in file arch/powerpc/kernel/fpu.S) is called and throws a
>>> kernel-oops. fpu.S is patched with ipipe-core-3.14.17-powerpc-6.patch.
>>> In original linux (kernel 3.14.17) "giveup_fpu" looks like this:
>>>
>> Please send a diff context patch summarizing your changes.
>>
> 
> Here is my diff:
> 
> --- build/linux-3.14.17/arch/powerpc/kernel/fpu.S    2015-10-22
> 12:06:38.167507290 +0200
> +++
> /home/ralf/qx_ralf/quantumx/projects/ppc/workspace/build/linux-3.14.17/arch/powerpc/kernel/fpu.S   
> 2015-11-02 13:11:57.000000000 +0100
> @@ -218,7 +218,7 @@
>      SYNC_601
>      isync
>      PPC_LCMPI    0,r3,0
> -    beq-    2f            /* if no previous owner, done */
> +    beq-    3f            /* if no previous owner, done */
>      addi    r3,r3,THREAD            /* want THREAD of task */
>      PPC_LL    r6,THREAD_FPSAVEAREA(r3)
>      PPC_LL    r5,PT_REGS(r3)
> @@ -245,7 +245,7 @@
>      LOAD_REG_ADDRBASE(r4,last_task_used_math)
>      PPC_STL    r5,ADDROFF(last_task_used_math)(r4)
>  #endif /* CONFIG_SMP */
> -2:
> +3:
>  #ifdef CONFIG_IPIPE        /* restore interrupt state */
>      andi.    r6,r6,MSR_EE
>      beqlr
> 
> As you can see, i only changed the label name (from "2:" to "3:") and
> the branch to this label. I did that because after applying the
> ipipe-patch two labels with name "2:" exists in giveup_fpu and an
> objdump has shown that "beq 2f" jumps to the wrong label.
> 

Ok, I'll pick it, thanks. You may want to pick the patch I mentioned
lately as well, not to rely on r6 for keeping the machine state register.

-- 
Philippe.


  parent reply	other threads:[~2015-11-03  7:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-02 15:00 [Xenomai] kernel oops in giveup_fpu (file fpu.S) Ralf Moder
2015-11-02 15:03 ` Philippe Gerum
     [not found]   ` <5638511E.9030606@mail.de>
2015-11-03  7:59     ` Philippe Gerum [this message]
2015-11-02 15:23 ` Philippe Gerum

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=5638695A.6020700@xenomai.org \
    --to=rpm@xenomai.org \
    --cc=Xenomai@xenomai.org \
    --cc=ralf.moder@mail.de \
    /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.