commit f695baf2df9e0413d3521661070103711545207a Author: Linus Torvalds Date: Sun Jul 22 13:41:00 2007 -0700 Linux 2.6.23-rc1 Signed-off-by: Linus Torvalds commit 037e20a3c5c206efdf63f1b45c8b082fc57253d2 Author: Andi Kleen Date: Sun Jul 22 21:13:11 2007 +0200 x86_64: Rename CF Makefile variable in vdso This avoids a conflict with sparse builds. Reported by Alexey Dobriyan, fix suggested by Al Viro Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b053c204edbc82b068fe8cfc809b7f90b885fae0 Author: Eric W. Biederman Date: Sat Jul 21 12:53:19 2007 -0600 9p: Don't use binary sysctl numbers. The recent 9p commit: bd238fb431f31989898423c8b6496bc8c4204a86 that supposedly only moved files also introduced a new 9p sysctl interface that did not properly register it's sysctl binary numbers. And since it was only for debugging clearly did not need a binary fast path in any case. So this patch just remove the binary numbers. See Documentation/sysctl/ctl_unnumbered.txt for more details. While I was at it I cleaned up the sysctl initializers a little as well so there is less to read. Cc: Latchesar Ionkov Cc: Eric Van Hensbergen Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit f56d35e7aa78ac56a93ff43da90e8d90a37a1362 Author: Linus Nilsson Date: Sat Jul 21 17:49:06 2007 +0200 Documentation: Fix a mispelt "probably" in SubmittingPatches. Fix a typo in SubmittingPatches where "probably" was spelt "probabally". Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit e3202262eccf9b5669abea848303e79bd84dc1bb Author: Linus Nilsson Date: Sat Jul 21 17:25:34 2007 +0200 DocBook: Change a headline in kernel-locking to list all three main types of locking. Change a headline to reflect that there are three main types of kernel locking, not two. Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit e9ed7e722e3f4cea07cf3c4bfe98c18180a17793 Author: Al Viro Date: Sat Jul 21 23:29:12 2007 +0100 take declarations of enable_irq() et.al. to linux/interrupt.h Now that the last inlined instances are gone, all that is left to do is turning disable_irq_nosync on arm26 and m68k from defines to aliases and we are all set - we can make these externs in linux/interrupt.h uncoditional and kill remaining instances in asm/irq.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b91421749a1840148d8c81637c03c0ace3f35269 Author: James Bottomley Date: Sun Jul 22 13:15:55 2007 -0500 [SCSI] libsas: make ATA functions selectable by a config option Not everyone wants libsas automatically to pull in libata. This patch makes the behaviour configurable, so you can build libsas with or without ATA support. Signed-off-by: James Bottomley commit 0f760f13012322c81714812d852429fe23b16dcf Author: Andi Kleen Date: Sun Jul 22 13:21:42 2007 +0200 x86_64: Fix xen section warnings Fix WARNING: vmlinux.o(.data+0x99): Section mismatch: reference to .init.text:xen_start_kernel (between 'startup_xen' and 'boot_gdt_descr') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5f3f7cc6ad3b548ba5f61051426df28f79fc0ee8 Author: Andi Kleen Date: Sun Jul 22 13:21:41 2007 +0200 x86_64: Fix paravirt compilation Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 41089644c110756a6d09ace77c8d7624660d086a Author: Al Viro Date: Sun Jul 22 10:59:06 2007 +0100 fix broken handling of port=... in NFS option parsing Obviously broken on little-endian; fortunately, the option is not frequently used... Signed-off-by: Al Viro [ Hey, sparse is wonderful, but even better than sparse is having people like Al that actually _run_ it and fix bugs using it. - Linus ] Signed-off-by: Linus Torvalds commit 77668791d96436f48fca94255934b67dab924a0f Author: Avi Kivity Date: Sun Jul 22 12:40:30 2007 +0300 KVM: Require CONFIG_ANON_INODES Found by Sebastian Siewior and randconfig. Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 83e2b5ef056cba890750436bc9aa37b2c4f58314 Author: Andi Kleen Date: Sun Jul 22 11:12:47 2007 +0200 x86_64: Share msidef.h and hypertransport.h includes with i386 They are identical Indirectly pointed out by Thomas Gleixner Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b5d009ca6b36632b5f7c0ccdac30301e014ab616 Author: Andi Kleen Date: Sun Jul 22 11:12:46 2007 +0200 x86_64: Remove outdated comment in boot decompressor Makefile 64bit code in there now since some time. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 92417df076f75738ae22956f7ea1b9b98f59fa7a Author: Andi Kleen Date: Sun Jul 22 11:12:45 2007 +0200 x86_64: Squash initial_code modpost warnings Get rid of warnings like WARNING: vmlinux.o(.bootstrap.text+0x1a8): Section mismatch: reference to .init.text:x86_64_start_kernel (between 'initial_code' and 'init_rsp') - Move initialization code into .text.head like i386 because modpost knows about this already - Mark initial_code .initdata Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit dec2e6b7aa5d45bc3508e19907a7716b0c5307e5 Author: Sam Ravnborg Date: Sun Jul 22 11:12:44 2007 +0200 x86_64: fix section mismatch warning in init.c Fix following warning: WARNING: vmlinux.o(.text+0x188ea): Section mismatch: reference to .init.text:__alloc_bootmem_core (between 'alloc_bootmem_high_node' and 'get_gate_vma') alloc_bootmem_high_node() is only used from __init scope so declare it __init. And in addition declare the weak variant __init too. Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7aa6ec56b9e9e95eb6c83516ddbb6159fd11c224 Author: Sam Ravnborg Date: Sun Jul 22 11:12:42 2007 +0200 x86_64: fix section mismatch warning in hpet.c Fix following warnings: WARNING: vmlinux.o(.text+0x945e): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit') WARNING: vmlinux.o(.text+0x9474): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit') hpet_arch_init is only used from __init context so mark it __init. Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a284b0518d2fe27cdde19485c8fe077a128cd827 Author: Björn Steinbrink Date: Sun Jul 22 11:12:41 2007 +0200 i386: Fix the K7 NMI watchdog checkbit The performance counters on K7 are only 48 bits wide, so using bit 63 to check if the counter overflowed is wrong. Let's use bit 47 instead. Signed-off-by: Björn Steinbrink Cc: Don Zickus Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e05aff854c9f348629bb66c191eee87e4d002900 Author: Andi Kleen Date: Sun Jul 22 11:12:40 2007 +0200 i386: Use patchable lock prefix in set_64bit Previously lock was unconditionally used, but shouldn't be needed on UP systems. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 57c22f49e4c7d27a03e109a317c30b12f1bae0b2 Author: Andi Kleen Date: Sun Jul 22 11:12:39 2007 +0200 i386: Handle P6s without performance counters in nmi watchdog I got an oops while booting a 32bit kernel on KVM because it doesn't implement performance counters used by the NMI watchdog. Handle this case. Cc: Avi Kivity Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f25f64ed5bd3c2932493681bdfdb483ea707da0a Author: Juergen Beisert Date: Sun Jul 22 11:12:38 2007 +0200 x86: Replace NSC/Cyrix specific chipset access macros by inlined functions. Due to index register access ordering problems, when using macros a line like this fails (and does nothing): setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88); With inlined functions this line will work as expected. Note about a side effect: Seems on Geode GX1 based systems the "suspend on halt power saving feature" was never enabled due to this wrong macro expansion. With inlined functions it will be enabled, but this will stop the TSC when the CPU runs into a HLT instruction. Kernel output something like this: Clocksource tsc unstable (delta = -472746897 ns) This is the 3rd version of this patch. - Adding missed arch/i386/kernel/cpu/mtrr/state.c Thanks to Andres Salomon - Adding some big fat comments into the new header file Suggested by Andi Kleen AK: fixed x86-64 compilation Signed-off-by: Juergen Beisert Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bdda1561ffda764583a295229db66d94cf6038a3 Author: Mathieu Desnoyers Date: Sun Jul 22 11:12:37 2007 +0200 x86_64: x86_64 - Use non locked version for local_cmpxchg() local_cmpxchg() should not use any LOCK prefix. This change probably got lost in the move to cmpxchg.h. Signed-off-by: Mathieu Desnoyers Acked-by: Christoph Lameter Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 20fe1d30e7e1c2ee36f11856f090613b0ad58b48 Author: Keith Owens Date: Sun Jul 22 11:12:36 2007 +0200 i386: Do not include other cpus' interrupt 0 in nmi_watchdog kstat_irqs(0) includes the count of interrupt 0 from all cpus, not just the current cpu. The updated interrupt 0 on other cpus can stop the nmi_watchdog from tripping, so only include the current cpu's int 0. Signed-off-by: Keith Owens Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 398cf2abdb51fc96bc08f2a007b1aa25ba6adfba Author: Andi Kleen Date: Sun Jul 22 11:12:35 2007 +0200 i386: Tune AMD Fam10h/11h like K8 This mainly changes the nops for alternative, so not very revolutionary. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0bd8acd1a7fbb5492c1de8af271b6964a7fd5274 Author: Andi Kleen Date: Sun Jul 22 11:12:34 2007 +0200 x86_64: Set K8 CPUID flag for K8/Fam10h/Fam11h Previously this flag was only used on 32bit, but some shared code can use it now. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit fbab6e7a5cdcc53c2f56404ae0f7f5a3fd48f609 Author: Andi Kleen Date: Sun Jul 22 11:12:33 2007 +0200 i386: Fix cpu_llc_id section mismatch warning Fix WARNING: arch/i386/kernel/built-in.o(.text+0xdd0d): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary') WARNING: arch/i386/kernel/built-in.o(.text+0xdd1b): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8f4e956b313dcccbc7be6f10808952345e3b638c Author: Andi Kleen Date: Sun Jul 22 11:12:32 2007 +0200 x86: Stop MCEs and NMIs during code patching When a machine check or NMI occurs while multiple byte code is patched the CPU could theoretically see an inconsistent instruction and crash. Prevent this by temporarily disabling MCEs and returning early in the NMI handler. Based on discussion with Mathieu Desnoyers. Cc: Mathieu Desnoyers Cc: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177 Author: Andi Kleen Date: Sun Jul 22 11:12:31 2007 +0200 x86: Fix alternatives and kprobes to remap write-protected kernel text Reenable kprobes and alternative patching when the kernel text is write protected by DEBUG_RODATA Add a general utility function to change write protected text. The new function remaps the code using vmap to write it and takes care of CPU synchronization. It also does CLFLUSH to make icache recovery faster. There are some limitations on when the function can be used, see the comment. This is a newer version that also changes the paravirt_ops code. text_poke also supports multi byte patching now. Contains bug fixes from Zach Amsden and suggestions from Mathieu Desnoyers. Cc: Jan Beulich Cc: Jeremy Fitzhardinge Cc: Mathieu Desnoyers Cc: Zach Amsden Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f51c94528a9bc73504928926ca4d791a2b7ddd7c Author: Glauber de Oliveira Costa Date: Sun Jul 22 11:12:29 2007 +0200 x86_64: Use read and write crX in .c files This patch uses the read and write functions provided at system.h for control registers instead of writting raw assembly over and over again in .c files. Functions to manipulate cr2 and cr8 were provided, as they were lacking. Also, removed some extra space after closing brackets Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit abd4f7505bafdd6c5319fe3cb5caf9af6104e17a Author: Masoud Asgharifard Sharbiani Date: Sun Jul 22 11:12:28 2007 +0200 x86: i386-show-unhandled-signals-v3 This patch makes the i386 behave the same way that x86_64 does when a segfault happens. A line gets printed to the kernel log so that tools that need to check for failures can behave more uniformly between debug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 > /proc/sys/debug/exception-trace) Also, all of the lines being printed are now using printk_ratelimit() to deny the ability of DoS from a local user with a program like the following: main() { while (1) if (!fork()) *(int *)0 = 0; } This new revision also includes the fix that Andrew did which got rid of new sysctl that was added to the system in earlier versions of this. Also, 'show-unhandled-signals' sysctl has been renamed back to the old 'exception-trace' to avoid breakage of people's scripts. AK: Enabling by default for i386 will be likely controversal, but let's see what happens AK: Really folks, before complaining just fix your segfaults AK: I bet this will find a lot of silent issues Signed-off-by: Masoud Sharbiani Signed-off-by: Andi Kleen [ Personally, I've found the complaints useful on x86-64, so I'm all for this. That said, I wonder if we could do it more prettily.. -Linus ] Signed-off-by: Linus Torvalds commit 5fa63fccc579ac609fc7f86d29ccb3a2edf910d7 Author: Al Viro Date: Sun Jul 22 08:10:35 2007 +0100 Fix ppc64 mismerge Fix a mismerge in commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10: "spufs: make signal-notification files readonly for NOSCHED contexts", where structs got duplicated. Signed-off-by: Al Viro Acked-by: Jeremy Kerr Signed-off-by: Linus Torvalds commit 06cfa556949ead5d3c00dc68108c443be8dd8d17 Author: Ben Dooks Date: Sun Jul 22 16:23:02 2007 +0100 [ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410 Move register and other definitions out of the include/asm-arm/arch-s3c2410 into the the arch directories of include/asm-arm/plat-s3c24xx and include/asm-arm/plat-s3c. This move is in preperation of the merging of s3c2400 and s3c6400. The following git mv commands are needed before this patch can be applied: git mv include/asm-arm/arch-s3c2410/regs-ac97.h include/asm-arm/plat-s3c/regs-ac97.h git mv include/asm-arm/arch-s3c2410/regs-adc.h include/asm-arm/plat-s3c/regs-adc.h git mv include/asm-arm/arch-s3c2410/regs-iis.h include/asm-arm/plat-s3c24xx/regs-iis.h git mv include/asm-arm/arch-s3c2410/regs-spi.h include/asm-arm/plat-s3c24xx/regs-spi.h git mv include/asm-arm/arch-s3c2410/regs-udc.h include/asm-arm/plat-s3c24xx/regs-udc.h git mv include/asm-arm/arch-s3c2410/udc.h include/asm-arm/plat-s3c24xx/udc.h Signed-off-by: Ben Dooks Signed-off-by: Russell King commit dd1313a167a9d29c349b3244dffac274bb0bf486 Author: Ben Dooks Date: Sun Jul 22 16:22:06 2007 +0100 [ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers We've fixed up a number of faults with the uncompressors so remove the now unused FIFO_MAX as it is not needed. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0d685cad354b773fbb6a698e73097f8b5aa4a342 Author: Ben Dooks Date: Sun Jul 22 16:21:21 2007 +0100 [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h Split the S3C2400 out of S3C2410 memory.h files ready for S3C2400 support to be added. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 530ef3c2a92b3c6a9901ac7e04d1e6c0077a9f2d Author: Ben Dooks Date: Sun Jul 22 16:59:44 2007 +0100 [ARM] 4521/2: S3C: Reorganise VA mapping headers Reorganise the definition of the virtual addresses used into a common header and update the users to rename S3C2410 items into a more common S3C defined macros. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bf2a3a26d18679c94eca973cb8741e3c1ac53c43 Author: Ben Dooks Date: Sun Jul 22 16:20:04 2007 +0100 [ARM] 4520/1: S3C: Remove old VA values from static map Remove the static maps for the LCD and USB devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ae39ae0b0030d7f96a6b7b06d9c77c8ad2a07673 Author: Ben Dooks Date: Sun Jul 22 16:18:22 2007 +0100 [ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h Move the S3C2400 values to their own include directory series in include/asm-arm/arch-s3c2400 as the support for the S3C2400 is best placed in its own arch directory. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a45f82616eaa7e7fcd365ced78d3f0974b991800 Author: Ben Dooks Date: Sun Jul 22 16:16:51 2007 +0100 [ARM] 4518/1: S3C: Rename watchdog configuration options Rename the S3C24XX configuration options for the watchdog boot controls for moving to the arch/arm/plat-s3c moves. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1197b4cd5098fb862180f013a086a81507196a69 Author: Ben Dooks Date: Sun Jul 22 16:15:44 2007 +0100 [ARM] 4517/1: S3C: Fix debug macros for ARM926 output Check for ARM926 based S3C24XX based devices as these only have 64 byte FIFOs, and do not have the model detection refisters in the same place as the ARM920 based CPUs Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5c49218a15188cc036364c4cda325bae3cb138ae Author: Ben Dooks Date: Sun Jul 22 16:14:02 2007 +0100 [ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926 Ensure we check for ARM926 in the uncompressor, as all current ARM926s do not have an ID register and all have S3C2440 style UARTs. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a14a26aca610bbd09fb62fb9fd5dbf6b41321972 Author: Ben Dooks Date: Sun Jul 22 16:13:29 2007 +0100 [ARM] 4515/1: S3C: Move uncompress code to plat-s3c Move the uncompress.h to plat-s3c Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3ec20520ddfb654b1e60f51ff5e4769afde51b36 Author: Ben Dooks Date: Sun Jul 22 16:12:04 2007 +0100 [ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART Rename DEBUG_S3C2410_PORT to DEBUG_S3C_PORT as well as DEBUG_S3C2410_UART to DEBUG_S3C_UART as part of the updates to moving to plat-s3c for S3C base support. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c76578460f1a0c4b77c33b2e8e295ccdfa893cdc Author: Ben Dooks Date: Sun Jul 22 16:11:20 2007 +0100 [ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT to be CONFIG_S3C_LOWLEVEL_UART_PORT as we move to using plat-s3c for base of S3C operations. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cbc4dbffc89fbaada94ae7873ad6631a701fd00e Author: Ben Dooks Date: Sun Jul 22 16:10:23 2007 +0100 [ARM] 4512/1: S3C: rename the debug macros for per-cpu updates Update the debug macros for use with the new per-cpu configuration and usage. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b2627588cbeb70364357048854affd52bf02fe64 Author: Ben Dooks Date: Sun Jul 22 16:09:44 2007 +0100 [ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support Update the Kconfig to create configuration options based on which CPUs are supported for the low level serial code. This means that the debug macros can be optimised for the type(s) of CPU that are being used. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 498e03b619638826a7364faed61eb0a3d2a0f0c8 Author: Ben Dooks Date: Sun Jul 22 16:08:48 2007 +0100 [ARM] 4510/1: S3C: split debug-macro support into plat-s3c Move the common parts of the debug macros into include/asm-arm/plat-s3c ready to be used for the common S3C support. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d58153d86589b6bba2dd19f4c178252f8cf2ed4f Author: Ben Dooks Date: Sun Jul 22 16:07:09 2007 +0100 [ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c Create the initial arch/arm/plat-s3c directory and start linking it into the arch/arm build heirarchy ready to receive the generic parts of the S3C24XX support to be used when adding S3C6400 devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 531b617c71e780b14af5931428e0611f930c2134 Author: Ben Dooks Date: Sun Jul 22 16:05:25 2007 +0100 [ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c This patch moves items of the s3c24xx support into a new plat-s3c directory for items that use the s3c24xx support but are not directly s3c24xx compatible, such as the s3c2400 and s3c6400. git mv commands: git mv include/asm-arm/arch-s3c2410/iic.h include/asm-arm/plat-s3c/iic.h git mv include/asm-arm/arch-s3c2410/nand.h include/asm-arm/plat-s3c/nand.h git mv include/asm-arm/arch-s3c2410/regs-iic.h include/asm-arm/plat-s3c/regs-iic.h git mv include/asm-arm/arch-s3c2410/regs-nand.h include/asm-arm/plat-s3c/regs-nand.h git mv include/asm-arm/arch-s3c2410/regs-rtc.h include/asm-arm/plat-s3c/regs-rtc.h git mv include/asm-arm/arch-s3c2410/regs-serial.h include/asm-arm/plat-s3c/regs-serial.h git mv include/asm-arm/arch-s3c2410/regs-timer.h include/asm-arm/plat-s3c/regs-timer.h git mv include/asm-arm/arch-s3c2410/regs-watchdog.h include/asm-arm/plat-s3c/regs-watchdog.h Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 52c543f90c4095dff71dc125017594b61a753069 Author: Quinn Jensen Date: Mon Jul 9 22:06:53 2007 +0100 [ARM] 4461/1: MXC platform and i.MX31ADS core support This patch adds the foundation pieces for the Freescale MXC platforms, including i.MX2 and i.MX3 based systems. The bare-bones MX31 support in this patch boots to the rootdev panic with 8250 serial console configured "console=ttyS0,115200". It assumes that Redboot is the boot loader. Signed-off-by: Quinn Jensen Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 7bbb18c9f4783b6fb3bf27af71625b590cf4f00b Author: Bill Gatliff Date: Sat Jul 21 03:39:36 2007 +0100 [ARM] 4507/1: pxa2xx clock_event_device Reimplements arch/arm/mach-pxa/time.c using a clock_event_device based on OSMR0. Tested on PXA270, linux-2.6.22+arm:pxa patches. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 4259fa01a2d2aa3e589b34ba7624080232d9c1ff Author: Al Viro Date: Thu Jun 7 11:13:31 2007 -0400 [PATCH] get rid of AVC_PATH postponed treatment Selinux folks had been complaining about the lack of AVC_PATH records when audit is disabled. I must admit my stupidity - I assumed that avc_audit() really couldn't use audit_log_d_path() because of deadlocks (== could be called with dcache_lock or vfsmount_lock held). Shouldn't have made that assumption - it never gets called that way. It _is_ called under spinlocks, but not those. Since audit_log_d_path() uses ab->gfp_mask for allocations, kmalloc() in there is not a problem. IOW, the simple fix is sufficient: let's rip AUDIT_AVC_PATH out and simply generate pathname as part of main record. It's trivial to do. Signed-off-by: Al Viro Acked-by: James Morris commit 74f2345b6be1410f824cb7dd638d2c10a9709379 Author: Eric Paris Date: Mon Jun 4 17:00:14 2007 -0400 [PATCH] allow audit filtering on bit & operations Right now the audit filter can match on = != > < >= blah blah blah. This allow the filter to also look at bitwise AND operations, & Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c926e4f432af0f61ac2b9b637fb51a4871a3fc91 Author: Klaus Weidner Date: Wed May 16 17:45:42 2007 -0500 [PATCH] audit: fix broken class-based syscall audit The sanity check in audit_match_class() is wrong. We are able to audit 2048 syscalls but in audit_match_class() we were accidentally using sizeof(_u32) instead of number of bits in _u32 when deciding how many syscalls were valid. On ia64 in particular we were hitting syscall numbers over the (wrong) limit of 256. Fixing the audit_match_class check takes care of the problem. Signed-off-by: Klaus Weidner Signed-off-by: Al Viro commit 5b9a4262232d632c28990fcdf4f36d0e0ade5f18 Author: Steve Grubb Date: Tue May 29 10:38:18 2007 -0400 [PATCH] Make IPC mode consistent The mode fields for IPC records are not consistent. Some are hex, others are octal. This patch makes them all octal. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit 41e1703b9b88cf9b5e91cdd2f7dcded3ec3917cb Author: FUJITA Tomonori Date: Sun Jul 22 10:06:50 2007 +0900 [SCSI] bsg: unexport sg v3 helper functions blk_fill_sghdr_rq, blk_unmap_sghdr_rq, and blk_complete_sghdr_rq were exported for bsg, however bsg was changed to support only sg v4. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7bd02a20d5fcb69e1623c3bf2b68959fe7a77fa4 Author: Jesper Juhl Date: Sun Jul 22 01:02:30 2007 +1000 [POWERPC] Clean up duplicate includes in drivers/macintosh/ Signed-off-by: Jesper Juhl Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a2b7390af4f6a9aec079dfc15874528c3adaeccb Author: Stephen Rothwell Date: Sun Jul 22 00:37:38 2007 +1000 [POWERPC] Quiet section mismatch warning on pcibios_setup WARNING: vmlinux.o(.text+0x1cefcc): Section mismatch: reference to .init.text:.pcibios_setup (between '.pci_setup' and '.pci_init') pci_setup() is marked __devinit and calls pcibios_setup. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1ad528ebfd1a32e33a7ade23a7e4eeb250ef64a7 Author: Stephen Rothwell Date: Sun Jul 22 00:33:11 2007 +1000 [POWERPC] init and exit markings for hvc_iseries Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a6dfe1dc074cc2218b2e32f67ce3a1ed4f89b200 Author: Stephen Rothwell Date: Sun Jul 22 00:31:28 2007 +1000 [POWERPC] Quiet section mismatch in hvc_rtas.c WARNING: vmlinux.o(.text+0x2066f0): Section mismatch: reference to .init.text:.add_preferred_console (between '.hvc_rtas_console_init' and '.hvc_beat_put_chars') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 51d261122d0ffac8cf91cc6e74ffcfea23faeb1c Author: Stephen Rothwell Date: Sun Jul 22 00:27:01 2007 +1000 [POWERPC] Constify of_platform_driver match_table Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit b1c30115f4861c9dd2dcaaac2a01acc67dd4cf94 Author: Stephen Rothwell Date: Sun Jul 22 00:25:00 2007 +1000 [POWERPC] hvcs: Make some things static and const Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8bf8df7120006b8c97ad3a9fcc79e2ba894c46dd Author: Stephen Rothwell Date: Sun Jul 22 00:23:03 2007 +1000 [POWERPC] Constify of_platform_driver name Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 7fd7218610600b16f6f0af3f9d9353ba0265c09f Author: Benjamin Herrenschmidt Date: Sat Jul 21 09:55:21 2007 +1000 [POWERPC] MPIC protected sources Some HW platforms, such as the new cell blades, requires some MPIC sources to be left alone by the operating system. This implements support for a "protected-sources" property in the mpic controller node containing a list of source numbers to be protected against operating system interference. For those interested in the gory details, the MPIC on the southbridge of those blades has some of the processor outputs routed to the cell, and at least one routed as a GPIO to the service processor. It will be used in the GA product for routing some of the southbridge error interrupts to the service processor which implements some of the RAS stuff, such as checkstopping when fatal errors occurs before they can propagate. Signed-off-by: Benjamin Herrenschmidt Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 34f329db54e8154cf7faf0e7c45e7c16facfbbfe Author: Segher Boessenkool Date: Fri Jul 20 15:58:38 2007 +1000 [POWERPC] of_detach_node()'s device node argument cannot be const ...since it modifies it (when it sets the OF_DETACHED flag). Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit dd68c048d7a41b725ca3c2e23155598a5781dcbb Author: Josh Boyer Date: Fri Jul 20 13:11:10 2007 +1000 [POWERPC] Fix ARCH=ppc builds The recent signal rework broke ARCH=ppc builds with the following error: CC arch/powerpc/kernel/signal.o arch/powerpc/kernel/signal.c: In function ‘do_signal’: arch/powerpc/kernel/signal.c:142: error: implicit declaration of function ‘set_dabr’ make[1]: *** [arch/powerpc/kernel/signal.o] Error 1 This fixes it by including a function prototype in asm-ppc/system.h. Acked-by: Kumar Gala Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 461e666723b6669bc6f7ef90b49b615396d70eb8 Author: Christoph Hellwig Date: Fri Jul 20 07:50:49 2007 +1000 [POWERPC] mv64x60: Use mutex instead of semaphore Signed-off-by: Christoph Hellwig Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit adff093d6c545c882f1503607f6af14ddd90bb89 Author: Avi Kivity Date: Fri Jul 20 01:33:48 2007 +1000 [POWERPC] Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. i386 and x86_64 already received a similar treatment. Signed-off-by: Avi Kivity Signed-off-by: Paul Mackerras commit 08ae6cc15db201fa20cc4893d9500c1f6b20e560 Author: Paul Mackerras Date: Thu Jul 19 10:00:20 2007 +1000 [POWERPC] Allow exec faults on readable areas on classic 32-bit PowerPC Classic 32-bit PowerPC CPUs, and the early 64-bit PowerPC CPUs, don't provide a way to prevent execution from readable pages, that is, the MMU doesn't distinguish between data reads and instruction reads, although a different exception is taken for faults in data accesses and instruction accesses. Commit 9ba4ace39fdfe22268daca9f28c5df384ae462cf, in the course of fixing another bug, added a check that meant that a page fault due to an instruction access would fail if the vma did not have the VM_EXEC flag set. This gives an inconsistent enforcement on these CPUs of the no-execute status of the vma (since reading from the page is sufficient to allow subsequent execution from it), and causes old versions of ppc32 glibc (2.2 and earlier) to fail, since they rely on executing the word before the GOT but don't have it marked executable. This fixes the problem by allowing execution from readable (or writable) areas on CPUs which do not provide separate control over data and instruction reads. Signed-off-by: Paul Mackerras Acked-by: Jon Loeliger commit ca8ffc974d43033be6e1d4277a45822d2c3656f4 Author: Michael Neuling Date: Thu Jul 19 07:56:32 2007 +1000 [POWERPC] Fix future firmware feature fixups function failure Move firmware feature initialisation from pSeries_init_early to the earlier pSeries_probe_hypertas so they are initialised before firmware feature fixups are applied. Currently firmware feature sections are only used for iSeries which initialises the these features much earlier. This is a bug in waiting on pSeries. Also adds some whitespace fixups. Signed-off-by: Michael Neuling Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 4d404edce30f911004850d472e05a31efd751662 Author: Ishizaki Kou Date: Wed Jul 18 19:26:40 2007 +1000 [POWERPC] fix showing xmon help In some configuration, xmon help string is larger than xmon_printf buffer. We need not to use printf. This patch adds xmon_puts and change to use it to show help string. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 776568d4c93fe8def5ab4060344af554fe2b44be Author: Ishizaki Kou Date: Wed Jul 18 19:30:29 2007 +1000 [POWERPC] Make xmon_write accept a const buffer Because xmon_write doesn't change the buffer, we should add 'const' qualifier to the argument which points it. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit f8eb77d6fbdf13b94bcea48023d4e1dce4b3bffe Author: Robert P. J. Day Date: Wed Jul 18 08:21:29 2007 +1000 [POWERPC] Fix misspelled "CONFIG_CHECK_CACHE_COHERENCY" Kconfig option. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 1e57ba8dddcbb384b293f948cba190c5199cf945 Author: Geert Uytterhoeven Date: Tue Jul 17 02:35:38 2007 +1000 [POWERPC] cell: CONFIG_SPE_BASE is a typo The config symbol for SPE support is called CONFIG_SPU_BASE, not CONFIG_SPE_BASE. Signed-off-by: Geert Uytterhoeven Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ce8c47cf88af4da2ff429933c07f203a55d5d0a1 Author: Andrew Morton Date: Sun Jul 22 10:36:31 2007 +0100 leds: cr_bllcd.c: build fix Build fix for cr_bllcd.c Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit d4c5f047ae2a33296774e41abc2ac5c89283f736 Author: Zhang Rui Date: Thu Jun 14 17:43:07 2007 +0800 ACPI: Populate /sys/firmware/acpi/tables/ The file name is the signature, such as DSDT, and the contents are the binary table image. Some tables, such as the SSDT, can have multiple instances. If just one, the file is SSDT, but if 3 instances, for example, it will be SSDT1, SSDT2, SSDT3 All static tables (besides teh RSDP and RSDT themselves are exported. Dynamic tables, such as SSDT op-regions that are not declared in the RSDT, will be added in a subsequent patch. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 798d91039849486c7a4f1a458a5680cb55a65408 Author: Thomas Renninger Date: Thu May 31 17:20:39 2007 +0200 ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE Split ACPI_DEBUG into function trace enabled and not enabled. Function trace is most of the ACPI_DEBUG costs, but is not much of use for kernel ACPI debugging. Size of kernel image increased on test compile: + 48k (Full ACPI_DEBUG) + 35k (ACPI_DEBUG with function trace compiled out) Performance without function trace is also much better. Also remove ACPI_LV_DEBUG_OBJECT from default debug level as a lot vendors let Store (value, debug) in their code and this might confuse users when it pops up in syslog. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 8b8eb7d8cfc6cd95ed00cd58754e8493322505bd Author: Zhang Rui Date: Wed Jul 18 17:23:24 2007 +0800 ACPI: update ACPI proc I/F removal schedule ACPI sysfs conversion is not finished yet and some user space tools still depend on the ACPI proc I/F. We plan to finish all the sysfs conversion by January 2008 and remove the ACPI proc I/F in July 2008. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 7a9b9068b8c7b526894904c0b9b90354825b8fbd Author: Zhang Rui Date: Fri Jul 13 13:42:47 2007 +0800 ACPI: update feature-removal-schedule.txt, /sys/firmware/acpi/namespace is gone The /sys/firmware/acpi/namespace has already been removed in 2.6.21. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 9c977a453ed62396d067b75f3f272b3fb1ea3acc Author: Zhang Rui Date: Fri Jul 20 16:41:14 2007 +0800 ACPI: export ACPI events via acpi_mc_group multicast group This is an incremental patch for the recent genetlink multicast changes. Now ACPI events are exported via generic netlink multicast group. Thanks for Johannes' help on developing this patch Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 4ebf83c8cf89ab13bc23e46b0fcb6178ca23b43c Author: Dave Jones Date: Mon Jul 9 11:33:14 2007 -0700 ACPI: fix empty macros found by -Wextra ACPI has a ton of macros which make a bunch of empty if's when configured in non-debug mode. [lenb: The code it complaines about is functionally correct, so this patch is just to make -Wextra happier] #define DBG() if(...) DBG(); next_c_statement which turns into if(...) ; next_c_statement Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0dc070bb0242481a6100c95e5deaa07b267399a8 Author: Dan Aloni Date: Mon Jul 9 11:33:18 2007 -0700 ACPI: drivers/acpi/pci_link.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 22a17780584173635dae11bb83884952b00e5181 Author: Mattia Dongili Date: Mon Jul 16 02:34:39 2007 +0900 sony-laptop: Fix event reading in sony-laptop The rewritten event reading code from sonypi was absolutely wrong, this patche makes things functional for type2 and type1 models. Cc: Andrei Paskevich Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 89892d153d0d46018241afc7944910912bcd9688 Author: Mattia Dongili Date: Mon Jul 16 02:34:38 2007 +0900 sony-laptop: Add Vaio FE to the special init sequence The Vaio FE series uses the same sequence as Vaio C series Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit bc57f865fa2282ad2b7efe02da0a752e602e982e Author: Mattia Dongili Date: Fri Jul 20 02:01:57 2007 +0900 sony-laptop: Make the driver use MSC_SCAN and a setkeycode and getkeycode key table. The following is the only way I could think of to hide some events as per Dmitry suggestions while still using the default {set,get}keycode implementation. Make the driver use MSC_SCAN and a setkeycode and getkeycode key table. Cc: Dmitry Torokhov Signed-off-by: Richard Hughes Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit b25b732a16e4e035247fa729f931ed173f9fc8e2 Author: Mattia Dongili Date: Mon Jul 16 02:34:36 2007 +0900 sony-laptop: Invoke _INI for SNC devices that provide it Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 6315fd1c9cd6870a253699f07c5ada85cfe8fecb Author: Mattia Dongili Date: Mon Jul 16 02:34:35 2007 +0900 sony-laptop: Add support for recent Vaios Fn keys (C series for now) Recent Vaios (C, AR, N, FE) need some special initialization sequence to enable Fn keys interrupts through the Embedded Controller. Moreover Fn keys have to be decoded internally using ACPI methods to get the key code. Thus a new DMI table to add SNC init time callbacks and new mappings for model-specific key code to generic sony-laptop code have been added. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 8538c3686c895f9334a3c22997b51b5a82de7550 Author: Mattia Dongili Date: Mon Jul 16 02:34:34 2007 +0900 sony-laptop: map wireless switch events to KEY_WLAN Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 044847e02d46c0a9430e19249fd68777bb1d3c98 Author: Mattia Dongili Date: Mon Jul 16 02:34:33 2007 +0900 sony-laptop: add new SNC handlers - lid state: GLID - indicator lamp: GILS/SILS - multimedia bass gain: GMGB/CMGB Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f432255e936a892a6896e5032e2b4897423076f2 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:48 2007 -0300 ACPI: thinkpad-acpi: add locking to brightness subdriver The backlight class does all the locking needed for sysfs access, but offers no API to interface to that locking without an layer violation. Since we need to mutex-lock procfs access, implement in-driver locking for brightness. It will go away the day thinkpad-acpi procfs goes away, or the backlight class gives us a way to use its locks without a layer violation. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit c78d5c96bb65b71a54b7551b404fbaf4763ed6e4 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:47 2007 -0300 ACPI: thinkpad-acpi: bump up version to 0.15 Name it thinkpad-acpi version 0.15. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3d6f99ca00ccf861305fd8630a21f2e696886708 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:46 2007 -0300 ACPI: thinkpad-acpi: make EC-based thermal readings non-experimental Reading the 16 thermal sensors directly from the EC has been stable for about one year, in all supported ThinkPad models. Remove its "experimental" label. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a8fba3da3d11d808137be7ebeb3b6938a42f011f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:45 2007 -0300 ACPI: thinkpad-acpi: make sure DSDT TMPx readings don't return +128 We get +128 instead of -128 from the DSDT TMPx methods, due to errors when converting a EC byte return that is a s8 to an ACPI handler return that is an int. Fix it once and for all, by clamping acceptable temperature readings from DSDT TMPx so that anything outside the [-127,+127] range is converted to TP_EC_THERMAL_TMP_NA (-128). Signed-off-by: Henrique de Moraes Holschuh Cc: Michael Olbrich Signed-off-by: Len Brown commit edf0e0e56904f794c97ca6c4562d8256e3d8d8e3 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:44 2007 -0300 ACPI: thinkpad-acpi: react to Lenovo ThinkPad differences in hot key Lenovo ThinkPads have a slightly different key map layout from IBM ThinkPads (fn+f2 and fn+f3 are swapped). Knowing which one we are dealing with, we can properly set a few more hot keys up by default. Also, export the correct vendor in the input device, as that information might be useful to userspace. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 24d3b77467b6aaf59e38dce4aa86d05541858195 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:43 2007 -0300 ACPI: thinkpad-acpi: allow use of CMOS NVRAM for brightness control It appears that Lenovo decided to break the EC brightness control interface in a weird way in their latest BIOSes. Fortunately, the old CMOS NVRAM interface works just fine in such BIOSes. Add a module parameter that allows the user to select which strategy to use for brightness control: EC, NVRAM, or both. By default, do both (which is the way thinkpad-acpi used to work until now) on IBM ThinkPads, and use NVRAM only on Lenovo ThinkPads. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d5a2f2f1d68e2da538ac28540cddd9ccc733b001 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:42 2007 -0300 ACPI: thinkpad-acpi: store ThinkPad model information Keep note of ThinkPad model, BIOS and EC firmware information, and log it on startup. Makes for far more readable code in places, too. This patch also adds Lenovo's PCI ID to the pci ids table. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 86cc9445e86bef9da44f933e3849e6eb43cbf626 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:41 2007 -0300 ACPI: thinkpad_acpi: use bool for boolean parameters Some of the module parameters are boolean in nature. Make it so in fact. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 996fba08db7faf46b1a674957f60cd772ecd29ec Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:40 2007 -0300 ACPI: thinkpad-acpi: rename pci HID constant Rename an internal driver constant, on request by Len Brown. Also, document exactly what it is for. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 741553c2d29b4075d636a38792c05cd2fc62bd8a Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:39 2007 -0300 ACPI: thinkpad-acpi: checkpoint sysfs interface version due to input layer The change in the way hotkey events are handled by default, and the use of the input layer for the hotkey events are important enough features to warrant increasing the major field of the sysfs interface version. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5c29d58f471099401513e2e567f6c28001bb0f13 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:38 2007 -0300 ACPI: thinkpad-acpi: export EV_SW SW_RADIO events The expected user case for the radio slider switch on a ThinkPad includes interfacing to applications, so that the user gets an offer to find and associate with a wireless network when the switch is changed from disabled to enabled (ThinkVantage suite). Export the information about the switch state, and switch change events as an EV_SW SW_RADIO event over the input layer. Signed-off-by: Henrique de Moraes Holschuh Cc: Dmitry Torokhov Cc: Ivo van Doorn Cc: Richard Hughes Signed-off-by: Len Brown commit e295e8508c1dd56e06c73e78a2f67f2eb563e74f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:37 2007 -0300 ACPI: thinkpad-acpi: add power-management handler capability Some subdrivers could benefit from resume handling, so add the infrastructure for simple resume handling. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1a343760b516ca5466d201bec32b1794858b18a5 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:36 2007 -0300 ACPI: thinkpad-acpi: make the input event mode the default Make the input layer the default way to deal with thinkpad-acpi hot keys, but add a kernel config option to retain the old way of doing things. This means we map a lot more keys to useful stuff by default, and also that we enable hot key handling by default on driver load (like Windows does). The documentation for proper use of this resource is also updated. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Signed-off-by: Len Brown commit 6a38abbf2b68e37493f2d5e8702b895a6c23ba0f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:35 2007 -0300 ACPI: thinkpad-acpi: add input device support to hotkey subdriver Add input device support to the hotkey subdriver. Hot keys that have a valid keycode mapping are reported through the input layer if the input device is open. Otherwise, they will be reported as ACPI events, as they were before. Scan codes are reported (using EV_MSC MSC_SCAN events) along with EV_KEY KEY_UNKNOWN events. For backwards compatibility purposes, hot keys that used to be reported through ACPI events are not mapped to anything meaningful by default. Userspace is supposed to remap them if it wants to use the input device for hot key reporting. This patch is based on a patch by Richard Hughes . Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Dmitry Torokhov Signed-off-by: Len Brown commit 7f5d1cd6287b7b29d210f85e2343207ac4310da2 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:34 2007 -0300 ACPI: thinkpad-acpi: register input device Register an input device to send input events to userspace. This patch is based on a patch by Richard Hughes . Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Dmitry Torokhov Signed-off-by: Len Brown commit d54b7d7f8026300c612dd733d501fcbc22fd0370 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:33 2007 -0300 ACPI: thinkpad-acpi: update CMOS commands documentation The CMOS set of commands is often just used to keep the CMOS NVRAM in sync with whatever the ACPI BIOS has been doing in modern ThinkPads. In older ThinkPads, it actually carried out real actions. Document this. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 94b08713186cc47a5c367a866cc0a0a762721455 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:32 2007 -0300 ACPI: thinkpad-acpi: checkpoint sysfs interface version due to hotkey The change in the size of the hotkey mask, the hability to report the keys that use the higher bits, and the addition of the hotkey_radio_sw attribute are important enough features to warrant increasing the minor field of the sysfs interface version. Also, document a bit better how and when the thinkpad-acpi sysfs interface version will be updated. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 74941a69afcc06722685d492784414ec042ab492 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:31 2007 -0300 ACPI: thinkpad-acpi: export to sysfs the state of the radio slider switch Some ThinkPad models, notably the T60 and X60, have a slider switch to enable and disable the radios. The switch has the capability of force-disabling the radios in hardware on most models, and it is supposed to affect all radios (WLAN, WWAN, BlueTooth). Export the switch state as a sysfs attribute, on ThinkPads where it is available. Thanks to Henning Schild for asking for this feature, and for tracking down the EC register that holds the radio switch state. Signed-off-by: Henrique de Moraes Holschuh Cc: Henning Schild Signed-off-by: Len Brown commit 9b010de59cb6dcab7e167dd2a0fa5d3b31447fea Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:30 2007 -0300 ACPI: thinkpad-acpi: export hotkey maximum masks The firmware knows how many hot keys it supports, so export this information in a sysfs attribute. And the driver knows which keys are always handled by the firmware in all known ThinkPad models too, so export this information as well in a sysfs attribute. Unless you know which events need to be handled in a passive way, do *not* enable hotkeys that are always handled by the firmware. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ae92bd17ff703b3703562148c73b4d6833e6a326 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:29 2007 -0300 ACPI: thinkpad-acpi: enable more hotkeys Revise ACPI HKEY functionality to better interface with the firmware, and enable up to 32 regular hotkeys, instead of just 16 of them. Ouch. This takes care of most keys one used to have to do CMOS NVRAM polling on, and should drop the need for tpb, thinkpad-keys, and other such 5Hz NVRAM polling power vampires on most modern ThinkPads ;-) And, just to add insult to injury, this was sort of working since forever through the procfs interface, but nobody noticed or tried an echo 0xffffffff > /proc/acpi/ibm/hotkey and told me it would generate weird events. ARGH! Thanks to Richard Hughes for kicking off the work that ended up with this discovery, and to Matthew Garret for calling my attention to the fact that newer ThinkPads were indeed generating ACPI GPEs when such hot keys were pressed. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Matthew Garrett Signed-off-by: Len Brown commit b8b26402cb711de5d3bbd4515b91b6d863fea259 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:28 2007 -0300 ACPI: thinkpad-acpi: update information on T43 thermal sensor 0xc1 Update the documentation with some extra data on the T43 thermal sensor @0xc1, thanks to Alexey Fisher. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 94954cc60194796fb257802f6f65d79553c9a8ca Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:27 2007 -0300 ACPI: thinkpad-acpi: remove all uneeded initializers Remove all initializers to NULL or zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b964b437601a0e7d09896d5d9a85c83643e94f41 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:26 2007 -0300 ACPI: thinkpad-acpi: add DMI-based modalias Add DMI-based aliases to allow module autoloading on select thinkpads. The aliases will do nothing unless the dmi-based-module-autoloading.patch patch from Lennart Poettering is applied. Lennart's patch has been accepted by greghk and will be merged eventually. Signed-off-by: Henrique de Moraes Holschuh Cc: Lennart Poettering Signed-off-by: Len Brown commit e51f802babc5e368c60fbfd08c6c11269c9253b0 Author: David Howells Date: Sat Jul 21 19:30:16 2007 -0700 [NET]: Add missing entries to family name tables Add missing entries to af_family_clock_key_strings[]. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 3167d93fc0cb81541dea551dc14411ed211eb9e0 Author: Christoph Hellwig Date: Sat Jul 21 19:22:42 2007 -0700 [SPARC64]: ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined! From: Christoph Hellwig On Fri, Jul 20, 2007 at 09:24:42AM -0400, Horst H. von Brand wrote: > When building v2.6.22-3478-g275afca on sparc64 (.config attached) I get: > > MODPOST vmlinux > Building modules, stage 2. > MODPOST 463 modules > ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined! Sorry, my fault. It looked to me like sparc64 exports sys_ioctl on it's own, but it only exports compat_sys_ioctl on it's own. Signed-off-by: David S. Miller commit 378e515c867bc7b6cb33a5aa52776d3e897e7b81 Author: Al Viro Date: Sat Jul 21 19:20:34 2007 -0700 [SPARC32]: Make PAGE_SHARED a read-mostly variable. same scheme as for sparc64, same rationale Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0f516813ce5aa78b30084cd0cc2e7e2ba1777168 Author: Al Viro Date: Sat Jul 21 19:19:38 2007 -0700 [SPARC32]: Take enable_irq/disable_irq out of line. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 32231a66b4e1b649c346dc76b7d191f7e64a663a Author: Al Viro Date: Sat Jul 21 19:18:57 2007 -0700 [SPARC32]: clean include/asm-sparc/irq.h Move stuff used only by arch/sparc/kernel/* into arch/sparc/kernel/irq.h and into individual files in there (e.g. macros internal to sun4m_irq.c, etc.) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 196bffa5dc3181897bd32e41415ec0db8dbab5e7 Author: Mark Fortescue Date: Sat Jul 21 19:17:41 2007 -0700 [SPARC32]: Fix rounding errors in ndelay/udelay implementation. __ndelay and __udelay have not been delayung >= specified time. The problem with __ndelay has been tacked down to the rounding of the multiplier constant. By changing this, delays > app 18us are correctly calculated. The problem with __udelay has also been tracked down to rounding issues. Changing the multiplier constant (to match that used in sparc64) corrects for large delays and adding in a rounding constant corrects for trunctaion errors in the claculations. Many short delays will return without looping. This is not an error as there is the fixed delay of doing all the maths to calculate the loop count. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit e0009820edfa50267eb7a3e3c43f5530325a987b Author: Jan Engelhardt Date: Sat Jul 21 19:11:35 2007 -0700 [NET]: Make NETDEVICES depend on NET. Enabling drivers from "Devices > Networking" (in menuconfig), for example SLIP and/or PLIP, throws link time errors when CONFIG_NET itself is =n. Have CONFIG_NETDEVICES depend on CONFIG_NET. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit b77f2fa6299af4bbb7aa50c5064a0f087ea089d9 Author: Al Viro Date: Sat Jul 21 19:09:41 2007 -0700 [IPV6]: endianness bug in ip6_tunnel Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 43a415138d8133587c0901d29941b821b86e9e7d Author: Stephen Rothwell Date: Sat Jul 21 19:08:13 2007 -0700 [IrDA]: TOSHIBA_FIR depends on virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit e97e2ddf07d6b6c2d621ddaec277e19f86c0cdb1 Author: Samuel Ortiz Date: Sat Jul 21 19:07:33 2007 -0700 [IrDA]: EP7211 IR driver port to the latest SIR API The EP7211 SIR driver was the only one left without a new SIR API port. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 22e1fb25e78fd47b1ef3af3b48a2b07efdd3f95f Author: Samuel Ortiz Date: Sat Jul 21 19:06:53 2007 -0700 [IrDA] Typo fix in irnetlink.c copyright Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 08f1c192c3c32797068bfe97738babb3295bbf42 Author: Muli Ben-Yehuda Date: Sun Jul 22 00:23:39 2007 +0300 x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata This patch introduces struct pci_sysdata to x86 and x86-64, and converts the existing two users (NUMA, Calgary) to use it. This lays the groundwork for having other users of sysdata, such as the PCI domains work. The Calgary bits are tested, the NUMA bits just look ok. Signed-off-by: Jeff Garzik Signed-off-by: Muli Ben-Yehuda Signed-off-by: Linus Torvalds commit 7557244ba27f63404236cb27277b98c27d856692 Author: Joachim Deguara Date: Sat Jul 21 17:11:44 2007 +0200 x86_64: make k8topology multi-core aware This makes k8topology multicore aware instead of limited to signle- and dual-core CPUs. It uses the CPUID to be more future proof. Signed-off-by: Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 81e02d19b901da0900332654fa7846d119b53221 Author: Jan Beulich Date: Sat Jul 21 17:11:42 2007 +0200 x86_64: remove __smp_alt* sections Leftovers from the removal of the more general (but abandoned) SMP alternatives. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 09fce8a195638ad038b8a58d9d8d3558c21a23ea Author: Robert P. J. Day Date: Sat Jul 21 17:11:41 2007 +0200 i386: Update alignment when 4K stacks are used. Signed-off-by: Robert P. J. Day Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit edc2cbf49682079d5344bf7f2545ed6b036fa355 Author: Stefan Richter Date: Sat Jul 21 17:11:40 2007 +0200 i386: remove old IRQ balancing debug cruft Dead or misnamed CONFIG_BALANCED_IRQ_DEBUG found by Robert P. J. Day. It's not a Kconfig variable. Since this debug code is ancient, I suggest to get rid of this misleading CONFIG_ macro by deleting all of this debug code. Signed-off-by: Stefan Richter Cc: Ingo Molnar Cc: "Robert P. J. Day" Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a1dfd851b97bfefeb50e6ccf8cd2c52f9acd8fea Author: Aaron Durbin Date: Sat Jul 21 17:11:39 2007 +0200 i386: insert HPET firmware resource after PCI enumeration has completed Insert HPET resources after pci probing has been completed in order to avoid resource conflicts with PCI resource reservation. With this change the HPET firmware resources will be identified, but it should also not cause issues when the HPET address falls on a BAR in a PCI device, and the PCI enumeration cannot reserve the resources. Signed-off-by: Aaron Durbin Cc: john stultz Cc: Thomas Gleixner Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f62e518484e9b16a0eca013e8a6764bc4f56d5fe Author: Andres Salomon Date: Sat Jul 21 17:11:38 2007 +0200 i386: basic infrastructure support for AMD geode-class machines This builds upon the existing geode infrastructure, but adds southbridge support, some GPIO functions, and a header file (asm-i386/geode.h) with some useful GX/LX detection tests. The majority of this code was written by Jordan Crouse. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Alan Cox Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5a3ece79b2aa9e71ed67689c97b3bda6135f7248 Author: Dan Aloni Date: Sat Jul 21 17:11:37 2007 +0200 x86_64: arch/x86_64/kernel/e820.c lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 753811dc82a6a39554c34c13c996c3de9f4aa634 Author: Dan Aloni Date: Sat Jul 21 17:11:36 2007 +0200 x86_64: arch/x86_64/kernel/aperture.c lower printk severity Users that use kernel log filtering (e.g. via syslogd or a proprietry method) wouldn't like to see warning prints that are not really warnings. Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9585116ba09f1d8c52d0a1346e20bb9d443e9c02 Author: Jeremy Fitzhardinge Date: Sat Jul 21 17:11:35 2007 +0200 i386: fix iounmap's use of vm_struct's size field get_vm_area always returns an area with an adjacent guard page. That guard page is included in vm_struct.size. iounmap uses vm_struct.size to determine how much address space needs to have change_page_attr applied to it, which will BUG if applied to the guard page. This patch adds a helper function - get_vm_area_size() in linux/vmalloc.h - to return the actual size of a vm area, and uses it to make iounmap do the right thing. There are probably other places which should be using get_vm_area_size(). Thanks to Dave Young for debugging the problem. [ Andi, it wasn't clear to me whether x86_64 needs the same fix. ] Signed-off-by: Jeremy Fitzhardinge Cc: Dave Young Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2900975ef3f1df33c83e750cc1e490de3374ca8 Author: Thomas Gleixner Date: Sat Jul 21 17:11:34 2007 +0200 i386: move PIT function declarations and constants to correct header file setup_pit_timer is declared in asm-i386/timer.h. Move it to the pit header file, so it can be used by x86_64 as well. Move also the PIT constants. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 43d6ca01844789b4c695175f8c205861a06a84cb Author: Chris Wright Date: Sat Jul 21 17:11:33 2007 +0200 i386: hpet assumes boot cpu is 0 I fixed this in x86_64. Looks like the kind of thing that will break voyager on i386. Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f5352fd0ce41b079a01e23c01ea3578c29f097e7 Author: Thomas Gleixner Date: Sat Jul 21 17:11:32 2007 +0200 i386: remove volatile in apic.c Remove the volatile in apic. We have a cpu_relax() in the wait loop. Fix a coding style issue while at it. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f2cf8e085c0d3fd5c755d7c0de7334a50ebb728e Author: Yinghai Lu Date: Sat Jul 21 17:11:31 2007 +0200 x86_64: move iommu declaration from proto to iommu.h [akpm@linux-foundation.org: build fix] Signed-off-by: Yinghai Lu Cc: Alan Cox Cc: "Eric W. Biederman" Cc: Muli Ben-Yehuda Cc: Vivek Goyal Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1c05f093c0721894bb60fd26d174815bb7ef2b7f Author: David Rientjes Date: Sat Jul 21 17:11:30 2007 +0200 x86_64: disable srat when numa emulation succeeds When NUMA emulation succeeds, acpi_numa needs to be set to -1 so that srat_disabled() will always return true. We won't be calling acpi_scan_nodes() or registering the true nodes we've found. [hugh@veritas.com: Fix x86_64 CONFIG_NUMA_EMU build: acpi_numa needs CONFIG_ACPI_NUMA] Signed-off-by: David Rientjes Cc: Len Brown Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a7e96629efcab1ccea3a376f3f5683c8d9e882c1 Author: David Rientjes Date: Sat Jul 21 17:11:29 2007 +0200 x86_64: fix e820_hole_size based on address ranges e820_hole_size() now uses the newly extracted helper function, e820_find_active_region(), to determine the size of usable RAM in a range of PFN's. This was previously broken because of two reasons: - The start and end PFN's of each e820 entry were not properly rounded prior to excluding those entries in the range, and - Entries smaller than a page were not properly excluded from being accumulated. This resulted in emulated nodes being incorrectly mapped to ranges that were completely reserved and not candidates for being registered as active ranges. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bc2cea6a34fdb30f118ec75db39a46a191870607 Author: Yinghai Lu Date: Sat Jul 21 17:11:28 2007 +0200 x86_64: disable the GART in shutdown For K8 system: 4G RAM with memory hole remapping enabled, or more than 4G RAM installed. when using kexec to load second kernel. In the second kernel, when mem is allocated for GART, it will do the memset for clear, it will cause restart, because some device still used that for dma. solution will be: in second kernel: disable that at first before we try to allocate mem for it. or in the first kernel: do disable that before shutdown. Andi/Eric/Alan prefer to second one for clean shutdown in first kernel. Andi also point out need to consider to AGP enable but mem less 4G case too. Signed-off-by: Yinghai Lu Cc: Alan Cox Cc: "Eric W. Biederman" Cc: Muli Ben-Yehuda Cc: Vivek Goyal Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 48dd9343d0bb54362a2ba65380fea7c8f07f9e74 Author: Robert P. J. Day Date: Sat Jul 21 17:11:26 2007 +0200 i386: replace hard-coded constant with appropriate macro from kernel.h Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 267eb01a62b1190d0bf87b1ef3b0c9d21cdb2c57 Author: Andreas Mohr Date: Sat Jul 21 17:11:25 2007 +0200 i386: add cpu_relax() to cmos_lock() Add cpu_relax() to cmos_lock() inline function for faster operation on SMT CPUs and less power consumption on others in case of lock contention (which probably doesn't happen too often, so admittedly this patch is not too exciting). [akpm@linux-foundation.org: Include the header file for cpu_relax()] Signed-off-by: Andreas Mohr Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8f03d6ce4ee20e7521b69188f6b5a9bb9ba7457f Author: Andrew Morton Date: Sat Jul 21 17:11:24 2007 +0200 x86_64: flush_tlb_kernel_range() warning fix mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' make it a C function so that the compiler thinks it used its arguments. Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1048fa52810a5bad542cd4929a702af5e241fa81 Author: Yinghai Lu Date: Sat Jul 21 17:11:23 2007 +0200 x86_64: change _map_single to static in pci_gart.c etc This function is called via dma_ops->.., so change it to static Signed-off-by: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e199ece4472cdcc73f329813d67dc4280424cd2d Author: Yinghai Lu Date: Sat Jul 21 17:11:22 2007 +0200 x86_64: Geode HW Random Number Generator depends on X86_32 Signed-off-by: Yinghai Lu Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bdb345a4e3cf51dbe52955734c33003bbf0486e7 Author: Jiri Kosina Date: Sat Jul 21 17:11:21 2007 +0200 x86_64: fix wrong comment regarding set_fixmap() The function name is set_fixmap(), not fixmap_set() as stated in the comment. Also fix a typo, punctuation and lower/uppercase a bit. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2d4fa2f665e0585cae62c3a1ea85d82ee523c8ef Author: Dan Aloni Date: Sat Jul 21 17:11:20 2007 +0200 x86_64: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7b0b8207e07f3f3ce01af37b78024c60e9f4b1f5 Author: Alessio Igor Bogani Date: Sat Jul 21 17:11:19 2007 +0200 x86_64: fix typo in acpi_pm.c Signed-off-by: Alessio Igor Bogani Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 28318daf791b692f2654cb9c89687388063bd42b Author: Thomas Gleixner Date: Sat Jul 21 17:11:18 2007 +0200 x86_64: use the global PIT lock Replace the pcspkr private PIT lock by the global PIT lock to serialize the PIT access all over the place. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 021daae2c265a844fd27bb6cc49c2bd114571069 Author: Will Schmidt Date: Sat Jul 21 17:11:17 2007 +0200 x86_64: During VM oom condition, kill all threads in process group During a VM oom condition, kill all threads in the process group. We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. Signed-off-by: Will Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 99253b8e734a7a773c0e4bedd7d8d1847c98c538 Author: Glauber de Oliveira Costa Date: Sat Jul 21 17:11:16 2007 +0200 x86_64: Move functions declarations to header file Some interrupt entry points are currently defined in i8259.c They probably belong in a header. Right now, their only user is init_IRQ, justifying their declaration in-file. But when virtualization comes in, we may be interested in using that functions in late initializations. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d24e399763f9e91cc03e4e351d75f6231d5ed4f2 Author: Andy Whitcroft Date: Sat Jul 21 17:11:15 2007 +0200 i386: move the kernel to 16MB for NUMA-Q We are seeing corruption of the decompressed kernel. It is suspected that this is platform specific as it has yet to be seen on any other x86. Move the kernel to the 16MB boundary. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 028a690a1ebc8b825b6f42214a99a5abcf9aa4c6 Author: Jesper Juhl Date: Sat Jul 21 17:11:14 2007 +0200 i386: Remove unneeded test of 'task' in dump_trace() Remove unneeded test of task != NULL from arch/i386/kernel/traps.c::dump_trace() At the start of the function we have this test: if (!task) task = current; so further down there's no need to test 'task'. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c673f1a9d994de501b674b2bb6a48bd5e912afe0 Author: William Lee Irwin III Date: Sat Jul 21 17:11:13 2007 +0200 i386: divorce CONFIG_X86_PAE from CONFIG_HIGHMEM64G PAE is useful for more than supporting more than 4GB RAM. It supports expanded swapspace and NX executable protections. Some users may want NX or expanded swapspace support without the overhead or instability of highmem. For these reasons, the following patch divorces CONFIG_X86_PAE from CONFIG_HIGHMEM64G. Cc: Mark Lord Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 075bcd1f9726b8a1caff86eda06f29f71fb21235 Author: Thomas Gleixner Date: Sat Jul 21 17:11:12 2007 +0200 i386: HPET, check if the counter works Some systems have a HPET which is not incrementing, which leads to a complete hang. Detect it during HPET setup. Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit df2edcf3b6ba54d9ffa620e322583cd994a6e54a Author: James Jarvis Date: Sat Jul 21 17:11:11 2007 +0200 i386: DMI_MATCH patch in reboot.c for SFF Dell OptiPlex 745 - fixes hang on reboot The following patch enables reboot through BIOS on the Dell Optiplex 745 Small Form Factor base, on which reboot hangs. The larger form factor does not require this, hence the match on DMI_BOARD_NAME. Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1c10070a55a38ad8489df8afd52c9a3ffd46bbb5 Author: Rafael J. Wysocki Date: Sat Jul 21 17:11:09 2007 +0200 i386: do not restore reserved memory after hibernation On some systems the ACPI NVS area is located in the first 1 MB of RAM and it is overwritten by the i386 code during the restore after hibernation. This confuses the ACPI platform firmware that doesn't update the AC adapter status appropriately as a result (http://bugzilla.kernel.org/show_bug.cgi?id=7995). The solution is to register the reserved memory in the first 1 MB as 'nosave', so that swsusp doesn't touch it during the restore. Also, this has been done on x86_64 for a long time now, so this patch makes the i386 restore code behave like the x86_64 one. [akpm@linux-foundation.org: build fix] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 114ab8e99c52828b37c994f580e39ce341c17d3b Author: Sam Ravnborg Date: Sat Jul 21 17:11:08 2007 +0200 i386: fix section mismatch warning in intel_cacheinfo Fix following warning: WARNING: arch/i386/kernel/built-in.o(.init.text+0x3818): Section mismatch: reference to .exit.text:cache_remove_dev (between 'cacheinfo_cpu_callback' and 'cache_sysfs_init') It points out that a function marked __cpuexit is calling a function marked __cpuinit => oops. The call happens only in an error-condition which may explain why we have not seen it before. The offending function was not used anywhere else - so marked it __cpuexit. Note: This warning triggers only with a local copy of modpost but that version will soon be pushed out. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2378569dd18b3b99e3535ad06b47db7c11dde7d1 Author: Adrian Bunk Date: Sat Jul 21 17:11:07 2007 +0200 i386: pgd_{c,d}tor() static pgd_{c,d}tor() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3cc39bda26c90782f98305c34a7f769819784a61 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:06 2007 +0200 x86_64: Calgary - fold in redundant functions After the bitmap changes we can get rid of the unlocked versions of calgary_unmap_sg and iommu_free. Fold __calgary_unmap_sg and __iommu_free into their calgary_unmap_sg and iommu_free, respectively. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0b11e1c6a604014283af70e27e0f32971407fd6d Author: Yinghai Lu Date: Sat Jul 21 17:11:05 2007 +0200 x86_64: Calgary - change _map_single, etc to static there function are called via dma_ops->.., so change them to static Signed-off-by: Yinghai Lu Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 820a149705c2c2a37989554a4f4a34e3d0b0df1f Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:04 2007 +0200 x86_64: Calgary - tighten up the bitmap locking Currently the IOMMU table's lock protects both the bitmap and access to the hardware's TCE table. Access to the TCE table is synchronized through the bitmap; therefore, only hold the lock while modifying the bitmap. This gives a yummy 10-15% reduction in CPU utilization for netperf on a large SMP machine. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7354b07595b2e43b75fe353fcf18e73eb0427c9b Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:03 2007 +0200 x86_64: Calgary - fix few style problems pointed out by checkpatch.pl No actual code was harmed in the production of this patch. Thanks to Andrew Morton for telling me about checkpatch.pl. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 12de257b83e2fa9343eb7cee70a6edc85b51fbc5 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:02 2007 +0200 x86_64: tidy up debug printks Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e8f204147149e48d72e9c1e321ee72452169e34a Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:01 2007 +0200 x86_64: only reserve the first 1MB of IO space for CalIOC2 Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8bcf77055cc88228263f936b2ecf69c017906cb2 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:00 2007 +0200 x86_64: tabify and trim trailing whitespace Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 05b48ea61c900115add991427f52ee5eacf361a8 Author: Guillaume Thouvenin Date: Sat Jul 21 17:10:59 2007 +0200 x86_64: cleanup of unneeded macros Cleanup unneeded macros used for register space address calculation. Now we are using the EBDA to find the space address. Signed-off-by: Guillaume Thouvenin Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 07877cf6fd559cbdced7ad4c15ab225a552ab692 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:58 2007 +0200 x86_64: reserve TCEs with the same address as MEM regions This works around a bug where DMAs that have the same addresses as some MEM regions do not go through. Not clear yet if this is due to a mis-configuration or something deeper. [akpm@linux-foundation.org: coding style fixlet] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ddbd41b4e76f2b586366df0e85df80729ef90bc5 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:57 2007 +0200 x86_64: grab PLSSR too when a DMA error occurs Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8cb32dc748571fb474018172e6b59e5a06123192 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:55 2007 +0200 x86_64: make dump_error_regs a chip op Provide seperate versions for Calgary and CalIOC2 Also print out the PCIe Root Complex Status on CalIOC2 errors Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 00be3fa42f164f7e2783a5acf9766fb07fb64e68 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:54 2007 +0200 x86_64: implement CalIOC2 TCE cache flush sequence Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c38601084b386991f1614f03e0323c51236e19e1 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:53 2007 +0200 x86_64: add chip_ops and a quirk function for CalIOC2 [akpm@linux-foundation.org>: make calioc2_chip_ops static] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8a244590ca699ebbf8c5682d11c47732b7cc9db9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:52 2007 +0200 x86_64: introduce CalIOC2 support CalIOC2 is a PCI-e implementation of the Calgary logic. Most of the programming details are the same, but some differ, e.g., TCE cache flush. This patch introduces CalIOC2 support - detection and various support routines. It's not expected to work yet (but will with follow-on patches). Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 35b6dfa08736e8a362b9d41ff52ffa1eb36505a9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:51 2007 +0200 x86_64: abstract how we find the iommu_table for a device ... in preparation for doing it differently for CalIOC2. Signed-off-by: Muli Ben-Yehuda Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ff297b8c081bdc60507eaeb1838996e0c67141c8 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:50 2007 +0200 x86_64: introduce chipset specific ops Calgary and CalIOC2 share most of the same logic. Introduce struct cal_chipset_ops for quirks and tce flush logic which are [akpm@linux-foundation.org: make calgary_chip_ops static] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b8d2ea1b87b02fc94ffcab58b29c83fbbb6a1e4e Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:49 2007 +0200 x86_64: introduce handle_quirks() for various chipset quirks Move the aic94xx split completion timeout handling there. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9882234bf2e54ebf4866245d46e2c704a1214ad9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:48 2007 +0200 x86_64: update copyright notice Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2b663f6728ab71f0e45db41333fb0aaf5e59072 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:47 2007 +0200 x86_64: generalize calgary_increase_split_completion_timeout ... will be used by CalIOC2 later Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9596017e79cddb4f4fd4b896425a30f86946ce85 Author: Adrian Bunk Date: Sat Jul 21 17:10:46 2007 +0200 x86: remove support for the Rise CPU The Rise CPUs were only very short-lived, and there are no reports of anyone both owning one and running Linux on it. Googling for the printk string "CPU: Rise iDragon" didn't find any dmesg available online. If it turns out that against all expectations there are actually users reverting this patch would be easy. This patch will make the kernel images smaller by a few bytes for all i386 users. Signed-off-by: Adrian Bunk Acked-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ef3e28c5b956cbb3b17531c85b698a27e83d5cf2 Author: Eric W. Biederman Date: Sat Jul 21 17:10:45 2007 +0200 x86_64: check remote IRR bit before migrating level triggered irq On x86_64 kernel, level triggered irq migration gets initiated in the context of that interrupt(after executing the irq handler) and following steps are followed to do the irq migration. 1. mask IOAPIC RTE entry; // write to IOAPIC RTE 2. EOI; // processor EOI write 3. reprogram IOAPIC RTE entry // write to IOAPIC RTE with new destination and // and interrupt vector due to per cpu vector // allocation. 4. unmask IOAPIC RTE entry; // write to IOAPIC RTE Because of the per cpu vector allocation in x86_64 kernels, when the irq migrates to a different cpu, new vector(corresponding to the new cpu) will get allocated. An EOI write to local APIC has a side effect of generating an EOI write for level trigger interrupts (normally this is a broadcast to all IOAPICs). The EOI broadcast generated as a side effect of EOI write to processor may be delayed while the other IOAPIC writes (step 3 and 4) can go through. Normally, the EOI generated by local APIC for level trigger interrupt contains vector number. The IOAPIC will take this vector number and search the IOAPIC RTE entries for an entry with matching vector number and clear the remote IRR bit (indicate EOI). However, if the vector number is changed (as in step 3) the IOAPIC will not find the RTE entry when the EOI is received later. This will cause the remote IRR to get stuck causing the interrupt hang (no more interrupt from this RTE). Current x86_64 kernel assumes that remote IRR bit is cleared by the time IOAPIC RTE is reprogrammed. Fix this assumption by checking for remote IRR bit and if it still set, delay the irq migration to the next interrupt arrival event(hopefully, next time remote IRR bit will get cleared before the IOAPIC RTE is reprogrammed). Initial analysis and patch from Nanhai. Clean up patch from Suresh. Rewritten to be less intrusive, and to contain a big fat comment by Eric. [akpm@linux-foundation.org: fix comments] Acked-by: Ingo Molnar Cc: Nanhai Zou Acked-by: Suresh Siddha Cc: Asit Mallick Cc: Keith Packard Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 22293e5806f58a9682267139678a5cc117fd3dcf Author: Venki Pallipadi Date: Sat Jul 21 17:10:44 2007 +0200 x86: round_jiffies() for i386 and x86-64 non-critical/corrected MCE polling This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Acked-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 459029541d857258dfa9ad29e443d287a74c36fe Author: Andrew Morton Date: Sat Jul 21 17:10:43 2007 +0200 i386: add reference to the arguments Prevent stuff like this: mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bb1995d52b05f7e671914454d0ae57bd4170ef47 Author: Alan Stern Date: Sat Jul 21 17:10:42 2007 +0200 x86: Make Alt-SysRq-p display the debug register contents This patch (as921) adds code to the show_regs() routine in i386 and x86_64 to print the contents of the debug registers along with all the others. Signed-off-by: Alan Stern Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 44bf4cea43816d43deab73c1c16361e899996eaa Author: Nigel Cunningham Date: Sat Jul 21 17:10:41 2007 +0200 x86: PM_TRACE support Signed-off-by: Nigel Cunningham Cc: Randy Dunlap Cc: "Rafael J. Wysocki" Cc: Pavel Machek Acked-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9ef231a436fddb34d806f599c97b479691b3c38b Author: Sam Ravnborg Date: Sat Jul 21 17:10:39 2007 +0200 i386: fix section mismatch warnings in mtrr Following section mismatch warnings were reported by Andrey Borzenkov: WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:amd_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x967a) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:cyrix_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x967f) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:centaur_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x9684) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa735) and 'generic_get_mtrr' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa749) and 'generic_get_mtrr' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa770) and 'generic_get_mtrr' It was tracked down to a few functions missing __init tag. Compile tested only. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8b93789808756bcc1e5c90c99f1b1ef52f839a51 Author: Truxton Fulton Date: Sat Jul 21 17:10:38 2007 +0200 i386: fix machine rebooting Commit 59f4e7d572980a521b7bdba74ab71b21f5995538 fixed machine rebooting on Truxton's machine (when no keyboard was present). But it broke it on Lee's machine. The patch reinstates the old (pre-59f4e7d572980a521b7bdba74ab71b21f5995538) code and if that doesn't work out, try the new, post-59f4e7d572980a521b7bdba74ab71b21f5995538 code instead. Cc: Lee Garrett Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bd78432c8f209a1028f4e5bada8b1da1d8e4da09 Author: Tim Hockin Date: Sat Jul 21 17:10:37 2007 +0200 x86_64: mcelog tolerant level cleanup Background: The MCE handler has several paths that it can take, depending on various conditions of the MCE status and the value of the 'tolerant' knob. The exact semantics are not well defined and the code is a bit twisty. Description: This patch makes the MCE handler's behavior more clear by documenting the behavior for various 'tolerant' levels. It also fixes or enhances several small things in the handler. Specifically: * If RIPV is set it is not safe to restart, so set the 'no way out' flag rather than the 'kill it' flag. * Don't panic() on correctable MCEs. * If the _OVER bit is set *and* the _UC bit is set (meaning possibly dropped uncorrected errors), set the 'no way out' flag. * Use EIPV for testing whether an app can be killed (SIGBUS) rather than RIPV. According to docs, EIPV indicates that the error is related to the IP, while RIPV simply means the IP is valid to restart from. * Don't clear the MCi_STATUS registers until after the panic() path. This leaves the status bits set after the panic() so clever BIOSes can find them (and dumb BIOSes can do nothing). This patch also calls nonseekable_open() in mce_open (as suggested by akpm). Result: Tolerant levels behave almost identically to how they always have, but not it's well defined. There's a slightly higher chance of panic()ing when multiple errors happen (a good thing, IMHO). If you take an MBE and panic(), the error status bits are not cleared. Alternatives: None. Testing: I used software to inject correctable and uncorrectable errors. With tolerant = 3, the system usually survives. With tolerant = 2, the system usually panic()s (PCC) but not always. With tolerant = 1, the system always panic()s. When the system panic()s, the BIOS is able to detect that the cause of death was an MC4. I was not able to reproduce the case of a non-PCC error in userspace, with EIPV, with (tolerant < 3). That will be rare at best. Signed-off-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e02e68d31e2d436197386997727b216fee9c4623 Author: Tim Hockin Date: Sat Jul 21 17:10:36 2007 +0200 x86_64: support poll() on /dev/mcelog Background: /dev/mcelog is typically polled manually. This is less than optimal for situations where accurate accounting of MCEs is important. Calling poll() on /dev/mcelog does not work. Description: This patch adds support for poll() to /dev/mcelog. This results in immediate wakeup of user apps whenever the poller finds MCEs. Because the exception handler can not take any locks, it can not call the wakeup itself. Instead, it uses a thread_info flag (TIF_MCE_NOTIFY) which is caught at the next return from interrupt or exit from idle, calling the mce_user_notify() routine. This patch also disables the "fake panic" path of the mce_panic(), because it results in printk()s in the exception handler and crashy systems. This patch also does some small cleanup for essentially unused variables, and moves the user notification into the body of the poller, so it is only called once per poll, rather than once per CPU. Result: Applications can now poll() on /dev/mcelog. When an error is logged (whether through the poller or through an exception) the applications are woken up promptly. This should not affect any previous behaviors. If no MCEs are being logged, there is no overhead. Alternatives: I considered simply supporting poll() through the poller and not using TIF_MCE_NOTIFY at all. However, the time between an uncorrectable error happening and the user application being notified is *the*most* critical window for us. Many uncorrectable errors can be logged to the network if given a chance. I also considered doing the MCE poll directly from the idle notifier, but decided that was overkill. Testing: I used an error-injecting DIMM to create lots of correctable DRAM errors and verified that my user app is woken up in sync with the polling interval. I also used the northbridge to inject uncorrectable ECC errors, and verified (printk() to the rescue) that the notify routine is called and the user app does wake up. I built with PREEMPT on and off, and verified that my machine survives MCEs. [wli@holomorphy.com: build fix] Signed-off-by: Tim Hockin Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f528e7ba28492e363a64c80c414ded4cadf48f89 Author: Tim Hockin Date: Sat Jul 21 17:10:35 2007 +0200 x86_64: O_EXCL on /dev/mcelog Background: /dev/mcelog is a clear-on-read interface. It is currently possible for multiple users to open and read() the device. Users are protected from each other during any one read, but not across reads. Description: This patch adds support for O_EXCL to /dev/mcelog. If a user opens the device with O_EXCL, no other user may open the device (EBUSY). Likewise, any user that tries to open the device with O_EXCL while another user has the device will fail (EBUSY). Result: Applications can get exclusive access to /dev/mcelog. Applications that do not care will be unchanged. Alternatives: A simpler choice would be to only allow one open() at all, regardless of O_EXCL. Testing: I wrote an application that opens /dev/mcelog with O_EXCL and observed that any other app that tried to open /dev/mcelog would fail until the exclusive app had closed the device. Caveats: None. Signed-off-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a5ba7971045a90a36cef8f7d5a3075600b475b74 Author: Aaron Durbin Date: Sat Jul 21 17:10:34 2007 +0200 i386: insert unclaimed MMCONFIG resources Insert the unclaimed MMCONFIG resources into the resource tree without the IORESOURCE_BUSY flag during late initialization. This allows the MMCONFIG regions to be visible in the iomem resource tree without interfering with other system resources that were discovered during PCI initialization. [akpm@linux-foundation.org: nanofixes] Signed-off-by: Aaron Durbin Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 08705b89ecb0f4b0ba5735630ef988bd9fd9dd95 Author: David Rientjes Date: Sat Jul 21 17:10:33 2007 +0200 x86_64: fake apicid_to_node mapping for fake numa When we are in the emulated NUMA case, we need to make sure that all existing apicid_to_node mappings that point to real node ID's now point to the equivalent fake node ID's. If we simply iterate over all apicid_to_node[] members for each node, we risk remapping an entry if it shares a node ID with a real node. Since apicid's may not be consecutive, we're forced to create an automatic array of apicid_to_node mappings and then copy it over once we have finished remapping fake to real nodes. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3484d79813707bb6045773953a809abba443dc20 Author: David Rientjes Date: Sat Jul 21 17:10:32 2007 +0200 x86_64: fake pxm-to-node mapping for fake numa For NUMA emulation, our SLIT should represent the true NUMA topology of the system but our proximity domain to node ID mapping needs to reflect the emulated state. When NUMA emulation has successfully setup fake nodes on the system, a new function, acpi_fake_nodes() is called. This function determines the proximity domain (_PXM) for each true node found on the system. It then finds which emulated nodes have been allocated on this true node as determined by its starting address. The node ID to PXM mapping is changed so that each fake node ID points to the PXM of the true node that it is located on. If the machine failed to register a SLIT, then we assume there is no special requirement for emulated node affinity so we use the default LOCAL_DISTANCE, which is newly exported to this code, as our measurement if the emulated nodes appear in the same PXM. Otherwise, we use REMOTE_DISTANCE. PXM_INVAL and NID_INVAL are also exported to the ACPI header file so that we can compare node_to_pxm() results in generic code (in this case, the SRAT code). Cc: Len Brown Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3af044e0f832cfa3fcdce14dc30678b79dd36995 Author: David Rientjes Date: Sat Jul 21 17:10:31 2007 +0200 x86_64: extract helper function from e820_register_active_regions The logic in e820_find_active_regions() for determining the true active regions for an e820 entry given a range of PFN's is needed for e820_hole_size() as well. e820_hole_size() is called from the NUMA emulation code to determine the reserved area within an address range on a per-node basis. Its logic should duplicate that of finding active regions in an e820 entry because these are the only true ranges we may register anyway. [akpm@linux-foundation.org: cleanup] Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 34feb2c83beb3bdf13535a36770f7e50b47ef299 Author: Christoph Lameter Date: Sat Jul 21 17:10:30 2007 +0200 x86_64: Quicklist support for x86_64 This adds caching of pgds and puds, pmds, pte. That way we can avoid costly zeroing and initialization of special mappings in the pgd. A second quicklist is useful to separate out PGD handling. We can carry the initialized pgds over to the next process needing them. Also clean up the pgd_list handling to use regular list macros. There is no need anymore to avoid the lru field. Move the add/removal of the pgds to the pgdlist into the constructor / destructor. That way the implementation is congruent with i386. Signed-off-by: Christoph Lameter Cc: "David S. Miller" Cc: "Luck, Tony" Acked-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f0a7a5c93dfd1c0348dbbdb6f22cb82d99079c93 Author: Adrian Bunk Date: Sat Jul 21 17:10:29 2007 +0200 i386: timer_irq_works() static again timer_irq_works() needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3f9c8d19d26e016de31d1e59a573913edc64ce5c Author: Adrian Bunk Date: Sat Jul 21 17:10:28 2007 +0200 i386: arch/i386/kernel/i8253.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 10079ae35fc91a0d5afa50eb4ccc82fb8f7124e9 Author: Adrian Bunk Date: Sat Jul 21 17:10:27 2007 +0200 i386: remapped_pgdat_init() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d5321abe6abd16e1749ccd89636415d39611e138 Author: Jan Beulich Date: Sat Jul 21 17:10:26 2007 +0200 i386: minor nx handling adjustment Constrain __supported_pte_mask and NX handling to just the PAE kernel. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 09488165d5cc795a90b789c5657b1cbd279beb16 Author: Jan Beulich Date: Sat Jul 21 17:10:25 2007 +0200 i386: smp-alt-once option is only useful with HOTPLUG_CPU Hence remove its handling in the opposite case. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d567b6a955c2c1a6b0e8fc13ecddc7d4ac4900a2 Author: Jan Beulich Date: Sat Jul 21 17:10:23 2007 +0200 x86_64: remove unused variable maxcpus .. and adjust documentation to properly reflect options that are x86-64 specific. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 74a1ddc597d83d5ca6541b15a15f80a3722e3a1e Author: Jan Beulich Date: Sat Jul 21 17:10:22 2007 +0200 x86_64: minor exception trace variables cleanup Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2f30c00702aca3229e1157718675f0ee56d2a931 Author: Jan Beulich Date: Sat Jul 21 17:10:21 2007 +0200 i386: allow debuggers to access the vsyscall page with compat vDSO Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit cdc1793ef7f5ccc47696e3d00b827e832e4c5bdb Author: Jan Beulich Date: Sat Jul 21 17:10:20 2007 +0200 x86_64: ia32entry adjustments Consolidate the three 32-bit system call entry points so that they all treat registers in similar ways. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c3508f8f341f19f6b1c3f854f144540427668151 Author: Ravikiran G Thirumalai Date: Sat Jul 21 17:10:19 2007 +0200 x86_64: Avoid too many remote cpu references due to /proc/stat Too many remote cpu references due to /proc/stat. On x86_64, with newer kernel versions, kstat_irqs is a bit of a problem. On every call to kstat_irqs, the process brings in per-cpu data from all online cpus. Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS results in (256+32*63) * 63 remote cpu references on a 64 cpu config. /proc/stat is parsed by common commands like top, who etc, causing lots of cacheline transfers This statistic seems useless. Other 'big iron' arches disable this. AK: changed to remove for all SMP setups AK: add comment Signed-off-by: Ravikiran Thirumalai Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2618f86e0010fc6703e77af3613bac7ade46efc6 Author: Thomas Gleixner Date: Sat Jul 21 17:10:18 2007 +0200 x86_64: time.c white space wreckage cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 6935d1f922e5f676ebe98fac700da9c5bf6acfca Author: Thomas Gleixner Date: Sat Jul 21 17:10:17 2007 +0200 x86_64: apic.c coding style janitor work Fix coding style, white space wreckage and remove unused code. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0655d7c32bd21685a58fc4636f378d086396eb68 Author: Thomas Gleixner Date: Sat Jul 21 17:10:16 2007 +0200 x86: share hpet.h with i386 hpet.h in asm-i386 and asm-x86_64 contain tons of duplicated stuff. Consolidate into one shared header file. AK: Fix i386 compilation with !X86_IO_APIC Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit aec8148fda5686b671fbbd9ffd6f432a1f80ee3c Author: Thomas Gleixner Date: Sat Jul 21 17:10:15 2007 +0200 x86_64: fiuxp pt_reqs leftovers The hpet_rtc_interrupt handler still uses pt_regs. Fix it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo