>> hm. I suspect some gcc related difference related to the handling ofinclude/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 --
| Con Kolivas | Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler |
| debian developer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Steven Rostedt | Major regression on hackbench with SLUB |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Junio C Hamano | [0/4] What's not in 1.5.2 (overview) |
| Jan Hudec | Smart fetch via HTTP? |
| Peter Oberndorfer | Re: [StGIT PATCH] Don't use patches/<branch>/current |
| Nicolas Pitre | Re: git-index-pack really does suck.. |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Reyk Floeter | Re: hoststated(8): DNS Relay uses unexpected source IP address |
| Mark Zimmerman | Re: Samba(SMB) or Netatalk(AFP)? |
| Anselm R. Garbe | OpenBSD 4.0 / Xorg -> vesa 1920x1200 widescreen resolution |
| hh | Hardware compatibility list |
| Doug Evans | Re: Stabilizing Linux |
| Linus Benedict Torvalds | More answers |
| Dave `geek' Gymer | WARNING (was Re: New afio release) |
