sfrench/cifs-2.6.git
16 years agox86: merge __cpu_disable and cpu_die
Glauber Costa [Mon, 3 Mar 2008 17:13:07 +0000 (14:13 -0300)]
x86: merge __cpu_disable and cpu_die

They are now equal, and are moved to a common file

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: do not clear cpu_online_map
Glauber Costa [Mon, 3 Mar 2008 17:13:06 +0000 (14:13 -0300)]
x86: do not clear cpu_online_map

it was already cleared two lines above, and so, this removal
is bogus

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use remove_from_maps in cpu_disable
Glauber Costa [Mon, 3 Mar 2008 17:13:05 +0000 (14:13 -0300)]
x86: use remove_from_maps in cpu_disable

it is already used in x86_64. In i386, it only
removes from cpu_online_map

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove vector_lock around cpu_online_map
Glauber Costa [Mon, 3 Mar 2008 17:13:04 +0000 (14:13 -0300)]
x86: remove vector_lock around cpu_online_map

This lock does not protect cpu_online_map, so its
length can be shortened, and in some cases, removed.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move cpu_coregroup_map to common file
Glauber Costa [Mon, 3 Mar 2008 17:13:03 +0000 (14:13 -0300)]
x86: move cpu_coregroup_map to common file

it is equal between architectures

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move sibling functions to common file
Glauber Costa [Mon, 3 Mar 2008 17:13:02 +0000 (14:13 -0300)]
x86: move sibling functions to common file

set_cpu_sibling_map() and remove_sibling_info() are
equal between architectures, and are now moved to common
file

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move hotplug related extern definitions to smp.h
Glauber Costa [Mon, 3 Mar 2008 17:13:01 +0000 (14:13 -0300)]
x86: move hotplug related extern definitions to smp.h

definitions that are inside CONFIG_HOTPLUG_CPU in
the arch-specific smp*.h files are moved to common
header

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: make remove_siblinginfo non-static
Glauber Costa [Mon, 3 Mar 2008 17:13:00 +0000 (14:13 -0300)]
x86: make remove_siblinginfo non-static

this is done to match i386

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: make set_cpu_sibling_map nonstatic
Glauber Costa [Mon, 3 Mar 2008 17:12:59 +0000 (14:12 -0300)]
x86: make set_cpu_sibling_map nonstatic

And move its extern definition to smp.h, the common header

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move equal types to common file
Glauber Costa [Mon, 3 Mar 2008 17:12:58 +0000 (14:12 -0300)]
x86: move equal types to common file

move definitions that are now equal in type from
smpboot_{32,64}.c to smpboot.c

cpu_callin_map is put temporarily in smp_64.h (already
exists in smp_32.h), and will soon be merged.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: adjust types in smpcommon_32.c
Glauber Costa [Mon, 3 Mar 2008 17:12:57 +0000 (14:12 -0300)]
x86: adjust types in smpcommon_32.c

so they can have the same type as x86_64

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove cpu_llc_id from processor.h
Glauber Costa [Mon, 3 Mar 2008 17:12:56 +0000 (14:12 -0300)]
x86: remove cpu_llc_id from processor.h

it is already defined in smp.h

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: get rid of smp_32.c and smp_64.c
Glauber Costa [Mon, 3 Mar 2008 17:12:55 +0000 (14:12 -0300)]
x86: get rid of smp_32.c and smp_64.c

This patch merges the copyright notices, and valuable
comments that were left back on smp_{32,64}.c. With that,
files are empty, and are deleted

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: create tlb files
Glauber Costa [Mon, 3 Mar 2008 17:12:54 +0000 (14:12 -0300)]
x86: create tlb files

this patch creates tlb_32.c and tlb_64.c, with
tlb-related functions that used to live in smp*.c files.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: create ipi.c
Glauber Costa [Mon, 3 Mar 2008 17:12:53 +0000 (14:12 -0300)]
x86: create ipi.c

This patch moves all ipi and apic related functions
from smp_32.c to ipi.c

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: create smp.c
Glauber Costa [Mon, 3 Mar 2008 17:12:52 +0000 (14:12 -0300)]
x86: create smp.c

this patch moves all the functions and data structures that look
like exactly the same from smp_{32,64}.c to smp.c

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify smp_send_stop
Glauber Costa [Mon, 3 Mar 2008 17:12:51 +0000 (14:12 -0300)]
x86: unify smp_send_stop

function definition is moved to common header.
x86_64 version is now called native_smp_send_stop

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: add reboot_force test to native_smp_send_stop
Glauber Costa [Mon, 3 Mar 2008 17:12:50 +0000 (14:12 -0300)]
x86: add reboot_force test to native_smp_send_stop

This can be safely added to i386. After that,
functions look exactly the same for both arches

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: make stop_this_cpu looks exactly equal in both arches
Glauber Costa [Mon, 3 Mar 2008 17:12:49 +0000 (14:12 -0300)]
x86: make stop_this_cpu looks exactly equal in both arches

with the hlt_works change, it is possible to have i386
and x86_64 stop_this_cpu() looking exactly the same. They
can, after that, be merged.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: provide hlt_works function.
Glauber Costa [Mon, 3 Mar 2008 17:12:48 +0000 (14:12 -0300)]
x86: provide hlt_works function.

In x86_64, hlt always work. in i386, we'll query the cpuinfo associated
with this cpu

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: change x86_64 smp_call_function_mask to look alike i386
Glauber Costa [Mon, 3 Mar 2008 17:12:47 +0000 (14:12 -0300)]
x86: change x86_64 smp_call_function_mask to look alike i386

the two versions (the inner version, and the outer version, that takes
the locks) of smp_call_function_mask are made into one. With the changes,
i386 and x86_64 versions look exactly the same.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: provide __smp_call_function
Glauber Costa [Mon, 3 Mar 2008 17:12:46 +0000 (14:12 -0300)]
x86: provide __smp_call_function

This function is used in smp_send_stop(). It's like
smp_call_function_mask, but always go to all online cpus,
and does not take any locks.

It is added to x86_64, but will soon be unified in a common file

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: create smpcommon.c
Glauber Costa [Mon, 3 Mar 2008 17:12:45 +0000 (14:12 -0300)]
x86: create smpcommon.c

This patch creates smpcommon.c with functions that are
equal between architectures. The i386-only init_gdt
is ifdef'd.

Note that smpcommon.o figures twice in the Makefile:
this is because sub-architectures like voyager that does
not use the normal smp_$(BITS) files also have to access them

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove irqs disabled warning.
Glauber Costa [Mon, 3 Mar 2008 17:12:44 +0000 (14:12 -0300)]
x86: remove irqs disabled warning.

there's already a warning in the topmost function

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove export for smp_call_function_mask.
Glauber Costa [Mon, 3 Mar 2008 17:12:43 +0000 (14:12 -0300)]
x86: remove export for smp_call_function_mask.

with this removal, exports for both i386 and x86_64,
regarding the "smp_call_function" series are now the same.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move prefill_possible_map to common file
Glauber Costa [Mon, 3 Mar 2008 17:12:42 +0000 (14:12 -0300)]
x86: move prefill_possible_map to common file

this patches moves prefill_possible_map() to smpboot.c
Right now it is x86_64-specific, but nothing intrinsically
prevents it to be used by i386

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use disabled_cpus in i386
Glauber Costa [Mon, 3 Mar 2008 17:12:41 +0000 (14:12 -0300)]
x86: use disabled_cpus in i386

this patch allows a cpu to be marked as present but disabled in i386,
just as x86_64 currently does.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move disabled_cpus to common header
Glauber Costa [Mon, 3 Mar 2008 17:12:40 +0000 (14:12 -0300)]
x86: move disabled_cpus to common header

disabled_cpus is (up to now) a x86_64-only contruction.
But it's extern declaration can be moved to common header anyway

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify smp_cpus_done
Glauber Costa [Mon, 3 Mar 2008 17:12:39 +0000 (14:12 -0300)]
x86: unify smp_cpus_done

definition is moved to common header. x86_64 version is now called
native_smp_cpus_done

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify smp_prepare_cpus
Glauber Costa [Mon, 3 Mar 2008 17:12:38 +0000 (14:12 -0300)]
x86: unify smp_prepare_cpus

definition is moved to common header. x86_64 version is now called
native_smp_prepare_cpus

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify prepare_boot_cpu
Glauber Costa [Mon, 3 Mar 2008 17:12:37 +0000 (14:12 -0300)]
x86: unify prepare_boot_cpu

definition is moved to common header. x86_64 version is now called
native_prepare_boot_cpu

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify __cpu_up.
Glauber Costa [Mon, 3 Mar 2008 17:12:36 +0000 (14:12 -0300)]
x86: unify __cpu_up.

function definition is moved to common header. x86_64 version
is now called native_cpu_up

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify smp_call_function_mask
Glauber Costa [Mon, 3 Mar 2008 17:12:35 +0000 (14:12 -0300)]
x86: unify smp_call_function_mask

definition is moved to common header, x86_64 function name
now is native_smp_call_function_mask

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: merge smp_send_reschedule
Glauber Costa [Mon, 3 Mar 2008 17:12:34 +0000 (14:12 -0300)]
x86: merge smp_send_reschedule

function definition is moved to common header, x86_64 version is now called
native_smp_send_reschedule

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move smp_ops extern declaration to common header
Glauber Costa [Mon, 3 Mar 2008 17:12:33 +0000 (14:12 -0300)]
x86: move smp_ops extern declaration to common header

the smp_ops symbol is temporarily defined in smp_64.c, but it will soon
be unified

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: define smp_ops in common header
Glauber Costa [Mon, 3 Mar 2008 17:12:32 +0000 (14:12 -0300)]
x86: define smp_ops in common header

x86_64 will benefit from it
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: merge extern variables definitions
Glauber Costa [Mon, 3 Mar 2008 17:12:31 +0000 (14:12 -0300)]
x86: merge extern variables definitions

move extern definitions that are the same between smp_{32,64}.h
to smp.h

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: merge extern function definitions
Glauber Costa [Mon, 3 Mar 2008 17:12:30 +0000 (14:12 -0300)]
x86: merge extern function definitions

move extern function definitions that are the same between smp_{32,64}.h
to smp.h

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: commonize smp.h
Glauber Costa [Mon, 3 Mar 2008 17:12:29 +0000 (14:12 -0300)]
x86: commonize smp.h

this is the first step of integrating smp.h between x86_64
and i386

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: fix switch_to() clobbers
Ingo Molnar [Wed, 5 Mar 2008 09:46:38 +0000 (10:46 +0100)]
x86: fix switch_to() clobbers

Liu Pingfan noticed that switch_to() clobbers more registers than its
asm constraints specify.

We get away with this due to luck mostly - schedule()
by its nature only has 'local' state which gets reloaded
automatically. Fix it nevertheless, we could hit this anytime.

it turns out that with the extra constraints gcc manages to make
schedule() even more compact:

   text    data     bss     dec     hex filename
  28626     684    2640   31950    7cce sched.o.before
  28613     684    2640   31937    7cc1 sched.o.after

Reported-by: Liu Pingfan <kernelfans@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up switch_to()
Ingo Molnar [Wed, 5 Mar 2008 09:24:37 +0000 (10:24 +0100)]
x86: clean up switch_to()

Make the code more readable and more hackable:

 - use symbolic asm parameters
 - use readable indentation
 - add comments that explains the details

No code changed:

kernel/sched.o:

   text    data     bss     dec     hex filename
  28626     684    2640   31950    7cce sched.o.before
  28626     684    2640   31950    7cce sched.o.after

md5:
   2823d406c18b781975cdb2e7cfea0059  sched.o.before.asm
   2823d406c18b781975cdb2e7cfea0059  sched.o.after.asm

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: reserve end-of-conventional-memory to 1MB, 64-bit, use paravirt_enabled
Alexander van Heukelum [Tue, 4 Mar 2008 19:12:28 +0000 (20:12 +0100)]
x86: reserve end-of-conventional-memory to 1MB, 64-bit, use paravirt_enabled

Jeremy Fitzhardinge pointed out that looking at the boot_params
struct to determine if the system is running in a paravirtual
environment is not reliable for the Xen case, currently. He also
points out that there already exists a function to determine if
the system is running in a paravirtual environment. So let's use
that instead. This gets rid of the preprocessor test too.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled
Alexander van Heukelum [Tue, 4 Mar 2008 18:57:42 +0000 (19:57 +0100)]
x86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled

Jeremy Fitzhardinge pointed out that looking at the boot_params
struct to determine if the system is running in a paravirtual
environment is not reliable for the Xen case, currently. He also
points out that there already exists a function to determine if
the system is running in a paravirtual environment. So let's use
that instead. This gets rid of the preprocessor test too.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: wmb() confusion in system.h
Pavel Machek [Mon, 3 Mar 2008 11:49:09 +0000 (12:49 +0100)]
x86: wmb() confusion in system.h

Comment says wmb is a nop, but it is implemented as lock addl
below... Should it be compiled to nop if we know we are running on
"good" Intel cpu?

At least remove confusing comment for now.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: if we cannot calibrate the TSC, we panic.
Rusty Russell [Tue, 4 Mar 2008 12:07:50 +0000 (23:07 +1100)]
x86: if we cannot calibrate the TSC, we panic.

The current tsc_init() clears the TSC feature bit if the TSC khz
cannot be calculated, causing us to panic in
arch/x86/kernel/cpu/bugs.c check_config().  We should simply mark it
unstable.

Frankly, someone should take an axe to this code.  mark_tsc_unstable()
not only marks it unstable, but sets tsc_enabled to 0, which seems
redundant but is actually important here because means it won't be
used by sched_clock() either.  Perhaps a tristate enum "UNUSABLE,
UNSTABLE, OK" would be clearer, and separate mark_tsc_unstable() and
mark_tsc_broken() functions?

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: debug pmd_bad()
Ingo Molnar [Mon, 3 Mar 2008 08:53:17 +0000 (09:53 +0100)]
x86: debug pmd_bad()

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: redo cded932b75ab0a5f9181e
Ingo Molnar [Mon, 3 Mar 2008 12:55:32 +0000 (13:55 +0100)]
x86: redo cded932b75ab0a5f9181e

redo commit cded932b75ab0a5f9181e.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: warn about RAM pages in ioremap()
Ingo Molnar [Mon, 3 Mar 2008 08:37:41 +0000 (09:37 +0100)]
x86: warn about RAM pages in ioremap()

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: reserve end-of-conventional-memory to 1MB, 64-bit
Alexander van Heukelum [Sat, 1 Mar 2008 16:12:43 +0000 (17:12 +0100)]
x86: reserve end-of-conventional-memory to 1MB, 64-bit

This patch is an add-on to the 64-bit ebda patch. It makes
the functions reserve_ebda_region (renamed from reserve_ebda)
and copy_e820_map equal to the 32-bit versions of the previous
patch.

Changes:

Use u64 and u32 for local variables in copy_e820_map.

The amount of conventional memory and the start of the EBDA are
detected by reading the BIOS data area directly. Paravirtual
environments do not provide this area, so we bail out early
in that case. They will just have to set up a correct memory
map to start with.

Add a safety net for zeroed out BIOS data area.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: reserve_early end-of-conventional-memory to 1MB, 64-bit
Alexander van Heukelum [Mon, 25 Feb 2008 18:07:51 +0000 (19:07 +0100)]
x86: reserve_early end-of-conventional-memory to 1MB, 64-bit

Explicitly reserve_early the whole address range from the end of
conventional memory as reported by the bios data area up to the
1Mb mark. Regard the info retrieved from the BIOS data area with
a bit of paranoia, though, because some biosses forget to register
the EBDA correctly.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: reserve end-of-conventional-memory to 1MB on 32-bit
Alexander van Heukelum [Sat, 1 Mar 2008 16:09:12 +0000 (17:09 +0100)]
x86: reserve end-of-conventional-memory to 1MB on 32-bit

