diff options
author | Joe Korty <[email protected]> | 2008-06-02 17:21:06 -0400 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2008-06-12 21:26:12 +0200 |
commit | 86b2b70e156203149c3861455feec54bc4906e6d (patch) | |
tree | 4f355603c1f4febbb3a3d7d93b6ba20e9d3cc456 | |
parent | b29c701deacd5d24453127c37ed77ef851c53b8b (diff) |
x86: fix asm warning in head_32.S
On Mon, May 19, 2008 at 04:10:02PM -0700, Linus Torvalds wrote:
> It also causes these warnings on 32-bit PAE:
>
> AS arch/x86/kernel/head_32.o
> arch/x86/kernel/head_32.S: Assembler messages:
> arch/x86/kernel/head_32.S:225: Warning: left operand is a bignum; integer 0 assumed
> arch/x86/kernel/head_32.S:609: Warning: left operand is a bignum; integer 0 assumed
>
> and I do not see why (the end result seems to be identical).
Fix head_32.S gcc bignum warnings when CONFIG_PAE=y.
arch/x86/kernel/head_32.S: Assembler messages:
arch/x86/kernel/head_32.S:225: Warning: left operand is a bignum; integer 0 assumed
arch/x86/kernel/head_32.S:609: Warning: left operand is a bignum; integer 0 assumed
The assembler was stumbling over the 64-bit constant 0x100000000 in the
KPMDS #define.
Testing: a cmp(1) on head_32.o before and after shows the binary is unchanged.
Signed-off-by: Joe Korty <[email protected]
Cc: Hugh Dickins <[email protected]>
Cc: Theodore Tso <[email protected]>
Cc: Gabriel C <[email protected]>
Cc: Keith Packard <[email protected]>
Cc: "Pallipadi Venkatesh" <[email protected]>
Cc: Eric Anholt <[email protected]>
Cc: "Siddha Suresh B" <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: "Barnes Jesse" <[email protected]>
Cc: Jeremy Fitzhardinge <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: Linus Torvalds <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r-- | arch/x86/kernel/head_32.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index b2cc73768a9d..f7357cc0162c 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -189,7 +189,7 @@ default_entry: * this stage. */ -#define KPMDS ((0x100000000-__PAGE_OFFSET) >> 30) /* Number of kernel PMDs */ +#define KPMDS (((-__PAGE_OFFSET) >> 30) & 3) /* Number of kernel PMDs */ xorl %ebx,%ebx /* %ebx is kept at zero */ |