From: Jan Kiszka <jan.kiszka@domain.hid>
To: rpm@xenomai.org
Cc: adeos-main <adeos-main@gna.org>
Subject: [Adeos-main] Re: tracer broken on 2.6.20-i386
Date: Mon, 12 Feb 2007 01:28:25 +0100 [thread overview]
Message-ID: <45CFB4A9.5070704@domain.hid> (raw)
In-Reply-To: <1171233728.5035.22.camel@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 3711 bytes --]
Philippe Gerum wrote:
> On Sat, 2007-02-10 at 14:20 +0100, Jan Kiszka wrote:
>
>> Jan Kiszka wrote:
>>
>>> Jan Kiszka wrote:
>>>
>>>
>>>> Philippe,
>>>>
>>>> have you had to adopt any tracer-related code while switching to 2.6.20?
>>>> The same .config that worked fine for 2.6.19 doesn't boot here on
>>>> 2.6.20. The kernel hangs during or after decompression. Disabling the
>>>> tracer resolves this.
>>>>
>>>>
>>> I had a look at latest -rt and found some new change (which turned out
>>> to be a hack). Playing with it, I understood its motivation (avoid
>>> instrumentation of the decompressor). Here comes a cleaner variant for
>>> 2.6.20 (all archs). Tracer boots fine again. :)
>>>
>> ^^^^^^^^^
>> Strike that, I lost the overview for a while. It remains an i386 issue.
>>
>>
>
> The tracer still has a problem when booting 2.6.20 here (UP, LAPIC,
> static Xenomai build, default configuration for both Xeno and the
> pipeline+tracer, your latest patch against boot/compressed/Makefile
> applied).
>
> __ipipe_trace seems to be called before the trace log has been setup,
> hence the box jumps out of the window upon an invalid data reference
> when storing some mcount data. Enabling the VMALLOC log option clears
> the issue.
>
CONFIG_REGPARM passed away. It became default in fact. The following patch
removes the remainders from the tracer:
---
arch/i386/kernel/entry.S | 11 -----------
arch/i386/kernel/mcount.S | 13 +------------
2 files changed, 1 insertion(+), 23 deletions(-)
Index: linux-2.6.20/arch/i386/kernel/entry.S
===================================================================
--- linux-2.6.20.orig/arch/i386/kernel/entry.S
+++ linux-2.6.20/arch/i386/kernel/entry.S
@@ -105,25 +105,14 @@ VM_MASK = 0x00020000
jnz restore_nocheck_notrace
#ifdef CONFIG_IPIPE_TRACE_IRQSOFF
-# ifdef CONFIG_REGPARM
-# define LOAD_ARG
-# define REMOVE_ARG
-# else /* !CONFIG_REGPARM */
-# define LOAD_ARG pushl %eax
-# define REMOVE_ARG addl $4, %esp
-# endif /* CONFIG_REGPARM */
# define IPIPE_TRACE_IRQ_ENTER \
lea PT_EIP-4(%esp), %ebp; \
movl PT_ORIG_EAX(%esp), %eax; \
- LOAD_ARG; \
call ipipe_trace_begin; \
- REMOVE_ARG
# define IPIPE_TRACE_IRQ_EXIT \
pushl %eax; \
movl PT_ORIG_EAX+4(%esp), %eax; \
- LOAD_ARG; \
call ipipe_trace_end; \
- REMOVE_ARG; \
popl %eax
#else /* !CONFIG_IPIPE_TRACE_IRQSOFF */
#define IPIPE_TRACE_IRQ_ENTER
Index: linux-2.6.20/arch/i386/kernel/mcount.S
===================================================================
--- linux-2.6.20.orig/arch/i386/kernel/mcount.S
+++ linux-2.6.20/arch/i386/kernel/mcount.S
@@ -1,7 +1,7 @@
/*
* linux/arch/i386/mcount.S
*
- * Copyright (C) 2005 Jan Kiszka
+ * Copyright (C) 2005, 2007 Jan Kiszka
*/
.globl mcount
@@ -17,23 +17,12 @@ mcount:
pushl %edx
pushl $0 # no additional value (v)
-#ifdef CONFIG_REGPARM
movl (%ebp),%eax
movl 0x4(%ebp),%edx # __CALLER_ADDR0
movl 0x4(%eax),%ecx # __CALLER_ADDR1
movl $0,%eax # IPIPE_TRACE_FUNC
call __ipipe_trace
popl %eax
-#else /* !CONFIG_REGPARM */
- movl (%ebp),%eax
- movl 0x4(%eax),%eax
- pushl %eax # __CALLER_ADDR1
- movl 0x4(%ebp),%eax
- pushl %eax # __CALLER_ADDR0
- pushl $0 # IPIPE_TRACE_FUNC
- call __ipipe_trace
- addl $0x10,%esp
-#endif /* CONFIG_REGPARM */
popl %edx
popl %ecx
Looking at the tracer enable code made me wonder why it didn't look like
it should do. Some patch obviously dropped on the floor:
https://mail.gna.org/public/adeos-main/2006-12/msg00037.html
Please apply now as well.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]
next prev parent reply other threads:[~2007-02-12 0:28 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-10 11:20 [Adeos-main] tracer broken on 2.6.20-i386 Jan Kiszka
2007-02-10 13:16 ` [Adeos-main] " Jan Kiszka
2007-02-10 13:20 ` Jan Kiszka
2007-02-11 22:42 ` Philippe Gerum
2007-02-12 0:28 ` Jan Kiszka [this message]
2007-02-16 13:27 ` 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=45CFB4A9.5070704@domain.hid \
--to=jan.kiszka@domain.hid \
--cc=adeos-main@gna.org \
--cc=rpm@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.