This patch adds explicit detection of the EBDA and reservation
of the rom and adapter address space 0xa0000-0x100000 to the
i386 kernels. Before this patch, the EBDA size was hardcoded
as 4Kb. Also, the reservation of the adapter range was done by
modifying the e820 map which is now not necessary any longer,
and that code is removed from copy_e820_map.

The amount of conventional memory and the start of the EBDA are
detected by reading the BIOS data area directly. Paravirtual
environments do not provide this area, so we bail out early
in that case. They will just have to set up a correct memory
map to start with.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: fix recursive dependencies
Roman Zippel [Fri, 29 Feb 2008 04:09:02 +0000 (05:09 +0100)]
x86: fix recursive dependencies

The proper dependency check uncovered a few dependency problems,
the subarchitecture used a mixture of selects and depends on SMP
and PCI dependency was messed up.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoxen: use iret instruction all the time
Jeremy Fitzhardinge [Thu, 17 Apr 2008 15:40:51 +0000 (17:40 +0200)]
xen: use iret instruction all the time

Change iret implementation to not be dependent on direct-access vcpu
structure.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to x86/kernel/early_printk.c
Paolo Ciarrocchi [Fri, 29 Feb 2008 12:26:56 +0000 (13:26 +0100)]
x86: coding style fixes to x86/kernel/early_printk.c

Depends on:
[PATCH 2/3] x86: coding style fixes to arch/x86/kernel/early_printk.c

Remove two:
ERROR: do not initialise statics to 0 or NULL

paolo@paolo-desktop:/tmp/c$ size *
   text    data     bss     dec     hex filename
   1172     280      12    1464     5b8 early_printk.o.after
   1172     280      12    1464     5b8 early_printk.o.before

This patch is changing the binary output:

paolo@paolo-desktop:/tmp/c$ md5sum *
dad9a9a881e0eeda62cc5645bd3d7cad  early_printk.o.after
da32f5cd8f248970e4809e1005393e95  early_printk.o.before

because the two variables moved to another section. No
change in functionality.

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/early_printk.c
Paolo Ciarrocchi [Fri, 29 Feb 2008 12:25:30 +0000 (13:25 +0100)]
x86: coding style fixes to arch/x86/kernel/early_printk.c

Before:
total: 17 errors, 3 warnings, 254 lines checked

After:
total: 2 errors, 3 warnings, 254 lines checked

paolo@paolo-desktop:/tmp/b$ md5sum *
da32f5cd8f248970e4809e1005393e95  early_printk.o.after
da32f5cd8f248970e4809e1005393e95  early_printk.o.before

paolo@paolo-desktop:/tmp/b$ size *
   text    data     bss     dec     hex filename
   1172     280      12    1464     5b8 early_printk.o.after
   1172     280      12    1464     5b8 early_printk.o.befor

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/lib/usercopy_32.c
Paolo Ciarrocchi [Fri, 29 Feb 2008 11:50:56 +0000 (12:50 +0100)]
x86: coding style fixes to arch/x86/lib/usercopy_32.c

Before:
 total: 63 errors, 2 warnings, 878 lines checked
After:
 total: 0 errors, 2 warnings, 878 lines checked

Compile tested, no change in the binary output:

text    data     bss     dec     hex filename
3231       0       0    3231     c9f usercopy_32.o.after
3231       0       0    3231     c9f usercopy_32.o.before

md5sum:
9f9a3eb43970359ae7cecfd1c9e7cf42  usercopy_32.o.after
9f9a3eb43970359ae7cecfd1c9e7cf42  usercopy_32.o.before

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: ioremap(), extend check to all RAM pages
Ingo Molnar [Thu, 28 Feb 2008 13:10:49 +0000 (14:10 +0100)]
x86: ioremap(), extend check to all RAM pages

Suggested by Jan Beulich.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jan Beulich <jbeulich@novell.com>
16 years agox86: X86_HT always enable on X86_64 SMP
Hiroshi Shimamoto [Wed, 27 Feb 2008 21:16:30 +0000 (13:16 -0800)]
x86: X86_HT always enable on X86_64 SMP

X86_HT is used for hyperthreading or multicore on 32-bit.
The X86_HT on 64-bit is different from 32-bit, it means hyperthreading only.
And X86_HT is not used on 64-bit except from cpu/initel_cacheinfo.c.

Unify X86_HT for hyperthreading or multicore.
Turn X86_HT on when X86_64 and SMP are enabled.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: check physical address range in ioremap
Thomas Gleixner [Wed, 27 Feb 2008 19:57:40 +0000 (20:57 +0100)]
x86: check physical address range in ioremap

Roland Dreier reported in http://lkml.org/lkml/2008/2/27/194

[ 8425.915139] BUG: unable to handle kernel paging request at ffffc20001a0a000
[ 8425.919087] IP: [<ffffffff8021dacc>] clflush_cache_range+0xc/0x25
[ 8425.919087] PGD 1bf80e067 PUD 1bf80f067 PMD 1bb497067 PTE 80000047000ee17b

This is on a Intel machine with 36bit physical address space. The PTE
entry references 47000ee000, which is outside of it.

Add a check for the physical address space and warn/printk about the
stupid caller.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoxen: make hvc0 the preferred console in domU
Markus Armbruster [Wed, 27 Feb 2008 13:56:35 +0000 (14:56 +0100)]
xen: make hvc0 the preferred console in domU

