[PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct.

Kumar Gala galak at kernel.crashing.org
Fri Jun 20 16:39:12 EST 2008


On Jun 19, 2008, at 11:13 PM, Michael Neuling wrote:

> Index: linux-2.6-ozlabs/include/asm-powerpc/processor.h
> ===================================================================
> --- linux-2.6-ozlabs.orig/include/asm-powerpc/processor.h
> +++ linux-2.6-ozlabs/include/asm-powerpc/processor.h
> @@ -136,6 +136,9 @@ typedef struct {
> 	unsigned long seg;
> } mm_segment_t;
>
> +#define TS_FPR(i) fpr[i]
> +#define TS_FPRSTART fpr
> +
> struct thread_struct {
> 	unsigned long	ksp;		/* Kernel stack pointer */
> 	unsigned long	ksp_limit;	/* if ksp <= ksp_limit stack overflow */
> @@ -197,12 +200,13 @@ struct thread_struct {
> 	.fpexc_mode = MSR_FE0 | MSR_FE1, \
> }
> #else
> +#define	FPVSR_INIT_THREAD .fpr = {0}

Being a bit nit picky, but doesn't seem like this patch should  
introduce FPVSR.

>
> #define INIT_THREAD  { \
> 	.ksp = INIT_SP, \
> 	.ksp_limit = INIT_SP_LIMIT, \
> 	.regs = (struct pt_regs *)INIT_SP - 1, /* XXX bogus, I think */ \
> 	.fs = KERNEL_DS, \
> -	.fpr = {0}, \
> +	FPVSR_INIT_THREAD, \
> 	.fpscr = { .val = 0, }, \
> 	.fpexc_mode = 0, \
> }
> @@ -289,4 +293,5 @@ static inline void prefetchw(const void
>
> #endif /* __KERNEL__ */
> #endif /* __ASSEMBLY__ */
> +#define TS_FPRSPACING 1
> #endif /* _ASM_POWERPC_PROCESSOR_H */




More information about the Linuxppc-dev mailing list