aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-10-17kbuild: fix typo SRCARCH in find_sourcesYinghai Lu
otherwise get the two copy file list in SRCARCH for cscope: C symbol: start_kernel File Function Line 0 proto.h <global> 11 extern void start_kernel(void ); 1 start_kernel.h <global> 10 extern asmlinkage void __init start_kernel(void ); 2 head32.c i386_start_kernel 37 start_kernel(); 3 head32.c i386_start_kernel 37 start_kernel(); 4 head64.c x86_64_start_kernel 85 start_kernel(); 5 head64.c x86_64_start_kernel 85 start_kernel(); 6 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 7 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 8 enlighten.c xen_start_kernel 1145 start_kernel(); 9 enlighten.c xen_start_kernel 1145 start_kernel(); a lguest.c lguest_init 1095 start_kernel(); b main.c start_kernel 513 asmlinkage void __init start_kernel(void ) after the patch: C symbol: start_kernel File Function Line 0 proto.h <global> 11 extern void start_kernel(void ); 1 start_kernel.h <global> 10 extern asmlinkage void __init start_kernel(void ); 2 head32.c i386_start_kernel 37 start_kernel(); 3 head64.c x86_64_start_kernel 85 start_kernel(); 4 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 5 enlighten.c xen_start_kernel 1145 start_kernel(); 6 lguest.c lguest_init 1095 start_kernel(); 7 main.c start_kernel 513 asmlinkage void __init start_kernel(void ) Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: fix kernel rebuild due to vsyscall falloutSam Ravnborg
Fix rebuild of kernel when there is no changes. This happened for i386. Using make V=2 hinted that the output files were not assigned to targets - fixed by this patch. Reported by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17.gitignore update for x86 archDenis V. Lunev
This patch: - makes .gitignore files visible to git - makes arch/x86/kernel/vsyscall_32.lds and arch/i386/boot invisible Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/debugreg_32/64.hThomas Gleixner
Almost identical except for the extra DR_LEN_8 and the different DR_CONTROL_RESERVED defines. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Conflicts: include/asm-x86/Kbuild
2007-10-17x86: unify include/asm/unwind_32/64.hThomas Gleixner
32bit has an extra UNW_FP define, which does not hurt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/types_32/64.hThomas Gleixner
Mostly the same. Make the few exceptions conditional. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Conflicts: include/asm-x86/types_32.h
2007-10-17x86: unify include/asm/tlb_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/siginfo_32/64.hThomas Gleixner
Same file, except for the 64bit PREAMBLE_SIZE define. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/bug_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the .long/.quad delta which can be solved by a define. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/mman_32/64.hThomas Gleixner
Same file, except for the extra 64bit MAP_32BIT define, which does not hurt for 32 bit compiles. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/agp_32/64.hThomas Gleixner
The 32bit D(n) debug addon can be made exclusive for 32 bit compiles. Otherwise all the same. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/kdebug_32/64.hThomas Gleixner
The 64 bit variant has additional function prototypes which do no harm for 32 bit. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/ioctls_32/64.hThomas Gleixner
Same file, except for whitespace and comment formatting. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/floppy_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and: 32-bit: if((unsigned int) addr >= (unsigned int) high_memory) 64-bit: if((unsigned long) addr >= (unsigned long) high_memory) where the latter can be used safely for both. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Conflicts: include/asm-x86/floppy_32.h include/asm-x86/floppy_64.h
2007-10-17x86: apply missing DMA/OOM prevention to floppy_32.hThomas Gleixner
commit 554d284ba90bc2306c31e5363789f05c320969c3 added _GPF_NORETRY to floppy_64.h to prevent OOM killer on floppy DMA allocations. Apply the same to the 32 bit variant. Found during the attempt to unify the _32/_64 variants. Seperate commit to document the resulting code change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/cache_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the two variants of fb_is_primary_device() Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/cache_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and: 32-bit: unsigned long *virt_addr = va; 64-bit: unsigned int *virt_addr = va; Both can be safely replaced by: u32 i, *virt_addr = va; Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/dmi_32/64.hThomas Gleixner
Unification, so we have these things in one file. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/delay_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the extra function prototype usc_tsc_delay() in _32. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/cache_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the extra defines in _64, which are conditional on VSMP anyway. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/cacheflush_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the extra DEBUG_PAGE_ALLOC function in _32. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/auxvec_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the AT_SYSINFO define for 32bit Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify include/asm/agp_32/64.hThomas Gleixner
Same file, except for whitespace, comment formatting and the usage of wbinvd() instead of asm volatile("wbinvd":::"memory"), which is the same. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: unify some more trivial include/asm-x86/ 32/64 variantsThomas Gleixner
Scripted unification. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: merge some trivially mergeable headersRoland Dreier
Merge errno.h, resource.h, rtc.h, sections.h, serial.h and sockios.h, where i386 and x86_64 have no or only trivial comment/include guard differences. Build tested on both 32-bit and 64-bit, and booted on 64-bit. [tglx: fixup Kbuild as well] Signed-off-by: Roland Dreier <roland@digitalvampire.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: trivial header mergesBrian Gerst
Merge 32/64-bit headers that simply redirect to asm-generic [tglx: fixup Kbuild as well] Signed-off-by: Brian Gerst <bgerst@didntduck.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: vdso linker script cleanupRoland McGrath
I can't see the reason ". = VDSO_PRELINK + 0x900;" was ever there in the linker script for the x86_64 vDSO. I can't find anything that depends on this magic offset, or that should care at all about the particular location of of the .data section (all from vvar.c) in the vDSO image. If it is really desireable to place .data at 0x900, then it should be after all the other sections so they fill in the space up to 0x900. This removes the 0x900 magic and cleans up the output sections generally in the vDSO linker script. This saves a few hundred bytes in the size of the vDSO file, bringing it back well under 4kb total so that its vma only needs one page. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: convert mm_context_t semaphore to a mutexLuiz Fernando N. Capitulino
convert mm_context_t semaphore to a mutex. Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: multi-byte single instruction NOPsJan Beulich
Add support for and use the multi-byte NOPs recently documented to be available on all PentiumPro and later processors. This patch only applies cleanly on top of the "x86: misc. constifications" patch sent earlier. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> arch/x86/kernel/alternative.c | 23 ++++++++++++++++++++++- include/asm-x86/processor_32.h | 22 ++++++++++++++++++++++ include/asm-x86/processor_64.h | 22 ++++++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-)
2007-10-17x86: remove duplicated vsyscall nsec updateAndi Kleen
Spotted by Chuck Ebbert [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17i386: remove unnecessary codeIngo Molnar
Oleg Nesterov pointed out that the set_fs() calls in setup_frame() and setup_rt_frame() were superfluous. [ tglx: arch/x86 adaptation ] Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Oleg Nesterov <oleg@tv-sign.ru> Cc: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: convert mm_context_t semaphore to a mutexLuiz Fernando N. Capitulino
[ tglx: arch/x86 adaptation ] Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: Use string instruction memcpy on AMD Fam11hAndi Kleen
[ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: make io_apic not connected pin print completeYinghai Lu
Normally we will have two segment not connected pin pin0, and pin after 15... So we need to print out "not connected\n" for previous segment, before printing out connected pins info... Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-10-17i386: print better early fault infoIngo Molnar
improve early fault output. old format: Int 14: CR2 010001e3 err 00000002 EIP c011f2f9 CS 00000060 flags 00010046 Stack: c073695e c0791c10 00000000 ffffffff 00000000 01000000 00001000 c0791c10 new format: BUG: Int 14: CR2 010001e3 EDI c1000000 ESI c0693c10 EBP c0637f9c ESP c0637f08 EBX 00000000 EDX 0000000e ECX 00000000 EAX 010001e3 err 00000002 EIP c0123119 CS 00000060 flg 00010046 Stack: c064d589 c0693000 00000000 c0637f60 00c001e3 01000000 00038000 00000163 00000000 00000163 00000000 ffffffff 00038000 00000000 00000000 00001000 00001000 00000000 c0637f88 c06509be c0a2ae60 00001000 00001000 00000000 Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: also show non-zero IRQ counts for vectors that currently don't have a ↵Jan Beulich
handler It doesn't seem to make sense to hide these, even if their counts can't change at the point in time they're being displayed. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: expand /proc/interrupts to include missing vectors, v2Joe Korty
Add missing IRQs and IRQ descriptions to /proc/interrupts. /proc/interrupts is most useful when it displays every IRQ vector in use by the system, not just those somebody thought would be interesting. This patch inserts the following vector displays to the i386 and x86_64 platforms, as appropriate: rescheduling interrupts TLB flush interrupts function call interrupts thermal event interrupts threshold interrupts spurious interrupts A threshold interrupt occurs when ECC memory correction is occuring at too high a frequency. Thresholds are used by the ECC hardware as occasional ECC failures are part of normal operation, but long sequences of ECC failures usually indicate a memory chip that is about to fail. Thermal event interrupts occur when a temperature threshold has been exceeded for some CPU chip. IIRC, a thermal interrupt is also generated when the temperature drops back to a normal level. A spurious interrupt is an interrupt that was raised then lowered by the device before it could be fully processed by the APIC. Hence the apic sees the interrupt but does not know what device it came from. For this case the APIC hardware will assume a vector of 0xff. Rescheduling, call, and TLB flush interrupts are sent from one CPU to another per the needs of the OS. Typically, their statistics would be used to discover if an interrupt flood of the given type has been occuring. AK: merged v2 and v4 which had some more tweaks AK: replace Local interrupts with Local timer interrupts AK: Fixed description of interrupt types. [ tglx: arch/x86 adaptation ] [ mingo: small cleanup ] Signed-off-by: Joe Korty <joe.korty@ccur.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Tim Hockin <thockin@hockin.org> Cc: Andi Kleen <ak@suse.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17i386: clean up oops/bug reportsPavel Emelyanov
Typically the oops first lines look like this: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c049dfbd *pde = 00000000 Oops: 0002 [#1] PREEMPT SMP ... Such output is gained with some ugly if (!nl) printk("\n"); code and besides being a waste of lines, this is also annoying to read. The following output looks better (and it is how it looks on x86_64): BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c049dfbd *pde = 00000000 Oops: 0002 [#1] PREEMPT SMP ... [ tglx: arch/x86 adaptation ] Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: print info about late C1E detection on 32bit as wellThomas Gleixner
Some BIOSes set the C1E flag only on the second core. Print a warning so the Firmware Toolkit can check for it. mingo: fix C1E build bug on 32-bit Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-10-17x86: call cache_add_dev() from cache_sysfs_init() explicitlySatyam Sharma
Call cache_add_dev() from cache_sysfs_init() explicitly, instead of referencing the CPU notifier callback directly from generic startup code. Looks cleaner (to me at least) this way, and also makes it possible to use other tricks to replace __cpuinit{data} annotations, as recently discussed on this list. Signed-off-by: Satyam Sharma <satyam@infradead.org> Cc: Andi Kleen <ak@suse.de> Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: fix dmi const-ify falloutThomas Gleixner
The dmi const-ification missed acer_cpu_freq_pst. Fix it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-10-17x86: unify include/asm/ldt_32/64.hThomas Gleixner
The additional struct member of user_desc can be made conditional for 64 bit compiles. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-10-17x86: unify include/asm/ptrace-abi_32/64.hThomas Gleixner
Aside of the register defines the content can be shared. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-10-17x86: unify include/asm/mce_32/64.hThomas Gleixner
Merge the files together. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-10-17x86: vdso put vars in rodataRoland McGrath
This adds a const to the definitions vvar.c makes, so that the vdso_* variables go into .rodata instead of .data. This is essentially a cosmetic change, just giving the section headers in the vDSO file more pleasing flags. These variables are read-only from the perspective of the vDSO itself and user mode, even though the contents of the DSO image were adjusted at boot. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: calgary get rid of translate_phbMuli Ben-Yehuda
Now that we check for translation enabled/disabled based on the presence of the IOMMU translation table, we can get rid of translate_phb. Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: asm-i386/io.h fix constnessAndrew Morton
- Fix this: include/asm/io.h: In function `memcpy_fromio': include/asm/io.h:208: warning: passing argument 2 of `__memcpy' discards qualifiers from pointer target type - Clean up code a bit Reported-by: Uwe Bugla <uwe.bugla@gmx.de> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: visws extern inline to static inlineAdrian Bunk
"extern inline" will have different semantics with gcc 4.3. Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Andrey Panin <pazke@donpac.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: fix cpu_to_node referencesMike Travis
In x86_64 and i386 architectures most arrays that are sized using NR_CPUS lay in local memory on node 0. Not only will most (99%?) of the systems not use all the slots in these arrays, particularly when NR_CPUS is increased to accommodate future very high cpu count systems, but a number of cache lines are passed unnecessarily on the system bus when these arrays are referenced by cpus on other nodes. Typically, the values in these arrays are referenced by the cpu accessing it's own values, though when passing IPI interrupts, the cpu does access the data relevant to the targeted cpu/node. Of course, if the referencing cpu is not on node 0, then the reference will still require cross node exchanges of cache lines. A common use of this is for an interrupt service routine to pass the interrupt to other cpus local to that node. Ideally, all the elements in these arrays should be moved to the per_cpu data area. In some cases (such as x86_cpu_to_apicid) the array is referenced before the per_cpu data areas are setup. In this case, a static array is declared in the __initdata area and initialized by the booting cpu (BSP). The values are then moved to the per_cpu area after it is initialized and the original static array is freed with the rest of the __initdata. This patch: Fix four instances where cpu_to_node is referenced by array instead of via the cpu_to_node macro. This is preparation to moving it to the per_cpu data area. Signed-off-by: Mike Travis <travis@sgi.com> Cc: Andi Kleen <ak@suse.de> Cc: Christoph Lameter <clameter@sgi.com> Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17x86: cleanup 64bit unistd.hThomas Gleixner
sys_iopl is long gone and there is no reason to declare sys_rt_sigaction here. Remove it all together and fix the whitespace mess as well. It's worth the trouble: 25897 -> 21337 bytes, the win is larger than the memory of my first computer :) Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>