This makes the Xen console just work.  Before, you had to ask for it
on the kernel command line with console=hvc0

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, tracing: add notrace to asm-x86/linkage.h
Ingo Molnar [Thu, 17 Apr 2008 15:40:51 +0000 (17:40 +0200)]
x86, tracing: add notrace to asm-x86/linkage.h

notrace signals that a function should not be traced. Most of the
time this is used by tracers to annotate code that cannot be
traced - it's in a volatile state (such as in user vdso context
or NMI context) or it's in the tracer internals.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: switch to proc_create()
Alexey Dobriyan [Tue, 26 Feb 2008 10:23:32 +0000 (13:23 +0300)]
x86: switch to proc_create()

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up traps_32.c
Ingo Molnar [Tue, 26 Feb 2008 10:15:50 +0000 (11:15 +0100)]
x86: clean up traps_32.c

Before:
   total: 86 errors, 29 warnings, 1248 lines checked
After:
   total: 0 errors, 17 warnings, 1281 lines checked

No code changed:

arch/x86/kernel/traps_32.o:

   text    data     bss     dec     hex filename
   8711    2168      72   10951    2ac7 traps_32.o.before
   8711    2168      72   10951    2ac7 traps_32.o.after

(md5 sums differ because some stack offset positions changed.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses, transmeta.c
Ingo Molnar [Tue, 26 Feb 2008 07:52:39 +0000 (08:52 +0100)]
x86: clean up cpu capabilities accesses, transmeta.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities in arch/x86/kernel/cpu/intel.c
Ingo Molnar [Tue, 26 Feb 2008 07:52:33 +0000 (08:52 +0100)]
x86: clean up cpu capabilities in arch/x86/kernel/cpu/intel.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses, cyrix.c
Ingo Molnar [Tue, 26 Feb 2008 07:52:27 +0000 (08:52 +0100)]
x86: clean up cpu capabilities accesses, cyrix.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses, common.c
Ingo Molnar [Tue, 26 Feb 2008 07:51:32 +0000 (08:51 +0100)]
x86: clean up cpu capabilities accesses, common.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses, centaur.c
Ingo Molnar [Tue, 26 Feb 2008 07:51:22 +0000 (08:51 +0100)]
x86: clean up cpu capabilities accesses, centaur.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses, amd.c
Ingo Molnar [Tue, 26 Feb 2008 07:49:57 +0000 (08:49 +0100)]
x86: clean up cpu capabilities accesses, amd.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses, generic
Ingo Molnar [Tue, 26 Feb 2008 07:54:01 +0000 (08:54 +0100)]
x86: clean up cpu capabilities accesses, generic

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up cpu capabilities accesses
Ingo Molnar [Tue, 26 Feb 2008 07:34:21 +0000 (08:34 +0100)]
x86: clean up cpu capabilities accesses

introduce test_cpu_cap() for raw access to the real CPU
capabilities as they are present in x86_capability.

(cpu_has() will shortcut certain tests during build-time)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove wrong setting about CONSTANT_TSC for intel cpu
Yinghai Lu [Tue, 26 Feb 2008 07:20:01 +0000 (23:20 -0800)]
x86: remove wrong setting about CONSTANT_TSC for intel cpu

early_init_intel() on 64-bit is introduced by

  commit 2b16a2353814a513cdb5c5c739b76a19d7ea39ce
  Author: Andi Kleen <ak@suse.de>
  Date:   Wed Jan 30 13:32:40 2008 +0100

      x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection

sets CONSTANT_TSC for intel cpus - but it is already set in init_intel().

don't need to set that two times in early_init_intel() and init_intel().
this patch removes the init_intel() one.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, rdc321x: remove watchdog file
Florian Fainelli [Mon, 25 Feb 2008 10:44:07 +0000 (11:44 +0100)]
x86, rdc321x: remove watchdog file

remove the arch/x86/mach-rdc321x/wdt.c file.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: apic_is_clustered_box for vsmp
Yinghai Lu [Mon, 25 Feb 2008 05:36:28 +0000 (21:36 -0800)]
x86: apic_is_clustered_box for vsmp

quad core 8 socket system will have apic id lifting.the apic id range could
be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters
and that is larger than 2. So it is treated as a clustered_box.

and will get:

   Marking TSC unstable due to TSCs unsynchronized

even if the CPUs have X86_FEATURE_CONSTANT_TSC set.

this quick fix will check if the cpu is from AMD.

but vsmp still needs that checking...

this patch is fix to make sure that vsmp not to be passed.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/common.c
Paolo Ciarrocchi [Sun, 24 Feb 2008 10:58:13 +0000 (11:58 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/common.c

Before:
   total: 55 errors, 6 warnings, 727 lines checked
After:
   total: 0 errors, 3 warnings, 734 lines checked

No code changed:

arch/x86/kernel/cpu/common.o:

   text    data     bss     dec     hex filename
   3500    4611      44    8155    1fdb common.o.before
   3500    4611      44    8155    1fdb common.o.after

md5:
   e37091f11fbeb682c0db152ac3022a38  common.o.before.asm
   e37091f11fbeb682c0db152ac3022a38  common.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/power/cpu_32.c
Paolo Ciarrocchi [Sun, 24 Feb 2008 10:57:22 +0000 (11:57 +0100)]
x86: coding style fixes to arch/x86/power/cpu_32.c

Before:
   total: 15 errors, 3 warnings, 133 lines checked
After:
   total: 0 errors, 0 warnings, 138 lines checked

No code changed:

arch/x86/power/cpu_32.o:

   text    data     bss     dec     hex filename
    739       0      84     823     337 cpu_32.o.before
    739       0      84     823     337 cpu_32.o.after

md5:
   eb0726223a5e26b195e65f0ae2c0ec66  cpu_32.o.before.asm
   eb0726223a5e26b195e65f0ae2c0ec66  cpu_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/xen/multicalls.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:11:59 +0000 (23:11 +0100)]
x86: coding style fixes to arch/x86/xen/multicalls.c

Before:
   total: 2 errors, 2 warnings, 138 lines checked
After:
   total: 0 errors, 2 warnings, 138 lines checked

No code changed:

arch/x86/xen/multicalls.o:

   text    data     bss     dec     hex filename
    887    2832       0    3719     e87 multicalls.o.before
    887    2832       0    3719     e87 multicalls.o.after

md5:
   cf6d72d9db6dc5a3ebe01eec9f05e95f  multicalls.o.before.asm
   cf6d72d9db6dc5a3ebe01eec9f05e95f  multicalls.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/msr.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:11:52 +0000 (23:11 +0100)]
x86: coding style fixes to arch/x86/kernel/msr.c

Before:
   total: 2 errors, 0 warnings, 231 lines checked
After:
   total: 0 errors, 0 warnings, 231 lines checked

No code changed:

arch/x86/kernel/msr.o:

   text    data     bss     dec     hex filename
   1199      12       4    1215     4bf msr.o.before
   1199      12       4    1215     4bf msr.o.after

md5:
   604be0d07d829bc52a9346babd084bdc  msr.o.before.asm
   604be0d07d829bc52a9346babd084bdc  msr.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/oprofile/nmi_timer_int.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:11:34 +0000 (23:11 +0100)]
