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.
next prev 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.