I ran into two problems with boot_cpu_data: - boot_cpu_data doesn't contain the common capabilities of all cpus, it contains the capabilities of the last booted cpu: head.S is called by the trampoline code, and that overwrites boot_cpu_data. [Untested due to lack of hardware] - "mem=nopentium" disables the pse bit, but that is lost when identify_cpu calls cpuid again. What about the attached patch? it creates an __initdata structure for head.S and adds a flag that informs identify_cpu that pse is disabled. -- Manfred