x86: coding style fixes to arch/x86/oprofile/nmi_timer_int.c

Before:
   total: 3 errors, 0 warnings, 69 lines checked
After:
   total: 0 errors, 0 warnings, 69 lines checked

No code changed:

arch/x86/oprofile/nmi_timer_int.o:

   text    data     bss     dec     hex filename
    180      12       0     192      c0 nmi_timer_int.o.before
    180      12       0     192      c0 nmi_timer_int.o.after

md5:
   0433c31d758e81da574e01722a8036ea  nmi_timer_int.o.before.asm
   0433c31d758e81da574e01722a8036ea  nmi_timer_int.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/cyrix.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:11:23 +0000 (23:11 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/cyrix.c

Before:
   total: 46 errors, 10 warnings, 450 lines checked
After:
   total: 1 errors, 10 warnings, 449 lines checked

No code changed:

arch/x86/kernel/cpu/cyrix.o:

   text    data     bss     dec     hex filename
   2048     908       4    2960     b90 cyrix.o.before
   2048     908       4    2960     b90 cyrix.o.after

md5:
   9add5e69dbd788f91ff24eea8462dad7  cyrix.o.before.asm
   9add5e69dbd788f91ff24eea8462dad7  cyrix.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/boot/cpucheck.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:11:12 +0000 (23:11 +0100)]
x86: coding style fixes to arch/x86/boot/cpucheck.c

Before:
   total: 30 errors, 0 warnings, 262 lines checked
After:
   total: 0 errors, 0 warnings, 262 lines checked

No code changed:

arch/x86/boot/cpucheck.o:

   text    data     bss     dec     hex filename
    989       0      96    1085     43d cpucheck.o.before
    989       0      96    1085     43d cpucheck.o.after

