Re: [Bug Fix]: Do 32-bit table calculations in pre-processor

From: Michael S. Zick
Date: Fri Jul 03 2009 - 15:13:28 EST


On Fri July 3 2009, Jeremy Fitzhardinge wrote:
> On 07/03/09 11:38, Michael S. Zick wrote:
> > I make no claims for it at the moment - too early in the test process.
> > Just the general observation that it takes 0.5M to describe 0.5G of ram.
> >
> Only if you're using 4k pages. With large pages, 1 pte can map 2M, so
> 256 entries can map 512M, so you only need 1/2 a page of pagetable
> (assuming PAE; if not a single entry can map 4M).
>

Ah, but you can't assume that - look at your VIA-C7M tech sheet - NO PAE.

Mike

> > Also,
> > the observation that (1<<32) drops the bit off the left end of a 32-bit value.
> > You can see the result in the portion of the post you snipped out. ;)
> >
>
> Those computations aren't done as 32-bit.
>

Try ending the filename in ".S" and passing it to gcc,
like the build system does.

And while your at it, thank A.K. for snipping off the before/after dmesg.

Mike
>
> $ as << EOF
> .data
> .byte (1 << 100) >> 100
> EOF
> $ objdump -D a.out
>
> a.out: file format elf64-x86-64
>
> Disassembly of section .data:
>
> 0000000000000000 <.data>:
> 0: 01 .byte 0x1
>
>
> J
>
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/