login
Header Space

 
 

Re: bisected boot regression post 2.6.25-rc3.. please revert

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Arjan van de Ven <arjan@...>
Cc: <hans.rosenfeld@...>, <torvalds@...>, <linux-kernel@...>, Ingo Molnar <mingo@...>, H. Peter Anvin <hpa@...>, Thomas Gleixner <tglx@...>
Date: Monday, March 3, 2008 - 5:13 pm

>> hm. I suspect some gcc related difference related to the handling of 

include/asm-x86/pgtable.h has

	#define _PAGE_BIT_PSE           7

	#define _PAGE_PSE       (_AC(1, L)<<_PAGE_BIT_PSE)

and

	#define _PAGE_BIT_NX           63

	#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
	#define _PAGE_NX        (_AC(1, ULL) << _PAGE_BIT_NX)

so (on 32-bit) ~_PAGE_PSE is ~0x80L is 0xffffff7f, which when cast to
64-bit is 0x00000000ffffff7f, so in

	(~PAGE_MASK & ~_PAGE_USER & ~_PAGE_PSE & ~_PAGE_NX)

all the high bits are lost, while the original

	~(PAGE_MASK | _PAGE_USER | _PAGE_PSE | _PAGE_NX)

works as intended, since the bit inversion is done on a 64-bit number.


Maybe all those pagetable bit definitions should use 64-bit (ULL or a 
cast),
as it is now some dangerous detail is hidden behind the macros.  Using 
inline
functions for simple constants seems like overkill to me, but would 
also work
of course.


Segher

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
bisected boot regression post 2.6.25-rc3.. please revert, Arjan van de Ven, (Sat Mar 1, 2:56 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Arjan van de Ven, (Mon Mar 3, 12:41 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Arjan van de Ven, (Mon Mar 3, 2:36 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Segher Boessenkool, (Mon Mar 3, 5:13 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Segher Boessenkool, (Mon Mar 3, 5:22 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Segher Boessenkool, (Mon Mar 3, 6:33 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Jeremy Fitzhardinge, (Mon Mar 3, 6:56 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Paul Mackerras, (Mon Mar 10, 12:35 am)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Jeremy Fitzhardinge, (Sun Mar 9, 10:45 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Arjan van de Ven, (Mon Mar 3, 6:00 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Arjan van de Ven, (Mon Mar 3, 9:05 pm)
Re: bisected boot regression post 2.6.25-rc3.. please revert, Arjan van de Ven, (Wed Mar 5, 11:35 am)
speck-geostationary