md5:
   06634cfefb8438fa284ff903b4cafbce  cpucheck.o.before.asm
   06634cfefb8438fa284ff903b4cafbce  cpucheck.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/mcheck/mce_32.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:11:07 +0000 (23:11 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/mcheck/mce_32.c

Before:
   total: 10 errors, 3 warnings, 90 lines checked
After:
   total: 0 errors, 3 warnings, 90 lines checked

No code changed:

arch/x86/kernel/cpu/mcheck/mce_32.o:

   text    data     bss     dec     hex filename
    287      42      12     341     155 mce_32.o.before
    287      42      12     341     155 mce_32.o.after

md5:
   fede5ff8e6bc3f62e8e691ca6c45eb39  mce_32.o.before.asm
   fede5ff8e6bc3f62e8e691ca6c45eb39  mce_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/mcheck/winchip.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:57 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/mcheck/winchip.c

Before:
   total: 4 errors, 0 warnings, 36 lines checked
After:
   total: 0 errors, 0 warnings, 36 lines checked

No code changed:

arch/x86/kernel/cpu/mcheck/winchip.o:

   text    data     bss     dec     hex filename
    222       0       4     226      e2 winchip.o.before
    222       0       4     226      e2 winchip.o.after

md5:
   9caefa12256c5f7d71ef324f6d01a2d5  winchip.o.before.asm
   9caefa12256c5f7d71ef324f6d01a2d5  winchip.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/mcheck/non-fatal.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:49 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/mcheck/non-fatal.c

Before:
   total: 5 errors, 5 warnings, 91 lines checked
After:
   total: 0 errors, 0 warnings, 94 lines checked

No code changed:

arch/x86/kernel/cpu/mcheck/non-fatal.o:

   text    data     bss     dec     hex filename
    441      80       4     525     20d non-fatal.o.before
    441      80       4     525     20d non-fatal.o.after

md5:
   137bc114d2020ad331d5e76444a2c7d3  non-fatal.o.before.asm
   137bc114d2020ad331d5e76444a2c7d3  non-fatal.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/vm86_32.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:40 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/vm86_32.c

Before:
   total: 64 errors, 18 warnings, 840 lines checked
After:
   total: 12 errors, 15 warnings, 844 lines checked

No code changed:

arch/x86/kernel/vm86_32.o:

   text    data     bss     dec     hex filename
   4449      28     132    4609    1201 vm86_32.o.before
   4449      28     132    4609    1201 vm86_32.o.after

md5:
   e4e51ed7689d17f04148554a3c6d5bb6  vm86_32.o.before.asm
   e4e51ed7689d17f04148554a3c6d5bb6  vm86_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/amd.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:33 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/amd.c

Before:
   total: 42 errors, 26 warnings, 350 lines checked
After:
   total: 0 errors, 26 warnings, 352 lines checked

No code changed:

arch/x86/kernel/cpu/amd.o:

   text    data     bss     dec     hex filename
   1936     328       0    2264     8d8 amd.o.before
   1936     328       0    2264     8d8 amd.o.after

md5:
   873430a88faaf31bb4bbfe3a2a691e45  amd.o.before.asm
   873430a88faaf31bb4bbfe3a2a691e45  amd.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/transmeta.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:28 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/transmeta.c

Before:
   total: 13 errors, 3 warnings, 105 lines checked
After:
   total: 0 errors, 3 warnings, 107 lines checked

No code changed:

arch/x86/kernel/cpu/transmeta.o:

   text    data     bss     dec     hex filename
    713     324       0    1037     40d transmeta.o.before
    713     324       0    1037     40d transmeta.o.after

md5:
   19abe2cafac617e1e2aadc4aa4e9923b  transmeta.o.before.asm
   19abe2cafac617e1e2aadc4aa4e9923b  transmeta.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/lib/memcpy_32.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:23 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/lib/memcpy_32.c

Before:
   total: 2 errors, 0 warnings, 43 lines checked
After:
   total: 0 errors, 0 warnings, 43 lines checked

No code changed:

arch/x86/lib/memcpy_32.o:

   text    data     bss     dec     hex filename
    164       0       0     164      a4 memcpy_32.o.before
    164       0       0     164      a4 memcpy_32.o.after

md5:
   d759f55621af27f51720b59c8ca96a4d  memcpy_32.o.before.asm
   d759f55621af27f51720b59c8ca96a4d  memcpy_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/mtrr/state.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:16 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/mtrr/state.c

Before:
   total: 6 errors, 5 warnings, 80 lines checked
After:
   total: 0 errors, 4 warnings, 82 lines checked

No code changed:

arch/x86/kernel/cpu/mtrr/state.o:

   text    data     bss     dec     hex filename
    313       0       4     317     13d state.o.before
    313       0       4     317     13d state.o.after

md5:
   a0fbd61096205f9180f0bf45ed386d61  state.o.before.asm
   a0fbd61096205f9180f0bf45ed386d61  state.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/mca_32.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:10:06 +0000 (23:10 +0100)]
x86: coding style fixes to arch/x86/kernel/mca_32.c

Before:
   total: 42 errors, 3 warnings, 469 lines checked
After:
   total: 0 errors, 3 warnings, 479 lines checked

No code changed:

arch/x86/kernel/mca_32.o:

   text    data     bss     dec     hex filename
   1832     288       5    2125     84d mca_32.o.before
   1832     288       5    2125     84d mca_32.o.after

md5:
   c0e45e2b743ce26349eb07dc53e80b94  mca_32.o.before.asm
   c0e45e2b743ce26349eb07dc53e80b94  mca_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/lib/strstr_3
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:09:56 +0000 (23:09 +0100)]
x86: coding style fixes to arch/x86/lib/strstr_3

Before:
   total: 3 errors, 0 warnings, 31 lines checked
After:
   total: 0 errors, 0 warnings, 31 lines checked

No code changed:

arch/x86/lib/strstr_32.o:

   text    data     bss     dec     hex filename
     49       0       0      49      31 strstr_32.o.before
     49       0       0      49      31 strstr_32.o.after

md5:
   a224a7c4082e75a4f31f9d91dd34fe8e  strstr_32.o.before.asm
   a224a7c4082e75a4f31f9d91dd34fe8e  strstr_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/oprofile/init.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:09:50 +0000 (23:09 +0100)]
x86: coding style fixes to arch/x86/oprofile/init.c

Before:
   total: 5 errors, 4 warnings, 48 lines checked
After:
   total: 0 errors, 4 warnings, 49 lines checked

No code changed:

arch/x86/oprofile/init.o:

   text    data     bss     dec     hex filename
     42       0       0      42      2a init.o.before
     42       0       0      42      2a init.o.after

md5:
   74c94c315cfbf245aeba36eceac57e66  init.o.before.asm
   74c94c315cfbf245aeba36eceac57e66  init.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/cpu/intel.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:09:42 +0000 (23:09 +0100)]
x86: coding style fixes to arch/x86/kernel/cpu/intel.c

Before:
   total: 37 errors, 16 warnings, 366 lines checked
After:
   total: 0 errors, 15 warnings, 369 lines checked

No code changed:

arch/x86/kernel/cpu/intel.o:

   text    data     bss     dec     hex filename
   1534     452       0    1986     7c2 intel.o.before
   1534     452       0    1986     7c2 intel.o.after

md5:
   1ca348a06de6eb354c4b6ea715a57db5  intel.o.before.asm
   1ca348a06de6eb354c4b6ea715a57db5  intel.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fixes to arch/x86/kernel/summit_32.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:09:34 +0000 (23:09 +0100)]
x86: coding style fixes to arch/x86/kernel/summit_32.c

Before:
   total: 20 errors, 17 warnings, 180 lines checked
After:
   total: 0 errors, 17 warnings, 183 lines checked

No code changed:

arch/x86/kernel/summit_32.o:

   text    data     bss     dec     hex filename
    932     192       0    1124     464 summit_32.o.before
    932     192       0    1124     464 summit_32.o.after

md5:
   217aa5f002f217e56ef9d8e5c74b60e0  summit_32.o.before.asm
   217aa5f002f217e56ef9d8e5c74b60e0  summit_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coding style fix to arch/x86/boot/pm.c
Paolo Ciarrocchi [Fri, 22 Feb 2008 22:09:26 +0000 (23:09 +0100)]
x86: coding style fix to arch/x86/boot/pm.c

Before:
   total: 1 errors, 0 warnings, 178 lines checked
After:
   total: 0 errors, 0 warnings, 178 lines checked

No code changed:

arch/x86/boot/pm.o:

   text    data     bss     dec     hex filename
    351       0       6     357     165 pm.o.before
    351       0       6     357     165 pm.o.after

md5:
   81de3616bceb29691bf835bb62a84ff1  pm.o.before.asm
   81de3616bceb29691bf835bb62a84ff1  pm.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: insert_resorce for lapic addr after e820_reserve_resources
Yinghai Lu [Fri, 22 Feb 2008 21:37:26 +0000 (13:37 -0800)]
x86: insert_resorce for lapic addr after e820_reserve_resources

when comparing the e820 direct from BIOS, and the one by kexec:

 BIOS-provided physical RAM map:
- BIOS-e820: 0000000000000000 - 0000000000097400 (usable)
+ BIOS-e820: 0000000000000100 - 0000000000097400 (usable)
  BIOS-e820: 0000000000097400 - 00000000000a0000 (reserved)
  BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
  BIOS-e820: 0000000000100000 - 00000000dffa0000 (usable)
- BIOS-e820: 00000000dffae000 - 00000000dffb0000 type 9
+ BIOS-e820: 00000000dffae000 - 00000000dffb0000 (reserved)
  BIOS-e820: 00000000dffb0000 - 00000000dffbe000 (ACPI data)
  BIOS-e820: 00000000dffbe000 - 00000000dfff0000 (ACPI NVS)
  BIOS-e820: 00000000dfff0000 - 00000000e0000000 (reserved)
  BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
- BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
             =======> that is the local apic address... somewhere we lost it
  BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved)
  BIOS-e820: 0000000100000000 - 0000004020000000 (usable)

found one entry about reserved is missing for the kernel by kexec.

it turns out init_apic_mappings is called before e820_reserve_resources
in setup_arch. but e820_reserve_resources is using request_resource.
it will not handle the conflicts.

there are three ways to fix it:

1. change request_resource in e820_reserve_resources to to insert_resource
2. move init_apic_mappings after e820_reserve_resources
3. use late_initcall to insert lapic resource.

this patch is using method 3, that is less intrusive.

in later version could consider to use method 1.

before patch
fed20000-ffffffff : PCI Bus #00
  fee00000-fee00fff : Local APIC
  fefff000-feffffff : pnp 00:09
  ff700000-ffffffff : reserved

with patch will get map in first kernel

fed20000-ffffffff : PCI Bus #00
  fee00000-fee00fff : Local APIC
    fee00000-fee00fff : reserved
  fefff000-feffffff : pnp 00:09
  ff700000-ffffffff : reserved

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: clean up e820_reserve_resources on 64-bit
Yinghai Lu [Sat, 23 Feb 2008 01:07:16 +0000 (17:07 -0800)]
x86: clean up e820_reserve_resources on 64-bit

e820_resource_resources could use insert_resource instead of request_resource
also move code_resource, data_resource, bss_resource, and crashk_res
out of e820_reserve_resources.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: introduce kernel/head32.c
Eric W. Biederman [Sat, 23 Feb 2008 08:58:20 +0000 (09:58 +0100)]
x86: introduce kernel/head32.c

Copy x86_64 and add a head32.c so we can start moving early
architecture initialization out of assembly.

[ Sam Ravnborg <sam@ravnborg.org>: updated it to x86 ]

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: make amd quad core 8 socket system not be clustered_box, #2
Yinghai Lu [Sun, 24 Feb 2008 05:48:42 +0000 (21:48 -0800)]
x86: make amd quad core 8 socket system not be clustered_box, #2

quad core 8 socket system will have apic id lifting.the apic id range could
be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters
and that is large than 2. So it is treated as clustered_box.

and will get

Marking TSC unstable due to TSCs unsynchronized

even the CPUs have X86_FEATURE_CONSTANT_TSC set.

this patch will check if the cpu is from AMD.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: de-macro start_thread()
Ingo Molnar [Thu, 21 Feb 2008 04:18:40 +0000 (05:18 +0100)]
x86: de-macro start_thread()

Signed-off-by: Ingo Molnar <mingo@elte.hu>