[Bug 1733] CPU_STACK_ALIGNMENT for m68k Incorrect

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Tue Feb 1 19:43:50 UTC 2011


https://www.rtems.org/bugzilla/show_bug.cgi?id=1733

--- Comment #2 from Gedare <giddyup44 at yahoo.com> 2011-02-01 13:43:50 CST ---
(In reply to comment #1)
> Gedare, 7 ports define CPU_STACK_ALIGNMENT to 0.  This is broken based upon the
> code in isr.c.  I see two options.
> 
> + Define them all to 1.
> + Modify isr.c not alignment high if CPU_STACK_ALIGNMENT is 0.  
> 
> I lean to the second since it eliminates code which will do nothing and only
> touches one file.
> 
> Any ideas.
> 
> Index: isr.c
> ===================================================================
> RCS file: /usr1/CVS/rtems/cpukit/score/src/isr.c,v
> retrieving revision 1.20
> diff -u -r1.20 isr.c
> --- isr.c    19 Aug 2010 12:13:56 -0000    1.20
> +++ isr.c    1 Feb 2011 19:06:24 -0000
> @@ -62,8 +62,10 @@
>      Configuration.interrupt_stack_size
>    );
> 
> +#if (CPU_STACK_ALIGNMENT != 0)
>    _CPU_Interrupt_stack_high = (void *)
>      ((uintptr_t) _CPU_Interrupt_stack_high & ~(CPU_STACK_ALIGNMENT - 1));
> +#endif
> 
>    /* Interrupt stack might have to be aligned and/or setup
>     * in a specific way.

This makes sense semantically -- if there are no stack alignment requirements,
don't adjust the stack boundary.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list