[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A4B4DCE.8050209@monstr.eu>
Date: Wed, 01 Jul 2009 13:51:42 +0200
From: Michal Simek <monstr@...str.eu>
To: microblaze-uclinux@...e.uq.edu.au
CC: monstr@...str.eu, LKML <linux-kernel@...r.kernel.org>,
Remis Lima Baima <remis.developer@...glemail.com>
Subject: Re: [microblaze-uclinux] [PATCH 10/11] microblaze: use generic system.h
Arnd Bergmann wrote:
> On Wednesday 01 July 2009, Michal Simek wrote:
>> this patch can't be applied because generic implementation expect pointer to task struct
>> but microblaze low level code expect thread_info. I have one patch for MMU kernel which fixed it
>> but I don't have it for noMMU kernel.
>
> Ok, just leave it out for now then, it's not important because it does not impact the ABI.
>
> Maybe I should allow overriding switch_to() in the generic file?
I thought about too. Some archs use task pointer some of them thread pointer.
Michal
>
> Arnd <><
> ---
> asm-generic: make parts of system.h optional
>
> The asm-generic/system.h file was originally meant as an example, but by
> letting the architecture override some of its contents, it immediately
> becomes much more useful.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
>
> --- a/include/asm-generic/system.h
> +++ b/include/asm-generic/system.h
> @@ -24,6 +24,7 @@
>
> struct task_struct;
>
> +#ifndef switch_to
> /* context switching is now performed out-of-line in switch_to.S */
> extern struct task_struct *__switch_to(struct task_struct *,
> struct task_struct *);
> @@ -31,10 +32,15 @@ extern struct task_struct *__switch_to(struct task_struct *,
> do { \
> ((last) = __switch_to((prev), (next))); \
> } while (0)
> +#endif
>
> +#ifndef arch_align_stack
> #define arch_align_stack(x) (x)
> +#endif
>
> +#ifndef nop
> #define nop() asm volatile ("nop")
> +#define nop
>
> #endif /* !__ASSEMBLY__ */
>
> @@ -46,9 +52,11 @@ extern struct task_struct *__switch_to(struct task_struct *,
> * This implementation only contains a compiler barrier.
> */
>
> +#ifndef mb()
> #define mb() asm volatile ("": : :"memory")
> #define rmb() mb()
> #define wmb() asm volatile ("": : :"memory")
> +#endif
>
> #ifdef CONFIG_SMP
> #define smp_mb() mb()
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@...e.uq.edu.au
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists