On 06.03.2009 18:24, svn@coreboot.org wrote:
Author: stepan Date: 2009-03-06 18:24:29 +0100 (Fri, 06 Mar 2009) New Revision: 3977
fix a bunch of cast and type warnings and don't call the apic "nvram", that doesn't make no sense. (trivial)
The change to the ROUND macro is rather non-trivial. It changes the formula. If the new formula is indeed what you want, one parenthesis can be removed:
#define ROUND(_r,_a) (((_r) + ((_a) - 1)) & ~((_a) - 1))
Regards, Carl-Daniel
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Stefan Reinauer stepan@coresystems.de
Modified: trunk/coreboot-v2/src/arch/i386/boot/multiboot.c
--- trunk/coreboot-v2/src/arch/i386/boot/multiboot.c 2009-03-06 17:22:35 UTC (rev 3976) +++ trunk/coreboot-v2/src/arch/i386/boot/multiboot.c 2009-03-06 17:24:29 UTC (rev 3977) @@ -72,7 +72,7 @@ build_mb_mem_range_nooverlap(res->base, res->size); }
-#define ROUND(_r,_a) ((_r) + (((_a) - 1)) & ~((_a) - 1)) +#define ROUND(_r,_a) (((_r) + (((_a) - 1))) & ~((_a) - 1))
unsigned long write_multiboot_info( unsigned long low_table_start, unsigned long low_table_end,
On Fri, Mar 6, 2009 at 11:36 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
On 06.03.2009 18:24, svn@coreboot.org wrote:
Author: stepan Date: 2009-03-06 18:24:29 +0100 (Fri, 06 Mar 2009) New Revision: 3977
fix a bunch of cast and type warnings and don't call the apic "nvram", that doesn't make no sense. (trivial)
The change to the ROUND macro is rather non-trivial. It changes the formula. If the new formula is indeed what you want, one parenthesis can be removed:
#define ROUND(_r,_a) (((_r) + ((_a) - 1)) & ~((_a) - 1))
I agree that a parenthesis can be removed, but since + has precedence over & I don't see how the formula was changed.
Thanks, Myles
On 06.03.2009 19:57 Uhr, Myles Watson wrote:
On Fri, Mar 6, 2009 at 11:36 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
On 06.03.2009 18:24, svn@coreboot.org wrote:
Author: stepan Date: 2009-03-06 18:24:29 +0100 (Fri, 06 Mar 2009) New Revision: 3977
fix a bunch of cast and type warnings and don't call the apic "nvram", that doesn't make no sense. (trivial)
The change to the ROUND macro is rather non-trivial. It changes the formula. If the new formula is indeed what you want, one parenthesis can be removed:
#define ROUND(_r,_a) (((_r) + ((_a) - 1)) & ~((_a) - 1))
I agree that a parenthesis can be removed, but since + has precedence over & I don't see how the formula was changed.
gcc was complaining about missing paranthesis, so I figured I'd try to make clear what it's supopsed to do.