commit 50515af207d410c9f228380e529c56f43c3de0bd Author: David Woodhouse Date: Mon Jul 14 17:50:24 2008 -0700 firmware: Correct dependency on CONFIG_EXTRA_FIRMWARE_DIR When CONFIG_EXTRA_FIRMWARE_DIR gets changed, the filename in the .S file (which uses .incbin to include the binary) needs to change. When we renamed the BUILTIN_FIRMWARE_DIR option to EXTRA_FIRMWARE_DIR, we forgot to update the manual dependency in firmware/Makefile, so it was depending on a non-existent file in include/config/ Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 5a86102248592e178a9023359ccf7f0e489d8e35 Merge: 85082fd... 751851a... Author: Linus Torvalds Date: Mon Jul 14 16:54:07 2008 -0700 Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6 * 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6: (64 commits) firmware: convert sb16_csp driver to use firmware loader exclusively dsp56k: use request_firmware edgeport-ti: use request_firmware() edgeport: use request_firmware() vicam: use request_firmware() dabusb: use request_firmware() cpia2: use request_firmware() ip2: use request_firmware() firmware: convert Ambassador ATM driver to request_firmware() whiteheat: use request_firmware() ti_usb_3410_5052: use request_firmware() emi62: use request_firmware() emi26: use request_firmware() keyspan_pda: use request_firmware() keyspan: use request_firmware() ttusb-budget: use request_firmware() kaweth: use request_firmware() smctr: use request_firmware() firmware: convert ymfpci driver to use firmware loader exclusively firmware: convert maestro3 driver to use firmware loader exclusively ... Fix up trivial conflicts with BKL removal in drivers/char/dsp56k.c and drivers/char/ip2/ip2main.c manually. commit 85082fd7cbe3173198aac0eb5e85ab1edcc6352c Merge: 666484f... 53ffe3b... Author: Linus Torvalds Date: Mon Jul 14 16:06:58 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (241 commits) [ARM] 5171/1: ep93xx: fix compilation of modules using clocks [ARM] 5133/2: at91sam9g20 defconfig file [ARM] 5130/4: Support for the at91sam9g20 [ARM] 5160/1: IOP3XX: gpio/gpiolib support [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits. [ARM] 5084/1: zylonite: Register AC97 device [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state [ARM] 5144/1: pxaficp_ir: cleanup includes [ARM] pxa: remove pxa_set_cken() [ARM] pxa: allow clk aliases [ARM] Feroceon: don't disable BPU on boot [ARM] Orion: LED support for HP mv2120 [ARM] Orion: add RD88F5181L-FXO support [ARM] Orion: add RD88F5181L-GE support [ARM] Orion: add Netgear WNR854T support [ARM] s3c2410_defconfig: update for current build [ARM] Acer n30: Minor style and indentation fixes. ... commit 751851af7aae9b8bd5a60b3897209081fbc18b2b Merge: a41eeba... d71792a... Author: David Woodhouse Date: Mon Jul 14 15:49:04 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Conflicts: sound/pci/Kconfig commit 53ffe3b440aa85af6fc4eda09b2d44bcdd312d4d Merge: f000631... cabb352... Author: Russell King Date: Mon Jul 14 21:28:25 2008 +0100 [ARM] Merge most of the PXA work for initial merge This includes PXA work up to the SPI changes for the initial merge, since e172274ccc55d20536fbdceb6131f38e288541e0 depends on the SPI tree being merged. Conflicts: arch/arm/configs/em_x270_defconfig arch/arm/configs/xm_x270_defconfig commit 666484f0250db2e016948d63b3ef33e202e3b8d0 Merge: d18bb9a... ace7f1b... Author: Linus Torvalds Date: Mon Jul 14 15:28:42 2008 -0700 Merge branch 'core/softirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/softirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softirq: remove irqs_disabled warning from local_bh_enable softirq: remove initialization of static per-cpu variable Remove argument from open_softirq which is always NULL commit d18bb9a548e550f3ced57618e75085fb3f173133 Merge: 4bb0057... 6d72b79... Author: Linus Torvalds Date: Mon Jul 14 15:28:10 2008 -0700 Merge branch 'core/rodata' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/rodata' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: move BUG_TABLE into RODATA commit 4bb0057f996b1491f93a64879f4c53c83bc0f0c7 Merge: 116a9fb... 9e4144a... Author: Linus Torvalds Date: Mon Jul 14 15:27:43 2008 -0700 Merge branch 'core/printk' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/printk' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, generic: mark early_printk as asmlinkage printk: export console_drivers printk: remember the message level for multi-line output printk: refactor processing of line severity tokens printk: don't prefer unsuited consoles on registration printk: clean up recursion check related static variables namespacecheck: more kernel/printk.c fixes namespacecheck: fix kernel printk.c commit 116a9fb3ed98c19d1ee0c6c55971f5b753949393 Author: Linus Torvalds Date: Mon Jul 14 15:03:25 2008 -0700 x86: MMIOTRACE should not default to on Even the help-text makes it clear that normal people shouldn't enable it. Signed-off-by: Linus Torvalds commit 40e7babbb52b4b57721b9175aed7a14d93bf242f Merge: 948769a... d12c1a3... Author: Linus Torvalds Date: Mon Jul 14 14:55:13 2008 -0700 Merge branch 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: fix kernel/fork.c warning lockdep: fix ftrace irq tracing false positive lockdep: remove duplicate definition of STATIC_LOCKDEP_MAP_INIT lockdep: add lock_class information to lock_chain and output it lockdep: add lock_class information to lock_chain and output it lockdep: output lock_class key instead of address for forward dependency output __mutex_lock_common: use signal_pending_state() mutex-debug: check mutex magic before owner Fixed up conflict in kernel/fork.c manually commit 948769a5ba304ed3329a2f42ee3561f04a0b5692 Merge: e18425a... 773dc8e... Author: Linus Torvalds Date: Mon Jul 14 14:50:49 2008 -0700 Merge branch 'sched/new-API-sched_setscheduler' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched/new-API-sched_setscheduler' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: add new API sched_setscheduler_nocheck: add a flag to control access checks commit e18425a0abc8eafa8e98ecffac517bb0c0904f4b Merge: d1794f2... 5806b81... Author: Linus Torvalds Date: Mon Jul 14 14:49:54 2008 -0700 Merge branch 'tracing/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (228 commits) ftrace: build fix for ftraced_suspend ftrace: separate out the function enabled variable ftrace: add ftrace_kill_atomic ftrace: use current CPU for function startup ftrace: start wakeup tracing after setting function tracer ftrace: check proper config for preempt type ftrace: trace schedule ftrace: define function trace nop ftrace: move sched_switch enable after markers ftrace: prevent ftrace modifications while being kprobe'd, v2 fix "ftrace: store mcount address in rec->ip" mmiotrace broken in linux-next (8-bit writes only) ftrace: avoid modifying kprobe'd records ftrace: freeze kprobe'd records kprobes: enable clean usage of get_kprobe ftrace: store mcount address in rec->ip ftrace: build fix with gcc 4.3 namespacecheck: fixes ftrace: fix "notrace" filtering priority ftrace: fix printout ... commit d1794f2c5b5817eb79ccc5e00701ca748d1b073a Merge: a41eeba... 2fceef3... Author: Linus Torvalds Date: Mon Jul 14 14:48:31 2008 -0700 Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 * 'bkl-removal' of git://git.lwn.net/linux-2.6: (146 commits) IB/umad: BKL is not needed for ib_umad_open() IB/uverbs: BKL is not needed for ib_uverbs_open() bf561-coreb: BKL unneeded for open() Call fasync() functions without the BKL snd/PCM: fasync BKL pushdown ipmi: fasync BKL pushdown ecryptfs: fasync BKL pushdown Bluetooth VHCI: fasync BKL pushdown tty_io: fasync BKL pushdown tun: fasync BKL pushdown i2o: fasync BKL pushdown mpt: fasync BKL pushdown Remove BKL from remote_llseek v2 Make FAT users happier by not deadlocking x86-mce: BKL pushdown vmwatchdog: BKL pushdown vmcp: BKL pushdown via-pmu: BKL pushdown uml-random: BKL pushdown uml-mmapper: BKL pushdown ... commit d71792ac3d48df6693f7b339e02494efc27036c3 Author: Jaswinder Singh Date: Sat Jul 5 18:05:22 2008 +0530 firmware: convert sb16_csp driver to use firmware loader exclusively Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit 7f127d5ed0da66053482a3e18014c439da3c41d1 Author: Jaswinder Singh Date: Sat Jul 5 15:28:30 2008 +0530 dsp56k: use request_firmware Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit d12b219a228efe92f0778ed3af21305e65fbb052 Author: Jaswinder Singh Date: Fri Jul 4 23:06:09 2008 +0530 edgeport-ti: use request_firmware() Firmware blob looks like this... uint8_t MajorVersion uint8_t MinorVersion __le16 BuildNumber uint8_t data[] Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit 5b9ea9322605da09d6f7119f03f71cc52b044911 Author: Jaswinder Singh Date: Thu Jul 3 17:00:23 2008 +0530 edgeport: use request_firmware() Version number provided in first HEX record. Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit fb54be8755d386008bfadb7fc8ff89451fa3a9c9 Author: Jaswinder Singh Date: Fri Jun 27 19:50:40 2008 +0530 vicam: use request_firmware() Although it wasn't actually using ihex records before, we use the Intel HEX record format for this firmware -- because that gives us a simple way to split it into separate chunks internally as we need, without loading each part as a separate file. Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit c466774636b3cc43c2c304b44e52974d9d53f3e0 Author: David Woodhouse Date: Mon Jun 23 11:41:04 2008 +0100 dabusb: use request_firmware() Signed-off-by: David Woodhouse commit 04a33e406a062cd1bb55014ee17a3558109a2d74 Author: David Woodhouse Date: Mon Jun 23 11:36:23 2008 +0100 cpia2: use request_firmware() Thanks for Jaswinder Singh for converting the firmware blob itself to ihex. Signed-off-by: David Woodhouse commit 2fceef397f9880b212a74c418290ce69e7ac00eb Merge: feae1ef... bce7f79... Author: Jonathan Corbet Date: Mon Jul 14 15:29:34 2008 -0600 Merge commit 'v2.6.26' into bkl-removal commit a41eebab7537890409ea9dfe0fcda9b5fbdb090d Author: Steven Rostedt Date: Mon Jul 14 16:41:12 2008 -0400 ftrace: document updates The following updates were recommended by Elias Oltmanns and Randy Dunlap. [ updates based on Andrew Morton's comments are still to come. ] Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 17489c058e8c63ab5ebdc67ab52ca70d1bc270b1 Merge: a3da5bf... 873a6ed... Author: Linus Torvalds Date: Mon Jul 14 13:54:49 2008 -0700 Merge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits) sched_clock: and multiplier for TSC to gtod drift sched_clock: record TSC after gtod sched_clock: only update deltas with local reads. sched_clock: fix calculation of other CPU sched_clock: stop maximum check on NO HZ sched_clock: widen the max and min time sched_clock: record from last tick sched: fix accounting in task delay accounting & migration sched: add avg-overlap support to RT tasks sched: terminate newidle balancing once at least one task has moved over sched: fix warning sched: build fix sched: sched_clock_cpu() based cpu_clock(), lockdep fix sched: export cpu_clock sched: make sched_{rt,fair}.c ifdefs more readable sched: bias effective_load() error towards failing wake_affine(). sched: incremental effective_load() sched: correct wakeup weight calculations sched: fix mult overflow sched: update shares on wakeup ... commit a3da5bf84a97d48cfaf66c6842470fc403da5121 Merge: 3b23e66... d59fdcf... Author: Linus Torvalds Date: Mon Jul 14 13:43:24 2008 -0700 Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits) x86: make 64bit hpet_set_mapping to use ioremap too, v2 x86: get x86_phys_bits early x86: max_low_pfn_mapped fix #4 x86: change _node_to_cpumask_ptr to return const ptr x86: I/O APIC: remove an IRQ2-mask hack x86: fix numaq_tsc_disable calling x86, e820: remove end_user_pfn x86: max_low_pfn_mapped fix, #3 x86: max_low_pfn_mapped fix, #2 x86: max_low_pfn_mapped fix, #1 x86_64: fix delayed signals x86: remove conflicting nx6325 and nx6125 quirks x86: Recover timer_ack lost in the merge of the NMI watchdog x86: I/O APIC: Never configure IRQ2 x86: L-APIC: Always fully configure IRQ0 x86: L-APIC: Set IRQ0 as edge-triggered x86: merge dwarf2 headers x86: use AS_CFI instead of UNWIND_INFO x86: use ignore macro instead of hash comment x86: use matching CFI_ENDPROC ... commit 3b23e665b68387f5ee7b21f7b75ceea4d9acae4a Merge: 6c118e4... 090657e... Author: Linus Torvalds Date: Mon Jul 14 13:40:42 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (50 commits) crypto: ixp4xx - Select CRYPTO_AUTHENC crypto: s390 - Respect STFL bit crypto: talitos - Add support for sha256 and md5 variants crypto: hash - Move ahash functions into crypto/hash.h crypto: crc32c - Add ahash implementation crypto: hash - Added scatter list walking helper crypto: prng - Deterministic CPRNG crypto: hash - Removed vestigial ahash fields crypto: hash - Fixed digest size check crypto: rmd - sparse annotations crypto: rmd128 - sparse annotations crypto: camellia - Use kernel-provided bitops, unaligned access helpers crypto: talitos - Use proper form for algorithm driver names crypto: talitos - Add support for 3des crypto: padlock - Make module loading quieter when hardware isn't available crypto: tcrpyt - Remove unnecessary kmap/kunmap calls crypto: ixp4xx - Hardware crypto support for IXP4xx CPUs crypto: talitos - Freescale integrated security engine (SEC) driver [CRYPTO] tcrypt: Add self test for des3_ebe cipher operating in cbc mode [CRYPTO] rmd: Use pointer form of endian swapping operations ... commit 6c118e43dc513a7118b49b9ff953fe61e14515dc Merge: 847106f... 72f6bef... Author: Linus Torvalds Date: Mon Jul 14 13:37:29 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: (31 commits) avr32: Fix typo of IFSR in a comment in the PIO header file avr32: Power Management support ("standby" and "mem" modes) avr32: Add system device for the internal interrupt controller (intc) avr32: Add simple SRAM allocator avr32: Enable SDRAMC clock at startup rtc-at32ap700x: Enable wakeup macb: Basic suspend/resume support atmel_serial: Drain console TX shifter before suspending atmel_serial: Fix build on avr32 with CONFIG_PM enabled avr32: Use a quicklist for PTE allocation as well avr32: Use a quicklist for PGD allocation avr32: Cover the kernel page tables in the user PGDs avr32: Store virtual addresses in the PGD avr32: Remove useless zeroing of swapper_pg_dir at startup avr32: Clean up and optimize the TLB operations avr32: Rename at32ap.c -> pdc.c avr32: Move setup_platform() into chip-specific file avr32: Kill special exception handler sections avr32: Kill unneeded #include from asm/mmu_context.h avr32: Clean up time.c #includes ... commit 847106ff628805e1a0aa91e7f53381f3fdfcd839 Merge: c142bda... 6f0f0fd... Author: Linus Torvalds Date: Mon Jul 14 13:36:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (25 commits) security: remove register_security hook security: remove dummy module fix security: remove dummy module security: remove unused sb_get_mnt_opts hook LSM/SELinux: show LSM mount options in /proc/mounts SELinux: allow fstype unknown to policy to use xattrs if present security: fix return of void-valued expressions SELinux: use do_each_thread as a proper do/while block SELinux: remove unused and shadowed addrlen variable SELinux: more user friendly unknown handling printk selinux: change handling of invalid classes (Was: Re: 2.6.26-rc5-mm1 selinux whine) SELinux: drop load_mutex in security_load_policy SELinux: fix off by 1 reference of class_to_string in context_struct_compute_av SELinux: open code sidtab lock SELinux: open code load_mutex SELinux: open code policy_rwlock selinux: fix endianness bug in network node address handling selinux: simplify ioctl checking SELinux: enable processes with mac_admin to get the raw inode contexts Security: split proc ptrace checking into read vs. attach ... commit c142bda458a9c81097238800e1bd8eeeea09913d Merge: b5cf43c... c0e0920... Author: Linus Torvalds Date: Mon Jul 14 13:32:24 2008 -0700 Merge branch 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: reorganise drm tree to be more future proof. commit b5cf43c47b05c8deb10f9674d541dddbdec0e341 Merge: b7f80af... fe0a3fe... Author: Linus Torvalds Date: Mon Jul 14 13:26:07 2008 -0700 Merge branch 'for-linus' of git://git.alsa-project.org/alsa-kernel * 'for-linus' of git://git.alsa-project.org/alsa-kernel: (179 commits) ALSA: Release v1.0.17 ALSA: correct kcalloc usage ALSA: ALSA driver for SGI O2 audio board ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform. ALSA: ALSA driver for SGI HAL2 audio device ALSA: hda - Fix FSC V5505 model ALSA: hda - Fix missing init for unsol events on micsense model ALSA: hda - Fix internal mic vref pin setup ALSA: hda: 92hd71bxx PC Beep ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model ALSA: usb-audio: add some Yamaha USB MIDI quirks ALSA: usb-audio: fix Yamaha KX quirk ALSA: ASoC: Au12x0/Au1550 PSC Audio support ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration ALSA: tosa: fix compilation with new DAPM API ALSA: wavefront - add const ALSA: remove CONFIG_KMOD from sound ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver ... commit b7f80afa28866c257876c272d6c013e0dbed3c31 Merge: 42c5920... 5e34599... Author: Linus Torvalds Date: Mon Jul 14 13:25:01 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (71 commits) [S390] sclp_tty: Fix scheduling while atomic bug. [S390] sclp_tty: remove ioctl interface. [S390] Remove P390 support. [S390] Cleanup vmcp printk messages. [S390] Cleanup lcs printk messages. [S390] Cleanup kprobes printk messages. [S390] Cleanup vmwatch printk messages. [S390] Cleanup dcssblk printk messages. [S390] Cleanup zfcp dumper printk messages. [S390] Cleanup vmlogrdr printk messages. [S390] Cleanup s390 debug feature print messages. [S390] Cleanup monreader printk messages. [S390] Cleanup appldata printk messages. [S390] Cleanup smsgiucv printk messages. [S390] Cleanup cpacf printk messages. [S390] Cleanup qeth print messages. [S390] Cleanup netiucv printk messages. [S390] Cleanup iucv printk messages. [S390] Cleanup sclp printk messages. [S390] Cleanup zcrypt printk messages. ... commit 42c59208219a2d43f0dde94bebc68c20b95b13ce Merge: dddec01... 727c674... Author: Linus Torvalds Date: Mon Jul 14 13:24:39 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (23 commits) pcmcia: Fix ide-cs sparse warning pcmcia: ide-cs debugging bugfix pcmcia: allow for longer CIS firmware files pcmcia: cm40x0 cdev lock_kernel() pushdown pcmcia: (re)move {pcmcia,pccard}_get_status pcmcia: kill IN_CARD_SERVICES pcmcia: Remove unused header file code pcmcia: remove unused bulkmem.h pcmcia: simplify pccard_validate_cis pcmcia: carve out ioctl adjust function to pcmcia_ioctl pcmcia: irq probe can be done without risking an IRQ storm pcmcia: Fix ti12xx_2nd_slot_empty always failing pcmcia: check for pointer instead of pointer address pcmcia: switch cm4000_cs.c to unlocked_ioctl pcmcia: simplify rsrc_nonstatic attributes pcmcia: add support CompactFlash PCMCIA support for Blackfin. pcmcia: remove version.h pcmcia: cs: kill thread_wait pcmcia: i82365.c: check request_irq return value pcmcia: fix Alchemy warnings ... commit dddec01eb8e2b56267b37a6f9f0997a64b4e0b2a Merge: 7daf705... 32502b8... Author: Linus Torvalds Date: Mon Jul 14 13:15:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (37 commits) splice: fix generic_file_splice_read() race with page invalidation ramfs: enable splice write drivers/block/pktcdvd.c: avoid useless memset cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack) scsi: sr avoids useless buffer allocation block: blk_rq_map_kern uses the bounce buffers for stack buffers block: add blk_queue_update_dma_pad DAC960: push down BKL pktcdvd: push BKL down into driver paride: push ioctl down into driver block: use get_unaligned_* helpers block: extend queue_flag bitops block: request_module(): use format string Add bvec_merge_data to handle stacked devices and ->merge_bvec() block: integrity flags can't use bit ops on unsigned short cmdfilter: extend default read filter sg: fix odd style (extra parenthesis) introduced by cmd filter patch block: add bounce support to blk_rq_map_user_iov cfq-iosched: get rid of enable_idle being unused warning allow userspace to modify scsi command filter on per device basis ... commit 7daf705f362e349983e92037a198b8821db198af Author: Linus Torvalds Date: Mon Jul 14 12:12:53 2008 -0700 Start using the new '%pS' infrastructure to print symbols This simplifies the code significantly, and was the whole point of the exercise. Signed-off-by: Linus Torvalds commit 5806b81ac1c0c52665b91723fd4146a4f86e386b Merge: d14c8a6... 6712e29... Author: Ingo Molnar Date: Mon Jul 14 16:11:52 2008 +0200 Merge branch 'auto-ftrace-next' into tracing/for-linus Conflicts: arch/x86/kernel/entry_32.S arch/x86/kernel/process_32.c arch/x86/kernel/process_64.c arch/x86/lib/Makefile include/asm-x86/irqflags.h kernel/Makefile kernel/sched.c Signed-off-by: Ingo Molnar commit d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8 Merge: d59fdcf... 873a6ed... Author: Ingo Molnar Date: Mon Jul 14 16:11:02 2008 +0200 Merge branch 'sched/for-linus' into tracing/for-linus commit 6712e299b7dc78aa4971b85e803435ee6d49a9dd Merge: ec1bb60... b2613e3... Author: Ingo Molnar Date: Mon Jul 14 15:58:35 2008 +0200 Merge branch 'tracing/ftrace' into auto-ftrace-next commit 873a6ed6288b6c2c0d2cc84d3b2bf2fab9ba0181 Merge: 361833e... bce7f79... Author: Ingo Molnar Date: Mon Jul 14 12:19:19 2008 +0200 Merge commit 'v2.6.26' into sched/devel commit 361833efac4d277d209008e1e0658e597bc1bdef Merge: 54ef76f... c300ba2... Author: Ingo Molnar Date: Mon Jul 14 12:19:13 2008 +0200 Merge branch 'sched/clock' into sched/devel commit d12c1a37925a8ec386994169605fe99217295199 Author: Ingo Molnar Date: Mon Jul 14 12:09:28 2008 +0200 lockdep: fix kernel/fork.c warning fix: [ 0.184011] ------------[ cut here ]------------ [ 0.188011] WARNING: at kernel/fork.c:918 copy_process+0x1c0/0x1084() [ 0.192011] Pid: 0, comm: swapper Not tainted 2.6.26-tip-00351-g01d4a50-dirty #14521 [ 0.196011] [] warn_on_slowpath+0x3c/0x60 [ 0.200012] [] ? __alloc_pages_internal+0x92/0x36b [ 0.208012] [] ? __spin_lock_init+0x24/0x4a [ 0.212012] [] copy_process+0x1c0/0x1084 [ 0.216013] [] do_fork+0xb8/0x1ad [ 0.220013] [] ? acpi_os_release_lock+0x8/0xa [ 0.228013] [] ? acpi_os_vprintf+0x20/0x24 [ 0.232014] [] kernel_thread+0x75/0x7d [ 0.236014] [] ? kernel_init+0x0/0x24a [ 0.240014] [] ? kernel_init+0x0/0x24a [ 0.244014] [] ? kernel_thread_helper+0x0/0x10 [ 0.252015] [] rest_init+0x14/0x50 [ 0.256015] [] start_kernel+0x2b9/0x2c0 [ 0.260015] [] __init_begin+0x4f/0x57 [ 0.264016] ======================= [ 0.268016] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.272016] enabled ExtINT on CPU#0 which occurs if CONFIG_TRACE_IRQFLAGS=y, CONFIG_DEBUG_LOCKDEP=y, but CONFIG_PROVE_LOCKING is disabled. Signed-off-by: Ingo Molnar commit d59fdcf2ac501de99c3dfb452af5e254d4342886 Merge: 2387ce5... bce7f79... Author: Ingo Molnar Date: Mon Jul 14 11:37:46 2008 +0200 Merge commit 'v2.6.26' into x86/core commit 992860e991f2015fb8c8df65aa32afa0dcbb4430 Author: Ingo Molnar Date: Mon Jul 14 10:28:38 2008 +0200 lockdep: fix ftrace irq tracing false positive fix this false positive: [ 0.020000] ------------[ cut here ]------------ [ 0.020000] WARNING: at kernel/lockdep.c:2718 check_flags+0x14a/0x170() [ 0.020000] Modules linked in: [ 0.020000] Pid: 0, comm: swapper Not tainted 2.6.26-tip-00343-gd7e5521-dirty #14486 [ 0.020000] [] warn_on_slowpath+0x54/0x80 [ 0.020000] [] ? _spin_unlock_irqrestore+0x61/0x70 [ 0.020000] [] ? release_console_sem+0x201/0x210 [ 0.020000] [] ? __kernel_text_address+0x35/0x40 [ 0.020000] [] ? dump_trace+0x5e/0x140 [ 0.020000] [] ? __lock_acquire+0x245/0x820 [ 0.020000] [] check_flags+0x14a/0x170 [ 0.020000] [] ? lock_acquire+0x48/0xc0 [ 0.020000] [] lock_acquire+0x51/0xc0 [ 0.020000] [] ? down+0x2c/0x40 [ 0.020000] [] ? sched_clock+0x9/0x10 [ 0.020000] [] _write_lock+0x32/0x60 [ 0.020000] [] ? request_resource+0x1f/0xb0 [ 0.020000] [] request_resource+0x1f/0xb0 [ 0.020000] [] vgacon_startup+0x2bd/0x3e0 [ 0.020000] [] con_init+0x19/0x22f [ 0.020000] [] ? tty_register_ldisc+0x5c/0x70 [ 0.020000] [] console_init+0x20/0x2e [ 0.020000] [] start_kernel+0x20c/0x379 [ 0.020000] [] ? unknown_bootoption+0x0/0x1f6 [ 0.020000] [] __init_begin+0x99/0xa1 [ 0.020000] ======================= [ 0.020000] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.020000] possible reason: unannotated irqs-on. [ 0.020000] irq event stamp: 0 which occurs if CONFIG_TRACE_IRQFLAGS=y, CONFIG_DEBUG_LOCKDEP=y, but CONFIG_PROVE_LOCKING is disabled. Signed-off-by: Ingo Molnar commit b4ba0ba24b57ec975482f4ba2d350fbee7557240 Merge: a033c33... bce7f79... Author: Ingo Molnar Date: Mon Jul 14 10:31:59 2008 +0200 Merge commit 'v2.6.26' into core/locking commit 5e34599fc8ba1e8889095bd56a71fd9802ed5a51 Author: Heiko Carstens Date: Mon Jul 14 09:59:46 2008 +0200 [S390] sclp_tty: Fix scheduling while atomic bug. Finally fixes a possible scheduling while in atomic context bug. The driver used to wait on a waitqueue if no empty buffer was available. This could lead to a deadlock if the driver was called from non-schedulable context. So fix this. The write operation may fail now. It returns the number of characters accepted. put_char will never fail, since it writes characters to an intermediate buffer which gets flushed as soon as it is full. That means the driver now can busy wait if something is in the intermediate buffer and a write_string operation follows. Seems to be an acceptable compromise, since that shouldn't happen too often. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 095761d28ae43eae7d4504d49b0b952cf02b0188 Author: Heiko Carstens Date: Mon Jul 14 09:59:45 2008 +0200 [S390] sclp_tty: remove ioctl interface. After all we came to the conclusion that this interface doesn't make any sense. Besides that the ioctl number used was never registered, the header file isn't exported, and we doubt there is even a single user. So remove this interface, since it eases maintenance. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 1d030370f09036e8dcb3cc40915f3f9cf92bb54c Author: Heiko Carstens Date: Mon Jul 14 09:59:44 2008 +0200 [S390] Remove P390 support. Most likely it is broken anyway because of the changes in memory detection. Since we can't test it and there are probably better ways that using a P390 card, remove support for it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a44008f2372684bacfab03de5039f68b613c5b53 Author: Christian Borntraeger Date: Mon Jul 14 09:59:43 2008 +0200 [S390] Cleanup vmcp printk messages. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 6b648063eb51e2620774ddaebef4e07f2f6f4ae7 Author: Klaus-D. Wacker Date: Mon Jul 14 09:59:42 2008 +0200 [S390] Cleanup lcs printk messages. Cc: Jeff Garzik Signed-off-by: Klaus-D. Wacker Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 5532bd0f8591a5f61cfe903646e1f55e047bae90 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:41 2008 +0200 [S390] Cleanup kprobes printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0d130066801af8f0a0ea8c70c9c7374c51fd1a92 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:40 2008 +0200 [S390] Cleanup vmwatch printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ded77fb4dfcd6f84e564ddd9458208bf5b691c7f Author: Hongjie Yang Date: Mon Jul 14 09:59:39 2008 +0200 [S390] Cleanup dcssblk printk messages. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2a062ab483f5afd764fb20631ee960672946a4be Author: Michael Holzheu Date: Mon Jul 14 09:59:38 2008 +0200 [S390] Cleanup zfcp dumper printk messages. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2f6f2521bcfff108e02d97e3a326f995996ce95f Author: Martin Schwidefsky Date: Mon Jul 14 09:59:37 2008 +0200 [S390] Cleanup vmlogrdr printk messages. The message descriptions are still missing though .. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 21b21fc4f4b03361ceec0c7eb6b7b0557d4ffe86 Author: Michael Holzheu Date: Mon Jul 14 09:59:36 2008 +0200 [S390] Cleanup s390 debug feature print messages. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2ca5b6e288d02503cba5a6d3409cb9a0600e01dd Author: Gerald Schaefer Date: Mon Jul 14 09:59:35 2008 +0200 [S390] Cleanup monreader printk messages. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d3ae942d185bdb9b84a661889fc3349044eeb260 Author: Gerald Schaefer Date: Mon Jul 14 09:59:34 2008 +0200 [S390] Cleanup appldata printk messages. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d5ddc809bf3e63a9cd6d02062f6a7c86bcff7fea Author: Martin Schwidefsky Date: Mon Jul 14 09:59:33 2008 +0200 [S390] Cleanup smsgiucv printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d4ebabe8cae5a9265eb55b7f873b6b7d92c0cdd6 Author: Jan Glauber Date: Mon Jul 14 09:59:32 2008 +0200 [S390] Cleanup cpacf printk messages. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c4cef07cf39e18e9211a674d99cafde434b45a81 Author: Frank Blaschka Date: Mon Jul 14 09:59:31 2008 +0200 [S390] Cleanup qeth print messages. Cc: Jeff Garzik Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f082bcae72575714823ea2ea9447332642127d9c Author: Ursula Braun Date: Mon Jul 14 09:59:30 2008 +0200 [S390] Cleanup netiucv printk messages. Cc: Jeff Garzik Signed-off-by: Ursula Braun Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c2b4afd2f99a187ec3bbd6e2def186fbfb755929 Author: Ursula Braun Date: Mon Jul 14 09:59:29 2008 +0200 [S390] Cleanup iucv printk messages. Cc: David S. Miller Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a12c53f4fa759b59654b6d5f21eb4070cd45cd54 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:28 2008 +0200 [S390] Cleanup sclp printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1a89dd8f0b4d7eca2dd4abffb736f37676e1b073 Author: Felix Beck Date: Mon Jul 14 09:59:27 2008 +0200 [S390] Cleanup zcrypt printk messages. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 26348f78e84613371eb657ca1e584153ccb7d596 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:26 2008 +0200 [S390] Cleanup 3215 printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a26182ed7171bff74caf5a55d4d3bdd6f400dfb5 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:25 2008 +0200 [S390] Cleanup 3270 printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 8df22b4b39c6a1679f471bd68f97cf6f6819571a Author: Martin Schwidefsky Date: Mon Jul 14 09:59:24 2008 +0200 [S390] Cleanup xpram printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ca366a329ad8eff1230decd55b33fe23326862f6 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:23 2008 +0200 [S390] Cleanup vtime printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c78aa6cbace460081ddc6227f02b6d3203a21585 Author: Michael Ernst Date: Mon Jul 14 09:59:22 2008 +0200 [S390] Cleanup cio printk messages. Unnecessary dev_info, dev_warn and printk messages are removed. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23d1742179170b69e61ac9166248ffd64857e55a Author: Heiko Carstens Date: Mon Jul 14 09:59:21 2008 +0200 [S390] Move memory detection code to own file. Move memory detection code to own file and also simplify it. Also add an interface which can be called at any time to get the current memory layout. This interface is needed by our kernel internal system dumper. Cc: Peter Oberparleiter Cc: Michael Holzheu Cc: Frank Munzert Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ef60cd13ecee0ccf2439d63013cbfc798aea2bb9 Author: Sebastian Ott Date: Mon Jul 14 09:59:20 2008 +0200 [S390] cio: fix double unregistering of subchannels In some cases where the channel subsystem decides to drop a subchannel device device_unregister may be called twice, which results in an oops. The patch prevents this by only unregistering registered devices. Signed-off-by: Sebastian Ott Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e0bc24958e1305efe176adc9d5f23a09e84c0058 Author: Heiko Carstens Date: Mon Jul 14 09:59:19 2008 +0200 [S390] Add support for memory hot-add via sclp. Cc: Peter Oberparleiter Cc: Gerald Schaefer Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 421c175c4d609864350df495b34d3e99f9fb1bdd Author: Heiko Carstens Date: Mon Jul 14 09:59:18 2008 +0200 [S390] Add support for memory hot-add. Cc: Gerald Schaefer Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0788fea4d583a3b7d199696819940ff3387d79a3 Author: Akinobu Mita Date: Mon Jul 14 09:59:17 2008 +0200 [S390] s390: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Michael Holzheu Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a29591c47524dde594c84a279a5f1827e688a4c4 Author: Akinobu Mita Date: Mon Jul 14 09:59:16 2008 +0200 [S390] s390: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9cef21af03eb56473db5bb20d8754f377a498e7 Author: Akinobu Mita Date: Mon Jul 14 09:59:15 2008 +0200 [S390] s390/cio: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Peter Oberparleiter Signed-off-by: Andrew Morton Signed-off-by Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7785857a5a4f3e2093ced12568744a205e164d59 Author: Akinobu Mita Date: Mon Jul 14 09:59:14 2008 +0200 [S390] s390/vmcp: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3ca1c9907a352140bc83366511182b6ac776d8ee Author: Julia Lawall Date: Mon Jul 14 09:59:13 2008 +0200 [S390] drivers/s390: Eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. drivers/s390/char/raw3270.c | 11 +---------- drivers/s390/char/sclp_con.c | 2 -- 2 files changed, 1 insertion(+), 12 deletions(-) This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 402a3998ba6ba81bae6ac586ada55a0dd6a7c287 Author: Julia Lawall Date: Mon Jul 14 09:59:12 2008 +0200 [S390] arch/s390: Eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. arch/s390/kernel/topology.c | 2 -- 1 file changed, 2 deletions(-) This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9789db08c020193ae18826c3aa48bd24296f7848 Author: Heiko Carstens Date: Mon Jul 14 09:59:11 2008 +0200 [S390] Add sched.h include to asm-s390/pgtable.h. Some macros in pgtable.h access members from struct task_struct. Currently always works since sched.h seems always to be included before asm/pgtable.h. Unfortunately that is not anymore true with Jeremy Fitzhardinge's ptep_modify_prot transaction abstraction patch. So fix this. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d8c33d32a4c4f326579e7c2960492512de74662b Author: Ralph Wuerthner Date: Mon Jul 14 09:59:10 2008 +0200 [S390] zcrypt: Add additional card IDs to CEX2C and CEX2A Add support for new micro code load of CEX2C and CEX2A adapters, which uses different IDs. This patch just adds the IDs to the existing drivers. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a0443fbb467af5e5930b9b059b52190605f70059 Author: Hendrik Brueckner Date: Mon Jul 14 09:59:09 2008 +0200 [S390] Extra Kernel Parameters via VMPARM Now it is possible to specify additional kernel parameters on the IPL command line using the IPL PARM option. If the Linux system is already running, the new reipl sysfs attribute 'parm' can be used to change kernel parameters for the next reboot. Examples: IPL C PARM dasd=1234 root=/dev/dasda1 IPL 1234 PARM savesys=mylnxnss echo "init=/bin/bash" > /sys/firmware/reipl/ccw/parm Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fe1372306149d8c8a68d43765e7caea2377003b6 Author: Felix Beck Date: Mon Jul 14 09:59:08 2008 +0200 [S390] ap: Use high-resolution timer for polling The ap poll mechanism is converted to use a high-resolution timer for polling. This allows more specific polling. With this a new sysfs attribute is introduced to specify the polling rate in nanoseconds. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ad211790c040fae3459e9c4c8cbd681ae126d2b8 Author: Peter Oberparleiter Date: Mon Jul 14 09:59:07 2008 +0200 [S390] sclp: simplify vt220 cleanup logic Fix a number of sclp_vt220 cleanup problems: * fix list_empty check after list_del() * mark init-only flag as __initdata * remove implicit dependency between slab_available() and num_pages * straighten multiple init handling (use init count) Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 773922e1dab93a62e60cfb34afadb0f66d5f12e9 Author: Heiko Carstens Date: Mon Jul 14 09:59:06 2008 +0200 [S390] idle: remove idle notifier chain. The idle notifier chain consists of at most one element. So there's no point in having a notifier chain. Remove it and directly call the function. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9d92a7e1b0d095c8be96ce5e592c6c5541684631 Author: Cornelia Huck Date: Mon Jul 14 09:59:05 2008 +0200 [S390] cio: Add chsc subchannel driver. This patch adds a driver for subchannels of type chsc. A device /dev/chsc is created which may be used to issue ioctls to: - obtain information about the machine's I/O configuration - dynamically change the machine's I/O configuration via asynchronous chsc commands Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 683c5418e6ac9f40f925dab6f547a5b0a4ad43c6 Author: Peter Oberparleiter Date: Mon Jul 14 09:59:04 2008 +0200 [S390] cio: suppress chpid event in case of configure error Do not send CHP_ONLINE/CHP_OFFLINE events to subchannel drivers when a channel-path configure request failed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f08adc008d84f6b03d377ede951e29ed169e76e2 Author: Cornelia Huck Date: Mon Jul 14 09:59:03 2008 +0200 [S390] css: Use css_device_id for bus matching. css_device_id exists, so use it for determining the right driver (and add a match_flags which is always 1 for valid types). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 99611f87176b2a908d8c66ab19a5fc550a3cd13a Author: Cornelia Huck Date: Mon Jul 14 09:59:02 2008 +0200 [S390] cio: Repair chpid event handling. Passing the affected chpid in chp_event() worked only by chance since chpid is the first element in res_acc_data. Make it work properly by generalizing res_acc_data as chp_link and always passing around a properly filled out chp_link structure in chp_event(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 6ef556ccc8fd256259745c4f0d0ab65aaf703824 Author: Cornelia Huck Date: Mon Jul 14 09:59:01 2008 +0200 [S390] cio: Use isc_{register,unregister}. Use the new isc registration functions for all places that need an I/O interruption subclass. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fcc6ab335ba4d0f2b2548a910466c0dac767e5b1 Author: Sebastian Ott Date: Mon Jul 14 09:59:00 2008 +0200 [S390] cio: introduce isc_(un)register functions. This interface makes it easy for drivers to register usage of different I/O interruption subclasses without needing to worry about possible other users of the same isc. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit da7c5af82879828409f6b81431ac2f9f353ab04e Author: Cornelia Huck Date: Mon Jul 14 09:58:59 2008 +0200 [S390] cio: Allow adapter interrupt handlers per isc. Enhance the adapter interruption API so that device drivers can register a handler for a specific interruption subclass. This will allow different device drivers to move to differently prioritized subclasses in order to avoid congestion. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 3a3fc29a6d0626fb4897b7391c4e956efbacd394 Author: Cornelia Huck Date: Mon Jul 14 09:58:58 2008 +0200 [S390] cio: Introduce abstract isc definitions. Replace the numeric values for I/O interruption subclass usage with abstract definitions and collect them all in asm/isc.h. This gives us a better overview of which iscs are actually used and makes it possible to better spread out isc usage in the future. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 75784c00876c88ca6e955c39cbb5d47cf408fd3c Author: Cornelia Huck Date: Mon Jul 14 09:58:57 2008 +0200 [S390] cio: Get rid of css_characteristics_avail. Checking for the validity of the css_*_characteristics is superfluous since they stay 0 for non-successful scsc. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d2fec595511b5718bdb65645b3d5d99800d97943 Author: Martin Schwidefsky Date: Mon Jul 14 09:58:56 2008 +0200 [S390] stp support. Add support for clock synchronization with the server time protocol. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 761cdf6aacdb76f819050f4938cdab1f4cdcb945 Author: Heiko Carstens Date: Mon Jul 14 09:58:55 2008 +0200 [S390] initrd vs bss section clearing. In case the initrd is located within the bss section it will be overwritten when the section is cleared. To prevent this just move the initrd right behind the bss section if it starts within the section. The current code already moves the initrd if the bootmem allocator bitmap would overwrite it. With this patch we should be safe against initrd corruptions. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 63506c41986c4af9d4fd6f3490e98e335f3dc8f5 Author: Martin Schwidefsky Date: Mon Jul 14 09:58:54 2008 +0200 [S390] Introduce user_regset accessors for s390 Add the user_regset definitions for normal and compat processes, replace the dump_regs core dump cruft with the generic CORE_DUMP_USER_REGSET and replace binfmt_elf32.c with the generic compat_binfmt_elf.c implementation. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ae437a452ed20f9d13c1f17b0356201d54394efa Author: Sebastian Ott Date: Mon Jul 14 09:58:53 2008 +0200 [S390] cio: remove lock from ccw_device_oper_notify. Remove unnecessary ccw device locking inside ccw_device_oper_notify. Signed-off-by: Sebastian Ott Acked-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23f626894765d4c03b72a0d21e44bc46f5ccd12b Author: Peter Oberparleiter Date: Mon Jul 14 09:58:52 2008 +0200 [S390] cio: provide helper functions for fcx enabled I/O Provide functions which can be used to incrementally construct fcx enabled I/O control blocks. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 83262d6349e60b9d10798d489719d80029c00798 Author: Peter Oberparleiter Date: Mon Jul 14 09:58:51 2008 +0200 [S390] cio: provide functions for fcx enabled I/O Provide functions for assembling and starting fcx enabled I/O request blocks. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23d805b647db6c2063a13089497615efa9deacdd Author: Peter Oberparleiter Date: Mon Jul 14 09:58:50 2008 +0200 [S390] cio: introduce fcx enabled scsw format Extend the scsw data structure to the format required by fcx. Also provide helper functions for easier access to fields which are present in both the traditional as well as the modified format. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 4f2bd92e3b4f3b6405c5aadae3ad64acd94cdb78 Author: Peter Oberparleiter Date: Mon Jul 14 09:58:49 2008 +0200 [S390] cio: introduce fcx bit to chsc characteristics Introduce fcx bit to chsc characteristics. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b3a686f47a3615fcfec0a01c4103c50bb9621369 Author: Cornelia Huck Date: Mon Jul 14 09:58:48 2008 +0200 [S390] cio: Base message subchannel handling. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 44a1c19e3b47a7ac596808177ccd250b95f5e688 Author: Cornelia Huck Date: Mon Jul 14 09:58:47 2008 +0200 [S390] cio: Export some symbols for modular css drivers. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c11561897ab57a3c11e0a284ba17795d580589ab Author: Cornelia Huck Date: Mon Jul 14 09:58:46 2008 +0200 [S390] cio: Cleanup crw interface. Eliminate the need for the machine check handler to call into the common I/O layer directly by introducing an interface to register handlers for crws per rsc. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c820de39bd083222f5be2563181c87493e436f7c Author: Cornelia Huck Date: Mon Jul 14 09:58:45 2008 +0200 [S390] cio: Rework css driver. Rework the css driver methods to provide sane callbacks for subchannels of all types. As a bonus, this cleans up and simplyfies the machine check handling for I/O subchannels a lot. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7e9db9eaefdb8798730790214ff1b7746006ec98 Author: Cornelia Huck Date: Mon Jul 14 09:58:44 2008 +0200 [S390] cio: Introduce modalias for css bus. Add modalias and subchannel type attributes for all subchannels. I/O subchannel specific attributes are now created in io_subchannel_probe(). modalias and subchannel type are also added to the uevent for the css bus. Also make the css modalias known. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0ae7a7b250bdf7ee87c8346164ef3c47fb79dfbd Author: Cornelia Huck Date: Mon Jul 14 09:58:43 2008 +0200 [S390] cio: Register all subchannels. Register all valid subchannels, not only I/O subchannels. Move I/O subchannel specific initialization to io_subchannel_probe(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b4a33acb690525c5ca37e177f5cd26c62d3ef976 Author: Heiko Carstens Date: Mon Jul 14 09:57:29 2008 +0200 [S390] Remove ipldelay kernel parameter. Using the ipldelay kernel parameter leads to a crash at IPL time. Since this is broken since a long time it looks like nobody is using it anymore. So remove it instead of fixing it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b9732ca1cb2c18129d2f984b8de02db141b7b830 Author: Heiko Carstens Date: Mon Jul 14 09:57:28 2008 +0200 [S390] sclp: fix possible deadlock on cpu rescan. smp_rescan_cpus() calls get_online_cpus() from a multithreaded workqueue context. This may deadlock. This is the same bug as in arch/s390/kernel/topology.c. This patch can be reverted as soon as Oleg's patch gets merged. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0c3252d58c54c87ee0f8f40d840e0146a3b1d5fd Author: Gerald Schaefer Date: Mon Jul 14 09:57:27 2008 +0200 [S390] make appldata compile w/o CONFIG_SWAP Avoid compile error by using EXPORT_SYMBOL_GPL(si_swapinfo) only if CONFIG_SWAP is set. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 887d935a84df41f154508821c6b7d96de7dc2c41 Author: Heiko Carstens Date: Mon Jul 14 09:57:26 2008 +0200 [S390] sclp: keep facility mask up to date. In case the supported sclp facilities change the new mask should be saved. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bb0ca330a7e273cdecebae0283c9d267f60fe363 Author: Ursula Braun Date: Mon Jul 14 09:57:25 2008 +0200 [S390] qdio: Repair timeout handling for qdio_shutdown If qdio shutdown runs in parallel with a channel error, the qdio_timeout_handler might not be triggered. In this case neither state INACTIVE nor state ERR is reached and the following wait_event hangs forever. Solution: do not make use of ccw_device_set_timeout(), but add a timeout to the following wait_event. And make sure, wake_up is called in case of an i/o error on the qdio-device. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b1c02d9110e72ec510ec9b038f9564e3c0d87384 Author: Michael Ernst Date: Mon Jul 14 09:57:24 2008 +0200 [S390] cio: Use locks when accessing /sys/firmware/cpi data. Mutex locks are used to avoid problems when /sys/firmware/cpi data are accessed to in parallel. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9689b336e193680fc0fcaa33829dc670637e9c98 Author: Cornelia Huck Date: Mon Jul 14 09:57:23 2008 +0200 [S390] cio: Clear correct bit in cio_release_console(). Fallout from the console isc 7 -> 1 change. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 727c6742c29e46177951fdc8f6758085e03bb981 Author: Larry Finger Date: Sun Jul 13 12:46:36 2008 -0500 pcmcia: Fix ide-cs sparse warning Sparse shows the following warning: CHECK drivers/ide/legacy/ide-cs.c drivers/ide/legacy/ide-cs.c:378:6: warning: symbol 'ide_release' was not declared. Should it be static? Signed-off-by: Larry Finger CC: Bartlomiej Zolnierkiewicz Signed-off-by: Dominik Brodowski commit fe0a3fe324811385b64790d42079bf534798a0cd Author: Jaroslav Kysela Date: Mon Jul 14 09:54:43 2008 +0200 ALSA: Release v1.0.17 Signed-off-by: Jaroslav Kysela commit 2387ce57a8167490d3b34a7e1ffa9a64a1a76244 Author: Yinghai Lu Date: Sun Jul 13 14:50:56 2008 -0700 x86: make 64bit hpet_set_mapping to use ioremap too, v2 keep the one for VSYSCALL_HPET Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 87a1c441e1aeaf00f97e63dfc310ea7684ec9dda Author: Yinghai Lu Date: Sun Jul 13 14:30:35 2008 -0700 x86: get x86_phys_bits early when try to make hpet_enable use io_remap instead fixmap got ioremap: invalid physical address fed00000 ------------[ cut here ]------------ WARNING: at arch/x86/mm/ioremap.c:161 __ioremap_caller+0x8c/0x2f3() Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.26-rc9-tip-01873-ga9827e7-dirty #358 Call Trace: [] warn_on_slowpath+0x6c/0xa7 [] ? __slab_alloc+0x20a/0x3fb [] ? mpol_new+0x88/0x17d [] ? mcount_call+0x5/0x31 [] ? mcount_call+0x5/0x31 [] __ioremap_caller+0x8c/0x2f3 [] ? hpet_enable+0x39/0x241 [] ? mcount_call+0x5/0x31 [] ioremap_nocache+0x2a/0x40 [] hpet_enable+0x39/0x241 [] hpet_time_init+0x21/0x4e [] start_kernel+0x302/0x395 [] x86_64_start_reservations+0xb9/0xd4 [] ? x86_64_init_pda+0x39/0x4f [] x86_64_start_kernel+0xec/0x107 ---[ end trace a7919e7f17c0a725 ]--- it seems for amd system that is set later... try to move setting early in early_identify_cpu. and remove same code for intel and centaur. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 32b23e9a7331fce57eb0af52e19e8409fdef831b Author: Yinghai Lu Date: Sun Jul 13 14:29:41 2008 -0700 x86: max_low_pfn_mapped fix #4 only add direct mapping for aperture Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 80ca9a706b458d09b8cc8d5258bb61957f66ca5e Author: Milton Miller Date: Sun Jul 13 13:58:12 2008 +0200 ALSA: correct kcalloc usage kcalloc is supposed to be called with the count as its first argument and the element size as the second. Both arguments are size_t so does not affect correctness. This callsite is during module_init and therefore not performance critical. Another patch will optimize the case when the count is variable but the size is fixed. Signed-off-by: Milton Miller Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 862c2c0a61c515f2e9f63f689215bcf99a607eaf Author: Thomas Bogendoerfer Date: Sat Jul 12 22:43:50 2008 +0200 ALSA: ALSA driver for SGI O2 audio board This patch adds a new ALSA driver for the audio device found inside most of the SGI O2 workstation. The hardware uses a SGI custom chip, which feeds a AD codec chip. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1e066322c26562621811effb1eb14097bc67a9ee Author: Liam Girdwood Date: Fri Jul 11 14:05:17 2008 +0100 ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform. We don't want to see ASoC platform menus for other non selected architectures in our config. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 787dba37a6ff5c80c67f37c081712a6e4af92e25 Author: Thomas Bogendoerfer Date: Sat Jul 12 12:12:20 2008 +0200 ALSA: ALSA driver for SGI HAL2 audio device This patch adds a new ALSA driver for the audio device found inside many older SGI workstation (Indy, Indigo2). The hardware uses a SGI custom chip, which feeds two codec chips, an IEC chip and a synth chip. Currently only one of the codecs is supported. This driver already has the same functionality as the HAL2 OSS driver and will replace it. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e4641541e9681a568483133813332cfafa34d86 Author: Takashi Iwai Date: Sat Jul 12 12:05:25 2008 +0200 ALSA: hda - Fix FSC V5505 model model=laptop-hpmicsense matches better to FSC V5505 laptop. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 86376df6ad0f1a7a1118cd53b0cfd679524f5436 Author: Takashi Iwai Date: Sat Jul 12 12:04:05 2008 +0200 ALSA: hda - Fix missing init for unsol events on micsense model Fixed the missing initialization for unsolicited events on Cx5045 micsense model. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4090dffb1438e03a434e3747b14321440561d956 Author: Takashi Iwai Date: Sat Jul 12 12:02:45 2008 +0200 ALSA: hda - Fix internal mic vref pin setup Set the vref80 to the internal mic pin 0x12 for Cx5045. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f7c5dda23a9f4b7f8977612154daef44cc0f423b Author: Matthew Ranostay Date: Thu Jul 10 17:49:11 2008 +0200 ALSA: hda: 92hd71bxx PC Beep Added volume controls for the analog PC Beep on 92hd71bxx codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6f0f0fd496333777d53daff21a4e3b28c4d03a6d Author: James Morris Date: Thu Jul 10 17:02:07 2008 +0900 security: remove register_security hook The register security hook is no longer required, as the capability module is always registered. LSMs wishing to stack capability as a secondary module should do so explicitly. Signed-off-by: James Morris Acked-by: Stephen Smalley Acked-by: Greg Kroah-Hartman commit 93cbace7a058bce7f99319ef6ceff4b78cf45051 Author: Miklos Szeredi Date: Thu Jul 10 11:10:09 2008 +0200 security: remove dummy module fix Fix small oversight in "security: remove dummy module": CONFIG_SECURITY_FILE_CAPABILITIES doesn't depend on CONFIG_SECURITY Signed-off-by: Miklos Szeredi Signed-off-by: James Morris commit 5915eb53861c5776cfec33ca4fcc1fd20d66dd27 Author: Miklos Szeredi Date: Thu Jul 3 20:56:05 2008 +0200 security: remove dummy module Remove the dummy module and make the "capability" module the default. Compile and boot tested. Signed-off-by: Miklos Szeredi Acked-by: Serge Hallyn Signed-off-by: James Morris commit b478a9f9889c81e88077d1495daadee64c0af541 Author: Miklos Szeredi Date: Thu Jul 3 20:56:04 2008 +0200 security: remove unused sb_get_mnt_opts hook The sb_get_mnt_opts() hook is unused, and is superseded by the sb_show_options() hook. Signed-off-by: Miklos Szeredi Acked-by: James Morris commit 2069f457848f846cb31149c9aa29b330a6b66d1b Author: Eric Paris Date: Fri Jul 4 09:47:13 2008 +1000 LSM/SELinux: show LSM mount options in /proc/mounts This patch causes SELinux mount options to show up in /proc/mounts. As with other code in the area seq_put errors are ignored. Other LSM's will not have their mount options displayed until they fill in their own security_sb_show_options() function. Signed-off-by: Eric Paris Signed-off-by: Miklos Szeredi Signed-off-by: James Morris commit 811f3799279e567aa354c649ce22688d949ac7a9 Author: Eric Paris Date: Wed Jun 18 09:50:04 2008 -0400 SELinux: allow fstype unknown to policy to use xattrs if present Currently if a FS is mounted for which SELinux policy does not define an fs_use_* that FS will either be genfs labeled or not labeled at all. This decision is based on the existence of a genfscon rule in policy and is irrespective of the capabilities of the filesystem itself. This patch allows the kernel to check if the filesystem supports security xattrs and if so will use those if there is no fs_use_* rule in policy. An fstype with a no fs_use_* rule but with a genfs rule will use xattrs if available and will follow the genfs rule. This can be particularly interesting for things like ecryptfs which actually overlays a real underlying FS. If we define excryptfs in policy to use xattrs we will likely get this wrong at times, so with this path we just don't need to define it! Overlay ecryptfs on top of NFS with no xattr support: SELinux: initialized (dev ecryptfs, type ecryptfs), uses genfs_contexts Overlay ecryptfs on top of ext4 with xattr support: SELinux: initialized (dev ecryptfs, type ecryptfs), uses xattr It is also useful as the kernel adds new FS we don't need to add them in policy if they support xattrs and that is how we want to handle them. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 65fc7668006b537f7ae8451990c0ed9ec882544e Author: James Morris Date: Thu Jun 12 01:00:10 2008 +1000 security: fix return of void-valued expressions Fix several warnings generated by sparse of the form "returning void-valued expression". Signed-off-by: James Morris Acked-by: Casey Schaufler Acked-by: Serge Hallyn commit 2baf06df85b27c1d64867883a0692519594f1ef2 Author: James Morris Date: Thu Jun 12 01:42:35 2008 +1000 SELinux: use do_each_thread as a proper do/while block Use do_each_thread as a proper do/while block. Sparse complained. Signed-off-by: James Morris Acked-by: Stephen Smalley commit e399f98224a03d2e85fb45eacba367c47173f6f9 Author: James Morris Date: Thu Jun 12 01:39:58 2008 +1000 SELinux: remove unused and shadowed addrlen variable Remove unused and shadowed addrlen variable. Picked up by sparse. Signed-off-by: James Morris Acked-by: Stephen Smalley Acked-by: Paul Moore commit 6cbe27061a69ab89d25dbe42d1a4f33a8425fe88 Author: Eric Paris Date: Mon Jun 9 16:51:37 2008 -0400 SELinux: more user friendly unknown handling printk I've gotten complaints and reports about people not understanding the meaning of the current unknown class/perm handling the kernel emits on every policy load. Hopefully this will make make it clear to everyone the meaning of the message and won't waste a printk the user won't care about anyway on systems where the kernel and the policy agree on everything. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 22df4adb049a5cbb340dd935f5bbfa1ab3947562 Author: Stephen Smalley Date: Mon Jun 9 16:03:56 2008 -0400 selinux: change handling of invalid classes (Was: Re: 2.6.26-rc5-mm1 selinux whine) On Mon, 2008-06-09 at 01:24 -0700, Andrew Morton wrote: > Getting a few of these with FC5: > > SELinux: context_struct_compute_av: unrecognized class 69 > SELinux: context_struct_compute_av: unrecognized class 69 > > one came out when I logged in. > > No other symptoms, yet. Change handling of invalid classes by SELinux, reporting class values unknown to the kernel as errors (w/ ratelimit applied) and handling class values unknown to policy as normal denials. Signed-off-by: Stephen Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit 89abd0acf0335f3f760a3c0698d43bb1eaa83e44 Author: Eric Paris Date: Mon Jun 9 15:58:04 2008 -0400 SELinux: drop load_mutex in security_load_policy We used to protect against races of policy load in security_load_policy by using the load_mutex. Since then we have added a new mutex, sel_mutex, in sel_write_load() which is always held across all calls to security_load_policy we are covered and can safely just drop this one. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit cea78dc4ca044e9666e8f5d797ec50ab85253e49 Author: Eric Paris Date: Mon Jun 9 15:43:12 2008 -0400 SELinux: fix off by 1 reference of class_to_string in context_struct_compute_av The class_to_string array is referenced by tclass. My code mistakenly was using tclass - 1. If the proceeding class is a userspace class rather than kernel class this may cause a denial/EINVAL even if unknown handling is set to allow. The bug shouldn't be allowing excess privileges since those are given based on the contents of another array which should be correctly referenced. At this point in time its pretty unlikely this is going to cause problems. The most recently added kernel classes which could be affected are association, dccp_socket, and peer. Its pretty unlikely any policy with handle_unknown=allow doesn't have association and dccp_socket undefined (they've been around longer than unknown handling) and peer is conditionalized on a policy cap which should only be defined if that class exists in policy. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit bdd581c1439339f1d3e8446b83e0f1beaef294e9 Author: James Morris Date: Fri Jun 6 18:50:12 2008 +1000 SELinux: open code sidtab lock Open code sidtab lock to make Andrew Morton happy. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 972ccac2b237967ed7e56a50eb181b5a0a484b79 Author: James Morris Date: Fri Jun 6 18:43:26 2008 +1000 SELinux: open code load_mutex Open code load_mutex as suggested by Andrew Morton. Signed-off-by: James Morris commit 0804d1133c02cbdfba0055de774f2c21a8b777dc Author: James Morris Date: Fri Jun 6 18:40:29 2008 +1000 SELinux: open code policy_rwlock Open code policy_rwlock, as suggested by Andrew Morton. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 59dbd1ba9847837aa7095f3e4a29599dae412ac4 Author: Stephen Smalley Date: Thu Jun 5 09:48:51 2008 -0400 selinux: fix endianness bug in network node address handling Fix an endianness bug in the handling of network node addresses by SELinux. This yields no change on little endian hardware but fixes the incorrect handling on big endian hardware. The network node addresses are stored in network order in memory by checkpolicy, not in cpu/host order, and thus should not have cpu_to_le32/le32_to_cpu conversions applied upon policy write/read unlike other data in the policy. Bug reported by John Weeks of Sun, who noticed that binary policy files built from the same policy source on x86 and sparc differed and tracked it down to the ipv4 address handling in checkpolicy. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 242631c49d4cf39642741d6627750151b058233b Author: Stephen Smalley Date: Thu Jun 5 09:21:28 2008 -0400 selinux: simplify ioctl checking Simplify and improve the robustness of the SELinux ioctl checking by using the "access mode" bits of the ioctl command to determine the permission check rather than dealing with individual command values. This removes any knowledge of specific ioctl commands from SELinux and follows the same guidance we gave to Smack earlier. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit abc69bb633931bf54c6db798bcdc6fd1e0284742 Author: Stephen Smalley Date: Wed May 21 14:16:12 2008 -0400 SELinux: enable processes with mac_admin to get the raw inode contexts Enable processes with CAP_MAC_ADMIN + mac_admin permission in policy to get undefined contexts on inodes. This extends the support for deferred mapping of security contexts in order to permit restorecon and similar programs to see the raw file contexts unknown to the system policy in order to check them. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 006ebb40d3d65338bd74abb03b945f8d60e362bd Author: Stephen Smalley Date: Mon May 19 08:32:49 2008 -0400 Security: split proc ptrace checking into read vs. attach Enable security modules to distinguish reading of process state via proc from full ptrace access by renaming ptrace_may_attach to ptrace_may_access and adding a mode argument indicating whether only read access or full attach access is requested. This allows security modules to permit access to reading process state without granting full ptrace access. The base DAC/capability checking remains unchanged. Read access to /proc/pid/mem continues to apply a full ptrace attach check since check_mem_permission() already requires the current task to already be ptracing the target. The other ptrace checks within proc for elements like environ, maps, and fds are changed to pass the read mode instead of attach. In the SELinux case, we model such reading of process state as a reading of a proc file labeled with the target process' label. This enables SELinux policy to permit such reading of process state without permitting control or manipulation of the target process, as there are a number of cases where programs probe for such information via proc but do not need to be able to control the target (e.g. procps, lsof, PolicyKit, ConsoleKit). At present we have to choose between allowing full ptrace in policy (more permissive than required/desired) or breaking functionality (or in some cases just silencing the denials via dontaudit rules but this can hide genuine attacks). This version of the patch incorporates comments from Casey Schaufler (change/replace existing ptrace_may_attach interface, pass access mode), and Chris Wright (provide greater consistency in the checking). Note that like their predecessors __ptrace_may_attach and ptrace_may_attach, the __ptrace_may_access and ptrace_may_access interfaces use different return value conventions from each other (0 or -errno vs. 1 or 0). I retained this difference to avoid any changes to the caller logic but made the difference clearer by changing the latter interface to return a bool rather than an int and by adding a comment about it to ptrace.h for any future callers. Signed-off-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: James Morris commit feb2a5b82d87fbdc01c00b7e9413e4b5f4c1f0c1 Author: James Morris Date: Tue May 20 09:42:33 2008 +1000 SELinux: remove inherit field from inode_security_struct Remove inherit field from inode_security_struct, per Stephen Smalley: "Let's just drop inherit altogether - dead field." Signed-off-by: James Morris commit fdeb05184b8b2500e120647778d63fddba76dc59 Author: Richard Kennedy Date: Sun May 18 12:32:57 2008 +0100 SELinux: reorder inode_security_struct to increase objs/slab on 64bit reorder inode_security_struct to remove padding on 64 bit builds size reduced from 72 to 64 bytes increasing objects per slab to 64. Signed-off-by: Richard Kennedy Signed-off-by: James Morris commit f5269710789f666a65cf1132c4f1d14fbc8d3c29 Author: Eric Paris Date: Wed May 14 11:27:45 2008 -0400 SELinux: keep the code clean formating and syntax Formatting and syntax changes whitespace, tabs to spaces, trailing space put open { on same line as struct def remove unneeded {} after if statements change printk("Lu") to printk("llu") convert asm/uaccess.h to linux/uaacess.h includes remove unnecessary asm/bug.h includes convert all users of simple_strtol to strict_strtol Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9a59daa03df72526d234b91dd3e32ded5aebd3ef Author: Stephen Smalley Date: Wed May 14 10:33:55 2008 -0400 SELinux: fix sleeping allocation in security_context_to_sid Fix a sleeping function called from invalid context bug by moving allocation to the callers prior to taking the policy rdlock. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 12b29f34558b9b45a2c6eabd4f3c6be939a3980f Author: Stephen Smalley Date: Wed May 7 13:03:20 2008 -0400 selinux: support deferred mapping of contexts Introduce SELinux support for deferred mapping of security contexts in the SID table upon policy reload, and use this support for inode security contexts when the context is not yet valid under the current policy. Only processes with CAP_MAC_ADMIN + mac_admin permission in policy can set undefined security contexts on inodes. Inodes with such undefined contexts are treated as having the unlabeled context until the context becomes valid upon a policy reload that defines the context. Context invalidation upon policy reload also uses this support to save the context information in the SID table and later recover it upon a subsequent policy reload that defines the context again. This support is to enable package managers and similar programs to set down file contexts unknown to the system policy at the time the file is created in order to better support placing loadable policy modules in packages and to support build systems that need to create images of different distro releases with different policies w/o requiring all of the contexts to be defined or legal in the build host policy. With this patch applied, the following sequence is possible, although in practice it is recommended that this permission only be allowed to specific program domains such as the package manager. # rmdir baz # rm bar # touch bar # chcon -t foo_exec_t bar # foo_exec_t is not yet defined chcon: failed to change context of `bar' to `system_u:object_r:foo_exec_t': Invalid argument # mkdir -Z system_u:object_r:foo_exec_t baz mkdir: failed to set default file creation context to `system_u:object_r:foo_exec_t': Invalid argument # cat setundefined.te policy_module(setundefined, 1.0) require { type unconfined_t; type unlabeled_t; } files_type(unlabeled_t) allow unconfined_t self:capability2 mac_admin; # make -f /usr/share/selinux/devel/Makefile setundefined.pp # semodule -i setundefined.pp # chcon -t foo_exec_t bar # foo_exec_t is not yet defined # mkdir -Z system_u:object_r:foo_exec_t baz # ls -Zd bar baz -rw-r--r-- root root system_u:object_r:unlabeled_t bar drwxr-xr-x root root system_u:object_r:unlabeled_t baz # cat foo.te policy_module(foo, 1.0) type foo_exec_t; files_type(foo_exec_t) # make -f /usr/share/selinux/devel/Makefile foo.pp # semodule -i foo.pp # defines foo_exec_t # ls -Zd bar baz -rw-r--r-- root root user_u:object_r:foo_exec_t bar drwxr-xr-x root root system_u:object_r:foo_exec_t baz # semodule -r foo # ls -Zd bar baz -rw-r--r-- root root system_u:object_r:unlabeled_t bar drwxr-xr-x root root system_u:object_r:unlabeled_t baz # semodule -i foo.pp # ls -Zd bar baz -rw-r--r-- root root user_u:object_r:foo_exec_t bar drwxr-xr-x root root system_u:object_r:foo_exec_t baz # semodule -r setundefined foo # chcon -t foo_exec_t bar # no longer defined and not allowed chcon: failed to change context of `bar' to `system_u:object_r:foo_exec_t': Invalid argument # rmdir baz # mkdir -Z system_u:object_r:foo_exec_t baz mkdir: failed to set default file creation context to `system_u:object_r:foo_exec_t': Invalid argument Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit c0e09200dc0813972442e550a5905a132768e56c Author: Dave Airlie Date: Thu May 29 10:09:59 2008 +1000 drm: reorganise drm tree to be more future proof. With the coming of kernel based modesetting and the memory manager stuff, the everything in one directory approach was getting very ugly and starting to be unmanageable. This restructures the drm along the lines of other kernel components. It creates a drivers/gpu/drm directory and moves the hw drivers into subdirectores. It moves the includes into an include/drm, and sets up the unifdef for the userspace headers we should be exporting. Signed-off-by: Dave Airlie commit 11369f356b66d363a615fde2c5526962f7683674 Author: Mike Travis Date: Tue Jul 8 14:35:21 2008 -0700 x86: change _node_to_cpumask_ptr to return const ptr * Strengthen the return type for the _node_to_cpumask_ptr to be a const pointer. This adds compiler checking to insure that node_to_cpumask_map[] is not changed inadvertently. Signed-off-by: Mike Travis Cc: "akpm@linux-foundation.org" Cc: Yinghai Lu Acked-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 090657e423f45a77151943f50165ae9565bfbf33 Author: Imre Kaloz Date: Sun Jul 13 20:12:11 2008 +0800 crypto: ixp4xx - Select CRYPTO_AUTHENC Without CRYPTO_AUTHENC the driver fails to build: drivers/built-in.o: In function `ixp_module_init': ixp4xx_crypto.c:(.init.text+0x3250): undefined reference to `crypto_aead_type' Signed-off-by: Imre Kaloz Signed-off-by: Herbert Xu commit 815224293e5aa4c7dc1638807889e345f385b38d Author: Larry Finger Date: Fri Jul 11 21:48:54 2008 -0500 pcmcia: ide-cs debugging bugfix The code in module ide-cs does not conform to the current standard if setting CONFIG_PCMCIA_DEBUG to "y", and loading the module with the option "pc_debug=N". When that is fixed, then a warning results that version is defined but not used. This patch fixes both situations. Signed-off-by: Larry Finger CC: Bartlomiej Zolnierkiewicz Signed-off-by: Dominik Brodowski commit ce8b06b985ae48f9425de6e4641e77cb3613ef00 Author: Maciej W. Rozycki Date: Sun Jul 13 03:29:42 2008 +0100 x86: I/O APIC: remove an IRQ2-mask hack Now that IRQ2 is never made available to the I/O APIC, there is no need to special-case it and mask as a workaround for broken systems. Actually, because of the former, mask_IO_APIC_irq(2) is a no-op already. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit 54ef76f37bcccf8c16fbaaed13c3c40825195958 Merge: 032f827... 9df2fe9... Author: Ingo Molnar Date: Sun Jul 13 08:50:13 2008 +0200 Merge branch 'linus' into sched/devel commit 3d88cca7085cffce077f808f36551e9050eb9e3a Author: Yinghai Lu Date: Sat Jul 12 22:52:55 2008 -0700 x86: fix numaq_tsc_disable calling got this on a test-system: calling numaq_tsc_disable+0x0/0x39 NUMAQ: disabling TSC initcall numaq_tsc_disable+0x0/0x39 returned 0 after 0 msecs that's because we should not be using arch_initcall to call numaq_tsc_disable. need to call it in setup_arch before time_init()/tsc_init() and call it in init_intel() to make the cpu feature bits right. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7b479becdb8c1fb4ff6fbb2a4076c471c737b54c Author: Yinghai Lu Date: Sat Jul 12 22:57:07 2008 -0700 x86, e820: remove end_user_pfn end_user_pfn used to modify the meaning of the e820 maps. Now that all e820 operations are cleaned up, unified, tightened up, the e820 map always get updated to reality, we don't need to keep this secondary mechanism anymore. If you hit this commit in bisection it means something slipped through. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9958e810f8ac92f8a447035ee6555420ba27b847 Author: Yinghai Lu Date: Sat Jul 12 14:32:45 2008 -0700 x86: max_low_pfn_mapped fix, #3 optimization: try to merge the range with same page size in init_memory_mapping, to get the best possible linear mappings set up. thus when GBpages is not there, we could do 2M pages. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 965194c15dc9e4f3bc44432b39c441c86af7f11d Author: Yinghai Lu Date: Sat Jul 12 14:31:28 2008 -0700 x86: max_low_pfn_mapped fix, #2 tighten the boundary checks around max_low_pfn_mapped - dont overmap nor undermap into holes. also print out tseg for AMD cpus, for diagnostic purposes. (this is an SMM area, and we split up any big mappings around that area) Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 7ab073b6e0cde1544f4e79fadb75532528af7595 Author: Yinghai Lu Date: Sat Jul 12 14:30:35 2008 -0700 x86: max_low_pfn_mapped fix, #1 fix crash on Ingo's big box: calling pci_iommu_init+0x0/0x17 PCI-DMA: Disabling AGP. PCI-DMA: aperture base @ d0000000 size 65536 KB PCI-DMA: using GART IOMMU. PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture BUG: unable to handle kernel paging request at ffff88000003be88 IP: [] __alloc_pages_internal+0xc3/0x3f2 PGD 202063 PUD 206063 PMD 22fc00163 PTE 3b162 Oops: 0000 [1] SMP and e820 is: BIOS-e820: 0000000000000000 - 000000000009ac00 (usable) BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000ca000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000007ff70000 (usable) BIOS-e820: 000000007ff70000 - 000000007ff86000 (ACPI data) BIOS-e820: 000000007ff86000 - 0000000080000000 (ACPI NVS) BIOS-e820: 0000000080000000 - 00000000cfe00000 (usable) BIOS-e820: 00000000cfe00000 - 00000000d0000000 (reserved) BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000000830000000 (usable) system has 32 GB RAM installed. max_low_pfn_mapped is 0xcfe00, and GART aperture is not mapped. So try to use init_memory_mapping to map that area, because the iommu thinks that area is ram ... Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit a72f0dbfd93159acdf2467e5a022b28f763061f6 Author: Jan Glauber Date: Sat Jul 12 15:42:11 2008 +0800 crypto: s390 - Respect STFL bit Bevore issuing any s390 crypto operation check whether the CPACF facility is enabled in the facility list. That way a virtualization layer can prevent usage of the CPACF facility regardless of the availability of the crypto instructions. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit ae94b8075a2ed58d2318ef03827b25bc844f844e Merge: eca91e7... a26929f... Author: Ingo Molnar Date: Sat Jul 12 07:29:02 2008 +0200 Merge branch 'linus' into x86/core Conflicts: arch/x86/mm/ioremap.c Signed-off-by: Ingo Molnar commit eca91e7838ec92e8c12122849ec7539c4765b689 Author: Roland McGrath Date: Thu Jul 10 14:50:39 2008 -0700 x86_64: fix delayed signals On three of the several paths in entry_64.S that call do_notify_resume() on the way back to user mode, we fail to properly check again for newly-arrived work that requires another call to do_notify_resume() before going to user mode. These paths set the mask to check only _TIF_NEED_RESCHED, but this is wrong. The other paths that lead to do_notify_resume() do this correctly already, and entry_32.S does it correctly in all cases. All paths back to user mode have to check all the _TIF_WORK_MASK flags at the last possible stage, with interrupts disabled. Otherwise, we miss any flags (TIF_SIGPENDING for example) that were set any time after we entered do_notify_resume(). More work flags can be set (or left set) synchronously inside do_notify_resume(), as TIF_SIGPENDING can be, or asynchronously by interrupts or other CPUs (which then send an asynchronous interrupt). There are many different scenarios that could hit this bug, most of them races. The simplest one to demonstrate does not require any race: when one signal has done handler setup at the check before returning from a syscall, and there is another signal pending that should be handled. The second signal's handler should interrupt the first signal handler before it actually starts (so the interrupted PC is still at the handler's entry point). Instead, it runs away until the next kernel entry (next syscall, tick, etc). This test behaves correctly on 32-bit kernels, and fails on 64-bit (either 32-bit or 64-bit test binary). With this fix, it works. #define _GNU_SOURCE #include #include #include #include #ifndef REG_RIP #define REG_RIP REG_EIP #endif static sig_atomic_t hit1, hit2; static void handler (int sig, siginfo_t *info, void *ctx) { ucontext_t *uc = ctx; if ((void *) uc->uc_mcontext.gregs[REG_RIP] == &handler) { if (sig == SIGUSR1) hit1 = 1; else hit2 = 1; } printf ("%s at %#lx\n", strsignal (sig), uc->uc_mcontext.gregs[REG_RIP]); } int main (void) { struct sigaction sa; sigset_t set; sigemptyset (&sa.sa_mask); sa.sa_flags = SA_SIGINFO; sa.sa_sigaction = &handler; if (sigaction (SIGUSR1, &sa, NULL) || sigaction (SIGUSR2, &sa, NULL)) return 2; sigemptyset (&set); sigaddset (&set, SIGUSR1); sigaddset (&set, SIGUSR2); if (sigprocmask (SIG_BLOCK, &set, NULL)) return 3; printf ("main at %p, handler at %p\n", &main, &handler); raise (SIGUSR1); raise (SIGUSR2); if (sigprocmask (SIG_UNBLOCK, &set, NULL)) return 4; if (hit1 + hit2 == 1) { puts ("PASS"); return 0; } puts ("FAIL"); return 1; } Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit da1f29f5dfcc8641f9ff6f3deaa9f03b57e63229 Author: Rafael J. Wysocki Date: Sat Jul 12 02:50:15 2008 +0200 x86: remove conflicting nx6325 and nx6125 quirks We have two conflicting DMA-based quirks in there for the same set of boxes (HP nx6325 and nx6125) and one of them actually breaks my box. So remove the extra code. Signed-off-by: Rafael J. Wysocki Cc: Stephen Rothwell Cc: =?iso-8859-1?q?T=F6r=F6k_Edwin?= Cc: Vegard Nossum Cc: Andreas Herrmann Signed-off-by: Ingo Molnar commit feae1ef116ed381625d3731c5ae4f4ebcb3fa302 Author: Roland Dreier Date: Fri Jul 11 13:54:40 2008 -0700 IB/umad: BKL is not needed for ib_umad_open() Remove explicit lock_kernel() calls and document why the code is safe. Signed-off-by: Roland Dreier Signed-off-by: Jonathan Corbet commit 6c82a000a29b93541b5b7db597a083c069755cc9 Merge: 5b4d238... 39415a4... Author: Ingo Molnar Date: Fri Jul 11 21:22:18 2008 +0200 Merge branch 'x86/generalize-visws' into x86/core commit 5b4d2386c23e5de553fce002892c7691a989b350 Author: Maciej W. Rozycki Date: Fri Jul 11 19:47:15 2008 +0100 x86: Recover timer_ack lost in the merge of the NMI watchdog In the course of the recent unification of the NMI watchdog an assignment to timer_ack to switch off unnecesary POLL commands to the 8259A in the case of a watchdog failure has been accidentally removed. The statement used to be limited to the 32-bit variation as since the rewrite of the timer code it has been relevant for the 82489DX only. This change brings it back. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit af174783b9251f0afd4bb78927221bcaaa65d3ac Author: Maciej W. Rozycki Date: Fri Jul 11 19:35:23 2008 +0100 x86: I/O APIC: Never configure IRQ2 There is no such entity as ISA IRQ2. The ACPI spec does not make it explicitly clear, but does not preclude it either -- all it says is ISA legacy interrupts are identity mapped by default (subject to overrides), but it does not state whether IRQ2 exists or not. As a result if there is no IRQ0 override, then IRQ2 is normally initialised as an ISA interrupt, which implies an edge-triggered line, which is unmasked by default as this is what we do for edge-triggered I/O APIC interrupts so as not to miss an edge. To the best of my knowledge it is useless, as IRQ2 has not been in use since the PC/AT as back then it was taken by the 8259A cascade interrupt to the slave, with the line position in the slot rerouted to newly-created IRQ9. No device could thus make use of this line with the pair of 8259A chips. Now in theory INTIN2 of the I/O APIC may be usable, but the interrupt of the device wired to it would not be available in the PIC mode at all, so I seriously doubt if anybody decided to reuse it for a regular device. However there are two common uses of INTIN2. One is for IRQ0, with an ACPI interrupt override (or its equivalent in the MP table). But in this case IRQ2 is gone entirely with INTIN0 left vacant. The other one is for an 8959A ExtINTA cascade. In this case IRQ0 goes to INTIN0 and if ACPI is used INTIN2 is assumed to be IRQ2 (there is no override and ACPI has no way to report ExtINTA interrupts). This is where a problem happens. The problem is INTIN2 is configured as a native APIC interrupt, with a vector assigned and the mask cleared. And the line may indeed get active and inject interrupts if the master 8959A has its timer interrupt enabled (it might happen for other interrupts too, but they are normally masked in the process of rerouting them to the I/O APIC). There are two cases where it will happen: * When the I/O APIC NMI watchdog is enabled. This is actually a misnomer as the watchdog pulses are delivered through the 8259A to the LINT0 inputs of all the local APICs in the system. The implication is the output of the master 8259A goes high and low repeatedly, signalling interrupts to INTIN2 which is enabled too! [The origin of the name is I think for a brief period during the development we had a capability in our code to configure the watchdog to use an I/O APIC input; that would be INTIN2 in this scenario.] * When the native route of IRQ0 via INTIN0 fails for whatever reason -- as it happens with the system considered here. In this scenario the timer pulse is delivered through the 8259A to LINT0 input of the local APIC of the bootstrap processor, quite similarly to how is done for the watchdog described above. The result is, again, INTIN2 receives these pulses too. Rafael's system used to escape this scenario, because an incorrect IRQ0 override would occupy INTIN2 and prevent it from being unmasked. My conclusion is IRQ2 should be excluded from configuration in all the cases and the current exception for ACPI systems should be lifted. The reason being the exception not only being useless, but harmful as well. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit c88ac1df4885ce0d762cfeff0e7d5b83725c1e5c Author: Maciej W. Rozycki Date: Fri Jul 11 19:35:17 2008 +0100 x86: L-APIC: Always fully configure IRQ0 Unlike the 32-bit one, the 64-bit variation of the LVT0 setup code for the "8259A Virtual Wire" through the local APIC timer configuration does not fully configure the relevant irq_chip structure. Instead it relies on the preceding I/O APIC code to have set it up, which does not happen if the I/O APIC variants have not been tried. The patch includes corresponding changes to the 32-bit variation too which make them both the same, barring a small syntactic difference involving sequence of functions in the source. That should work as an aid with the upcoming merge. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit 1baea6e2fea6f235b21f32a322cb6cb43ffdb704 Author: Maciej W. Rozycki Date: Fri Jul 11 19:34:36 2008 +0100 x86: L-APIC: Set IRQ0 as edge-triggered IRQ0 is edge-triggered, but the "8259A Virtual Wire" through the local APIC configuration in the 32-bit version uses the "fasteoi" handler suitable for level-triggered APIC interrupt. Rewrite code so that the "edge" handler is used. The 64-bit version uses different code and is unaffected. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit 392a0fc96bd059b38564f5f8fb58327460cb5a9d Author: Glauber Costa Date: Fri Jul 11 12:36:52 2008 -0300 x86: merge dwarf2 headers Merge dwarf2_32.h and dwarf2_64.h into dwarf2.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d73a731abe2a77fb54c5de4f72036b60ce3a048e Author: Glauber Costa Date: Thu Jul 10 15:17:53 2008 -0300 x86: use AS_CFI instead of UNWIND_INFO In dwarf2_32.h, test for CONFIG_AS_CFI instead of CONFIG_UNWIND_INFO. Turns out that searching for UNWIND_INFO returns no match in any Kconfig or Makefile, so we're really just throwing everything away regarding dwarf frames for i386. The test that generates CONFIG_AS_CFI does not have anything x86_64-specific, and right now, checking V=1 builds shows me that the flags is there anyway, although unused. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 70f1bba4c8ff88d7fd9e06f1b2cb2b3c58e8e5f9 Author: Glauber Costa Date: Thu Jul 10 15:14:57 2008 -0300 x86: use ignore macro instead of hash comment In dwarf_64.h header, use the "ignore" macro the way i386 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 557d7d4e294ee6fb1db0cb6c1ec97a1c908b880d Author: Glauber Costa Date: Thu Jul 10 15:09:20 2008 -0300 x86: use matching CFI_ENDPROC The RING0_INT_FRAME macro defines a CFI_STARTPROC. So we should really be using CFI_ENDPROC after it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d9fc3fd3fab186447b5d2e7db3c2ee149064cc7c Author: Ingo Molnar Date: Fri Jul 11 19:41:19 2008 +0200 x86: fix savesegment() bug causing crashes on 64-bit i spent a fair amount of time chasing a 64-bit bootup crash that manifested itself as bootup segfaults: S10network[1825]: segfault at 7f3e2b5d16b8 ip 00000031108748c9 sp 00007fffb9c14c70 error 4 in libc-2.7.so[3110800000+14d000] eventually causing init to die and panic the system: Kernel panic - not syncing: Attempted to kill init! Pid: 1, comm: init Not tainted 2.6.26-rc9-tip #13878 after a maratonic bisection session, the bad commit turned out to be: | b7675791859075418199c7af86a116ea34eaf5bd is first bad commit | commit b7675791859075418199c7af86a116ea34eaf5bd | Author: Jeremy Fitzhardinge | Date: Wed Jun 25 00:19:00 2008 -0400 | | x86: remove open-coded save/load segment operations | | This removes a pile of buggy open-coded implementations of savesegment | and loadsegment. after some more bisection of this patch itself, it turns out that what makes the difference are the savesegment() changes to __switch_to(). Taking a look at this portion of arch/x86/kernel/process_64.o revealed this crutial difference: | good: 99c: 8c e0 mov %fs,%eax | 99e: 89 45 cc mov %eax,-0x34(%rbp) | | bad: 99c: 8c 65 cc mov %fs,-0x34(%rbp) which is due to: | unsigned fsindex; | - asm volatile("movl %%fs,%0" : "=r" (fsindex)); | + savesegment(fs, fsindex); savesegment() is implemented as: #define savesegment(seg, value) \ asm("mov %%" #seg ",%0":"=rm" (value) : : "memory") note the "m" modifier - it allows GCC to generate the segment move into a memory operand as well. But regarding segment operands there's a subtle detail in the x86 instruction set: the above 16-bit moves are zero-extend, but only if it goes to a register. If it goes to a memory operand, -0x34(%rbp) in the above case, there's no zero-extend to 32-bit and the instruction will only save 16 bits instead of the intended 32-bit. The other 16 bits is random data - which can cause problems when that value is used later on. The solution is to only allow segment operands to go to registers. This fix allows my test-system to boot up without crashing. Signed-off-by: Ingo Molnar commit b2613e370dbeb69edbff989382fa54f2395aa471 Author: Ingo Molnar Date: Fri Jul 11 16:44:27 2008 +0200 ftrace: build fix for ftraced_suspend fix: kernel/trace/ftrace.c:1615: error: 'ftraced_suspend' undeclared (first use in this function) kernel/trace/ftrace.c:1615: error: (Each undeclared identifier is reported only once kernel/trace/ftrace.c:1615: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit c300ba252829e9325e08f0af60687add94445b25 Author: Steven Rostedt Date: Wed Jul 9 00:15:33 2008 -0400 sched_clock: and multiplier for TSC to gtod drift The sched_clock code currently tries to keep all CPU clocks of all CPUS somewhat in sync. At every clock tick it records the gtod clock and uses that and jiffies and the TSC to calculate a CPU clock that tries to stay in sync with all the other CPUs. ftrace depends heavily on this timer and it detects when this timer "jumps". One problem is that the TSC and the gtod also drift. When the TSC is 0.1% faster or slower than the gtod it is very noticeable in ftrace. To help compensate for this, I've added a multiplier that tries to keep the CPU clock updating at the same rate as the gtod. I've tried various ways to get it to be in sync and this ended up being the most reliable. At every scheduler tick we calculate the new multiplier: multi = delta_gtod / delta_TSC This means we perform a 64 bit divide at the tick (once a HZ). A shift is used to handle the accuracy. Other methods that failed due to dynamic HZ are: (not used) multi += (gtod - tsc) / delta_gtod (not used) multi += (gtod - (last_tsc + delta_tsc)) / delta_gtod as well as other variants. This code still allows for a slight drift between TSC and gtod, but it keeps the damage down to a minimum. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: john stultz Signed-off-by: Ingo Molnar commit a83bc47c33ab182f1e48977fd5a04024d713c75e Author: Steven Rostedt Date: Wed Jul 9 00:15:32 2008 -0400 sched_clock: record TSC after gtod To read the gtod we need to grab the xtime lock for read. Reading the gtod before the TSC can cause a bigger gab if the xtime lock is contended. This patch simply reverses the order to read the TSC after the gtod. The locking in the reading of the gtod handles any barriers one might think is needed. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: john stultz Signed-off-by: Ingo Molnar commit c0c87734f125d2fa8ebc70310f3257fa6209f2b6 Author: Steven Rostedt Date: Wed Jul 9 00:15:31 2008 -0400 sched_clock: only update deltas with local reads. Reading the CPU clock should try to stay accurate within the CPU. By reading the CPU clock from another CPU and updating the deltas can cause unneeded jumps when reading from the local CPU. This patch changes the code to update the last read TSC only when read from the local CPU. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: john stultz Signed-off-by: Ingo Molnar commit 2b8a0cf4890d7537a77b51caa8f508e4a05a0e67 Author: Steven Rostedt Date: Mon Jul 7 19:49:41 2008 -0400 sched_clock: fix calculation of other CPU The algorithm to calculate the 'now' of another CPU is not correct. At each scheduler tick, each CPU records the last sched_clock and gtod (tick_raw and tick_gtod respectively). If the TSC is somewhat the same in speed between two clocks the algorithm would be: tick_gtod1 + (now1 - tick_raw1) = tick_gtod2 + (now2 - tick_raw2) To calculate now2 we would have: now2 = (tick_gtod1 - tick_gtod2) + (tick_raw2 - tick_raw1) + now1 Currently the algorithm is: now2 = (tick_gtod1 - tick_gtod2) + (tick_raw1 - tick_raw2) + now1 This solves most of the rest of the issues I've had with timestamps in ftace. Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: john stultz Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit af52a90a14cdaa54ecbfb6e6982abb13466a4b56 Author: Steven Rostedt Date: Mon Jul 7 14:16:52 2008 -0400 sched_clock: stop maximum check on NO HZ Working with ftrace I would get large jumps of 11 millisecs or more with the clock tracer. This killed the latencing timings of ftrace and also caused the irqoff self tests to fail. What was happening is with NO_HZ the idle would stop the jiffy counter and before the jiffy counter was updated the sched_clock would have a bad delta jiffies to compare with the gtod with the maximum. The jiffies would stop and the last sched_tick would record the last gtod. On wakeup, the sched clock update would compare the gtod + delta jiffies (which would be zero) and compare it to the TSC. The TSC would have correctly (with a stable TSC) moved forward several jiffies. But because the jiffies has not been updated yet the clock would be prevented from moving forward because it would appear that the TSC jumped too far ahead. The clock would then virtually stop, until the jiffies are updated. Then the next sched clock update would see that the clock was very much behind since the delta jiffies is now correct. This would then jump the clock forward by several jiffies. This caused ftrace to report several milliseconds of interrupts off latency at every resume from NO_HZ idle. This patch adds hooks into the nohz code to disable the checking of the maximum clock update when nohz is in effect. It resumes the max check when nohz has updated the jiffies again. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit f7cce27f5605b9e137b829a47949cb2d3c7e1cab Author: Steven Rostedt Date: Mon Jul 7 14:16:51 2008 -0400 sched_clock: widen the max and min time With keeping the max and min sched time within one jiffy of the gtod clock was too tight. Just before a schedule tick the max could easily be hit, as well as just after a schedule_tick the min could be hit. This caused the clock to jump around by a jiffy. This patch widens the minimum to last gtod + (delta_jiffies ? delta_jiffies - 1 : 0) * TICK_NSECS and the maximum to last gtod + (2 + delta_jiffies) * TICK_NSECS This keeps the minum to gtod or if one jiffy less than delta jiffies and the maxim 2 jiffies ahead of gtod. This may cause unstable TSCs to be a bit more sporadic, but it helps keep a clock with a stable TSC working well. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 62c43dd9864dbd52ff158922d1d08c75f20335af Author: Steven Rostedt Date: Mon Jul 7 14:16:50 2008 -0400 sched_clock: record from last tick The sched_clock code tries to keep within the gtod time by one tick (jiffy). The current code mistakenly keeps track of the delta jiffies between updates of the clock, where the the delta is used to compare with the number of jiffies that have past since an update of the gtod. The gtod is updated at each schedule tick not each sched_clock update. After one jiffy passes the clock is updated fine. But the delta is taken from the last update so if the next update happens before the next tick the delta jiffies used will be incorrect. This patch changes the code to check the delta of jiffies between ticks and not updates to match the comparison of the updates with the gtod. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 60bc080090e3bf6afa29c62cb25f913706551010 Author: Steven Rostedt Date: Thu Jul 10 20:58:16 2008 -0400 ftrace: separate out the function enabled variable Currently the function tracer uses the global tracer_enabled variable that is used to keep track if the tracer is enabled or not. The function tracing startup needs to be separated out, otherwise the internal happenings of the tracer startup is also recorded. This patch creates a ftrace_function_enabled variable to all the starting of the function traces to happen after everything has been started. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit a2bb6a3d85ef3124cd336403a95abc0540d3fbe2 Author: Steven Rostedt Date: Thu Jul 10 20:58:15 2008 -0400 ftrace: add ftrace_kill_atomic It has been suggested that I add a way to disable the function tracer on an oops. This code adds a ftrace_kill_atomic. It is not meant to be used in normal situations. It will disable the ftrace tracer, but will not perform the nice shutdown that requires scheduling. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 26bc83f4cb911a0b4dabfe23b700aaf3235f2955 Author: Steven Rostedt Date: Thu Jul 10 20:58:14 2008 -0400 ftrace: use current CPU for function startup This is more of a clean up. Currently the function tracer initializes the tracer with which ever CPU was last used for tracing. This value isn't realy useful for function tracing, but at least it should be something other than a random number. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit ad591240ceadcaf41b2a88855ca5f1c77c5a0298 Author: Steven Rostedt Date: Thu Jul 10 20:58:13 2008 -0400 ftrace: start wakeup tracing after setting function tracer Enabling the wakeup tracer before enabling the function tracing causes some strange results due to the dynamic enabling of the functions. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit b5c21b4514b38f450848feb432f7120376d01ffe Author: Steven Rostedt Date: Thu Jul 10 20:58:12 2008 -0400 ftrace: check proper config for preempt type There is no CONFIG_PREEMPT_DESKTOP. Use the proper entry CONFIG_PREEMPT. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 1e16c0a081f6c93f04c6af784d6a160955269f91 Author: Steven Rostedt Date: Thu Jul 10 20:58:11 2008 -0400 ftrace: trace schedule After the sched_clock code has been removed from sched.c we can now trace the scheduler. The scheduler has a lot of functions that would be worth tracing. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 001b6767b1d0c89e458e5ddb039245b268f569fb Author: Steven Rostedt Date: Thu Jul 10 20:58:10 2008 -0400 ftrace: define function trace nop When CONFIG_FTRACE is not enabled, the tracing_start_functon_trace and tracing_stop_function_trace should be nops. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 007c05d4d2ce42fabd58cb54ed98e0a1714d9d86 Author: Steven Rostedt Date: Thu Jul 10 20:58:09 2008 -0400 ftrace: move sched_switch enable after markers We have two markers now that are enabled on sched_switch. One that records the context switching and the other that records task wake ups. Currently we enable the tracing first and then set the markers. This causes some confusing traces: # tracer: sched_switch # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | trace-cmd-3973 [00] 115.834817: 3973:120:R + 3: 0:S trace-cmd-3973 [01] 115.834910: 3973:120:R + 6: 0:S trace-cmd-3973 [02] 115.834910: 3973:120:R + 9: 0:S trace-cmd-3973 [03] 115.834910: 3973:120:R + 12: 0:S trace-cmd-3973 [02] 115.834910: 3973:120:R + 9: 0:S -0 [02] 115.834910: 0:140:R ==> 3973:120:R Here we see that trace-cmd with PID 3973 wakes up task 9 but the next line shows the idle task doing a context switch to task 3973. Enabling the tracing to _after_ the markers are set creates a much saner output: # tracer: sched_switch # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | -0 [02] 7922.634225: 0:140:R ==> 4790:120:R trace-cmd-4789 [03] 7922.634225: 0:140:R + 4790:120:R Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit b6ad92d4faade38619e89acc509ca1416b81a0bd Author: Jeremy Fitzhardinge Date: Thu Jul 10 18:13:36 2008 -0700 x86_64: vdso32 cleanup using feature flags Use the X86_FEATURE_SYSENTER32 to remove hard-coded CPU vendor check. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8d28aab59fe939be40efae870ced0b05caa259fb Author: Jeremy Fitzhardinge Date: Thu Jul 10 16:22:56 2008 -0700 x86_64: add pseudo-features for 32-bit compat syscall Add pseudo-feature bits to describe whether the CPU supports sysenter and/or syscall from ia32-compat userspace. This removes a hardcoded test in vdso32-setup. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3d0decc4f49e8645cd6369b02ed076bebd3d61ad Author: Ingo Molnar Date: Fri Jul 11 15:09:15 2008 +0200 x86: fix tsc unification buglet with ftrace and stackprotector Yinghai Lu reported crashes on 64-bit x86: BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 IP: [] hrtick_start_fair+0x89/0x173 [...] And with a long session of debugging and a lot of difficulty, tracked it down to this commit: ---------------> 8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2 is first bad commit commit 8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2 Author: Alok Kataria Date: Tue Jul 1 11:43:34 2008 -0700 x86: merge tsc_init and clocksource code <-------------- The problem is that the TSC unification missed these Makefile rules in arch/x86/kernel/Makefile: # Do not profile debug and lowlevel utilities CFLAGS_REMOVE_tsc_64.o = -pg CFLAGS_REMOVE_tsc_32.o = -pg ... CFLAGS_tsc_64.o := $(nostackp) ... which rules make sure that various instrumentation and debugging facilities are disabled for code that might end up in a VDSO - such as the TSC code. Reported-and-bisected-by: Yinghai Lu Signed-off-by: Ingo Molnar Conflicts: Signed-off-by: Ingo Molnar commit f361a450bf1ad14e2b003217dbf3958638631265 Author: Yinghai Lu Date: Thu Jul 10 20:38:26 2008 -0700 x86: introduce max_low_pfn_mapped for 64-bit when more than 4g memory is installed, don't map the big hole below 4g. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit f302a5bbe5eb95f3d4227d5bd0e9b92b1b125f4f Author: Yinghai Lu Date: Thu Jul 10 20:36:37 2008 -0700 x86: reserve SLIT save the SLIT, in case we are using fixmap to read it, and that fixmap could be cleared by others. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 69a7704d7a80b2563278a0c55c2ca6d6202280dc Author: Yinghai Lu Date: Thu Jul 10 04:17:00 2008 -0700 x86: e820: user-defined memory maps: remove the range instead of update it to reserved also let mem= to print out modified e820 map too Signed-off-by: Yinghai Lu Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit 27cb0a75ba252ea7294d67232c4bbbac3f2b2656 Author: Jeremy Fitzhardinge Date: Thu Jul 10 12:52:52 2008 -0700 x86: fix compile error in current tip.git Gas 2.15 complains about 32-bit registers being used in lea. AS arch/x86/lib/copy_user_64.o /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S: Assembler messages: /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:188: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:257: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression AS arch/x86/lib/copy_user_nocache_64.o /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S: Assembler messages: /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S:107: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression Signed-off-by: Jeremy Fitzhardinge Cc: Vitaly Mayatskikh Signed-off-by: Ingo Molnar commit 39415a440ecceb0a5bd3c23686f18f83bb8368c6 Author: Ingo Molnar Date: Thu Jul 10 20:06:30 2008 +0200 x86, VisWS: fix pci_direct_conf1 dependency fix: arch/x86/pci/built-in.o: In function `pci_subsys_init': visws.c:(.init.text+0xfc5): undefined reference to `pci_direct_conf1' Signed-off-by: Ingo Molnar commit c47277d2f842d6c50d1991579307625540b26eac Author: Ingo Molnar Date: Thu Jul 10 19:47:49 2008 +0200 x86, VisWS: build fix fix: arch/x86/kernel/built-in.o: In function `visws_early_detect': : undefined reference to `mach_get_smp_config_quirk' arch/x86/kernel/built-in.o: In function `visws_early_detect': : undefined reference to `mach_find_smp_config_quirk' Signed-off-by: Ingo Molnar commit e54afe38630e3b577968428f48ed8ef1e13a2a15 Author: Glauber Costa Date: Thu Jul 10 14:01:47 2008 -0300 x86: remove duplicate call to use_tsc_delay Integration generated a duplicate call to use_tsc_delay. Particularly, the one that is done before we check for general tsc usability seems wrong. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f78cb9b1cfe618e8b4cc0c118f187f54ed102f45 Author: Ingo Molnar Date: Thu Jul 10 19:39:55 2008 +0200 x86, VisWS: build fix fix: arch/x86/kernel/visws_quirks.c: In function ‘visws_early_detect’: arch/x86/kernel/visws_quirks.c:293: error: ‘no_broadcast’ undeclared (first use in this function) arch/x86/kernel/visws_quirks.c:293: error: (Each undeclared identifier is reported only once arch/x86/kernel/visws_quirks.c:293: error: for each function it appears in.) make[1]: *** [arch/x86/kernel/visws_quirks.o] Error 1 make: *** [arch/x86/kernel/visws_quirks.o] Error 2 Signed-off-by: Ingo Molnar commit b6770c83b4b88dd832cc77916b1935b0311c64e0 Author: Ingo Molnar Date: Thu Jul 10 19:37:44 2008 +0200 x86, VisWS: do not allow VisWS for Voyager Signed-off-by: Ingo Molnar commit 8a55a00aad9f5c4e9bb97729b42a7ceea2a3b6fb Author: Ingo Molnar Date: Thu Jul 10 19:35:33 2008 +0200 x86, VisWS: turn into generic arch, update include file change Signed-off-by: Ingo Molnar commit 3a62ed73ccb76b3d573c2ceb52ee01081fa89f3d Author: Robert Richter Date: Thu Jul 10 18:58:25 2008 +0200 x86/pci: fix warnings in subsys_initcall functions Signed-off-by: Robert Richter Cc: Robert Richter Signed-off-by: Ingo Molnar commit 3f68f7d945e37e4d4bf1da445a285c59a6185815 Author: Robert Richter Date: Thu Jul 10 18:58:24 2008 +0200 x86/pci merge: fixing numaq initialization Patch d49c4288 (tip/x86/mpparse) introduced some changes in calling subsys_init calls if CONFIG_X86_NUMAQ option is set. This patch updates subsystem initalization according to this changes. Signed-off-by: Robert Richter Cc: Robert Richter Signed-off-by: Ingo Molnar commit 15e551d25e5a600c76cb92171357d4cbe2d1bf7a Author: Ingo Molnar Date: Thu Jul 10 17:02:10 2008 +0200 x86, VisWS: turn into generic arch, eliminate Kconfig specials remove leftover traces of various VISWS related Kconfig specials. Signed-off-by: Ingo Molnar commit 62fa572f6933038b3d79558812de88702bda176f Author: Ingo Molnar Date: Thu Jul 10 16:45:50 2008 +0200 x86, VisWS: turn into generic arch, remove leftover files remove leftover arch/x86/mach-visws/* files. Signed-off-by: Ingo Molnar commit 26dd9fcfc2abc298e3c60597bbe6405826aabf91 Author: Ingo Molnar Date: Thu Jul 10 16:21:38 2008 +0200 x86, VisWS: turn into generic arch, clean up merge traps_visws.c and apic_visws.c into visws_quirks.c. (no code changed) Signed-off-by: Ingo Molnar commit 0cecf92db84694cfed08329271e8ae6316e811eb Author: Ingo Molnar Date: Thu Jul 10 16:20:32 2008 +0200 x86, VisWS: turn into generic arch, clean up rename setup_visws.c to visws_quirks.c. Signed-off-by: Ingo Molnar commit 54ce7f99065cadcbb627f47f2321b76f099fda28 Author: Ingo Molnar Date: Thu Jul 10 16:14:56 2008 +0200 x86, VisWS: turn into generic arch, IO-APIC setup fix skip IO-APIC setup on a VISWS if it's enabled. Signed-off-by: Ingo Molnar commit efefa6f63fe6f08c16fa28dc9391bd1b89df5274 Author: Ingo Molnar Date: Thu Jul 10 16:09:50 2008 +0200 x86, VisWS: turn into generic arch, clean up remove VISWS Kconfig complications, now that it's supported by the generic architecture. Signed-off-by: Ingo Molnar commit 1b84e1c81f56e13c7d81b47c85eda15d94624e43 Author: Ingo Molnar Date: Thu Jul 10 15:55:27 2008 +0200 x86, VisWS: turn into generic arch, flip over VISWS to generic arch this is the big move: flip over VISWS to generic arch support. From this commit on CONFIG_X86_VISWS is just another (default-disabled) option that turns on certain quirks - no other complications. Signed-off-by: Ingo Molnar commit 652536367b727251bfeba72189a17a040accbc2d Author: Ingo Molnar Date: Thu Jul 10 15:50:37 2008 +0200 x86, VisWS: turn into generic arch, copy visws files copy arch/x86/mach-visws/setup_visws.c, apic_visws.c and traps_visws.c files to arch/x86/kernel/, in preparation of the switchover to a non-subarch setup for VISWS. Signed-off-by: Ingo Molnar commit 078c0bba55b3dc751881d40cf170c002eafc048d Author: Ingo Molnar Date: Thu Jul 10 15:48:48 2008 +0200 x86, VisWS: turn into generic arch, add early quirks to default architectures add early quirk support to the generic architecture code. this allows VISWS to be supported by the generic code and allows us to remove the VISWS subarch. Signed-off-by: Ingo Molnar commit 8bfaba873f0cc81c1747d6787f2721926192a3dc Author: Ingo Molnar Date: Thu Jul 10 15:42:50 2008 +0200 x86, VisWS: turn into generic arch, add NR_IRQS quirk NR_IRQS: let VISWS be just a sub-case of the generic code. This can create a somewhat larger irq_desc[] array if NR_CPUS is high but that should not worry VisWS which has 4 CPUs at most. Signed-off-by: Ingo Molnar commit 4191894b68a85bd8da935fb9ac4c882a1fa8651c Author: Ingo Molnar Date: Thu Jul 10 15:33:49 2008 +0200 x86, VisWS: turn into generic arch, eliminate include/asm-x86/mach-visws/setup_arch.h use the generic version of setup_arch.h - it's the same. Signed-off-by: Ingo Molnar commit efd746b8892d1d40c43c3d518b3bde9e56238ce8 Author: Ingo Molnar Date: Thu Jul 10 15:31:35 2008 +0200 x86, VisWS: turn into generic arch, move definitions move the SGIVW definitions from setup_arch.h into its own header file. preparation for turning VISWS into a generic PC architecture. Signed-off-by: Ingo Molnar commit b4b86416712d79a77cdc53756751b3b91fbb7a3d Author: Ingo Molnar Date: Thu Jul 10 15:25:21 2008 +0200 x86, VisWS: turn into generic arch, create include/asm-x86/visws/ move the include/asm-x86/mach-visws/ VISWS specific hardware details include files into include/asm-x86/visws, to be used from generic code. No code changed. Signed-off-by: Ingo Molnar commit 18c413e27e1585358cedc22e450847e3240006ff Author: Ingo Molnar Date: Thu Jul 10 15:13:41 2008 +0200 x86, VisWS: turn into generic arch, eliminate asm-x86/mach-visws/mach_apicdef.h Signed-off-by: Ingo Molnar commit b70d9c2473ffbe327f5d7364bfbf67e94c440af8 Author: Ingo Molnar Date: Thu Jul 10 15:12:05 2008 +0200 x86, VisWS: turn into generic arch, update asm-x86/mach-visws/mach_apicdef.h update asm-x86/mach-visws/mach_apicdef.h to the generic version. This should work fine as VISWS has a standard local APIC and thus its mach_apicdef.h copy is just an ancient version of the generic code. Signed-off-by: Ingo Molnar commit 6649ababd52014afaca62a12aed37d797f9f865c Author: Ingo Molnar Date: Thu Jul 10 15:10:29 2008 +0200 x86, VisWS: turn into generic arch, eliminate include/asm-x86/mach-visws/smpboot_hooks.h now that include/asm-x86/mach-visws/smpboot_hooks.h equals to the default file in ../mach-default/smpboot_hooks.h, simply include it instead of maintaining a copy. Signed-off-by: Ingo Molnar commit 244a5e2ee0ba204d66dfe4273df91c6bc65a310a Author: Ingo Molnar Date: Thu Jul 10 15:06:07 2008 +0200 x86, VisWS: turn into generic arch, update include/asm-x86/mach-visws/smpboot_hooks.h update include/asm-x86/mach-visws/smpboot_hooks.h to include/asm-x86/mach-default/smpboot_hooks.h (the generic version). this _should_ work, because VISWS sets skip_ioapic_setup, but it should be tested on a real VISWS to make sure. Signed-off-by: Ingo Molnar commit 6a64b5da9bbe561fd189361812f5ed205bb55345 Author: Ingo Molnar Date: Thu Jul 10 15:09:04 2008 +0200 x86, VisWS: turn into generic arch, enhance include/asm-x86/mach-default/smpboot_hooks.h Allow the generic smpboot quirks code to be built with ONFIG_X86_IO_APIC disabled. This way VISWS will be able to use it as-is. Signed-off-by: Ingo Molnar commit d8d1bc73f0ccb60f4d6056333b8fcb3140772c21 Author: Ingo Molnar Date: Thu Jul 10 15:04:13 2008 +0200 x86, VisWS: turn into generic arch, eliminate include/asm-x86/mach-visws/mach_apic.h now that include/asm-x86/mach-visws/mach_apic.h equals to include/asm-x86/mach-default/mach_apic.h, simply start using the generic one. Signed-off-by: Ingo Molnar commit 808fc878d373c338f138529c284df5f86ab3cc55 Author: Ingo Molnar Date: Thu Jul 10 15:01:54 2008 +0200 x86, VisWS: turn into generic arch, update asm-x86/mach-visws/mach_apic.h update asm-x86/mach-visws/mach_apic.h to the generic version. Signed-off-by: Ingo Molnar commit 5548ed1135842d1993a4ba699377a8a3c65dd568 Author: Ingo Molnar Date: Thu Jul 10 16:53:21 2008 +0200 x86, VisWS: turn into generic arch, install proper PCI quirk Signed-off-by: Ingo Molnar commit 5ab74722a4656612d1f3b087b1afd91133ec0eeb Author: Ingo Molnar Date: Thu Jul 10 14:42:03 2008 +0200 x86, VisWS: turn into generic arch, use generic mpparse code Signed-off-by: Ingo Molnar commit 31ac409a7921da39cc998f2432afa13e77fd8705 Author: Ingo Molnar Date: Thu Jul 10 13:31:04 2008 +0200 x86, VisWS: turn into generic arch, add early init quirks add early init quirks for VisWS. This gradually turns the VISWS subarch into a generic PC architecture. Signed-off-by: Ingo Molnar commit 22d5c67c5b0476e463ce4b632ba9ec3953d33a5f Author: Ingo Molnar Date: Thu Jul 10 16:29:28 2008 +0200 x86, VisWS: turn into generic arch, make VisWS boot on a regular PC first step: make the VISWS subarch boot on a regular PC. We take various shortcuts for that. We copy the generic arch setup file over into the VISWS setup file. This is the only step that is not expected to boot on a real VISWS. Signed-off-by: Ingo Molnar commit 3b33553badcde952adcf3b3ba5faae38d7d85071 Author: Ingo Molnar Date: Thu Jul 10 17:30:40 2008 +0200 x86: add early quirk support Add early quirks support. In preparation of enabling the generic architecture to boot on a VISWS. This will allow us to remove the VISWS subarch and all its complications. Signed-off-by: Ingo Molnar commit 520b9617ab4aea764ddfc5d58cae21c16b3318e1 Merge: f57e916... f87f38e... Author: Ingo Molnar Date: Thu Jul 10 18:55:17 2008 +0200 Merge branch 'x86/core' into x86/generalize-visws commit f87f38ec5a5157aa39f44f6018dc58ea62f8e0e2 Merge: a6784ad... 8dd779b... Author: Ingo Molnar Date: Thu Jul 10 18:47:29 2008 +0200 Merge branch 'x86/unify-pci' into x86/core commit f0006314d37639714da9658cf4ff3f1f9f420764 Merge: a177ba3... 1bd55a4... Author: Russell King Date: Thu Jul 10 16:41:50 2008 +0100 Merge branch 'imx' into devel Conflicts: arch/arm/mm/Kconfig commit a177ba3b7a08beef3f0fe74efa0f90701891945a Merge: 66ee156... 3ef8191... 150c917... 0c5d5b7... 63f385c... 7e36e2f... f7def13... 188237e... 88b8ba9... 341eb78... bedd78c... 7ba06b1... Author: Russell King Date: Thu Jul 10 16:38:50 2008 +0100 Merge branches 'at91', 'dyntick', 'ep93xx', 'iop', 'ixp', 'misc', 'orion', 'omap-reviewed', 'rpc', 'rtc' and 's3c' into devel commit 0c5d5b70449eddb7e2c8a5fdaf71b6108c1a9afc Author: Dmitry Baryshkov Date: Thu Jul 10 14:44:23 2008 +0100 [ARM] 5171/1: ep93xx: fix compilation of modules using clocks Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 547d8bb7ddf7f5d9f53741086a394c8318e15f16 Author: David Woodhouse Date: Wed Jun 11 16:57:21 2008 +0100 ip2: use request_firmware() Converted with help from Jaswinder Singh Signed-off-by: David Woodhouse Acked-by: Alan Cox commit 27d202fff1555f5b0eb16a5aedc452566f9ab8bb Author: David Woodhouse Date: Thu Jun 5 12:59:51 2008 +0100 firmware: convert Ambassador ATM driver to request_firmware() Since it had various regions to be loaded to separate addresses, and it wanted to do them in fairly small chunks anyway, switch it to use the new ihex code. Encode the start address in the first record. Signed-off-by: David Woodhouse Acked-by: Chas Williams commit ec6752f5afce659025962e25fb2f42b3911254a1 Author: David Woodhouse Date: Sat May 31 01:35:29 2008 +0300 whiteheat: use request_firmware() Signed-off-by: David Woodhouse commit 5f24e2d6b40f0c74ce5bfaddfdb89f9bfae4b594 Author: David Woodhouse Date: Fri May 30 18:49:51 2008 +0300 ti_usb_3410_5052: use request_firmware() Signed-off-by: David Woodhouse commit b8e24bfabb03527d1c876fcaf24cccb05e1cbc65 Author: David Woodhouse Date: Fri May 30 17:35:47 2008 +0300 emi62: use request_firmware() Signed-off-by: David Woodhouse commit ae93a55bf948753de0bb8e43fa9c027f786abb05 Author: David Woodhouse Date: Fri May 30 16:19:39 2008 +0300 emi26: use request_firmware() Signed-off-by: David Woodhouse commit 3edbf98b863391bdd7ad2bf47b7db1689afac886 Author: David Woodhouse Date: Fri May 30 15:15:13 2008 +0300 keyspan_pda: use request_firmware() Signed-off-by: David Woodhouse commit 2971c579f93bcff26744672ea98c13bef71ded97 Author: David Woodhouse Date: Fri May 30 14:04:03 2008 +0300 keyspan: use request_firmware() Signed-off-by: David Woodhouse commit 0a2a736afa91e8a0402c9dbdaf2ee28481a50bd3 Author: David Woodhouse Date: Thu May 29 19:50:06 2008 +0300 ttusb-budget: use request_firmware() Signed-off-by: David Woodhouse Acked-by: Mauro Carvalho Chehab commit 79682499d9f3eaea4e6a970d8aa0b9bc1ac2a97f Author: David Woodhouse Date: Thu May 29 17:17:17 2008 +0300 kaweth: use request_firmware() Signed-off-by: David Woodhouse commit 0f805b86c9492c294c710de8539a8be68b521a86 Author: David Woodhouse Date: Thu May 29 16:39:16 2008 +0300 smctr: use request_firmware() Signed-off-by: David Woodhouse commit 18ee6dfae89d9c131e3c9952939633ba8fa86247 Author: David Woodhouse Date: Thu May 29 15:07:34 2008 +0300 firmware: convert ymfpci driver to use firmware loader exclusively Signed-off-by: David Woodhouse commit a292f404fabb342716a9d96e8155b7fb7b651dc1 Author: David Woodhouse Date: Thu May 29 14:48:34 2008 +0300 firmware: convert maestro3 driver to use firmware loader exclusively Signed-off-by: David Woodhouse commit 76770664dcbc008300c2ac8747671efcc4f78c2d Author: David Woodhouse Date: Mon May 26 23:01:27 2008 +0100 firmware: convert korg1212 driver to use firmware loader exclusively Signed-off-by: David Woodhouse commit 59890f74e51abffd0dd017785d89f8a8475d489d Author: David Woodhouse Date: Thu Jun 26 13:55:30 2008 +0100 ihex: Add support for long records to ihex2fw.c Some drivers could do with using records like Intel HEX, but with each record being larger than 256 bytes. This has been possible in the binary representation (struct ihex_binrec) in the kernel since the beginning -- at least of the the current version of history. But we haven't been able to represent that in the .HEX files which get converted to .fw files. This adds a '-w' option to ihex2fw to make it interpret the first _two_ bytes of each line as the record length, instead of only one byte. And adds makefile rules for %.H16->%.fw which use that. Signed-off-by: David Woodhouse commit 8bd6b2229bf98761465020467ec33547d05bff46 Author: David Woodhouse Date: Sat May 31 15:07:18 2008 +0300 ihex: add ihex2fw tool for converting HEX files into firmware images Not the straight conversion to binary which objcopy can do for us, but actually representing each record with its original {addr, length}, because some drivers need that information preserved. Fix up 'firmware_install' to be able to build $(hostprogs-y) too. Signed-off-by: David Woodhouse commit f1485f3deb89e6ae10c4d34662ec9e692855ab5d Author: David Woodhouse Date: Sat May 31 15:20:37 2008 +0300 ihex: request_ihex_firmware() function to load and validate firmware Provide a helper to load the file and validate it in one call, to simplify error handling in the drivers which are going to use it. Signed-off-by: David Woodhouse commit bacfe09dd7545467965e8d8f1eab20bc62dce00d Author: David Woodhouse Date: Fri May 30 13:57:27 2008 +0300 ihex.h: binary representation of ihex records Some devices need their firmware as a set of {address, len, data...} records in some specific order rather than a simple blob. The normal way of doing this kind of thing is 'ihex', which is a text format and not entirely suitable for use in the kernel. This provides a binary representation which is very similar, but much more compact -- and a helper routine to skip to the next record, because the alignment constraints mean that everybody will screw it up for themselves otherwise. Also a helper function which can verify that a 'struct firmware' contains a valid set of ihex records, and that following them won't run off the end of the loaded data. Signed-off-by: David Woodhouse commit 88ecf814c47f577248751ddbe9626d98aeef5783 Author: David Woodhouse Date: Thu May 29 11:01:51 2008 +0300 firmware: Add firmware installation to modules_install, add firmware_install For 'make modules_install', install any firmware required by the modules which are being installed. Also add a 'make firmware_install' target which doesn't depend on the configuration, but installs _all_ available in-kernel-tree firmware into $(INSTALL_FW_PATH), which defaults to /lib/firmware. This is intended for distributors to make arch-independent (and config-independent) packages containing firmware. Signed-off-by: David Woodhouse commit d172e7f5c67f2d41f453c7aa83d3bdb405ef8ba5 Author: David Woodhouse Date: Wed Jun 25 13:56:07 2008 +0100 firmware: Add CONFIG_FIRMWARE_IN_KERNEL option. This will control whether we build firmware into the kernel image for _every_ driver which we convert to request_firmware(), to avoid a proliferation of 'CONFIG_XXX_FIRMWARE' options for each one. Default to 'y' for now, which is the wrong thing to do but people seem to be insisting on it and refusing to even review patches until it's done. And it does preserve the existing behaviour for built-in drivers. Signed-off-by: David Woodhouse commit 4d2acfbfdf68257e846aaa355edd10fc35ba0feb Author: David Woodhouse Date: Fri May 23 13:58:12 2008 +0100 firmware: Add CONFIG_EXTRA_FIRMWARE option This allows arbitrary firmware files to be included in the static kernel where the firmware loader can find them without requiring userspace to be alive. (Updated and CONFIG_EXTRA_FIRMWARE_DIR added with lots of help from Johannes Berg). Signed-off-by: David Woodhouse Signed-off-by: Johannes Berg commit 5658c769443d543728b6c5c673dffc2df8676317 Author: David Woodhouse Date: Fri May 23 13:52:42 2008 +0100 firmware: allow firmware files to be built into kernel image Some drivers have their own hacks to bypass the kernel's firmware loader and build their firmware into the kernel; this renders those unnecessary. Other drivers don't use the firmware loader at all, because they always want the firmware to be available. This allows them to start using the firmware loader. A third set of drivers already use the firmware loader, but can't be used without help from userspace, which sometimes requires an initrd. This allows them to work in a static kernel. Signed-off-by: David Woodhouse commit b7a39bd0afc4021e8ad2b1189e884551e147427f Author: David Woodhouse Date: Fri May 23 18:38:49 2008 +0100 firmware: make fw->data const In preparation for supporting firmware files linked into the static kernel, make fw->data const to ensure that users aren't modifying it (so that we can pass a pointer to the original in-kernel copy, rather than having to copy it). Signed-off-by: David Woodhouse commit fd4f80de4612cc5255c108a8c13df88f89c46654 Author: David Howells Date: Tue Jul 8 17:43:01 2008 +0100 Fix a const pointer usage warning in the Digigram miXart soundcard driver Fix a const pointer usage warning in the Digigram miXart soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier is part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 67852dc08c0782735d48ce1e2a6eb44cd02a6ff7 Author: David Howells Date: Tue Jul 8 17:45:58 2008 +0100 Fix a const pointer usage warning in the Digigram pcxhr soundcard driver Fix a const pointer usage warning in the Digigram pcxhr compatible soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier is part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 9b8a3e4cb1361cf4b4a50916876e72f07a9037e9 Author: David Howells Date: Tue Jul 8 17:38:56 2008 +0100 Fix a const pointer error in the Conexant cx23418 MPEG encoder driver Fix a const pointer to non-const pointer assignment error in the Conexant cx23418 MPEG encoder driver. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 2bca76e89bc43f86136080536858048ebffab3e3 Author: David Howells Date: Tue Jul 8 17:37:15 2008 +0100 Fix a const assignment in moxa_load_fw() Fix an assignment of a const pointer to a non-const pointer in moxa_load_fw(). Signed-off-by: David Howells Signed-off-by: David Woodhouse commit b561c74ae2832d32cc189ecd82863d31151cdcb5 Author: David Howells Date: Tue Jul 8 17:36:45 2008 +0100 Fix a const pointer usage warning in the Digigram VX soundcard driver Fix a const pointer usage warning in the Digigram VX soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier will be part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit ed5a2825feb79c424882c9d0f483172a91c93b54 Author: gregkh@suse.de Date: Thu May 29 10:17:38 2008 -0700 isight: treat firmware data as const Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit a13b04af713bfa60d44cbac956ab00d3a5793de7 Author: Greg Kroah-Hartman Date: Thu May 29 10:05:08 2008 -0700 x86 microcode: firmware data is const Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit c6c1c94e8225c833d4c175622f8c2e70c7347a7d Author: Greg Kroah-Hartman Date: Thu May 29 10:05:08 2008 -0700 dell_rbu: firmware data is const Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit b82a82d0a90af74847ae3e873a241dedf3786fd5 Author: David Woodhouse Date: Thu May 29 14:40:00 2008 +0300 ymfpci: treat firmware data as const Standardise both in-kernel and loaded firmware to be stored as little-endian instead of host-endian. Signed-off-by: David Woodhouse commit fa6e1cb66e2f9d2d4703e7bd7dd50839bb10e4c3 Author: David Woodhouse Date: Thu May 29 11:58:27 2008 +0300 maestro3: treat firmware data as const The maestro3 driver is byte-swapping its firmware to be host-endian in advance, when it doesn't seem to be necessary -- we could just use le16_to_cpu() as we load it. Doing that means that we need to switch the in-tree firmware to be little-endian too. Take the least intrusive way of doing this, which is to switch the existing snd_m3_convert_from_le() function to convert _to_ little-endian instead, and use it on the in-tree firmware instead of the loaded firmware. It's a bit suboptimal but doesn't matter much right now because we're about to remove the special cases for the in-tree version anyway. Signed-off-by: David Woodhouse commit c63e87e90abb5d3ecd05d6c6eba94163bf8c1760 Author: David Woodhouse Date: Sat May 24 00:13:34 2008 +0100 tuners: treat firmware data as const Signed-off-by: David Woodhouse commit 3a9282cacdb13466b9c745518237938434dbde0b Author: David Woodhouse Date: Sat May 24 00:13:08 2008 +0100 gp8psk: treat firmware data as const Signed-off-by: David Woodhouse commit e62f89f2aebd57f48687f139c20cf6375693b622 Author: David Woodhouse Date: Sat May 24 00:12:42 2008 +0100 cxusb: treat firmware data as const ...which means allocating our own copy when we want to modify it. (stupid thinko fixed by mkrufky) Signed-off-by: David Woodhouse Signed-off-by: Michael Krufky commit bc179153ae2334efe28cf4f3300e024da7d83753 Author: David Woodhouse Date: Sat May 24 00:12:23 2008 +0100 dvb frontends: treat firmware data as const Signed-off-by: David Woodhouse commit 99b6e4f511e38ea7beae35ee1b46b440151ce727 Author: David Woodhouse Date: Sat May 24 00:12:00 2008 +0100 ttusb-dec: treat firmware data as const Signed-off-by: David Woodhouse commit 4f2a0c3cdbead635f8aae729f550fcabcb73d1a5 Author: David Woodhouse Date: Sat May 24 00:11:44 2008 +0100 bt8xx: treat firmware data as const Signed-off-by: David Woodhouse commit 2c733a16784021c7c6a0c10e800937f0645d0a36 Author: David Woodhouse Date: Sat May 24 00:10:55 2008 +0100 cxgb3: treat firmware data as const Signed-off-by: David Woodhouse commit afd636e94d3cd99697f7291dbf957f0ca8a7544e Author: David Woodhouse Date: Sat May 24 00:10:26 2008 +0100 irda-usb: treat firmware data as const Signed-off-by: David Woodhouse commit 2f26e8afb22d79f655def146894595a39aeea1f8 Author: David Woodhouse Date: Sat May 24 00:09:29 2008 +0100 atmel: treat firmware data as const Signed-off-by: David Woodhouse commit 8b72eb4333aba692a16339acf8a74d84b10d3568 Author: David Woodhouse Date: Sat May 24 00:08:55 2008 +0100 p54: treat firmware data as const Signed-off-by: David Woodhouse commit f160ebcbeb6c9b79a770f22e14398158dac3de00 Author: David Woodhouse Date: Sat May 24 00:08:39 2008 +0100 rt2x00: treat firmware data as const Signed-off-by: David Woodhouse commit 45ef0bdb18a37bcf102e2a18c757227f8b192a36 Author: David Woodhouse Date: Sat May 24 00:08:19 2008 +0100 zd1201: treat firmware data as const Signed-off-by: David Woodhouse commit 0bc202e0fd84b8c8d042bdf9f0995e1e47bdbf59 Author: David Woodhouse Date: Sat May 24 00:05:45 2008 +0100 aic94xx: treat firmware data as const Signed-off-by: David Woodhouse commit 3b216d186c6df2642b397dbb67fbb7884ead0d88 Author: David Woodhouse Date: Sat May 24 00:05:28 2008 +0100 cxacru: treat firmware data as const Signed-off-by: David Woodhouse commit aafcd2f7d6790490bd921f04390bc210b386ecfa Author: David Woodhouse Date: Sat May 24 00:05:10 2008 +0100 ueagle-atm: treat firmware data as const Signed-off-by: David Woodhouse commit 2f0600b639777cbc1c0ae3f7bbbc982b0838e706 Author: David Woodhouse Date: Sat May 24 00:02:49 2008 +0100 vx: treat firmware data as const Signed-off-by: David Woodhouse commit b8d21807a1a479e0214a03069a88e3e93492b72d Author: David Woodhouse Date: Sat May 24 00:02:28 2008 +0100 pcxhr: treat firmware data as const Signed-off-by: David Woodhouse commit 93a9c901c88ba2b1bae9dd55e6243896b8a580f1 Author: David Woodhouse Date: Sat May 24 00:02:03 2008 +0100 riptide: treat firmware data as const Signed-off-by: David Woodhouse commit c2ba47d776bf9a45e15f28fc73ad44877437bef9 Author: David Woodhouse Date: Sat May 24 00:01:40 2008 +0100 vx222: treat firmware data as const Signed-off-by: David Woodhouse commit b0d31d6b28c7ca2ed78ce16ec649c0aac383a3fe Author: David Woodhouse Date: Sat May 24 00:00:07 2008 +0100 myri10ge: treat firmware data as const ... which means allocating our own buffer for reading it back. Signed-off-by: David Woodhouse commit 9ad46a6ac5422882d9f9a7f0d77ca0766f56bb6e Author: David Woodhouse Date: Fri May 23 23:58:24 2008 +0100 cx25840: treat firmware data as const Signed-off-by: David Woodhouse Acked-by: Hans Verkuil Acked-by: Tyler Trafford Acked-by: Mike Isely commit f61e761e2128c7ca0d044651b18928991ab03be2 Author: David Woodhouse Date: Fri May 23 23:57:19 2008 +0100 cyclades: treat firmware data as const Signed-off-by: David Woodhouse commit 8187b4fb9c17ea8e2a71c0563434f3ee08aad0d7 Author: David Woodhouse Date: Fri May 23 23:56:51 2008 +0100 bluetooth: treat firmware data as const Signed-off-by: David Woodhouse commit 6dfff895fa33b8576f82a38cee8abe5f73561e24 Author: David Woodhouse Date: Fri May 23 18:37:51 2008 +0100 libertas: treat firmware data as const Signed-off-by: David Woodhouse commit 34ec8a0ae138c2787a550b930d29a9cce4900cee Author: Jaroslav Kysela Date: Thu Jul 10 14:49:19 2008 +0200 ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model As reported and tested by an RedHat customer, HP dc7600 with pci sub IDs 0x103c/0x3011 works with the hp-3013 model and not with the hp only model. Signed-off-by: Jaroslav Kysela commit 3952f17ed63434cc2154c3765ff97e1d4adab042 Author: Lee Nipper Date: Thu Jul 10 18:29:18 2008 +0800 crypto: talitos - Add support for sha256 and md5 variants This patch adds support for: authenc(hmac(sha256),cbc(aes)), authenc(hmac(sha256),cbc(des3_ede)), authenc(hmac(md5),cbc(aes)), authenc(hmac(md5),cbc(des3_ede)). Some constant usage was changed to use aes, des, and sha include files. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit 18e33e6d5cc0495826f5245777cd267732815e01 Author: Herbert Xu Date: Thu Jul 10 16:01:22 2008 +0800 crypto: hash - Move ahash functions into crypto/hash.h All new crypto interfaces should go into individual files as much as possible in order to ensure that crypto.h does not collapse under its own weight. This patch moves the ahash code into crypto/hash.h and crypto/internal/hash.h respectively. Signed-off-by: Herbert Xu commit 5773a3e6e396d5fd9de58372abe6a86b7e258e3e Author: Herbert Xu Date: Tue Jul 8 20:54:28 2008 +0800 crypto: crc32c - Add ahash implementation This patch reimplements crc32c using the ahash interface. This allows one tfm to be used by an unlimited number of users provided that they all use the same key (which all current crc32c users do). Signed-off-by: Herbert Xu commit 20036252fc61c624a49770fb89684ea5cfdfa05e Author: Herbert Xu Date: Mon Jul 7 22:19:53 2008 +0800 crypto: hash - Added scatter list walking helper This patch adds the walking helpers for hash algorithms akin to those of block ciphers. This is a necessary step before we can reimplement existing hash algorithms using the new ahash interface. Signed-off-by: Herbert Xu commit b8454eebe380677789735fd6bad368af2e6b2d1e Author: Neil Horman Date: Mon Jul 7 22:41:31 2008 +0800 crypto: prng - Deterministic CPRNG This patch adds a cryptographic pseudo-random number generator based on CTR(AES-128). It is meant to be used in cases where a deterministic CPRNG is required. One of the first applications will be as an input in the IPsec IV generation process. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit 166247f46a9c866e6f7f7d2212be875fb82212a1 Author: Herbert Xu Date: Mon Jul 7 20:54:35 2008 +0800 crypto: hash - Removed vestigial ahash fields The base field in ahash_tfm appears to have been cut-n-pasted from ablkcipher. It isn't needed here at all. Similarly, the info field in ahash_request also appears to have originated from its cipher counter-part and is vestigial. Signed-off-by: Herbert Xu commit ca786dc738f4f583b57b1bba7a335b5e8233f4b0 Author: Herbert Xu Date: Mon Jul 7 20:23:56 2008 +0800 crypto: hash - Fixed digest size check The digest size check on hash algorithms is incorrect. It's perfectly valid for hash algorithms to have a digest length longer than their block size. For example crc32c has a block size of 1 and a digest size of 4. Rather than having it lie about its block size, this patch fixes the checks to do what they really should which is to bound the digest size so that code placing the digest on the stack continue to work. HMAC however still needs to check this as it's only defined for such algorithms. Signed-off-by: Herbert Xu commit caee16883a235b1b042282276859e7d5901fad21 Author: Harvey Harrison Date: Fri Jul 4 19:48:58 2008 +0800 crypto: rmd - sparse annotations Similar to the rmd128.c annotations, significantly cuts down on the noise. Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit b2b6a1720db65c97885ab9fc51fa23be47573bf4 Author: Harvey Harrison Date: Fri Jul 4 19:45:57 2008 +0800 crypto: rmd128 - sparse annotations Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit bd699f2df6dbc2f4cba528fe598bd63a4d3702c5 Author: Harvey Harrison Date: Fri Jul 4 19:42:24 2008 +0800 crypto: camellia - Use kernel-provided bitops, unaligned access helpers Remove the private implementation of 32-bit rotation and unaligned access with byteswapping. As a bonus, fixes sparse warnings: crypto/camellia.c:602:2: warning: cast to restricted __be32 crypto/camellia.c:603:2: warning: cast to restricted __be32 crypto/camellia.c:604:2: warning: cast to restricted __be32 crypto/camellia.c:605:2: warning: cast to restricted __be32 crypto/camellia.c:710:2: warning: cast to restricted __be32 crypto/camellia.c:711:2: warning: cast to restricted __be32 crypto/camellia.c:712:2: warning: cast to restricted __be32 crypto/camellia.c:713:2: warning: cast to restricted __be32 crypto/camellia.c:714:2: warning: cast to restricted __be32 crypto/camellia.c:715:2: warning: cast to restricted __be32 crypto/camellia.c:716:2: warning: cast to restricted __be32 crypto/camellia.c:717:2: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit ebbcf3369224ae7d23bfee06d8c5ea87a9541db5 Author: Herbert Xu Date: Thu Jul 3 19:14:02 2008 +0800 crypto: talitos - Use proper form for algorithm driver names The name authenc(hmac(sha1-talitos),cbc(aes-talitos)) is potentially ambiguous since it could also mean using the generic authenc template on hmac(sha1-talitos) and cbc(aes-talitos). In general, parentheses should be reserved for templates that spawn algorithms. This patches changes it to the form authenc-hmac-sha1-cbc-aes-talitos. Signed-off-by: Herbert Xu commit 70bcaca75389a6c011ddc866eb1743b070a838b0 Author: Lee Nipper Date: Thu Jul 3 19:08:46 2008 +0800 crypto: talitos - Add support for 3des This patch adds support for authenc(hmac(sha1),cbc(des3_ede)) to the talitos crypto driver for the Freescale Security Engine. Some adjustments were made to the scatterlist to link table conversion to make 3des work for ping -s 1439..1446. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit b43e726b32b85713c7c56b6545cf71c2b02b5e1a Author: Jeremy Katz Date: Thu Jul 3 19:03:31 2008 +0800 crypto: padlock - Make module loading quieter when hardware isn't available When loading aes or sha256 via the module aliases, the padlock modules also try to get loaded. Make the error message for them not being present only be a NOTICE rather than an ERROR so that use of 'quiet' will suppress the messages Signed-off-by: Jeremy Katz Signed-off-by: Herbert Xu commit 4b22f0ddb6564210c9ded7ba25b2a1007733e784 Author: Herbert Xu Date: Thu Jul 3 14:57:30 2008 +0800 crypto: tcrpyt - Remove unnecessary kmap/kunmap calls Noticed by Neil Horman: we are doing unnecessary kmap/kunmap calls on kmalloced memory. This patch removes them. For the purposes of testing SG construction, the underlying crypto code already does plenty of kmap/kunmap calls anyway. Signed-off-by: Herbert Xu commit 81bef0150074d677d8cbd4e971a8ce6c9746a1fc Author: Christian Hohnstaedt Date: Wed Jun 25 14:38:47 2008 +0800 crypto: ixp4xx - Hardware crypto support for IXP4xx CPUs Add support for the hardware crypto engine provided by the NPE C of the Intel IXP4xx networking processor series. Supported ciphers: des, des3, aes and a combination of them with md5 and sha1 hmac Signed-off-by: Christian Hohnstaedt Signed-off-by: Herbert Xu commit 9c4a79653b35efc9d6790c295e22f79f4b361125 Author: Kim Phillips Date: Mon Jun 23 19:50:15 2008 +0800 crypto: talitos - Freescale integrated security engine (SEC) driver Add support for the SEC available on a wide range of PowerQUICC devices, e.g. MPC8349E, MPC8548E. This initial version supports authenc(hmac(sha1),cbc(aes)) for use with IPsec. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit d729de23e86bbbb28adf6c3ded3651ea4ad8c539 Author: Neil Horman Date: Tue Jun 3 20:00:16 2008 +1000 [CRYPTO] tcrypt: Add self test for des3_ebe cipher operating in cbc mode Patch to add checking of DES3 test vectors using CBC mode. FIPS-140-2 compliance mandates that any supported mode of operation must include a self test. This satisfies that requirement for cbc(des3_ede). The included test vector was generated by me using openssl. Key/IV was generated with the following command: openssl enc -des_ede_cbc -P input and output values were generated by repeating the string "Too many secrets" a few times over, truncating it to 128 bytes, and encrypting it with openssl using the aformentioned key. Tested successfully by myself Signed-off-by: Neil Horman Acked-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 5cdcc22f25b0766fe16d5dd8e3b2efc91fa4da6e Author: Herbert Xu Date: Mon Jun 2 21:30:38 2008 +1000 [CRYPTO] rmd: Use pointer form of endian swapping operations This patch converts the relevant code in the rmd implementations to use the pointer form of the endian swapping operations. This allows certain architectures to generate more optimised code. For example, on sparc64 this more than halves the CPU cycles on a typical hashing operation. Based on a patch by David Miller. Signed-off-by: Herbert Xu commit 0936a944068ef68f8b19f437e03f4654c29f2423 Author: Robert P. J. Day Date: Mon May 26 21:21:07 2008 +1000 [CRYPTO] hifn: Simplify code using ARRAY_SIZE() macro Signed-off-by: Robert P. J. Day Signed-off-by: Herbert Xu commit feedfdaa7bc02694c122d2d5246184248fb04513 Author: Adrian-Ken Rueegsegger Date: Mon May 26 20:54:34 2008 +1000 [CRYPTO] rmd320: Fix endian issues This patch fixes endian issues making rmd320 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 2952ff1a598ce300c911d00d82872d00ca8b61ca Author: Adrian-Ken Rueegsegger Date: Mon May 26 20:33:44 2008 +1000 [CRYPTO] rmd256: Fix endian issues This patch fixes endian issues making rmd256 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit c928a0cddd070720268013fd012508059aa3de5a Author: Adrian-Ken Rueegsegger Date: Mon May 26 20:32:52 2008 +1000 [CRYPTO] rmd160: Fix endian issues This patch fixes endian issues making rmd160 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 0f923a2aab7baa94c5fef498384151af1cd72cba Author: Adrian-Ken Rueegsegger Date: Tue May 20 11:41:48 2008 +0800 [CRYPTO] rmd128: Fix endian problems This patch is based on Sebastian Siewior's patch and fixes endian issues making rmd128 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 0bea3dc1e2d85deb9e0bc523949d5c812f65b556 Author: Huang Weiyi Date: Thu May 15 14:29:46 2008 +0800 [CRYPTO] hifn: Remove duplicated include Removed duplicated include file . Signed-off-by: Huang Weiyi Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit cde0e2c819aad91ed1e1c2e8aa64c16e7774c769 Author: Loc Ho Date: Wed May 14 21:24:51 2008 +0800 [CRYPTO] tcrypt: Use asynchronous hash interface This patch changes tcrypt to use the new asynchronous hash interface for testing hash algorithm correctness. The speed tests will continue to use the existing interface for now. Signed-off-by: Loc Ho Signed-off-by: Herbert Xu commit b8a28251c2066a2ac6481fc49ced5eb7f078e49b Author: Loc Ho Date: Wed May 14 21:23:00 2008 +0800 [CRYPTO] cryptd: Add asynchronous hash support This patch adds asynchronous hash support to crypto daemon. Signed-off-by: Loc Ho Signed-off-by: Herbert Xu commit 004a403c2e954734090a69aedc7f4f822bdcc142 Author: Loc Ho Date: Wed May 14 20:41:47 2008 +0800 [CRYPTO] hash: Add asynchronous hash support This patch adds asynchronous hash and digest support. Signed-off-by: Loc Ho Signed-off-by: Herbert Xu commit 534fe2c1c3ffbbc3db66dba0783c82d3b345fd33 Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:30:27 2008 +0800 [CRYPTO] ripemd: Add Kconfig entries for extended RIPEMD hash algorithms This patch adds Kconfig entries for RIPEMD-256 and RIPEMD-320. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 2998db37b5c62890ff1a0d48abd76ada13ebc554 Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:29:35 2008 +0800 [CRYPTO] tcrypt: Add test vectors for RIPEMD-256 and RIPEMD-320 This patch adds test vectors for RIPEMD-256 and RIPEMD-320 hash algorithms. The test vectors are taken from Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit c555c28d9da517579085a00fc80e725b0b5d9fce Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:27:02 2008 +0800 [CRYPTO] ripemd: Add support for RIPEMD-256 and RIPEMD-320 This patch adds support for the extended RIPEMD hash algorithms RIPEMD-256 and RIPEMD-320. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit ba6b0398721524ec817f74ea3492b48fa79de52f Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:25:42 2008 +0800 [CRYPTO] ripemd: Put all common RIPEMD values in header file This patch puts all common RIPEMD values in the appropriate header file. Initial values and constants are the same for all variants of RIPEMD. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit a558f1d4f8730f055b004b4c8ca1605aeb957daa Author: Patrick McHardy Date: Thu May 8 19:27:47 2008 +0800 [CRYPTO] tcrypt: Catch cipher destination memory corruption Check whether the destination buffer is written to beyond the last byte contained in the scatterlist. Also change IDX1 of the cross-page access offsets to a multiple of 4. This triggers a corruption in the HIFN driver and doesn't seem to negatively impact other testcases. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 692af5da779e018fc6a3b480b67adb33e3c6e1f0 Author: Patrick McHardy Date: Wed May 7 22:37:29 2008 +0800 [HIFN]: Have HW invalidate src and dest descriptors after processing The descriptors need to be invalidated after processing for ring cleanup to work properly and to avoid using an old destination descriptor when the src and cmd descriptors are already set up and the dst descriptor isn't. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 85e7e60b856141cc9831e11cdfc8e9265886abac Author: Patrick McHardy Date: Wed May 7 22:36:54 2008 +0800 [HIFN]: Move command descriptor setup to seperate function Move command descriptor setup to seperate function as preparation for the following DMA setup fixes. Note 1: also fix a harmless typo while moving it: sa_idx is initialized to dma->resi instead of dma->cmdi. Note 2: errors from command descriptor setup are not propagated back, anymore, they can't be handled anyway and all conditions leading to errors should be checked earlier. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 6cd3d674ddd1706226d4c395440ef1997fd72381 Author: Patrick McHardy Date: Wed May 7 22:36:17 2008 +0800 [HIFN]: Fix max queue length value All but the last element of the command and result descriptor rings can be used for crypto requests, fix HIFN_QUEUE_LENGTH. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 4b804b53ef5a3c1a49c11bfff2754e0334cc932e Author: Patrick McHardy Date: Wed May 7 22:35:47 2008 +0800 [HIFN]: Properly initialize ivsize for CBC modes For combined modes like cbc(aes) the driver is responsible for initializing ivsize. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 281d6bd45385c689e7c03c9ff2434c143971682d Author: Patrick McHardy Date: Wed May 7 22:35:07 2008 +0800 [HIFN]: Use unique driver names for different algos When the CryptoAPI instantiates a new algorithm, it performs a lookup by driver name. Since hifn uses the same name for all modes of one algorithm, the lookup may return an incorrect algorithm. Change the name to use -- to provide unique names for the different combinations and devices. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 136f702f51a4bfa38003660768e7153823fff8a1 Author: Patrick McHardy Date: Wed May 7 22:34:27 2008 +0800 [HIFN]: Properly handle requests for less than the full scatterlist The scatterlist may contain more data than the crypto request, causing an underflow of the remaining byte count while walking the list. Use the minimum of the scatterlist element size and the remaining byte count specified in the crypto request to avoid this. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit d069033b42b392662320f71e319296a14d57ff3a Author: Patrick McHardy Date: Wed May 7 22:33:37 2008 +0800 [HIFN]: Fix data alignment checks The check for misalignment of the scatterlist data has two bugs: - the source buffer doesn't need to be aligned at all - the destination buffer and its size needs to be aligned to a multiple of 4, not to the crypto alg blocksize Introduce symbolic constant for destination buffer alignment requirements, use it instead of the crypto alg blocksize and remove the unnecessary checks for source buffer alignment and change cra_alignmask to zero. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 94eaa1bd7ca67e8f57919da96cbb41c215ef20cb Author: Patrick McHardy Date: Wed May 7 22:32:28 2008 +0800 [HIFN]: Handle ablkcipher_walk errors ablkcipher_walk may return a negative error value, handle this properly instead of treating it as a huge number of scatter-gather elements. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 9e70a408ad66846bc98dc026efe0384ef68373fc Author: Patrick McHardy Date: Wed May 7 22:31:35 2008 +0800 [HIFN]: Indicate asynchronous processing to crypto API hifn_setup_crypto() needs to return -EINPROGRESS on success to indicate asynchronous processing to the crypto API. This also means it must not return the errno code returned by hifn_process_queue(), if any. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 7808f0738f9ac5cff05bd89ee457334b9a029b5c Author: Patrick McHardy Date: Wed May 7 22:29:42 2008 +0800 [HIFN]: Remove printk_ratelimit() for debugging printk Without debugging this spams the log with "printk: N messages surpressed" without any actual messages on error. With debugging its more useful to always see the message. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 3c42cbc2e01238778db92e16873a6e6f015a00af Author: Patrick McHardy Date: Wed May 7 22:28:27 2008 +0800 [HIFN]: Endianess fixes HIFN uses little-endian by default, move cpu_to_le32 conversion to hifn_write_0/ hifn_write_1, add sparse annotations and fix an invalid endian conversion in hifn_setup_src_desc. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit b10c170638c1f75bf582a75442fcdf27057ff537 Author: Herbert Xu Date: Wed May 7 22:19:38 2008 +0800 [CRYPTO] tcrpyt: Get rid of change log in source Change logs should be kept in source control systems, not the source. This patch removes the change log from tcrpyt to stop people from extending it any more. Signed-off-by: Herbert Xu commit 82798f90fb13fd934a15ed56fee227fe808dcbe8 Author: Adrian-Ken Rueegsegger Date: Wed May 7 22:17:37 2008 +0800 [CRYPTO] ripemd: Add Kconfig entries for RIPEMD hash algorithms This patch adds Kconfig entries for RIPEMD-128 and RIPEMD-160. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit fd4adf1a0b1923f6126835e1097b2997eb0d27e2 Author: Adrian-Ken Rueegsegger Date: Wed May 7 22:16:36 2008 +0800 [CRYPTO] tcrypt: Add test vectors for RIPEMD-128 and RIPEMD-160 This patch adds test vectors for RIPEMD-128 and RIPEMD-160 hash algorithms and digests (HMAC). The test vectors are taken from ISO:IEC 10118-3 (2004) and RFC2286. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit c6580eb8b17d64f0d6ad25c86a034adbda5ab4e1 Author: Adrian-Ken Rueegsegger Date: Wed May 7 22:14:10 2008 +0800 [CRYPTO] ripemd: Add support for RIPEMD hash algorithms This patch adds support for RIPEMD-128 and RIPEMD-160 hash algorithms. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 93aa7f8a12d1b229bcee12a1100a6df4945f5432 Author: Herbert Xu Date: Wed May 7 21:10:13 2008 +0800 [CRYPTO] cryptd: Fix EINPROGRESS notification context The EINPROGRESS notifications should be done just like the final call-backs, i.e., with BH off. This patch fixes the call in cryptd since previously it was called with BH on. Signed-off-by: Herbert Xu commit 3ef8191f43cfd936ea00b7483ea0acf2f0303a23 Author: sedji gaouaou Date: Thu Jul 10 10:12:14 2008 +0100 [ARM] 5133/2: at91sam9g20 defconfig file at91sam9g20 defconfig file Signed-off-by: Sedji Gaouaou Signed-off-by: Justin Waters Acked-by: Andrew Victor Signed-off-by: Russell King commit 613526677a74c2b3d1b1696ea7334b2cf35155b3 Author: sedji gaouaou Date: Thu Jul 10 10:15:35 2008 +0100 [ARM] 5130/4: Support for the at91sam9g20 Support for the at91sam9g20 : Atmel 400Mhz ARM 926ej-s SOC. AT91sam9g20 is an evolution of the at91sam9260 with a faster clock speed. We created a new board for this device but based the chip support directly on 9260 files with little updates. Here is the chip page on Atmel wabsite: http://atmel.com/dyn/products/product_card.asp?part_id=4337 Signed-off-by: Sedji Gaouaou Signed-off-by: Justin Waters Acked-by: Andrew Victor Signed-off-by: Russell King commit a6784ad7eafa74a085c8458909eda0699a8fcf57 Author: Ingo Molnar Date: Thu Jul 10 12:21:58 2008 +0200 x86: fix visws and vsmp build these two sub-architectures want PCI to be default-on, not default-off. Reported-by: Robert Richter Signed-off-by: Ingo Molnar commit ec1bb60bbff0386c3ec25360e7a8c72f467a6ff1 Merge: 5373fdb... 37f5d73... Author: Ingo Molnar Date: Thu Jul 10 11:43:08 2008 +0200 Merge branch 'tracing/sysprof' into auto-ftrace-next commit 5373fdbdc1dba69aa956098650f71b731d471885 Merge: bac0c91... 4d51c75... Author: Ingo Molnar Date: Thu Jul 10 11:43:06 2008 +0200 Merge branch 'tracing/mmiotrace' into auto-ftrace-next commit bac0c9103b31c3dd83ad9d731dd9834e2ba75e4f Merge: 6329d30... 98a05ed... Author: Ingo Molnar Date: Thu Jul 10 11:43:00 2008 +0200 Merge branch 'tracing/ftrace' into auto-ftrace-next commit 83a1a3974f33d45d6631363738db737624a32e82 Author: Clemens Ladisch Date: Thu Jul 10 11:05:42 2008 +0200 ALSA: usb-audio: add some Yamaha USB MIDI quirks Add quirk entries for four Yamaha USB MIDI devices. Signed-off-by: Clemens Ladisch commit 0b9f4f49e2abe787673de8f1f56f053fb30fec24 Author: Maciej W. Rozycki Date: Tue Jul 1 01:19:31 2008 +0100 x86: I/O APIC: Add a 64-bit variation of replace_pin_at_irq() When an interrupt is rerouted to a different I/O APIC pin the relevant entry of the irq_2_pin list should get updated accordingly so that operations are performed on the correct redirection entry. This is already done by the 32-bit variation of the code and here is a complementing 64-bit implementation. Should make someone's decision less tough when merging the two. ;) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit c85ceac97487580e39daaf57858513246e425647 Author: Clemens Ladisch Date: Thu Jul 10 11:01:06 2008 +0200 ALSA: usb-audio: fix Yamaha KX quirk We have to restrict the quirk to interface 0 because the second interface is not MIDI but HID. Additionally, this product ID is used by all four KX models, so it is better to read the product name from the device. Signed-off-by: Clemens Ladisch commit c9076b63191ec799ba6848ce5603fff109da57d2 Author: Ingo Molnar Date: Thu Jul 10 11:00:50 2008 +0200 Revert "x86: fix IO APIC breakage on HP nx6325" This reverts commit 90221a61a71b7ad659d8741cf1e404506b174982. This too was just temporary diagnostics - not needed now that we've got the final fix via: | commit e2079c43861f71b2deb78ee20e247ad954fdd67e | Author: Rafael J. Wysocki | Date: Tue Jul 8 16:12:26 2008 +0200 | | x86: fix C1E && nx6325 stability problem Signed-off-by: Ingo Molnar commit 2179bab7d431ab8ed539e19e029b1f6a231f4ed3 Author: Ingo Molnar Date: Thu Jul 10 10:59:59 2008 +0200 Revert "x86: fix IO APIC breakage on HP nx6325, v2" This reverts commit a74a1cc3df0be89658bc735c8aed80c8392e2c15. This was just temporary diagnostics commit - not needed now that we've got the final fix. Signed-off-by: Ingo Molnar commit 18b743dc948aaddc46258b73f17bdec2ee4019ee Author: FUJITA Tomonori Date: Thu Jul 10 09:50:50 2008 +0900 x86, AMD IOMMU: clean up Kconfig entry AMD_IOMMU should depend on IOMMU_HELPER since they are the IOMMU helper functions. SWIOTLB requires IOMMU_HELPER so declaring that AMD_IOMMU depends on SWIOTLB properly fixes the problems. Signed-off-by: Ingo Molnar commit e93be88d7ec9d183c1cca51eabe040c051cdb687 Author: FUJITA Tomonori Date: Thu Jul 10 08:27:49 2008 +0900 x86: clean up iommu.h and gart.h This remove lots of duplications in iommu.h and gart.h. The end result of this patch is: - iommu.h is a header file for everyone related with IOMMUs. - gart.h is the private header file. Only pci-gart_64.c and its friends include it. Signed-off-by: FUJITA Tomonori Cc: fujita.tomonori@lab.ntt.co.jp Signed-off-by: Ingo Molnar commit 849567b9363dc8b90c369fff8acc245a1b47d94d Merge: 3d43ecd... 8cbfd4f4... Author: Ingo Molnar Date: Thu Jul 10 10:43:11 2008 +0200 Merge branch 'x86/gart' into x86/core commit 4a161d235b68eb7234f40106560c488a1bdb3851 Author: Manuel Lauss Date: Wed Jul 9 16:27:56 2008 +0200 ALSA: ASoC: Au12x0/Au1550 PSC Audio support Audio for Au12x0/Au1550 PSCs in AC97 and I2S mode, for ASoC v1 framework. - DBDMA, AC97 and I2S drivers - sample AC97 machine code (Db1200) Signed-off-by: Manuel Lauss Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bf41534506a0572c06c8f34d12aa489be4c8780e Author: Richard Chan Date: Wed Jul 9 19:39:07 2008 +0200 ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h This patch is for the Yamaha USB MIDI controller KX49. http://www.yamahasynth.com/products/kx/index.html It has a 3-port MIDI interface and an HID interface (it has a tiny keyboard subset). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a84534dc179d3e9f501e5a12598cc5271cd28f5b Author: Dmitry Baryshkov Date: Tue Jul 8 19:45:42 2008 +0400 ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration Signed-off-by: Dmitry Baryshkov Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 76d39d0a1947fee4c29976e507fb93188eaa2b38 Author: Dmitry Baryshkov Date: Tue Jul 8 19:45:20 2008 +0400 ALSA: tosa: fix compilation with new DAPM API Signed-off-by: Dmitry Baryshkov Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit af13452820d075cb7153fe155ca796e64038d7e5 Author: Takashi Iwai Date: Wed Jul 9 19:13:30 2008 +0200 ALSA: wavefront - add const Fix const to non-const pointer cast warning in wavefront_synth.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee2da99782d717b264d5c309a2084ca85e9a64ff Author: Johannes Berg Date: Wed Jul 9 10:28:41 2008 +0200 ALSA: remove CONFIG_KMOD from sound A bunch of things in alsa depend on CONFIG_KMOD, use CONFIG_MODULES instead where the dependency is needed at all. Signed-off-by: Johannes Berg Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7fc077fba5f8896c6fed3b35c5a10e7fdae82bbe Author: David Howells Date: Tue Jul 8 17:52:10 2008 +0100 ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver Fix a const to non-const pointer assignment warning in the Digigram VXpocket sound driver. This may be due to patch 0aa4937648b91e9e6d3879b2cbeaa5f0c9863ac0. Signed-off-by: David Howells Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bd5d06eb8f0b9e0eb117b9c45c254d577ec2e273 Author: David Howells Date: Tue Jul 8 17:30:30 2008 +0100 ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver Fix a const pointer usage warning in the Digigram VX soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier is part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6f48413dd0f28d81a20fba2e264dd1b9f205893e Author: Liam Girdwood Date: Tue Jul 8 13:21:52 2008 +0100 ALSA: asoc: at32 - DAI struct merge and enable_pin() change. This adds support for the recent DAI struct merge and new DAPM pin API. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ac8615baf279f9bcb90c8ae017321d63a94e1762 Author: Liam Girdwood Date: Tue Jul 8 13:20:39 2008 +0100 ALSA: asoc: n810 - fix build error. This patch adds a missing " that was recently introduced (removed) in the DAI struct merge patch series. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 64105cfd65df74fdf82c1d053b2c9953304a94ea Author: Liam Girdwood Date: Tue Jul 8 13:19:18 2008 +0100 ALSA: asoc: machines - add Digital Audio Interface (DAI) control functions. This patch adds several functions for DAI control and config and replaces the current method of calling function pointers within the DAI struct within the machine drivers. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c6529dbf881303920a415c2d14a500218661949 Author: Liam Girdwood Date: Tue Jul 8 13:19:13 2008 +0100 ALSA: asoc: core - add Digital Audio Interface (DAI) control functions. This patch adds several functions for DAI control and config and replaces the current method of calling function pointers within the DAI struct. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7e2574050e6af203f0c94915c98c53ce1fc48044 Author: Matthew Ranostay Date: Tue Jul 8 11:50:09 2008 +0200 ALSA: hda - removed redundant gpio_mask An gpio_mask value was defined twice needlessly. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3fccd8b1bf716f1314c76689a3554ea37ad282b6 Author: Mark Brown Date: Mon Jul 7 19:26:04 2008 +0100 ALSA: ASoC: Dump DAPM state for non-stream changes Explicit DAPM syncs are likely to cause DAPM state updates, as are mixer and mux configuration changes, so display the DAPM status after them too. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c1286b8671135006eeb66b0267fa2895561b78e4 Author: Mark Brown Date: Mon Jul 7 19:26:03 2008 +0100 ALSA: ASoC: Switch DAPM to use of standard DEBUG macro DAPM contains debug output controlled by a DAPM_DEBUG macro. Change this to be controlled by the standard DEBUG, dropping the custom dbg() macro as we go. Also fix the error printed when configuring an unknown pin to be an unconditionally displayed error rather than debug output. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 53640650ffe07f6201ecae0b0dca078b97327247 Author: Liam Girdwood Date: Mon Jul 7 16:08:29 2008 +0100 ALSA: asoc: sh - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the SuperH platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1992a6fbd929196aebe95e0e7b04c4da66c3bfec Author: Liam Girdwood Date: Mon Jul 7 16:08:24 2008 +0100 ALSA: asoc: s3c24xx - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the S3C24xx platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 917f93ac80a1c007d4a3ce269a3712f93a75728f Author: Liam Girdwood Date: Mon Jul 7 16:08:11 2008 +0100 ALSA: asoc: pxa - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the PXA platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8687eb8bded8c3c5842a85bd0c30e43fc5a3e0e0 Author: Liam Girdwood Date: Mon Jul 7 16:08:07 2008 +0100 ALSA: asoc: omap - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the Omap platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8cf7b2b393b26b9ba1ccbeeb271a88e51d58f3e3 Author: Liam Girdwood Date: Mon Jul 7 16:08:00 2008 +0100 ALSA: asoc: fsl - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the Freescale PPC platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e550e17ffeb8cf8db27724eaf2ad05f77388afb9 Author: Liam Girdwood Date: Mon Jul 7 16:07:52 2008 +0100 ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the codec drivers. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9cb132d743cf39b3bbe4288e9035217e7237a0bb Author: Liam Girdwood Date: Mon Jul 7 16:07:42 2008 +0100 ALSA: asoc: davinci - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the DaVinci platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d37ae539a1d76da8fe5a939ce8b6d818501c8716 Author: Liam Girdwood Date: Mon Jul 7 16:07:37 2008 +0100 ALSA: asoc: at91 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the AT91 platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 453ba20b2800bc07a3eaf220010dc0127cc552fd Author: Liam Girdwood Date: Mon Jul 7 16:07:29 2008 +0100 ALSA: asoc: at32 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch series merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for AT32 platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3c4b266fe642bcaebe2b95edb56c3f8802924ff9 Author: Liam Girdwood Date: Mon Jul 7 16:07:17 2008 +0100 ALSA: asoc: core - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch series merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai in preparation for further ASoC v2 patches. This merger removes duplication in both DAI structures and simplifies the API for other users. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a5302181e5321664047f75715242aac4e0bbd17c Author: Liam Girdwood Date: Mon Jul 7 13:35:17 2008 +0100 ALSA: asoc: core - refactored DAPM pin control API. Refactored snd_soc_dapm_set_endpoint() to snd_soc_dapm_enable_pin() and snd_soc_dapm_disable_pin(). Renamed snd_soc_dapm_sync_endpoints() to snd_soc_dapm_sync(). Renamed snd_soc_dapm_get_endpoint_status() to snd_soc_dapm_get_pin_status(). Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit be321a890c25272965129ffe4b3b59a519fcf583 Author: Takashi Iwai Date: Mon Jul 7 16:04:04 2008 +0200 ALSA: hda - Add support for Lenovo 3000 N200 Added the model entry (model=lenovo) for Lenovo N3000 N200 laptop with ALC861-VD. Reference below: https://bugzilla.novell.com/show_bug.cgi?id=406425 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 73ead4855d98e330f2840523e1648575b9f2aae9 Author: Mark Brown Date: Fri Jul 4 16:01:14 2008 +0100 ALSA: ASoC: Fix warning from strict_strtoul() Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3f775987030cf7ff922765c18ddd0d311b4b46ef Author: Manuel Lauss Date: Thu Jul 3 09:33:10 2008 +0200 ALSA: ASoC: AC97 codec PM Simple suspend/resume for AC97 ASoC codec. Signed-off-by: Manuel Lauss Acked-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15e4c72f520d1db9adc38ba157547a7c1fca45b2 Author: Mark Brown Date: Wed Jul 2 11:51:20 2008 +0100 ALSA: ASoC: Make pop/click debug wait times dynamically configurable DAPM supports adding a compile time configurable delay to the widget power sequences, aiding diagnosis of problems with pops and clicks being generated during them. This patch converts this to be configurable at run time via a sysfs file. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5415552d21150dbfbff012de2b59e685ea232b1e Author: Mark Brown Date: Wed Jul 2 11:51:19 2008 +0100 ALSA: ASoC: Advertise 16000Hz rate for WM9713 PCM interface Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 25552e87aa4102f048f1a8a8ddc87c96593c304e Author: Mike Rapoport Date: Wed Jul 2 13:19:23 2008 +0300 ALSA: ac97 - fix patch_ucb1400 for proper resume Replace 'snd_ac97_write' with snd_ac97_write_cache' in pacth_ucb1400 to allow proper codec wakeup. Signed-off-by: Mike Rapoport Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6a9dccd61253f361760802d8d19c28fa83ea83f5 Author: Takashi Iwai Date: Tue Jul 1 14:52:05 2008 +0200 ALSA: ALSA: hda - Fix speaker output on Toshiba P105 Toshiba Satellite P105 with cx5045 has no HP pin but only a speaker pin and does the speaker-muting on hardware. Thus the matching model is laptop-micsense. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 470eaf6be78424fc499a5039e5d5fe58bace2bc3 Author: Takashi Iwai Date: Mon Jun 30 16:40:10 2008 +0200 ALSA: hda - Add missing Thinkpad Z60m support Added the missing SSID of Thinkpad Z60m for model=thinkpad with AD1981HD. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0701e0640f4a1de2b509cfee508216275f81d812 Author: Takashi Iwai Date: Fri Jun 27 16:30:57 2008 +0200 ALSA: ALSA: hda - Fix ALC883 medion model ALC883 medion model doesn't unmute the proper amps so no output can be heard. Replaced the mute switches to behave just like other models. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4d20f70a787e03530786152ea27a6ed157205cdc Author: Jarkko Nikula Date: Fri Jun 27 14:07:57 2008 +0300 ALSA: ASoC: TLV320AIC3X: Add mixer control for ADC highpass filter Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6cabf6b0694951288520512e0b68c78523acc9fd Author: Takashi Iwai Date: Fri Jun 27 11:55:20 2008 +0200 ALSA: Fix AC97 power down Some laptops don't like PR3 powerdown. Do PR3 powerdown only for the real power-saving. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 942fd1ebf6072fdaa07ae6d77a4f58b39c1bfdf9 Author: Walter Sheets Date: Fri Jun 27 11:53:31 2008 +0200 ALSA: via82xx - Add VIA audio device #1841 to ac97_quirk list Signed-off-by: Walter Sheets Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3d43ecd286e442792f2e899e6e06eb23ab3d99f6 Author: Yinghai Lu Date: Wed Jul 9 20:17:50 2008 -0700 x86: make e820_end return end_of_ram again for 64bit even on 64bit systems with less than 4G RAM, we can now use fixmap to handle acpi SIT near end of ram. change e820_end to e820_end_of_ram again? or e820_ram_pfn? Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit f34fa82b19581affffb14f8ad9bdad9b5ab4daf5 Author: Yinghai Lu Date: Wed Jul 9 20:16:36 2008 -0700 x86, acpi: merge __acpi_map_table and let 64-bit to fall back to use fixmap too. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 7b16eb8930d1e2a7ce5c7f35c87d62252ecc91f2 Author: Yinghai Lu Date: Wed Jul 9 20:15:02 2008 -0700 x86: overmapped fix when 4K pages on tail, 64-bit fix phys_pmd_init to make sure not to return bigger value than end. also print out range split:1G/2M/4K in init_memory_mapping(). Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 9e4144abf8a30ae221311368bbb10690ebdb4b76 Merge: e17ba73... 6329d30... Author: Ingo Molnar Date: Thu Jul 10 08:17:14 2008 +0200 Merge branch 'linus' into core/printk Conflicts: kernel/printk.c Signed-off-by: Ingo Molnar commit 4fb3dc2729c22ed1b023475fe28b720460251de1 Author: Ingo Molnar Date: Wed Jul 9 13:07:23 2008 +0200 x86: build fix for "x86: fix C1E && nx6325 stability problem" fix: arch/x86/kernel/built-in.o: In function `dmi_ignore_irq0_timer_override': boot.c:(.init.text+0x3ea4): undefined reference to `force_mask_ioapic_irq_2' Signed-off-by: Ingo Molnar commit 63f385cd1f649b3f4f2d59fc609e051981215fd7 Author: Arnaud Patard Date: Tue Jul 8 23:07:48 2008 +0100 [ARM] 5160/1: IOP3XX: gpio/gpiolib support This patch brings support for gpio/gpiolib framework to Intel IOP3xx platforms. Signed-off-by: Arnaud Patard Acked-by: Dan Williams Signed-off-by: Russell King commit 16074b669ea97e2bef494ec7cceb475566f763e3 Author: Patrice Vilchez Date: Wed Jul 9 22:16:00 2008 +0100 [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits. New timings are based on application note "NAND Flash Support on AT91SAM9 Microcontrollers" available at http://atmel.com/dyn/resources/prod_documents/doc6255.pdf). Signed-off-by: Patrice Vilchez Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Russell King commit cabb352a6455c3550f157909196845f533b0f374 Author: Mark Brown Date: Tue Jun 10 10:48:25 2008 +0100 [ARM] 5084/1: zylonite: Register AC97 device The Zylonite has an AC97 subsystem on it so register the AC97 controller device. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit 9f19d6382854d6b2d58cc364253779479e14facc Author: Mark Brown Date: Tue Jun 10 12:30:05 2008 +0100 [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model As well as moving all the device declarations to a single one in devices.c this causes all platforms to register the I/O and interrupt resources for the AC97 controller. Cc: eric miao Cc: Mike Rapoport Cc: Lennert Buytenhek Cc: Jürgen Schindele Cc: Juergen Beisert Signed-off-by: Mark Brown Signed-off-by: Russell King commit 7a8576204333d133d58cbcc59dacf49a5546e3e4 Author: Philipp Zabel Date: Sun Jun 22 23:36:39 2008 +0100 [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers The pxa2xx_udc.c driver is renamed to pxa25x_udc.c (the platform driver name changes from pxa2xx-udc to pxa25x-udc) and the platform driver name of pxa27x_udc.c is fixed to pxa27x-udc. pxa_device_udc in devices.c is split into pxa25x and pxa27x flavors and the pxa27x_device_udc is enabled in pxa27x.c. Signed-off-by: Philipp Zabel Acked-by: Nicolas Pitre Acked-by: Eric Miao Signed-off-by: Russell King Including from Ian Molton: Fixes for mistakes left over from the PXA2{5,7}X UDC split. Signed-off-by: Ian Molton Signed-off-by: Russell King commit 73d1a2c467ba4fb7420b499b6a7c66edf9626679 Author: Dmitry Baryshkov Date: Wed Jul 2 13:55:28 2008 +0100 [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting is handled in board code Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 918dbcba4ee3f0ad7d617b3969d5016481b9ceff Author: Dmitry Baryshkov Date: Wed Jul 2 13:53:45 2008 +0100 [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state Provide a set of functions to control state of pins dedicated to IrDA. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 330ff197fcdc83ba151960d78294fb37777ebe12 Author: Dmitry Baryshkov Date: Wed Jul 2 13:52:27 2008 +0100 [ARM] 5144/1: pxaficp_ir: cleanup includes Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 66a7f72d9892013e9ea663260f407758989ff510 Author: Russell King Date: Mon Jun 2 16:10:20 2008 +0100 [ARM] pxa: remove pxa_set_cken() pxa_set_cken() is now unused, remove it. Signed-off-by: Russell King commit fdc614e873bc56ed15d8f4e9fa33516cd0915fc2 Merge: bdb08cb... c0f7edb... 9fc697b... Author: Russell King Date: Wed Jul 9 20:56:05 2008 +0100 Merge branches 'pxa-misc', 'pxa-pwm' and 'pxa-multi' into pxa commit bdb08cb2d3491d441dd403dfb88d90ba90fb7232 Author: Russell King Date: Mon Jun 30 19:47:59 2008 +0100 [ARM] pxa: allow clk aliases We need to support more than one name+device for a struct clk for a small number of peripherals. We do this by re-using struct clk alias to another struct clk - IOW, if we find that the entry we're using is an alias, we return the aliased entry not the one we found. Signed-off-by: Russell King commit ad2fc2cd925300b8127cf682f5a1c7511ae9dd27 Author: Vitaly Mayatskikh Date: Wed Jul 2 15:53:13 2008 +0200 x86: fix copy_user on x86 Switch copy_user_generic_string(), copy_user_generic_unrolled() and __copy_user_nocache() from custom tail handlers to generic copy_user_tail_handle(). Signed-off-by: Vitaly Mayatskikh Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit 1129585a08baf58582c0da91e572cb29e3179acf Author: Vitaly Mayatskikh Date: Wed Jul 2 15:48:21 2008 +0200 x86: introduce copy_user_handle_tail() routine Introduce generic C routine for handling necessary tail operations after protection fault in copy_*_user on x86. Signed-off-by: Vitaly Mayatskikh Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit de989ef093623ab5259f885f30be699c431d4006 Merge: a737abd... 22cac16... Author: Ingo Molnar Date: Wed Jul 9 15:00:48 2008 +0200 Merge branch 'x86/unify-lib' into x86/core commit a737abd11ac4eb9f4226fa8c9f1d9b5be12a96c1 Author: Cyrill Gorcunov Date: Sat Jul 5 15:53:39 2008 +0400 x86: e820 memmap - add checking for NULL early param Signed-off-by: Cyrill Gorcunov Cc: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: andi@firstfloor.org Signed-off-by: Ingo Molnar commit c22d4c1885130db9c07f6441ab461208a1ba16b2 Author: Yinghai Lu Date: Wed Jul 9 03:01:14 2008 -0700 x86: make e820_end return max ram type only for 32 bit to avoid warning from find_low_pfn_range for high pages size etc Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8dd779b19ce5972072ad2372a86c8acbae4da768 Author: Robert Richter Date: Wed Jul 2 22:50:29 2008 +0200 x86/pci: removing subsys_initcall ordering dependencies So far subsys_initcalls has been executed in this order depending on the object order in the Makefile: arch/x86/pci/visws.c:subsys_initcall(pcibios_init); arch/x86/pci/numa.c:subsys_initcall(pci_numa_init); arch/x86/pci/acpi.c:subsys_initcall(pci_acpi_init); arch/x86/pci/legacy.c:subsys_initcall(pci_legacy_init); arch/x86/pci/irq.c:subsys_initcall(pcibios_irq_init); arch/x86/pci/common.c:subsys_initcall(pcibios_init); This patch removes the ordering dependency. There is now only one subsys_initcall function that contains subsystem initialization code with a defined order. Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit ae28d70529b874f657afd0f70ca148599345ba2a Author: Robert Richter Date: Wed Jul 2 22:50:28 2008 +0200 x86/pci: visws: renaming pcibios_init() Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit f4d994b541198446fc3d5d4ec5de232e171bf6dd Author: Robert Richter Date: Wed Jul 2 22:50:27 2008 +0200 x86/pci: Makefile merge: coalescing 32 and 64 bit Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit d199a0482791bdf2f052081aa212d8c83ccef88a Author: Robert Richter Date: Wed Jul 2 22:50:26 2008 +0200 x86/pci: merge: moving mp_bus_to_node.c to amd_bus.c Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 42a4b427a8d7bff95d9622ffa2365cb56da8e7d6 Author: Robert Richter Date: Wed Jul 2 22:50:25 2008 +0200 x86/pci: mp_bus_to_node merge: moving code in amd_bus.c Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 8eefc6640311bb56408fa0abe3f2930b3037f91a Author: Robert Richter Date: Wed Jul 2 22:50:24 2008 +0200 x86/pci: Makefile merge: creating pci-y for 64 bit Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 8043c7be4b8dabaaeed8344dd0a4cbaa9a94fb71 Author: Robert Richter Date: Wed Jul 2 22:50:23 2008 +0200 x86/pci: Makefile merge: changing 64bit ordering This should be safe since mmconfig*.o and init.o do not contain *initcalls with the same level as in other files. Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit a5d4fb94f750e439a0722c0a76c9aade3a9199be Author: Robert Richter Date: Wed Jul 2 22:50:22 2008 +0200 x86/pci: Makefile merge: decoupling options for mp_bus_to_node.o Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 0b40e84ab750b4ba5fc8d6712c892502dc93b212 Author: Robert Richter Date: Wed Jul 2 22:50:21 2008 +0200 x86/pci: Makefile merge: whitespace changes only Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 7fa71c0e0e371b995fdf3a367542a014c1f37f29 Author: Robert Richter Date: Wed Jul 2 22:50:20 2008 +0200 x86/pci: Makefile merge: removing include dir flag Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 6d8566ac131f3dc3e976de824dcb04feaea4b14c Author: Robert Richter Date: Wed Jul 2 22:50:19 2008 +0200 x86/pci: Makefile merge: Removing Makefile_* No functional nor ordering changes here. Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit d028203c0446c7f65ed2b22342a56f03c6c4a6c1 Merge: f57e916... 183fe06... Author: Ingo Molnar Date: Wed Jul 9 11:39:02 2008 +0200 Merge branch 'x86/core' into x86/unify-pci commit 183fe065652dbd64953afa9f389327e23e97967f Author: Ingo Molnar Date: Wed Jul 9 11:32:10 2008 +0200 x86: build fix for "x86: fix C1E && nx6325 stability problem" fix: arch/x86/kernel/acpi/boot.c: In function ‘dmi_ignore_irq0_timer_override’: arch/x86/kernel/acpi/boot.c:1443: error: implicit declaration of function ‘force_mask_ioapic_irq_2’ Signed-off-by: Ingo Molnar commit e2079c43861f71b2deb78ee20e247ad954fdd67e Author: Rafael J. Wysocki Date: Tue Jul 8 16:12:26 2008 +0200 x86: fix C1E && nx6325 stability problem The problems are that, with the ACPI vs timer overring issue _fixed_, after using the box for some time (between several seconds and 1 hour, at random) processes get very high CPU loads (once I've got X using 107% of the CPU, for example) and the system becomes unresponsive, as though there were interrupts lost or something similar. Andreas Herrman reproduced similar problems: > Ok, now I've reproduced the stability problem. > - Using tip/master, > - reverting e38502eb8aa82314d5ab0eba45f50e6790dadd88 and > - applying your patch from this posting > http://marc.info/?l=linux-kernel&m=121539354224562&w=4 > > Starting X, firefox, gimp, tuxpaint and doing some drawing in tuxpaint > results in a slow system. Drawing is almost not possible anymore -- > Selections of new colors, cursors etc. is performed with huge delay > if it's performed at all. > > BTW, the code sets up timer IRQ as Virtual Wire IRQ: > > Jul 8 14:57:58 kodscha IO-APIC (apicid-pin) 2-22, 2-23 not connected. > Jul 8 14:57:58 kodscha ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 > Jul 8 14:57:58 kodscha ...trying to set up timer as Virtual Wire IRQ... works. > > and both INT0 and INT2 of IOAPIC are masked: > > Jul 8 14:57:58 kodscha NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: > Jul 8 14:57:58 kodscha 00 000 1 0 0 0 0 0 0 00 > Jul 8 14:57:58 kodscha 01 003 0 0 0 0 0 1 1 31 > Jul 8 14:57:58 kodscha 02 003 1 0 0 0 0 0 0 30 > > I've also seen strange CPU utilization -- with syslog-ng: > > top - 15:33:06 up 35 min, 4 users, load average: 1.70, 0.68, 0.37 > Tasks: 64 total, 4 running, 60 sleeping, 0 stopped, 0 zombie > Cpu0 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st > Cpu1 : 6.4%us, 87.2%sy, 0.0%ni, 5.8%id, 0.0%wa, 0.6%hi, 0.0%si, 0.0%st > Mem: 895384k total, 283568k used, 611816k free, 35492k buffers > Swap: 1959920k total, 0k used, 1959920k free, 163044k cached > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 4632 root 20 0 17216 800 580 S 104 0.1 0:34.22 syslog-ng > 28505 root 20 0 205m 11m 4024 S 6 1.3 0:21.16 X > 28518 root 20 0 56292 5652 4492 S 1 0.6 0:01.80 fluxbox > 1 root 20 0 3724 608 508 S 0 0.1 0:00.36 init > > So far I have no clue why C1E-idle in conjunction with virtual wire > mode causes this strange behaviour. > > ... and I start to think about the root cause of all this. > > I've performed similar tests under X with the IRQ0/INT0 configuration and > I did not see above symptoms. So lets fall back to the IRQ0/INT0 configuration on this box. This basically restores the dont-use-the-lapic-timer exception mechanism that was unconditional on this box prior commit 8750bf5 ("x86: add C1E aware idle function"). Signed-off-by: Ingo Molnar commit 8cbfd4f44d5c6cb1ba9e44f493c2f2a2c9b769d7 Author: FUJITA Tomonori Date: Wed Jul 9 16:29:41 2008 +0900 x86, iommu: replace CONFIG_IOMMU with CONFIG_GART_IOMMU in iommu.h Hmm, looks like it would be nice to have more cleanups of iommu.h and gart.h. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit c2e6d65bcea2672788f9bb58ce7606c41388387b Author: Yinghai Lu Date: Tue Jul 8 01:43:27 2008 -0700 x86: not overmap more than the end of RAM in init_memory_mapping - 64bit handle head and tail that are not aligned to big pages (2MB/1GB boundary). with this patch, on system that support gbpages, change: last_map_addr: 1080000000 end: 1078000000 to: last_map_addr: 1078000000 end: 1078000000 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2dc807b37b7b8c7df445513ad2b415df4ebcaf6d Author: Yinghai Lu Date: Tue Jul 8 18:56:38 2008 -0700 x86: make max_pfn cover acpi table below 4g When system have 4g less ram installed, and acpi table sit near end of ram, make max_pfn cover them too, so 64bit kernel don't need to mess up fixmap. Signed-off-by: Yinghai Lu Cc: "Suresh Siddha" Signed-off-by: Ingo Molnar commit 49c980df552499e5e8595b52448f612fdab0484a Author: Yinghai Lu Date: Thu Jul 3 12:29:34 2008 -0700 x86: fix vmemmap printout check Signed-off-by: Yinghai Lu Cc: "Nick Piggin" Cc: "Mark McLoughlin" Cc: xen-devel Cc: "Eduardo Habkost" Cc: "Vegard Nossum" Cc: "Stephen Tweedie" Cc: "Jeremy Fitzhardinge" Signed-off-by: Ingo Molnar commit b50efd2a55fc1344654875369d458bb6838bd37a Author: Yinghai Lu Date: Tue Jul 8 01:41:05 2008 -0700 x86: introduce page_size_mask for 64bit prepare for overmapped patch also printout last_map_addr together with end Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 22cac1670786108ccd4caa0656c39fa4ba69fa7d Author: Glauber Costa Date: Wed Jun 25 14:56:53 2008 -0300 x86: define architectural characteristics in uaccess.h. Remove them from the arch-specific file. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8bc7de0c5dc0a5d3bcdc04bac6de0c799f91c5e4 Author: Glauber Costa Date: Wed Jun 25 14:53:41 2008 -0300 x86: put movsl_mask into uaccess.h. x86_64 does not need it, but it won't have X86_INTEL_USERCOPY defined either. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8cb834e99f44bd56409b794504ae2b170675fc92 Author: Glauber Costa Date: Wed Jun 25 14:43:30 2008 -0300 x86: move __get_user and __put_user into uaccess.h. We also carry the unaligned version with us. Only x86_64 uses it, but there's no problem in defining it. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit e30a44fdbf11c7ca3a0096d71790f176a4a09e03 Author: Glauber Costa Date: Wed Jun 25 13:17:43 2008 -0300 x86: merge put_user. Move both versions, which are highly similar, to uaccess.h. Note that, for x86_64, X86_WP_WORKS_OK is always defined. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ec840956d269e2beefe3a1c0fd7c1c70a199087f Author: Glauber Costa Date: Wed Jun 25 13:00:48 2008 -0300 x86: turn __put_user_check directly into put_user. We also check user pointer in x86_64 put_user, the way i386 does. In a separate patch for bisecting purposes. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 64a978c1e3b2c0e2b663caf54719319919c5c17f Author: Glauber Costa Date: Wed Jun 25 12:59:37 2008 -0300 x86: be more explicit in __put_user_x. For both __put_user_x and __put_user_8 macros, pass the error variable explicitly. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 3f168221167ca7a844fde3bf58e1c7ca0bf9741e Author: Glauber Costa Date: Wed Jun 25 12:48:47 2008 -0300 x86: merge __get_user_asm and its users. Move __get_user_asm and __get_user_size and __get_user_nocheck to uaccess.h. This requires us to define a macro at __get_user_size for the 64-bit access case. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 6fd4725d75c5049641640ce23fa5896501dfbd42 Author: Glauber Costa Date: Wed Jun 25 11:57:33 2008 -0300 x86: don't always use EFAULT on __get_user_size. Let the user of the macro specify the desired return. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit dc70ddf4098de043ac52f623c7573a11f2ae3d09 Author: Glauber Costa Date: Wed Jun 25 11:48:29 2008 -0300 x86: merge __put_user_asm and its user. Move both __put_user_asm and __put_user_size to uaccess.h. i386 already had a special function for 64-bit access, so for x86_64, we just define a macro with the same name. Note that for X86_64, CONFIG_X86_WP_WORKS_OK will always be defined, so the #else part will never be even compiled in. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit d42e6af613375be7a9a431628ecd742e87230554 Author: Glauber Costa Date: Wed Jun 25 12:00:44 2008 -0300 x86: don't always use EFAULT on __put_user_size. Let the user of the macro specify the desired return. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 293e6a2524ae775fef41d21d17af288d4b2ee91e Author: Glauber Costa Date: Wed Jun 25 11:40:42 2008 -0300 x86: mark x86_64 as having a working WP. Select X86_WP_WORKS_OK for x86_64 too. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 5e322163b19735fbef3e294c297d38e0d2ba8f7e Author: Glauber Costa Date: Wed Jun 25 11:35:06 2008 -0300 x86: use k modifier for 4-byte access. Do it in a separate patch for bisectability. Goal is to have put_user_size integrated. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 002ca1690c3d0a495e6aedd608281aeb01ce6385 Author: Glauber Costa Date: Wed Jun 25 11:08:51 2008 -0300 x86: move __addr_ok to uaccess.h. Take it out of uaccess_32.h. Since it seems that no users of the x86_64 exists, we simply pick the i386 version. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 865e5b76505cdade261773bde32f785b3ce579f1 Author: Glauber Costa Date: Wed Jun 25 11:05:11 2008 -0300 x86: merge getuser. Merge versions of getuser from uaccess_32.h and uaccess_64.h into uaccess.h. There is a part which is 64-bit only (for now), and for that, we use a __get_user_8 macro. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ca23386216b9d4fc3bb211101205077d2b2916ae Author: Glauber Costa Date: Fri Jun 13 14:39:25 2008 -0300 x86: merge common parts of uaccess. Common parts of uaccess_32.h and uaccess_64.h are put in uaccess.h. Bits in uaccess_32.h and uaccess_64.h that come to this file are equal except for comments and whitespaces differences. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit be9d06bfd48934fbd56ccb7476eabccfa31b4afe Author: Glauber Costa Date: Fri Jun 13 21:01:46 2008 -0300 x86: use something common for both architectures. Using explicit hexa (0xFFFFFFUL) introduces an unnecessary difference between i386 and x86_64 because of the size of their long. Use -1UL instead. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 1dc186e82c1ab476ef83080adca43a70969b01cd Author: Glauber Costa Date: Mon Jun 30 17:37:08 2008 -0300 x86: use long instead of int. Do not refer to the processor word-size with int, as it won't work with x86_64. Use long instead. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8b0a8aaf05325a1a96f53b45708f77599da35161 Author: Glauber Costa Date: Mon Jun 30 17:34:39 2008 -0300 x86: introduce likely in macro. Put the likely hint in access_ok. Just for bisectability. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit c28b95d9bb7da0c3be22826c56a05899e21e5ece Author: Glauber Costa Date: Mon Jun 30 17:07:51 2008 -0300 x86: change asm constraint. Our integration efforts broke a build with this function being used with i386. Reason is "g" can put the operand in an imm32, which according to The Book (tm), is invalid as the second operand. This is actually a bug in x86_64 too, since the x86_64 instruction set reference does not list it as valid. We probably didn't trigger this before due to the ammount of registers available for 64-bit platforms. But that's just my guess. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 53938a68a2f971058bc53aaa8c70f9f24f684cdc Author: Glauber Costa Date: Wed Jun 25 10:14:13 2008 -0300 x86: commonize __range_not_ok. For i386, __range_not_ok is a better name than __range_ok, since it returns 0 when it is in fact okay. Other than that, both versions does not need the word size specifiers, and we remove them. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 5cbbc3b1eb37bdc72eefd2de03b39f5e784400c2 Author: Glauber Costa Date: Tue Jun 24 17:40:14 2008 -0300 x86: merge putuser asm functions. putuser_32.S and putuser_64.S are merged into putuser.S. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 2528de431ddb200653d1dc6ca90074bad9520f09 Author: Glauber Costa Date: Tue Jun 24 17:36:31 2008 -0300 x86: use macros from asm.h. In putuser_32.S and putuser_64.S, replace things like .quad, .long, and explicit references to [r|e]ax for the apropriate macros in asm/asm.h. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit efea505d83873cfc8a7cdbb8a2a11d2c67467843 Author: Glauber Costa Date: Tue Jun 24 16:59:05 2008 -0300 x86: don't use word-size specifiers in putuser files. Remove them where unambiguous. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 766ed4282114eab616741107745b0dd11075e496 Author: Glauber Costa Date: Tue Jun 24 16:56:30 2008 -0300 x86: replace function headers by macros. In putuser_64.S, do it the i386 way, and replace the code in beginning and end of functions with macros, since it's always the same thing. Save lines. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 663aa96df32af9c4141ef3179282f95c7537643a Author: Glauber Costa Date: Tue Jun 24 16:51:59 2008 -0300 x86: change testing logic in putuser_64.S. Instead of operating over a register we need to put back into normal state afterwards (the memory position), just sub from rbx, which is trashed anyway. We can save a few instructions. Also, this is the i386 way. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0ada3164031162b4e1b7ff6b36ba8cc80ff7fe96 Author: Glauber Costa Date: Tue Jun 24 16:44:39 2008 -0300 x86: pass argument to putuser_64 functions in ax register. This is consistent with i386 usage. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 770546b99fb99e71a3aa4181980d42664f9c18bd Author: Glauber Costa Date: Tue Jun 24 15:03:40 2008 -0300 x86: clobber rbx in putuser_64.S. Instead of clobbering r8, clobber rbx, which is the i386 way. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 70706e432ee5618abf59381101d8dea7b8d97a7d Author: Glauber Costa Date: Tue Jun 24 15:02:31 2008 -0300 x86: user put_user_x instead of all variants. Follow the pattern, and define a single put_user_x, instead of defining macros for all available sizes. Exception is put_user_8, since the "A" constraint does not give us enough power to specify which register (a or d) to use in the 32-bit common case. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 268cf048c890d10bd3a86bd87922ed8a722d502f Author: Glauber Costa Date: Tue Jun 24 12:40:55 2008 -0300 x86: don't save ebx in putuser_32.S. Clobber it in the inline asm macros, and let the compiler do this for us. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 6c2d458680d49d939ffd4b4cdc84d9e004d65910 Author: Glauber Costa Date: Tue Jun 24 12:05:11 2008 -0300 x86: merge getuser asm functions. getuser_32.S and getuser_64.S are merged into getuser.S. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 87e2f1e7f6ab66306320403d4502d7938d3c703e Author: Glauber Costa Date: Tue Jun 24 12:02:44 2008 -0300 x86: use _ASM_PTR instead of explicit word-size pointers. Switch .long and .quad with _ASM_PTR in getuser*.S. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 40faf463e62de0b29722910eded7dd26cd8b684b Author: Glauber Costa Date: Tue Jun 24 11:37:57 2008 -0300 x86: introduce __ASM_REG macro. There are situations in which the architecture wants to use the register that represents its word-size, whatever it is. For those, introduce __ASM_REG in asm.h, along with the first users _ASM_AX and _ASM_DX. They have users waiting for it, namely the getuser functions. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3 Author: Glauber Costa Date: Tue Jun 24 11:21:53 2008 -0300 x86: don't use word-size specifiers on getuser_64. The instructions access registers, so the size is unambiguous. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 26ccb8a7183eed424ff9c874c83af20dafe7cdef Author: Glauber Costa Date: Tue Jun 24 11:19:35 2008 -0300 x86: rename threadinfo to TI. This is for consistency with i386. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9262875395cf22b5a90dd8a640e1070cedf55d0e Author: Glauber Costa Date: Tue Jun 24 11:13:16 2008 -0300 x86: adapt x86_64 getuser functions. Instead of doing a sub after the addition, use the offset directly at the memory operand of the mov instructions. This is the way i386 do. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9aa038815b5756e20a00b8e1efd5740434b37aea Author: Glauber Costa Date: Fri Jun 13 22:41:51 2008 -0300 x86: don't use word-size specifiers. Since the instructions refer to registers, they'll be able to figure it out. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit edf10162b2c5ad78ada8e63e960f9d0949c6c219 Author: Glauber Costa Date: Fri Jun 13 16:35:52 2008 -0300 x86: don't clobber r8 nor use rcx. There's really no reason to clobber r8 or pass the address in rcx. We can safely use only two registers (which we already have to touch anyway) to do the job. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit f8dd0d3c62164160c59034a96eb17d69ac8a0328 Author: Ingo Molnar Date: Wed Jul 9 09:12:55 2008 +0200 x86: delay lib unification build fix fix: arch/x86/lib/delay.c:93:24: error: macro "use_tsc_delay" passed 1 arguments, but takes just 0 arch/x86/lib/delay.c:94: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token Signed-off-by: Ingo Molnar commit f0fbf0abc093ec8bf64506eee4ede9e5daf40ffd Author: Glauber Costa Date: Thu Jul 3 12:35:41 2008 -0300 x86: integrate delay functions. delay_32.c, delay_64.c are now equal, and are integrated into delay.c. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 7e58818d32c18197602d1869b22cfda99efd05fe Author: Glauber Costa Date: Tue Jun 24 10:21:25 2008 -0300 x86: explicitly use edx in const delay function. For x86_64, we can't just use %0, as it would generate a mul against rdx, which is not really what we want (note the ">> 32" in x86_64 version). Using a u64 variable with a shift in i386 generates bad code, so the solution is to explicitly use %%edx in inline assembly for both. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit a76febe975997b933b7285b6e20bb0a21c09d453 Author: Glauber Costa Date: Tue Jun 24 09:52:36 2008 -0300 x86: use rdtscll in read_current_timer for i386. This way we achieve the same code for both arches. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0a4d8a472f645d99f86303db1462b64e371b090d Author: Glauber Costa Date: Tue Jun 24 09:34:08 2008 -0300 x86: provide delay loop for x86_64. This is for consistency with i386. We call use_tsc_delay() at tsc initialization for x86_64, so we'll be always using it. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ff1b15b646177c6cc465ac2dd0be6ae16e965654 Author: Glauber Costa Date: Tue Jun 24 09:27:19 2008 -0300 x86: don't use size specifiers. Remove the "l" from inline asm at arch/x86/lib/delay_32.c. It is not needed. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 26e9e57b106445bbd8c965985e4e8af5293ae005 Author: Ingo Molnar Date: Wed Jul 9 08:02:54 2008 +0200 x86, uv: build fix #2 for "x86, uv: update x86 mmr list for SGI uv" fix: In file included from arch/x86/kernel/tlb_uv.c:14: include/asm/uv/uv_mmrs.h:986: error: redefinition of ‘union uvh_rh_gam_cfg_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:988: error: redefinition of ‘struct uvh_rh_gam_cfg_overlay_config_mmr_s’ include/asm/uv/uv_mmrs.h:1064: error: redefinition of ‘union uvh_rh_gam_mmioh_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:1066: error: redefinition of ‘struct uvh_rh_gam_mmioh_overlay_config_mmr_s’ caused by another duplicate section (cut & paste error) in commit 5d061e397db1 "x86, uv: update x86 mmr list for SGI uv". Signed-off-by: Ingo Molnar commit e407dffd17dcb592e1605a2b3dbbb81f9f3cbc21 Author: Ingo Molnar Date: Wed Jul 9 08:00:15 2008 +0200 x86, uv: build fix for "x86, uv: update x86 mmr list for SGI uv" fix: In file included from arch/x86/kernel/genx2apic_uv_x.c:25: include/asm/uv/uv_mmrs.h:986: error: redefinition of ‘union uvh_rh_gam_cfg_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:988: error: redefinition of ‘struct uvh_rh_gam_cfg_overlay_config_mmr_s’ include/asm/uv/uv_mmrs.h:1064: error: redefinition of ‘union uvh_rh_gam_mmioh_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:1066: error: redefinition of ‘struct uvh_rh_gam_mmioh_overlay_config_mmr_s’ caused by duplicate section (cut & paste error) in commit 5d061e397db1 "x86, uv: update x86 mmr list for SGI uv". Signed-off-by: Ingo Molnar commit 5ed4273af8469ca4723d4bf1bcd3abe2cc792e9f Author: Andrew Morton Date: Fri Jul 4 12:36:21 2008 +0200 arch/x86/mm/pgtable_32.c: remove unused variable `fixmaps' arch/x86/mm/pgtable_32.c:144: warning: 'fixmaps' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 6f585e01614f38195599c1bc5379d3c9dae6be47 Author: Andrew Morton Date: Fri Jul 4 12:36:21 2008 +0200 arch/x86/kernel/smpboot.c: fix warning arch/x86/kernel/smpboot.c: In function 'do_boot_cpu': arch/x86/kernel/smpboot.c:943: warning: label 'restore_state' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 7b4fd4bb2e7fad2c41afab4683a44ab77f6f35d0 Author: Alexander van Heukelum Date: Wed Jul 2 01:33:14 2008 +0200 x86: traps_xx: various small changes - order of local variable declarations - minor code changes Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit abd348072798aa88d48fe9f182ac3440fcb7ae47 Author: Alexander van Heukelum Date: Wed Jul 2 18:39:01 2008 +0200 x86: traps_xx: modify default_do_nmi - local caching of smp_processor_id() in default_do_nmi() - v2: do not split default_do_nmi over two lines On Wed, Jul 02, 2008 at 08:12:20PM +0400, Cyrill Gorcunov wrote: > | -static notrace __kprobes void default_do_nmi(struct pt_regs *regs) > | +static notrace __kprobes void > | +default_do_nmi(struct pt_regs *regs) > | [ ... ] > | -asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs) > | +asmlinkage notrace __kprobes void > | +default_do_nmi(struct pt_regs *regs) > > Hi Alexander, good done, thanks! But why did you split default_do_nmi > definition by two lines? I think it would be better to keep them as it > was before, ie by a single line > > static notrace __kprobes void default_do_nmi(struct pt_regs *regs) Thanks! Here is the replacement patch with default_do_nmi left on a single line. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 13485ab55bc77f02024e80bcca0374950b0becb3 Author: Alexander van Heukelum Date: Wed Jul 2 01:32:04 2008 +0200 x86: traps_xx: restructure do_general_protection() - if (cond) block -> if (!cond) goto end_of_block - local caching of current Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit a7bbb0ce1d1f956c8491b925c74767adf654f373 Author: Alexander van Heukelum Date: Wed Jul 2 01:31:34 2008 +0200 x86: traps_xx: modify do_trap if (cond) block -> if (!cond) goto end_of_block Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit e423f49fc8ccd761618748d7139638d8ddc1d16f Author: Alexander van Heukelum Date: Wed Jul 2 01:31:03 2008 +0200 x86: traps_xx: modify __die if (cond) block -> if (!cond) goto end_of_block Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit badc76527f7e29302f0bde3d366c59101fb2ab87 Author: Alexander van Heukelum Date: Wed Jul 2 01:30:30 2008 +0200 x86: traps_xx: shuffle headers and globals Reorder headers and collect globals in traps_32.c and traps_64.c Code size and data size are unaffected by the changes. Code itself is changed due to different ordering of data and bss. The bss segment changed size due to a change in the packing of the variables. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit a8c1be9d2e78d8608892c86791837acf12da4bf6 Author: Alexander van Heukelum Date: Wed Jul 2 01:29:44 2008 +0200 x86: initial changes to unify traps_32.c and traps_64.c This patch does not change the generated object files. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit e93ef949fd9a3f237aedfb8e64414b28980530b8 Author: Alok Kataria Date: Tue Jul 1 11:43:36 2008 -0700 x86: rename paravirtualized TSC functions Rename the paravirtualized calculate_cpu_khz to calibrate_tsc. In all cases, we actually calibrate_tsc and use that as the cpu_khz value. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2 Author: Alok Kataria Date: Tue Jul 1 11:43:34 2008 -0700 x86: merge tsc_init and clocksource code Unify the clocksource code. Unify the tsc_init code. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 2dbe06faf37b39f9ecffc054dd173b2a1dc2adcd Author: Alok Kataria Date: Tue Jul 1 11:43:31 2008 -0700 x86: merge the TSC cpu-freq code Unify the TSC cpufreq code. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit bfc0f5947afa5e3a13e55867f4478c8a92c11dca Author: Alok Kataria Date: Tue Jul 1 11:43:24 2008 -0700 x86: merge tsc calibration Merge the tsc calibration code for the 32bit and 64bit kernel. The paravirtualized calculate_cpu_khz for 64bit now points to the correct tsc_calibrate code as in 32bit. Original native_calculate_cpu_khz for 64 bit is now called as calibrate_cpu. Also moved the recalibrate_cpu_khz function in the common file. Note that this function is called only from powernow K7 cpu freq driver. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 0ef95533326a7b37d16025af9edc0c18e644b346 Author: Alok Kataria Date: Tue Jul 1 11:43:18 2008 -0700 x86: merge sched_clock handling Move the basic global variable definitions and sched_clock handling in the common "tsc.c" file. - Unify notsc kernel command line handling for 32 bit and 64bit. - Functional changes for 64bit. - "tsc_disabled" is updated if "notsc" is passed at boottime. - Fallback to jiffies for sched_clock, incase notsc is passed on commandline. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 746f2eb790e75676ddc3b816ba18bac4179cc744 Author: Cyrill Gorcunov Date: Tue Jul 1 21:43:52 2008 +0400 x86: apic_32.c - add lapic resource Add lapic resource into kernel resource map and mark it as busy Signed-off-by: Cyrill Gorcunov Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar CC: Maciej W. Rozycki commit 5d061e397db1ee7a62783a881833f3f9b89f6dc8 Author: Dimitri Sivanich Date: Wed Jul 2 15:39:35 2008 -0500 x86, uv: update x86 mmr list for SGI uv This patch updates the X86 mmr list for SGI uv. Signed-off-by: Dimitri Sivanich Cc: Jack Steiner Cc: Russ Anderson Signed-off-by: Ingo Molnar commit 83f5d894ca5280bfcd904dfeb1347c2da2b19aac Author: Jack Steiner Date: Tue Jul 1 14:45:38 2008 -0500 x86: map UV chipset space - UV support Create page table entries to map the SGI UV chipset GRU. local MMR & global MMR ranges. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Signed-off-by: Ingo Molnar commit 3a9e189d69479736a0d0901c87ad08c9e328b389 Author: Jack Steiner Date: Tue Jul 1 14:45:32 2008 -0500 x86: map UV chipset space - pagetable Add boot-time function for creating additional 2MB page table entries for mapping chipset specific cached/uncached ranges. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Signed-off-by: Ingo Molnar commit fc9036ea1a4b14229788e6df3936b451a6abac98 Author: Yinghai Lu Date: Thu Jul 3 11:39:00 2008 -0700 x86: let early_reserve_e820 update e820_saved too so when it is called after early_param, e820_saved get updated too. esp for mpc update. Signed-off-by: Yinghai Lu Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit a0a0becd2da0ba0d7f0204a61d1905926cdb163d Author: Yinghai Lu Date: Thu Jul 3 11:37:13 2008 -0700 x86: make e820_saved have update from setup_data seperate reserve_setup_data into e820_reserved_setup_data, and reserve_early_setup_data. So could use e820_reserved_setup_data to backup e820 with setup_data. Signed-off-by: Yinghai Lu Cc: Bernhard Walle Cc: Ying Huang Signed-off-by: Ingo Molnar commit 0be15526beb4c228e0477221c62ec8ab0fc7440f Author: Yinghai Lu Date: Thu Jul 3 11:35:37 2008 -0700 x86: move saving e820_saved to setup_memory_map so other path that will override memory_setup or machine_specific_memory_setup could have e820_saved too. Signed-off-by: Yinghai Lu Cc: Jeremy Fitzhardinge Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit 5dfcf14d5b28174f94cbe9b4fb35d415db61c64a Author: Bernhard Walle Date: Fri Jun 27 13:12:55 2008 +0200 x86: use FIRMWARE_MEMMAP on x86/E820 This patch uses the /sys/firmware/memmap interface provided in the last patch on the x86 architecture when E820 is used. The patch copies the E820 memory map very early, and registers the E820 map afterwards via firmware_map_add_early(). Signed-off-by: Bernhard Walle Acked-by: Greg KH Acked-by: Vivek Goyal Cc: kexec@lists.infradead.org Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 69ac9cd629ca96e59f34eb4ccd12d00b2c8276a7 Author: Bernhard Walle Date: Fri Jun 27 13:12:54 2008 +0200 sysfs: add /sys/firmware/memmap This patch adds /sys/firmware/memmap interface that represents the BIOS (or Firmware) provided memory map. The tree looks like: /sys/firmware/memmap/0/start (hex number) end (hex number) type (string) ... /1/start end type With the following shell snippet one can print the memory map in the same form the kernel prints itself when booting on x86 (the E820 map). --------- 8< -------------------------- #!/bin/sh cd /sys/firmware/memmap for dir in * ; do start=$(cat $dir/start) end=$(cat $dir/end) type=$(cat $dir/type) printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type" done --------- >8 -------------------------- That patch only provides the needed interface: 1. The sysfs interface. 2. The structure and enumeration definition. 3. The function firmware_map_add() and firmware_map_add_early() that should be called from architecture code (E820/EFI, for example) to add the contents to the interface. If the kernel is compiled without CONFIG_FIRMWARE_MEMMAP, the interface does nothing without cluttering the architecture-specific code with #ifdef's. The purpose of the new interface is kexec: While /proc/iomem represents the *used* memory map (e.g. modified via kernel parameters like 'memmap' and 'mem'), the /sys/firmware/memmap tree represents the unmodified memory map provided via the firmware. So kexec can: - use the original memory map for rebooting, - use the /proc/iomem for setting up the ELF core headers for kdump case that should only represent the memory of the system. The patch has been tested on i386 and x86_64. Signed-off-by: Bernhard Walle Acked-by: Greg KH Acked-by: Vivek Goyal Cc: kexec@lists.infradead.org Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 6247943d8ab699b57653afd453a4940cca70ef8a Author: Yinghai Lu Date: Sun Jul 6 11:42:11 2008 -0700 x86: remove acpi_srat config v2 use ACPI_NUMA directly and move srat_32.c to mm/ Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 698839fe04ae11f228074ad45614343c3921a6c6 Author: Yinghai Lu Date: Sun Jul 6 11:42:11 2008 -0700 x86: remove have_arch_parse_srat -v2 we already have the same srat handling interface for 32bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a29d1cfe9e9337aedeed505afddc8465ac709b87 Author: Ingo Molnar Date: Mon Jun 2 13:19:08 2008 +0200 printk: export console_drivers this symbol is needed by drivers/video/xen-fbfront.ko. [ cherry-picked from tip/core/printk ] Signed-off-by: Ingo Molnar commit 5a654ba7a88d90483d0f0586297ea9075d755fc8 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:37 2008 -0700 x86/cpa: use an undefined PTE bit for testing CPA Rather than using _PAGE_GLOBAL - which not all CPUs support - to test CPA, use one of the reserved-for-software-use PTE flags instead. This allows CPA testing to work on CPUs which don't support PGD. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ef5e94af16c0c82452e1ea5d387e1203dd2198d6 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:36 2008 -0700 x86_32: remove __PAGE_KERNEL(_EXEC) From: Jeremy Fitzhardinge Older x86-32 processors do not support global mappings (PGD), so must only use it if the processor supports it. The _PAGE_KERNEL* flags always have _PAGE_KERNEL set, since logically we always want it set. This is OK even on processors which do not support PGD, since all _PAGE flags are masked with __supported_pte_mask before being turned into a real in-pagetable pte. On 32-bit systems, __supported_pte_mask is initialized to not contain _PAGE_GLOBAL, and it is then added if the CPU is found to support it. The x86-32 code used to use __PAGE_KERNEL/__PAGE_KERNEL_EXEC for this purpose, but they're now redundant and can be removed. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8490638cf0fb3975f7636c5268f27d5daf4eaaa5 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:35 2008 -0700 x86: always set _PAGE_GLOBAL in _PAGE_KERNEL* flags Consistently set _PAGE_GLOBAL in _PAGE_KERNEL flags. This makes 32- and 64-bit code consistent, and removes some special cases where __PAGE_KERNEL* did not have _PAGE_GLOBAL set, causing confusion as a result of the inconsistencies. This patch only affects x86-64, which generally always supports PGD. The x86-32 patch is next. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 574977a2edde0148ea365008dceb0c2594d10b11 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:33 2008 -0700 x86_64/setup: unconditionally populate the pgd When allocating a new pud, unconditionally populate the pgd (why did we bother to create a new pud if we weren't going to populate it?). This will only happen if the pgd slot was empty, since any existing pud will be reused. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit aea5f9f89bae5d5f9eb3fe3cddedbbfb82e6e44f Author: Ingo Molnar Date: Fri Jul 4 12:16:55 2008 +0200 x86: fix "x86: let setup_arch call init_apic_mappings for 32bit" add back this line lost from trap_init(): set_trap_gate(0, ÷_error); Signed-off-by: Ingo Molnar commit 4a7017370aa0a94a00ae5b5705e9169cdcae5fb8 Author: Ingo Molnar Date: Thu Jul 3 15:57:47 2008 +0200 x86: move prefill_possible_map calling early, fix fix: arch/x86/kernel/built-in.o: In function `setup_arch': : undefined reference to `prefill_possible_map' Signed-off-by: Ingo Molnar commit 329513a35d1a2b6b28d54f5c2c0dde4face8200b Author: Yinghai Lu Date: Wed Jul 2 18:54:40 2008 -0700 x86: move prefill_possible_map calling early call it right after we are done with MADT/mptable handling, instead of doing that in setup_per_cpu_areas() later on... this way for_possible_cpu() can be used early. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5f4765f96eebee6a0adc4009758b597ba48a0a3a Author: Yinghai Lu Date: Wed Jul 2 18:53:44 2008 -0700 x86: move init_cpu_to_node after get_smp_config when acpi=off, cpu_to_apicid is ready after get_smp_config so need to move init_cpu_to_node after it. otherwise, we will get wrong cpu->node mapping, and it will rely on amd_detect_cmp() to correct it - but that is too late as setup_per_cpu_data is already called before that so we will get per_cpu_data on the wrong node. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cb95a13a8ace8612ecab042a838e5aab2ec14ef0 Author: Yinghai Lu Date: Wed Jul 2 00:31:02 2008 -0700 x86: merge zones_sizes_init for numa and non numa on 32-bit move out e820_register_active_regions from non numa zones_sizes_init() and remove numa version zones_sizes_init(). and let 32 bit call remove_all_active_ranges() in setup_arch() directly like 64-bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d9a81b4411d53196c4535c3a1258cb03d945c718 Author: Yinghai Lu Date: Tue Jul 1 20:04:10 2008 -0700 x86: do not printout if we do not find setup_data Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4fcc545a7479135332f511a54611820c9f4208a0 Author: Yinghai Lu Date: Tue Jul 1 20:03:11 2008 -0700 x86: make early_res_to_bootmem print out less 80 width chars Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit dc8e8120ad291074a5fb93cfb0418466c62f6019 Author: Yinghai Lu Date: Tue Jul 1 20:02:16 2008 -0700 x86: change copy_e820_map to append_e820_map so it has a more meaningful name. also change it to static. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 068b453834c4baf4e878481a9bd5103d54f60710 Author: Bernhard Walle Date: Thu Jun 26 21:55:18 2008 +0200 x86: fix documentation bug about relocatability This patch fixes a small bug in documentation: x86_64 also has now the ability to build a relocatable kernel. Signed-off-by: Bernhard Walle Cc: vgoyal@redhat.com Cc: kexec@lists.infradead.org Signed-off-by: Ingo Molnar commit 32105f7fd8faa7bc3d101dcc3eabc0ae1ac375a7 Author: Bernhard Walle Date: Thu Jun 26 21:54:08 2008 +0200 x86: find offset for crashkernel reservation automatically This patch removes the need of the crashkernel=...@offset parameter to define a fixed offset for crashkernel reservation. That feature can be used together with a relocatable kernel where the kexec-tools relocate the kernel and get the actual offset from /proc/iomem. The use case is a kernel where the .text+.data+.bss is after 16M physical memory (debug kernel with lockdep on x86_64 can cause that) which caused a major pain in autoconfiguration in our distribution. Also, that patch unifies crashdump architectures a bit since IA64 has that semantics from the very beginning of the kdump port. Signed-off-by: Bernhard Walle Cc: vgoyal@redhat.com Cc: Bernhard Walle Cc: kexec@lists.infradead.org Signed-off-by: Ingo Molnar commit fd6493e16625b92a506fba13deda31c0be5f1cd4 Author: Alok Kataria Date: Wed Jun 25 11:02:42 2008 -0700 x86: cleanup e820_setup_gap(), v2 e820_search_gap also take a end_addr parameter to limit search from start_addr to end_addr. Signed-off-by: AloK N Kataria Acked-by: Yinghai Lu Cc: "lenb@kernel.org" Signed-off-by: Ingo Molnar commit 6a2f47ca27fad36f99e8478a3807d4b8c7db80e7 Author: Mike Travis Date: Fri Jun 27 10:10:13 2008 -0700 x86: add check for node passed to node_to_cpumask, v3 * When CONFIG_DEBUG_PER_CPU_MAPS is set, the node passed to node_to_cpumask and node_to_cpumask_ptr should be validated. If invalid, then a dump_stack is performed and a zero cpumask is returned. v2: Slightly different version to remove a compiler warning. v3: Redone to reflect moving setup.c -> setup_percpu.c Signed-off-by: Mike Travis Cc: Vegard Nossum Cc: "akpm@linux-foundation.org" Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit cd5dce2fb023a6f0168344b7dd8adec30017458e Author: Jeremy Fitzhardinge Date: Mon Jun 30 16:04:48 2008 -0700 x86: fix CPA self-test for "x86/paravirt: groundwork for 64-bit Xen support" Ingo Molnar wrote: > -tip auto-testing found pagetable corruption (CPA self-test failure): > > [ 32.956015] CPA self-test: > [ 32.958822] 4k 2048 large 508 gb 0 x 2556[ffff880000000000-ffff88003fe00000] miss 0 > [ 32.964000] CPA ffff88001d54e000: bad pte 1d4000e3 > [ 32.968000] CPA ffff88001d54e000: unexpected level 2 > [ 32.972000] CPA ffff880022c5d000: bad pte 22c000e3 > [ 32.976000] CPA ffff880022c5d000: unexpected level 2 > [ 32.980000] CPA ffff8800200ce000: bad pte 200000e3 > [ 32.984000] CPA ffff8800200ce000: unexpected level 2 > [ 32.988000] CPA ffff8800210f0000: bad pte 210000e3 > > config and full log can be found at: > > http://redhat.com/~mingo/misc/config-Mon_Jun_30_11_11_51_CEST_2008.bad > http://redhat.com/~mingo/misc/log-Mon_Jun_30_11_11_51_CEST_2008.bad Phew. OK, I've worked this out. Short version is that's it's a false alarm, and there was no real failure here. Long version: * I changed the code to create the physical mapping pagetables to reuse any existing mapping rather than replace it. Specifically, reusing an pud pointed to by the pgd caused this symptom to appear. * The specific PUD being reused is the one created statically in head_64.S, which creates an initial 1GB mapping. * That mapping doesn't have _PAGE_GLOBAL set on it, due to the inconsistency between __PAGE_* and PAGE_*. * The CPA test attempts to clear _PAGE_GLOBAL, and then checks to see that the resulting range is 1) shattered into 4k pages, and 2) has no _PAGE_GLOBAL. * However, since it didn't have _PAGE_GLOBAL on that range to start with, change_page_attr_clear() had nothing to do, and didn't bother shattering the range, * resulting in the reported messages The simple fix is to set _PAGE_GLOBAL in level2_ident_pgt. An additional fix to make CPA testing more robust by using some other pagetable bit (one of the unused available-to-software ones). This would solve spurious CPA test warnings under Xen which uses _PAGE_GLOBAL for its own purposes (ie, not under guest control). Also, we should revisit the use of _PAGE_GLOBAL in asm-x86/pgtable.h, and use it consistently, and drop MAKE_GLOBAL. The first time I proposed it it caused breakages in the very early CPA code; with luck that's all fixed now. Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Cc: Mark McLoughlin Cc: xen-devel Cc: Eduardo Habkost Cc: Vegard Nossum Cc: Stephen Tweedie Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 996cf4438f9ed711c98a3cb5ab88f842a4102427 Author: Yinghai Lu Date: Mon Jun 30 18:34:58 2008 -0700 x86: don't reallocate pgt for node0 kva ram already mapped right after away, so don't need to get that for low ram. avoid wasting one copy of pgdat. also add node id in early_res name in case we get it from find_e820_area. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 28bb22379513ca3cac9d13766064a219c5fc21a9 Author: Yinghai Lu Date: Mon Jun 30 16:20:54 2008 -0700 x86: move reserve_setup_data to setup.c Ying Huang would like setup_data to be reserved, but not included in the no save range. Here we try to modify the e820 table to reserve that range early. also add that in early_res in case bootloader messes up with the ramdisk. other solution would be 1. add early_res_to_highmem... 2. early_res_to_e820... but they could reserve another type memory wrongly, if early_res has some resource reserved early, and not needed later, but it is not removed from early_res in time. Like the RAMDISK (already handled). Signed-off-by: Yinghai Lu Cc: andi@firstfloor.org Tested-by: Huang, Ying Signed-off-by: Ingo Molnar commit 102d0a4b56d94e9b7eedfdfb488400271235543f Author: Jeremy Fitzhardinge Date: Mon Jun 30 11:10:53 2008 -0700 x86, paravirt, 64-bit: fix compile errors with IA32_EMULATION off Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3ae960a598b9dfe87b29eb70738d91a13e692498 Author: Ingo Molnar Date: Mon Jun 30 10:33:47 2008 +0200 - x86: move early_ioremap prototypes to io.h now that the early-ioremap code is unified, move the prototypes too from io_32.h to io.h. this fixes: arch/x86/kernel/setup.c:531: error: implicit declaration of function ‘early_ioremap_init' on 64-bit. Signed-off-by: Ingo Molnar commit 1a98fd14f44cfade4af3e6ed96ba55065fa17ee4 Author: Jeremy Fitzhardinge Date: Sun Jun 29 20:02:44 2008 -0700 x86: setup_arch() && early_ioremap_init() Looks like the setup.c unification missed the early_ioremap init from the early_ioremap unification. Unconditionally call early_ioremap_init(). needed for "x86/paravirt: groundwork for 64-bit Xen support". Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Cc: Mark McLoughlin Cc: xen-devel Cc: Eduardo Habkost Cc: Vegard Nossum Cc: Stephen Tweedie Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 1bb3a029078d437aa05bda8a8c8f8ecb1265e231 Author: Ingo Molnar Date: Mon Jun 30 08:47:42 2008 +0200 x86: nmi_watchdog - documentation fix - v2 typo fixes from Randy Dunlap and Alan Cox. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit afda335dc3872ca122842e26720ac6e6ef287aa2 Author: Cyrill Gorcunov Date: Fri Jun 27 19:43:40 2008 +0400 x86: nmi_watchdog - documentation fix nmi_watchdog is set to NMI_NONE by default (ie disabled) on _any_ mode so lets fix documentation too. Signed-off-by: Cyrill Gorcunov Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 914bebfad42c417b84bda8920a3073d236007fde Author: Yinghai Lu Date: Sun Jun 29 00:06:37 2008 -0700 x86: use disable_apic in 32bit change the enable_local_apic to static force_enable_local_apic for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a04ad82d0bff4bb564f290eb50982e02458592d9 Author: Yinghai Lu Date: Sun Jun 29 00:39:06 2008 -0700 x86: fix init_memory_mapping over boundary, v4 use PMD_SHIFT to calculate boundary also adjust size for pre-allocated table size Signed-off-by: Yinghai Lu Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b4df32f4aeef8794d0135fc8dc250acb44cfee60 Author: Yinghai Lu Date: Sat Jun 28 17:49:59 2008 -0700 x86: fix warning in e820_reserve_resources with 32bit when 64bit resource is not enabled, we get: arch/x86/kernel/e820.c: In function ‘e820_reserve_resources’: arch/x86/kernel/e820.c:1217: warning: comparison is always false due to limited range of data type because res->start/end is resource_t aka u32. it will overflow. fix it with temp end of u64 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7482b0e962e128c5b574aa29761f97164189ef14 Author: Yinghai Lu Date: Sat Jun 28 03:30:39 2008 -0700 x86: fix init_memory_mapping over boundary v3 some ram-end boundary only has page alignment, instead of 2M alignment. v2: make init_memory_mapping more solid: start could be any value other than 0 v3: fix NON PAE by handling left over in kernel_physical_mapping Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit df366e9822beca97115ba9745cbe1ea1f26fb111 Author: Jeremy Fitzhardinge Date: Fri Jun 27 12:04:03 2008 -0700 x86_64: fix non-paravirt compilation Make sure SWAPGS and PARAVIRT_ADJUST_EXCEPTION_FRAME are properly defined when CONFIG_PARAVIRT is off. Fixes Ingo's build failure: arch/x86/kernel/entry_64.S: Assembler messages: arch/x86/kernel/entry_64.S:1201: Error: invalid character '_' in mnemonic arch/x86/kernel/entry_64.S:1205: Error: invalid character '_' in mnemonic arch/x86/kernel/entry_64.S:1209: Error: invalid character '_' in mnemonic arch/x86/kernel/entry_64.S:1213: Error: invalid character '_' in mnemonic Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Cc: Mark McLoughlin Cc: xen-devel Cc: Eduardo Habkost Cc: Vegard Nossum Cc: Stephen Tweedie Signed-off-by: Ingo Molnar commit f3294a33e765d8308c3e17b951a13e0db9cf5f00 Author: Yinghai Lu Date: Fri Jun 27 01:41:56 2008 -0700 x86: let setup_arch call init_apic_mappings for 32bit instead of calling it from trap_init() also move init ioapic mapping out of apic_32.c so 32 bit do same as 64 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ab67715c7201be2fe729888a09007b6ba5bb2326 Author: Yinghai Lu Date: Fri Jun 27 15:36:54 2008 -0700 x86: early res print out alignment v2 v2: fix print info to cont Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 22b45144f67dbaf0705992dc1462de2813fb83a1 Author: Jeremy Fitzhardinge Date: Thu Jun 26 12:02:49 2008 -0700 x86/paravirt: groundwork for 64-bit Xen support, fix #2 Ingo Molnar wrote: > that fixed the build but now we've got a boot crash with this config: > > time.c: Detected 2010.304 MHz processor. > spurious 8259A interrupt: IRQ7. > BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 > IP: [<0000000000000000>] > PGD 0 > Thread overran stack, or stack corrupted > Oops: 0010 [1] SMP > CPU 0 > I don't know if this will fix this bug, but it's definitely a bugfix. It was trashing random pages by overwriting them with pagetables... Don't trash a large pmd's data when mapping physical memory. This is a bugfix for "x86_64: adjust mapping of physical pagetables to work with Xen". Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Cc: Vegard Nossum Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 457da70ec09ca78e8fda5d5ab3659248f844a376 Author: Jeremy Fitzhardinge Date: Thu Jun 26 07:28:51 2008 -0700 x86/paravirt: groundwork for 64-bit Xen support, fix Ingo Molnar wrote: > * Jeremy Fitzhardinge wrote: > > >>> It quickly broke the build in testing: >>> >>> include/asm/pgalloc.h: In function ‘paravirt_pgd_free': >>> include/asm/pgalloc.h:14: error: parameter name omitted >>> arch/x86/kernel/entry_64.S: In file included from >>> arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function >>> ‘paravirt_pgd_free': >>> include/asm/pgalloc.h:14: error: parameter name omitted >>> >>> >> No, looks like my fault. The non-PARAVIRT version of >> paravirt_pgd_free() is: >> >> static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *) {} >> >> but C doesn't like missing parameter names, even if unused. >> >> This should fix it: >> > > that fixed the build but now we've got a boot crash with this config: > > time.c: Detected 2010.304 MHz processor. > spurious 8259A interrupt: IRQ7. > BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 > IP: [<0000000000000000>] > PGD 0 > Thread overran stack, or stack corrupted > Oops: 0010 [1] SMP > CPU 0 > > with: > > http://redhat.com/~mingo/misc/config-Thu_Jun_26_12_46_46_CEST_2008.bad > Use SWAPGS_UNSAFE_STACK in ia32entry.S in the places where the active stack is the usermode stack. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Cc: Vegard Nossum Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit e7b3789524eecc96213dd69d6686efd429235051 Author: Yinghai Lu Date: Wed Jun 25 21:51:28 2008 -0700 x86: move fix mapping page table range early do that in init_memory_mapping also remove one init_ohci1394_dma_on_all_controllers Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 042623bbabae168246ad8a37693f0ecb6c450aea Author: Yinghai Lu Date: Wed Jun 25 19:52:15 2008 -0700 x86: clean up ARCH_SETUP asm-x86/paravirt.h already have protection with CONFIG_PARAVIRT inside Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 611dfd7819e525b45f39ff15e0faf5f23551c113 Author: Bernhard Walle Date: Wed Jun 25 21:39:16 2008 +0200 x86: limit E820 map when a user-defined memory map is specified This patch brings back limiting of the E820 map when a user-defined E820 map is specified. While the behaviour of i386 (32 bit) was to limit the E820 map (and /proc/iomem), the behaviour of x86-64 (64 bit) was not to limit. That patch limits the E820 map again for both x86 architectures. Code was tested for compilation and booting on a 32 bit and 64 bit system. Signed-off-by: Bernhard Walle Acked-by: Yinghai Lu Cc: kexec@lists.infradead.org Cc: vgoyal@redhat.com Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit 8207c2570af6f819b61be9ef3fb298d0a8c0e18c Author: Jeremy Fitzhardinge Date: Tue Jun 24 17:32:48 2008 -0400 x86: fix pte allocation in "x86: introduce init_memory_mapping for 32bit" The patch "x86: introduce init_memory_mapping for 32bit" does not allocate enough space for PTEs if the CPU does not implement PSE. Signed-off-by: Jeremy Fitzhardinge Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9f9d489a3e78b49d897734eaaf9dea568dbea66e Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:32 2008 -0400 x86/paravirt, 64-bit: make load_gs_index() a paravirt operation Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit fab58420ac0007a452b540cfb07923225ea4f48d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:31 2008 -0400 x86/paravirt, 64-bit: add adjust_exception_frame 64-bit Xen pushes a couple of extra words onto an exception frame. Add a hook to deal with them. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a00394f81f419beb6fb9f7023bd4d15913dc625d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:30 2008 -0400 x86, 64-bit: swapgs pvop with a user-stack can never be called It's never safe to call a swapgs pvop when the user stack is current - it must be inline replaced. Rather than making a call, the SWAPGS_UNSAFE_STACK pvop always just puts "swapgs" as a placeholder, which must either be replaced inline or trap'n'emulated (somehow). Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 6680415481c7bd38967cf7488787f509f17ba307 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:29 2008 -0400 x86, 64-bit: ia32entry: replace privileged instructions with pvops Replace privileged instructions with the corresponding pvops in ia32entry.S. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 2be29982a08009c731307f4a39053b70ac4700da Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:28 2008 -0400 x86/paravirt: add sysret/sysexit pvops for returning to 32-bit compatibility userspace In a 64-bit system, we need separate sysret/sysexit operations to return to a 32-bit userspace. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit c7245da6ae7e5208504ff027c4e0eec69b788651 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:27 2008 -0400 x86/paravirt, 64-bit: don't restore user rsp within sysret There's no need to combine restoring the user rsp within the sysret pvop, so split it out. This makes the pvop's semantics closer to the machine instruction. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d75cd22fdd5f7d203fb60014d426942df33dd9a6 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:26 2008 -0400 x86/paravirt: split sysret and sysexit Don't conflate sysret and sysexit; they're different instructions with different semantics, and may be in use at the same time (at least within the same kernel, depending on whether its an Intel or AMD system). sysexit - just return to userspace, does no register restoration of any kind; must explicitly atomically enable interrupts. sysret - reloads flags from r11, so no need to explicitly enable interrupts on 64-bit, responsible for restoring usermode %gs Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit e04e0a630d8b5c621b3a8e70ff20db737d3a5728 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:25 2008 -0400 x86: use __KERNEL_DS as SS when returning to a kernel thread This is needed when the kernel is running on RING3, such as under Xen. x86_64 has a weird feature that makes it #GP on iret when SS is a null descriptor. This need to be tested on bare metal to make sure it doesn't cause any problems. AMD specs say SS is always ignored (except on iret?). Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 478de5a9d691dd0c048ddce62dbec23722515636 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:24 2008 -0400 x86: save %fs and %gs before load_TLS() and arch_leave_lazy_cpu_mode() We must do this because load_TLS() may need to clear %fs and %gs. (e.g. under Xen). Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 3fe0a63efd4437f6438ce5f2708929b1108873b6 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:23 2008 -0400 x86, 64-bit: __switch_to(): move arch_leave_lazy_cpu_mode() to the right place We must leave lazy mode before switching the %fs and %gs selectors. Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 0814e0bace537b7024b09187346b99401e6281be Author: Eduardo Habkost Date: Wed Jun 25 00:19:22 2008 -0400 x86, 64-bit: split set_pte_vaddr() We will need to set a pte on l3_user_pgt. Extract set_pte_vaddr_pud() from set_pte_vaddr(), that will accept the l3 page table as parameter. This change should be a no-op for existing code. Signed-off-by: Eduardo Habkost Signed-off-by: Mark McLoughlin Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4f30cb0262847392d8d006042f24bd90abd24f9d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:21 2008 -0400 x86, 64-bit: PSE no longer a hard requirement Because Xen doesn't support PSE mappings in guests, all code which assumed the presence of PSE has been changed to fall back to smaller mappings if necessary. As a result, PSE is optional rather than required (though still used whereever possible). Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 7c934d3990aa4d785feddcef700f4c2c4aba2251 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:20 2008 -0400 x86, 64-bit: create small vmemmap mappings if PSE not available If PSE is not available, then fall back to 4k page mappings for the vmemmap area. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4f9c11dd49fb73e1ec088b27ed6539681a445988 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:19 2008 -0400 x86, 64-bit: adjust mapping of physical pagetables to work with Xen This makes a few of changes to the construction of the initial pagetables to work better with paravirt_ops/Xen. The main areas are: 1. Support non-PSE mapping of memory, since Xen doesn't currently allow 2M pages to be mapped in guests. 2. Make sure that the ioremap alias of all pages are dropped before attaching the new page to the pagetable. This avoids having writable aliases of pagetable pages. 3. Preserve existing pagetable entries, rather than overwriting. Its possible that a fair amount of pagetable has already been constructed, so reuse what's already in place rather than ignoring and overwriting it. The algorithm relies on the invariant that any page which is part of the kernel pagetable is itself mapped in the linear memory area. This way, it can avoid using ioremap on a pagetable page. The invariant holds because it maps memory from low to high addresses, and also allocates memory from low to high. Each allocated page can map at least 2M of address space, so the mapped area will always progress much faster than the allocated area. It relies on the early boot code mapping enough pages to get started. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit f97013fd8f17120182aa247f360e4d2069a9db9c Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:18 2008 -0400 x86, 64-bit: split x86_64_start_kernel Split x86_64_start_kernel() into two pieces: The first essentially cleans up after head_64.S. It clears the bss, zaps low identity mappings, sets up some early exception handlers. The second part preserves the boot data, reserves the kernel's text/data/bss, pagetables and ramdisk, and then starts the kernel proper. This split is so that Xen can call the second part to do the set up it needs done. It doesn't need any of the first part setups, because it doesn't boot via head_64.S, and its redundant or actively damaging. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 408011759cc8ff7f89505e8398cec0ccf67b5afa Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:17 2008 -0400 x86, 64-bit: add FIX_PARAVIRT_BOOTMAP fixmap slot This matches 32 bit. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a6523748bddd38bcec11431f57502090b6014a96 Author: Eduardo Habkost Date: Wed Jun 25 00:19:16 2008 -0400 paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor Set __PAGE_OFFSET to the most negative possible address + 16*PGDIR_SIZE. The gap is to allow a space for a hypervisor to fit. The gap is more or less arbitrary, but it's what Xen needs. When booting native, kernel/head_64.S has a set of compile-time generated pagetables used at boot time. This patch removes their absolutely hard-coded layout, and makes it parameterised on __PAGE_OFFSET (and __START_KERNEL_map). Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 491eccb721c2ee67250273a96e4515fb5b423337 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:15 2008 -0400 x86/paravirt: define PARA_INDIRECT for indirect asm calls On 32-bit it's best to use a %cs: prefix to access memory where the other segments may not bet set up properly yet. On 64-bit it's best to use a rip-relative addressing mode. Define PARA_INDIRECT() to abstract this and generate the proper addressing mode in each case. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 97349135fea7f0ba8464534433df3bfd1dc0e9a6 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:14 2008 -0400 x86/paravirt: add debugging for missing operations Rather than just jumping to 0 when there's a missing operation, raise a BUG. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d8d5900ef8afc562088f8470feeaf17c4747790f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:13 2008 -0400 x86: preallocate and prepopulate separately Jan Beulich points out that vmalloc_sync_all() assumes that the kernel's pmd is always expected to be present in the pgd. The current pgd construction code will add the pgd to the pgd_list before its pmds have been pre-populated, thereby making it visible to vmalloc_sync_all(). However, because pgd_prepopulate_pmd also does the allocation, it may block and cannot be done under spinlock. The solution is to preallocate the pmds out of the spinlock, then populate them while holding the pgd_list lock. This patch also pulls the pmd preallocation and mop-up functions out to be common, assuming that the compiler will generate no code for them when PREALLOCTED_PMDS is 0. Also, there's no need for pgd_ctor to clear the pgd again, since it's allocated as a zeroed page. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar Cc: Jan Beulich Signed-off-by: Ingo Molnar commit eba0045ff87bab465d3c80c289f3bf709c1800f5 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:12 2008 -0400 x86/paravirt: add a pgd_alloc/free hooks Add hooks which are called at pgd_alloc/free time. The pgd_alloc hook may return an error code, which if non-zero, causes the pgd allocation to be failed. The hooks may be used to allocate/free auxillary per-pgd information. also fix: > * Ingo Molnar wrote: > > include/asm/pgalloc.h: In function ‘paravirt_pgd_free': > include/asm/pgalloc.h:14: error: parameter name omitted > arch/x86/kernel/entry_64.S: In file included from > arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function ‘paravirt_pgd_free': > include/asm/pgalloc.h:14: error: parameter name omitted Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 67350a5c4514c280665cdb45439d32a008a264ba Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:11 2008 -0400 x86: simplify vmalloc_sync_all vmalloc_sync_all() is only called from register_die_notifier and alloc_vm_area. Neither is on any performance-critical paths, so vmalloc_sync_all() itself is not on any hot paths. Given that the optimisations in vmalloc_sync_all add a fair amount of code and complexity, and are fairly hard to evaluate for correctness, it's better to just remove them to simplify the code rather than worry about its absolute performance. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 15878c0b21b7b04a08108e9027ebbbd68a2502e0 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:10 2008 -0400 x86, 64-bit: add sync_cmpxchg Add sync_cmpxchg to match 32-bit's sync_cmpxchg. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 102e3b8d3f3d5556c60f9ab6d92108649b68edc8 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:09 2008 -0400 x86, 64-bit: add prototype for x86_64_start_kernel() Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 330ddd20894f99a2b956ad59cf0cfdba188bde63 Author: Ingo Molnar Date: Thu Jun 26 12:40:35 2008 +0200 x86: build fix fix: In file included from arch/x86/kernel/setup.c:118: include/asm/highmem.h:64: error: expected identifier or ‘(' before ‘do' include/asm/highmem.h:64: error: expected identifier or ‘(' before ‘while' include/asm/highmem.h:67: error: expected identifier or ‘(' before ‘do' include/asm/highmem.h:67: error: expected identifier or ‘(' before ‘while' Signed-off-by: Ingo Molnar commit 3442682a54a9f44047efe526869aa52bd74fe16e Author: Ingo Molnar Date: Thu Jun 26 12:29:29 2008 +0200 x86: remove extra newline from setup.c Signed-off-by: Ingo Molnar commit 5092301c7250d7459b79fe40dae43eca3b518e92 Author: Yinghai Lu Date: Wed Jun 25 18:02:06 2008 -0700 x86: we only have init_pg_tables_end for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 29f784e369a914b5926e01a0b0caae0b47f6452a Author: Yinghai Lu Date: Wed Jun 25 18:00:22 2008 -0700 x86: change some functions in setup.c to static Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d1b20afec356085a202d7832d47bfb89303ea901 Author: Yinghai Lu Date: Wed Jun 25 17:59:41 2008 -0700 x86: make x86_find_smp_config depends on 64 bit too Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0196bcbb150786d54a50e3074013020570a59d31 Author: Yinghai Lu Date: Wed Jun 25 17:58:55 2008 -0700 x86: move parse elfvorehdr back to setup.c Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit bdba0e700c86fa2f152b1fe37b001c9e9c65d2b7 Author: Yinghai Lu Date: Wed Jun 25 17:58:02 2008 -0700 x86: move reserve_standard_io_resources back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ccb4defa71744f086822950d8fa64a17c4e6eb04 Author: Yinghai Lu Date: Wed Jun 25 17:57:13 2008 -0700 x86: move back crashkernel back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 257b0fde99df0160db03e529dbfb3a4e46c07a88 Author: Yinghai Lu Date: Wed Jun 25 17:56:22 2008 -0700 x86: move parse_setup_data back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 217b8ce89088dd47e7176686ff34573f75a624e9 Author: Yinghai Lu Date: Wed Jun 25 17:55:20 2008 -0700 x86: move boot_params back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 55f262391a2365d657a00ed68edd1a51bca66af5 Author: Yinghai Lu Date: Wed Jun 25 17:54:23 2008 -0700 x86: rename setup_32.c to setup.c and let 64 bit use that instead of setup_64.c [ mingo@elte.hu ] x86: build fix fix: arch/x86/kernel/setup.c: In function ‘setup_arch': arch/x86/kernel/setup.c:561: error: implicit declaration of function ‘efi_reserve_early' and: arch/x86/kernel/setup.c:766: error: implicit declaration of function 'init_cpu_to_node' and: arch/x86/kernel/setup.c:676: warning: operation on 'max_pfn_mapped' may be undefined Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f2f865fe6e6e40ddf37f887eb427263d83bb925d Author: Yinghai Lu Date: Wed Jun 25 17:53:22 2008 -0700 x86: space to tab in setup_arch Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 76934ed4b33b65096296d3e7b3c046fd020019fc Author: Yinghai Lu Date: Wed Jun 25 17:52:35 2008 -0700 x86: merge 64bit setup_arch into setup_32 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 46d671b525102ae005dc5e8389ca67c86ae012b1 Author: Yinghai Lu Date: Wed Jun 25 17:51:29 2008 -0700 x86: add extra includes for 64bit support Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7dea23ecd17db6e42e19499db70d2fcfa5ca1ee2 Author: Yinghai Lu Date: Wed Jun 25 17:50:06 2008 -0700 x86: put global variable for 32bit all together those variables are not needed by 64 bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit eb1379cb296f5aee348c2e04317d911bb84d9184 Author: Yinghai Lu Date: Wed Jun 25 17:49:26 2008 -0700 x86: update reserve_initrd to support 64bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 08afc7c0dd8ecb04c7a6fe367102e410a74abbe6 Author: Yinghai Lu Date: Wed Jun 25 17:48:23 2008 -0700 x86: we can use full bootmem after have init_memory_mapping So remove outdated comments Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 378b39a4f91ab0846eb6e13d47ea812bc82b44d9 Author: Yinghai Lu Date: Wed Jun 25 17:48:14 2008 -0700 x86: rename setup.c to setup_percpu.c some functions need to be moved to setup_numa.c after we merge setup32/64.c, some funcs need to be moved back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b9d19f4a51447930db002409945ad40a7a373cb0 Author: Yinghai Lu Date: Thu Jun 26 00:44:56 2008 -0700 x86: fix memory setup bug interesting... [ 0.000000] mapped low ram: 0 - 20000000 [ 0.000000] low ram: 00000000 - 1fff0000 [ 0.000000] bootmap 00002000 - 00006000 max_pfn_mapped > max_low_pfn? it seems init_memory_mapping reveals an old bug. please check attached test patch. Signed-off-by: Ingo Molnar commit 383bc5cecc2ed0b8f44a25488660b03030425ef7 Author: Bernhard Walle Date: Thu Jun 26 09:23:21 2008 +0200 x86, crashdump, /proc/vmcore: remove CONFIG_EXPERIMENTAL from kdump I would suggest to remove the "experimental" status from Kdump. Kdump is now in the kernel since a long time and used by Enterprise distributions. I don't think that "experimental" is true any more. Signed-off-by: Bernhard Walle Cc: vgoyal@redhat.com Cc: kexec@lists.infradead.org Cc: Bernhard Walle Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit 200001eb140ea33477965f2050bea0dac801974b Author: Paul Jackson Date: Wed Jun 25 05:44:46 2008 -0700 x86 boot: only pick up additional EFI memmap if add_efi_memmap flag Applies on top of the previous patch: x86 boot: add code to add BIOS provided EFI memory entries to kernel Instead of always adding EFI memory map entries (if present) to the memory map after initially finding either E820 BIOS memory map entries and/or kernel command line memmap entries, -instead- only add such additional EFI memory map entries if the kernel boot option: add_efi_memmap is specified. Requiring this 'add_efi_memmap' option is backward compatible with kernels that didn't load such additional EFI memory map entries in the first place, and it doesn't override a configuration that tries to replace all E820 or EFI BIOS memory map entries with ones given entirely on the kernel command line. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 5dab8ec139be215fbaba216fb4aea914d0f4dac5 Author: Paul Jackson Date: Wed Jun 25 05:44:40 2008 -0700 mm, generic, x86 boot: more tweaks to hex prints of some pfn addresses Fix some problems with (and applies on top of) a previous patch: x86 boot: show pfn addresses in hex not decimal in some kernel info printks Primarily change "0x%8lx" format, which displays with a right aligned space filled hex number (spaces between the "0x" prefix and the number), into "%0#10lx" format, which zero fills instead of space fills, and which uses the printf flag '#' to request the "0x" prefix instead of hard coding it. Also replace some other "0x%lx" formats with "%#lx", making use of the '#' printf flag again. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 3381959da5a00ae8289cfbd28b0b6d228f2d1d46 Author: Alok Kataria Date: Tue Jun 24 11:48:30 2008 -0700 x86: cleanup e820_setup_gap(), add e820_search_gap(), v2 This is a preparatory patch for the next patch in series. Moves some code from e820_setup_gap to a new function e820_search_gap. This patch is a part of a bug fix where we walk the ACPI table to calculate a gap for PCI optional devices. v1->v2: Patch on top of tip/master. Fixes a bug introduced in the last patch about the typeof "last". Also the new function e820_search_gap now returns if we found a gap in e820_map. Signed-off-by: Alok N Kataria Cc: lenb@kernel.org Signed-off-by: Ingo Molnar commit c987d12f8455b19b3b057d63bac3de161bd809fc Author: Yinghai Lu Date: Tue Jun 24 22:14:09 2008 -0700 x86: remove end_pfn in 64bit and use max_pfn directly. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f47f9d538ecc938bed589e9d39ad7b454f3b506c Author: Yinghai Lu Date: Tue Jun 24 22:13:15 2008 -0700 x86: numa 32 using apicid_2_node to get node for logical_apicid Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 232b957ae93973a5f8619ef61b916744b747478c Author: Yinghai Lu Date: Tue Jun 24 14:58:38 2008 -0700 x86: change size if e820_update/remove_range in case someone using crazy parameter while calling them. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d86623a0d55a14e7295e8ca1bd258e0c7f8dcb31 Author: Yinghai Lu Date: Tue Jun 24 14:57:29 2008 -0700 x86: add table_top check for alloc_low_page in 64 bit that range is from find_e820_area, so don't try to use end_pfn to see if out of boundary...use table_top instead to avoid possible strange result while cross the boundary... also change early_printk to printk, because init_memory_mapping is after early param parsing, and console=uart8250 already working at that time. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1a0db38e5fa50eeb885194b1f4e494d4de55b918 Author: Yinghai Lu Date: Tue Jun 24 14:56:20 2008 -0700 x86: get max_pfn_mapped in init_memory_mapping so don't shift that in the loop Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 976dd4dc99c3eaf45e3802ed46e3cc06a1ad8689 Author: Yinghai Lu Date: Tue Jun 24 14:55:32 2008 -0700 x86: fix e820_update_range size when overlapping before that we relay on sanitize_e820_map to remove the overlap. but e820_update_range(,,E820_RESERVED, E820_RAM) will not work this patch fix that who is going to use this? Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3a58a2a6c879b2e47daafd6e641661c50ac9da5a Author: Yinghai Lu Date: Tue Jun 24 12:19:41 2008 -0700 x86: introduce init_memory_mapping for 32bit #3 move kva related early backto initmem_init for numa32 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cfb0e53b05402f1ce65053677409a819c1798d34 Author: Yinghai Lu Date: Tue Jun 24 12:18:58 2008 -0700 x86: introduce init_memory_mapping for 32bit #2 moving relocate_initrd early Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4e29684c40f2a332ba4d05f6482d5807725d5624 Author: Yinghai Lu Date: Tue Jun 24 12:18:14 2008 -0700 x86: introduce init_memory_mapping for 32bit #1 ... so can we use mem below max_low_pfn earlier. this allows us to move several functions more early instead of waiting to after paging_init. That includes moving relocate_initrd() earlier in the bootup, and kva related early setup done in initmem_init. (in followup patches) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c3c2fee38462fa34b90e0a5427c7fc564bb5c96c Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:07 2008 -0400 x86: unify mmu_context.h Some amount of asm-x86/mmu_context.h can be unified, including activate_mm paravirt hook. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit fb15a9b3047a245a30a51696e4d8e29b1175a598 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:06 2008 -0400 x86: unify pgd_index pgd_index is common for 32 and 64-bit, so move it to a common place. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit e7a9b0b3c32aa13f4c766eb6a4e7038260718d4c Author: Eduardo Habkost Date: Wed Jun 25 00:19:05 2008 -0400 x86, 64-bit: use __pgd() on mk_kernel_pgd() Use __pgd() on mk_kernel_pgd() Signed-off-by: Eduardo Habkost Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 43adfc26dea171558f944adbc9adecddf2d4602f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:04 2008 -0400 x86, 64-bit: add gate_offset() and gate_segment() macros For calculating the offset from struct gate_struct fields. [ gate_offset and gate_segment were broken for 32-bit. ] Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4583ed514ea9ac844a6eb02d33120beaedf6837f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:03 2008 -0400 x86, 64-bit: unify early_ioremap The 32-bit early_ioremap will work equally well for 64-bit, so just use it. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit bb23e403e5162765dabe3dc78646724753d6359b Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:02 2008 -0400 x86, 64-bit: use p??_populate() to attach pages to pagetable Use the _populate() functions to attach new pages to a pagetable, to make sure the right paravirt_ops calls get called. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit fc8b8a60ffa7c89da58c75109dacf0b2798c7caf Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:01 2008 -0400 x86, 64-bit: use write_gdt_entry in vsyscall_set_cpu Use write_gdt_entry to generate the special vgetcpu descriptor in the vsyscall page. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ada857082317e6883cfcf7deb4e0c54d3c447cb0 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:00 2008 -0400 x86: remove open-coded save/load segment operations This removes a pile of buggy open-coded implementations of savesegment and loadsegment. (They are buggy because they don't have memory barriers to prevent them from being reordered with respect to memory accesses.) Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit af2b1c609ff52b6469d8e67696db98c93c348b0e Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:18:59 2008 -0400 x86: add memory barriers to wrmsr wrmsr is a special instruction which can have arbitrary system-wide effects. We don't want the compiler to reorder it with respect to memory operations, so make it a memory barrier. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d338c73c39a6ed0d07fe3bb07c7f12fff0dd237d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:18:58 2008 -0400 x86: add memory clobber to save/loadsegment Add "memory" clobbers to savesegment and loadsegment, since they can affect memory accesses and we never want the compiler to reorder them with respect to memory references. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit bea41808efdd8815435376209f23f406f8bf435f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:18:57 2008 -0400 x86: asm-x86/pgtable.h: fix compiler warning Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4de0043617f949fdac538fd59335e2150cd1b863 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:06 2008 +0200 x86: nmi_watchdog - introduce nmi_watchdog_active() helper Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit c376d45432d935e6f1e0ff2d6be3734bcd3ba455 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:05 2008 +0200 x86: nmi_watchdog - use NMI_NONE by default There is no need to keep NMI_DISABLED definition and use it for nmi_watchdog by default. Here is the point why: - IO-APIC and APIC chips are programmed for nmi_watchdog support at very early stage of kernel booting and not having nmi_watchdog specified as boot option lead only to nmi_watchdog becomes to NMI_NONE anyway - enable nmi_watchdog thru /proc/sys/kernel/nmi if it was not specified at boot is not possible too (even having this sysfs entry) Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 2b6addad2d67a2d75ae10a1c8efd18d81d78ff82 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:04 2008 +0200 x86: nmi_watchdog - remove useless check Since nmi_watchdog is unsigned variable we may safely remove the check for negative value. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 116f570e5d8347bee2614da2361eeadbb639ea50 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:04 2008 +0200 x86: nmi_watchdog - use nmi_watchdog variable for printing Since it is possible NMI_ definitions could be changed one day we better print out real nmi_watchdog value instead of constant string. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 47a486cc110fe77518c79a566b50a5c785c813ae Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:03 2008 +0200 x86: perfctr-watchdog.c - coding style cleanup Just some code beautification. Nothing else. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 2bc0d2615a15a93d344abbe8cb1b9056122bce9d Author: Paul Jackson Date: Sun Jun 22 07:22:17 2008 -0700 x86 boot: more consistently use type int for node ids Everywhere I look, node id's are of type 'int', except in this one case, which has 'unsigned long'. Change this one to 'int' as well. There is nothing special about the way this variable 'nid' is used in this routine to justify using an unusual type here. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit e2fc252e0ce695b4c4abe27bb073c35bd0d73252 Author: Paul Jackson Date: Sun Jun 22 07:22:12 2008 -0700 x86 boot: show pfn addresses in hex not decimal in some kernel info printks Page frame numbers (the portion of physical addresses above the low order page offsets) are displayed in several kernel debug and info prints in decimal, not hex. Decimal addresse are unreadable. Use hex. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit c4ba1320b7075e9ce33ad0afaef43ba13260b4c2 Author: Paul Jackson Date: Sun Jun 22 07:22:07 2008 -0700 x86 boot: allow overlapping early reserve memory ranges Add support for overlapping early memory reservations. In general, they still can't overlap, and will panic with "Overlapping early reservations" if they do overlap. But if a memory range is reserved with the new call: reserve_early_overlap_ok() rather than with the usual call: reserve_early() then subsequent early reservations are allowed to overlap. This new reserve_early_overlap_ok() call is only used in one place so far, which is the "BIOS reserved" reservation for the the EBDA region, which out of Paranoia reserves more than what the BIOS might have specified, and which thus might overlap with another legitimate early memory reservation (such as, perhaps, the EFI memmap.) Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 05486fa7e631a3be31a0bbc5a575a389a1609e94 Author: Paul Jackson Date: Sun Jun 22 07:22:02 2008 -0700 x86 boot: x86_64 efi compiler warning fix Fix a compiler warning. Rather than always casting a u32 to a pointer (which generates a warning on x86_64 systems) instead separate the x86_32 and x86_64 assignments entirely with ifdefs. Until other recent changes to this code, it used to have x86_64 separated like this. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 157fabf09594ab064b7ae92c81942af4b94663cb Author: Paul Jackson Date: Sun Jun 22 07:21:57 2008 -0700 x86 boot: e820 code indentation fix Fix indentation. An earlier code merge got the indentation of four lines of code off by a tab. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 295deae401fc5b6f215e876d93b40f25cb968c88 Author: Yinghai Lu Date: Mon Jun 23 19:55:05 2008 -0700 x86: setup_arch 32bit move kvm_guest_init later Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a2e59302668b9ac2fb2a2c9bca1fc793c5d0409 Author: Yinghai Lu Date: Mon Jun 23 19:54:23 2008 -0700 x86: setup_arch 32bit move command line copying early Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7465252ea0121c9cd28be68dfb86293a7554a111 Author: Yinghai Lu Date: Mon Jun 23 19:53:33 2008 -0700 x86: setup_arch 32bit move efi check later Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 11cd0bc140b5d66566c9eb49c1058737888cd75c Author: Yinghai Lu Date: Mon Jun 23 19:51:10 2008 -0700 x86: move some func calling from setup_arch to paging_init those function depend on paging setup pgtable, so they could access the ram in bootmem region but just get mapped. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c09434571d4b1d8abf530ba4ce28cb868b45f2e5 Author: Yinghai Lu Date: Mon Jun 23 16:41:30 2008 -0700 x86: numa32 pfn print out using hex instead Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6a07a0edacba397205ff97308b22c6b6aab9f791 Author: Yinghai Lu Date: Mon Jun 23 14:02:36 2008 -0700 x86: fix compile warning in init_64.c len is long and ret is only for NUMA Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3eb11edc1321e14a121deeb8b18c177750226eca Author: Ingo Molnar Date: Mon Jun 23 22:19:22 2008 +0200 x86: build fix fix: arch/x86/kernel/setup_32.c:409: error: 'enable_local_apic' undeclared (first use in this function) arch/x86/kernel/setup_32.c:409: error: (Each undeclared identifier is reported only once arch/x86/kernel/setup_32.c:409: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit 346cafecdeb17e1a0457a9e7eca239ef467b678c Author: Yinghai Lu Date: Mon Jun 23 03:06:14 2008 -0700 x86: clean up min_low_pfn for 32bit we already had early_res support, so don't need to track min_low_pfn. keep it to 0 always. also use init_bootmem_node instead of init_bootmem, so don't touch min_low_pfn. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2ec65f8b89ea003c27ff7723525a2ee335a2b393 Author: Yinghai Lu Date: Mon Jun 23 03:05:30 2008 -0700 x86: clean up using max_low_pfn on 32-bit so that max_low_pfn is not changed after it is set. so we can move that early and out of initmem_init. could call find_low_pfn_range just after max_pfn is set. also could move reserve_initrd out of setup_bootmem_allocator so 32bit is more like 64bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit bef1568d9714f1162086c32583ba7984a7ca8e3e Author: Yinghai Lu Date: Sun Jun 22 17:40:10 2008 -0700 x86: move reservetop and vmalloc parsing to pgtable_32.c also change reserve_top_address to __init attibute Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 90d967e0ef68f5312ed4b081d5c9312ff53c1c93 Author: Yinghai Lu Date: Mon Jun 23 21:00:45 2008 +0200 x86: move find_max_low_pfn to init_32.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7f0be02c5ed1deb04c54c6a17f412e04f417df11 Author: Yinghai Lu Date: Sun Jun 22 17:37:54 2008 -0700 x86: move boot_params declaring to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 225c37d71bc8b97eb2063e8eda153b383328b20b Author: Yinghai Lu Date: Sun Jun 22 02:46:58 2008 -0700 x86: introduce reserve_initrd Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b2ac82a0909aea0d2620ba4c189f37c567c21fe5 Author: Yinghai Lu Date: Sun Jun 22 02:45:39 2008 -0700 x86: introduce initmem_init for 32 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1f75d7e32ed47b2ab8570771a2ce8c707a7225a2 Author: Yinghai Lu Date: Sun Jun 22 02:44:49 2008 -0700 x86: introduce initmem_init for 64 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 17b4cceb1feb2a8865ce47064dd3bd446063a5d5 Author: Yinghai Lu Date: Sat Jun 21 21:02:20 2008 -0700 x86: move elfcorehdr parsing to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ce97c40e28223c148e142bda7af48fd0f27c81f9 Author: Yinghai Lu Date: Sat Jun 21 20:22:09 2008 -0700 x86: move reserve_standard_io_resource to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f81be876eaa9c71b3024c3dc05e4d1bf210cc255 Author: Yinghai Lu Date: Sat Jun 21 19:16:52 2008 -0700 x86: remove two duplicated funcs in setup_32.c early_cpu_init is declared in processor.h memory_setup is defined in e820.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0f0124fa742da7c51e2e3c5ded7f5e5e06ddc195 Author: Yinghai Lu Date: Sat Jun 21 16:25:37 2008 -0700 x86: merge setup64.c into common_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a9c1182fbd349882fe912245d6e03cd30943be2d Author: Yinghai Lu Date: Sat Jun 21 15:39:41 2008 -0700 x86: seperate probe_roms into another file it is only needed for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7a1fd9866cbb59a00006f1e0fd5726951b167c97 Author: Yinghai Lu Date: Sat Jun 21 14:48:05 2008 -0700 x86: add e820_remove_range ... so could add real hole in e820 agp check is using request_mem_region, and could fail if e820 is reserved... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a250347591da3e60b5ee53dd1d341732f081117 Author: Yinghai Lu Date: Sat Jun 21 03:24:00 2008 -0700 x86: change identify_cpu to static Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f580366f77cc4e035a68369105fbeae5bf436b4c Author: Yinghai Lu Date: Sat Jun 21 03:24:19 2008 -0700 x86: seperate funcs from setup_64 to cpu common_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 04606618bb50c4ec754585a82732ea4facfe2bc9 Author: Yinghai Lu Date: Sat Jun 21 01:38:41 2008 -0700 x86: remove some acpi ifdefs in setup_32/64 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ce38cc79964687d3c7e92663bc040552416fca27 Author: Yinghai Lu Date: Sat Jun 21 01:14:27 2008 -0700 x86: clean up init_amd() 1. move out calling of check_enable_amd_mmconf_dmi out of setup_64.c put it into init_amd(), so don't need to make extra dmi check for system with other cpus. 2. 15 --> 0xf Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3c999f142665265afd0fe9190204dd051f17e505 Author: Yinghai Lu Date: Fri Jun 20 16:11:20 2008 -0700 x86: check command line when CONFIG_X86_MPPARSE is not set, v2 if acpi=off, acpi=noirq and pci=noacpi, we need to disable apic. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 88a6846c70ad6bf33a545d554ace801d69e8a1a5 Author: Jeremy Fitzhardinge Date: Mon Jun 16 14:54:51 2008 -0700 xen: set max_pfn_mapped Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit b792c755907cffceab393585b626ef2553c38538 Author: Jeremy Fitzhardinge Date: Mon Jun 16 14:54:49 2008 -0700 xen: reserve ISA space in e820 map [ TODO: release the underlying memory back to Xen. ] Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar Cc: Yinghai Lu Cc: Ian Campbell Signed-off-by: Ingo Molnar commit be5bf9fa1c327fa6fd6e7ba44665437dd558dfe3 Author: Jeremy Fitzhardinge Date: Mon Jun 16 14:54:46 2008 -0700 xen: reserve Xen-specific memory in e820 map Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit d52d53b8a5b258bfaab9223a5e7284fcfdd48577 Author: Yinghai Lu Date: Mon Jun 16 20:10:55 2008 -0700 RFC x86: try to remove arch_get_ram_range want to remove arch_get_ram_range, and use early_node_map instead. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1ea598c29748a559a0086a84a016886d786e6272 Author: Ingo Molnar Date: Fri Jun 13 20:31:54 2008 +0200 x86: fix sleep.c build error fix: arch/x86/kernel/acpi/sleep.c: In function ‘acpi_save_state_mem': arch/x86/kernel/acpi/sleep.c:75: error: ‘stack_start' undeclared (first use in this function) arch/x86/kernel/acpi/sleep.c:75: error: (Each undeclared identifier is reported only once arch/x86/kernel/acpi/sleep.c:75: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit 7f6cbc905ee22c457e0dcd0bba9d4affbc290a6f Author: Glauber Costa Date: Wed Jun 4 23:05:39 2008 -0700 x86: take load_sp0 out of smpboot.c there's no particular reason to do load_sp0 in different places for i386 and x86_64. They should all be in cpu_init. Right now, cpu_init itself is not integrated, but with this patch, the code becomes closer to each other, making in easier to integrate when the time comes. Furthermore, although doing it in do_boot_cpu for x86_64 is fine, since it's only a copy, load_sp0 should be executed in the cpu it refers to anyway. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1481a3dd42c21ac4a8b9497cb9f5df816d6b064f Author: Glauber Costa Date: Wed Jun 4 15:35:03 2008 -0300 x86: move cpu_exit_clear to process_32.c Take it out of smpboot.c, and move it to process_32.c, closer to its only user. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b553a1e0ff48bd66fd18f705370e47c0b4ecea61 Author: Glauber Costa Date: Wed Jun 4 02:05:03 2008 -0300 x86: remove cpu from maps during cpu disable, take cpus out of all maps in i386, instead of just the online map. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 78e622705c69da9649ba87071d8de85054b62df8 Author: Glauber Costa Date: Wed Jun 4 02:03:07 2008 -0300 x86: change naming to match x86_64 Change unmap_cpu_to_logical_apicid to numa_remove_cpu. Besides being shorter, it is the same name x86_64 uses. We can save an ifdef in the code this way. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b5841765a2e735a38612c4e4a82170c33d701b3c Author: Glauber Costa Date: Wed May 28 13:38:28 2008 -0300 x86: provide connect_bsp_APIC for x86_64 Although it is not really needed, we provide it to get closer to i386. ifdefs around it are removed in smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3fde690011a84e19f98f77bfaa349b2119ddd2d2 Author: Glauber Costa Date: Wed May 28 20:34:19 2008 -0700 x86: change __setup_vector_irq with setup_vector_irq We create a version of it for i386, and then take the CONFIG_X86_64 ifdef out of the game. We could create a __setup_vector_irq for i386, but it would incur in an unnecessary lock taking. Moreover, it is better practice to only export setup_vector_irq anyway. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 86e430edf462e872ecfab28d6b8619be5ab9c300 Author: Glauber Costa Date: Wed May 28 20:05:46 2008 -0700 x86: remove ifdef from stepping The stepping won't affect x86_64, since there are not x86_64 k7's or pentiums. So, although it adds to the binary size, remove the ifdef for smoother integration Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 0f385d1ddd0952e01a968bfa5512378ad23de6df Author: Glauber Costa Date: Wed May 28 17:09:53 2008 -0700 x86: clearing io_apic harmless for x86_64 so remove ifdef. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3e9704739daf46a8ba6593d749c67b5f7cd633d2 Author: Glauber Costa Date: Wed May 28 13:01:54 2008 -0300 x86: boot secondary cpus through initial_code remove "initialize_secondary". Boot both architectures via initial_code. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e3f77edfc1d0beb7b10f9f31d9e39206f7dbef7b Author: Glauber Costa Date: Wed May 28 12:57:02 2008 -0300 x86: use initial_code for i386 x86_64 jumps to whatever is written in "initial_code" symbol, instead of a fixed address. Do it for i386 too. It will allow us to integrate more of the smp boot code. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a939098afcfa5f81d3474782ec15c6d114e57763 Author: Glauber Costa Date: Wed May 28 16:19:53 2008 -0700 x86: move x86_64 gdt closer to i386 i386 and x86_64 used two different schemes for maintaining the gdt. With this patch, x86_64 initial gdt table is defined in a .c file, same way as i386 is now. Also, we call it "gdt_page", and the descriptor, "early_gdt_descr". This way we achieve common naming, which can allow for more code integration. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 736f12bff9d9e7b4e895c64f73b190c8383fc2a1 Author: Glauber Costa Date: Tue May 27 20:14:51 2008 -0700 x86: don't use gdt_page openly. There's a macro available for that. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9cf4f298e29abba25c16679fe7be70898223167e Author: Glauber Costa Date: Tue May 27 18:22:54 2008 -0700 x86: use stack_start in x86_64 call x86_64's init_rsp stack_start, just as i386 does. Put a zeroed stack segment for consistency. With this, we can eliminate one ugly ifdef in smpboot.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a7bf0bd5e6af7fe69342dabf2a3b721f0163469a Author: Jeremy Fitzhardinge Date: Wed May 28 15:02:14 2008 +0100 build: add __page_aligned_data and __page_aligned_bss Making a variable page-aligned by using __attribute__((section(".data.page_aligned"))) is fragile because if sizeof(variable) is not also a multiple of page size, it leaves variables in the remainder of the section unaligned. This patch introduces two new qualifiers, __page_aligned_data and __page_aligned_bss to set the section *and* the alignment of variables. This makes page-aligned variables more robust because the linker will make sure they're aligned properly. Unfortunately it requires *all* page-aligned data to use these macros... Signed-off-by: Ingo Molnar commit 1ecd27657b735128a728ebf0c31fce5e1456718a Author: Bernhard Walle Date: Fri Jun 20 15:38:22 2008 +0200 x86: unify crashkernel reservation for 32 and 64 bit This patch moves the reserve_crashkernel() to setup.c and removes the architecture-specific version. Both versions were more or less the same. I tested it on both x86-64 and i386, with CONFIG_KEXEC on and off (so that it compiles). Signed-off-by: Bernhard Walle Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 6236af82d8a989e150a02800c210eb61cb1e17be Merge: e3ae0ac... 8b7ef4e... Author: Ingo Molnar Date: Tue Jul 8 12:24:29 2008 +0200 Merge branch 'x86/fixmap' into x86/devel Conflicts: arch/x86/mm/init_64.c Signed-off-by: Ingo Molnar commit e3ae0acf59244ecf5b023ec99cef4b6b29d649bc Merge: 4b62ac9... e7eb872... Author: Ingo Molnar Date: Tue Jul 8 12:24:13 2008 +0200 Merge branch 'x86/uv' into x86/devel commit e7eb8726d0e144f0925972c4ecee945e91a42753 Author: Cliff Wickman Date: Mon Jun 23 08:32:25 2008 -0500 x86, SGI UV: uv_ptc_proc_write fix Someone could write 0 bytes to /proc/sgi_uv/ptc_statistics, causing optstr[count - 1] = '\0'; to write to who-knows-where. (Andi Kleen noticed this need from a patch I sent for similar code in the ia64 world (sn2_ptc_proc_write()).) (count less than zero is not possible here, as count is unsigned) Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit cef53278682eb2604cbd99de64cdb59a8b35235a Author: Cliff Wickman Date: Thu Jun 19 11:16:24 2008 -0500 x86, SGI UV: TLB shootdown using broadcast assist unit, v6 v6: 6/19 close the security hole in uv_ptc_proc_write()) > Found a potential security hole while doing that: > static ssize_t uv_ptc_proc_write(struct file *file, const char __user *user, > size_t count, loff_t *data) > if (copy_from_user(optstr, user, count)) > return -EFAULT; > > is count guaranteed to never be larger than 64? is fixed below. It adds tlb_uv.o to the Makefile. Signed-off-by: Cliff Wickman Cc: mingo@elte.hu Signed-off-by: Ingo Molnar commit ab9c0bb8a8c1d71dd303abdaa61ec496128e2fbe Author: Jack Steiner Date: Mon Jun 16 12:09:10 2008 -0500 x86: increase MAX_APICS for very large x86-64 configs Increase the maximum number of apics when running very large configurations. This patch has no affect on most systems. The patch has no effect on any 32-bit kernel. It adds ~4k to the size of 64-bit kernels but only if NR_CPUS > 255. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit b6df1b8bc1250191cfee15627697111c1cbda53f Author: Jack Steiner Date: Thu Jun 19 21:51:05 2008 -0500 x86: fix stack overflow for large values of MAX_APICS physid_mask_of_physid() causes a huge stack (12k) to be created if the number of APICS is large. Replace physid_mask_of_physid() with a new function that does not create large stacks. This is a problem only on large x86_64 systems. this paves the way to increase MAX_APICS. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Cc: mingo@elte.hu Cc: tglx@linutronix.de Signed-off-by: Ingo Molnar commit d400524affeb84bdfc2b00cd561fbfb8c09dadd7 Author: Ingo Molnar Date: Wed Jun 18 14:51:57 2008 +0200 SGI UV: TLB shootdown using broadcast assist unit, fix fix: arch/x86/kernel/tlb_uv.c: In function ‘uv_table_bases_init': arch/x86/kernel/tlb_uv.c:612: error: ‘bau_tabsp' undeclared (first use in this function) arch/x86/kernel/tlb_uv.c:612: error: (Each undeclared identifier is reported only once arch/x86/kernel/tlb_uv.c:612: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit b4c286e6af24a116228c8c9f58b9a9eb5b7c000a Author: Ingo Molnar Date: Wed Jun 18 14:28:19 2008 +0200 SGI UV: clean up arch/x86/kernel/tlb_uv.c Signed-off-by: Ingo Molnar commit dc163a41ffba22a6ef70b51e7ddf68aa13b4b414 Author: Ingo Molnar Date: Wed Jun 18 14:15:43 2008 +0200 SGI UV: TLB shootdown using broadcast assist unit TLB shootdown for SGI UV. v5: 6/12 corrections/improvements per Ingo's second review Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit b194b120507276b4f09e2e14f941884e777fc7c8 Author: Cliff Wickman Date: Thu Jun 12 08:23:48 2008 -0500 SGI UV: TLB shootdown using broadcast assist unit, cleanups TLB shootdown for SGI UV. v1: 6/2 original v2: 6/3 corrections/improvements per Ingo's review v3: 6/4 split atomic operations off to a separate patch (Jeremy's review) v4: 6/12 include rather than (fixes a !SMP build problem that Ingo found) fix the index on uv_table_bases[blade] Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit 73e991f45fe7644711c0c9dd357a1a2c6e222707 Author: Cliff Wickman Date: Wed Jun 4 15:33:17 2008 -0500 x86 atomic operations: atomic_or_long() atomic_inc_short() Provide atomic operations for increment of a 16-bit integer and logical OR into a 64-bit integer. Signed-off-by: Cliff Wickman Reviewed-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1812924bb1823950c1dc95c478b71b037057356e Author: Cliff Wickman Date: Mon Jun 2 08:56:14 2008 -0500 x86, SGI UV: TLB shootdown using broadcast assist unit TLB shootdown for SGI UV. Depends on patch (in tip/x86/irq): x86-update-macros-used-by-uv-platform.patch Jack Steiner May 29 This patch provides the ability to flush TLB's in cpu's that are not on the local node. The hardware mechanism for distributing the flush messages is the UV's "broadcast assist unit". The hook to intercept TLB shootdown requests is a 2-line change to native_flush_tlb_others() (arch/x86/kernel/tlb_64.c). This code has been tested on a hardware simulator. The real hardware is not yet available. The shootdown statistics are provided through /proc/sgi_uv/ptc_statistics. The use of /sys was considered, but would have required the use of many /sys files. The debugfs was also considered, but these statistics should be available on an ongoing basis, not just for debugging. Issues to be fixed later: - The IRQ for the messaging interrupt is currently hardcoded as 200 (see UV_BAU_MESSAGE). It should be dynamically assigned in the future. - The use of appropriate udelay()'s is untested, as they are a problem in the simulator. Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit d98b940ab29a245de84a1c138b866dcc29217601 Merge: cbd6712... 1b40a89... Author: Ingo Molnar Date: Tue Jul 8 12:23:00 2008 +0200 Merge branch 'linus' into x86/irq commit 4b62ac9a2b859f932afd5625362c927111b7dd9b Merge: 2b4fa85... 8700600... Author: Ingo Molnar Date: Tue Jul 8 12:17:08 2008 +0200 Merge branch 'x86/nmi' into x86/devel Conflicts: arch/x86/kernel/nmi.c arch/x86/kernel/nmi_32.c Signed-off-by: Ingo Molnar commit 2b4fa851b2f06fdb04cac808b57324f5e51e1578 Merge: 3de352b... 46f68e1... Author: Ingo Molnar Date: Tue Jul 8 11:59:23 2008 +0200 Merge branch 'x86/numa' into x86/devel Conflicts: arch/x86/Kconfig arch/x86/kernel/e820.c arch/x86/kernel/efi_64.c arch/x86/kernel/mpparse.c arch/x86/kernel/setup.c arch/x86/kernel/setup_32.c arch/x86/mm/init_64.c include/asm-x86/proto.h Signed-off-by: Ingo Molnar commit 46f68e1c6b04a04772e828ff3bcd07ed708805c2 Author: Bernhard Walle Date: Sun Jun 8 15:46:31 2008 +0200 x86: use reserve_bootmem_generic() to reserve crashkernel memory on x86_64 This patch uses reserve_bootmem_generic() instead of reserve_bootmem() to reserve the crashkernel memory on x86_64. That's necessary for NUMA machines, see 00212fef814612245ed0261cbac8426d0c9a31a5: [PATCH] Fix kdump Crash Kernel boot memory reservation for NUMA machines This patch will fix a boot memory reservation bug that trashes memory on the ES7000 when loading the kdump crash kernel. The code in arch/x86_64/kernel/setup.c to reserve boot memory for the crash kernel uses the non-numa aware "reserve_bootmem" function instead of the NUMA aware "reserve_bootmem_generic". I checked to make sure that no other function was using "reserve_bootmem" and found none, except the ones that had NUMA ifdef'ed out. I have tested this patch only on an ES7000 with NUMA on and off (numa=off) in a single (non-NUMA) and multi-cell (NUMA) configurations. Signed-off-by: Amul Shah Looks-good-to: Vivek Goyal Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds The switch-back to reserve_bootmem() was accidentally introduced in 5c3391f9f749023a49c64d607da4fb49263690eb when adding the BOOTMEM_EXCLUSIVE parameter. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 3fd052b1b46ac23a2316283a996fe6c32dbcf132 Author: Bernhard Walle Date: Sun Jun 8 15:46:30 2008 +0200 x86: add flags parameter to reserve_bootmem_generic() This patch adds a 'flags' parameter to reserve_bootmem_generic() like it already has been added in reserve_bootmem() with commit 72a7fe3967dbf86cb34e24fbf1d957fe24d2f246. It also changes all users to use BOOTMEM_DEFAULT, which doesn't effectively change the behaviour. Since the change is x86-specific, I don't think it's necessary to add a new API for migration. There are only 4 users of that function. The change is necessary for the next patch, using reserve_bootmem_generic() for crashkernel reservation. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 053713f5745b8b08fb598adb65230bc168cb9d8d Author: Randy Dunlap Date: Thu Jun 5 11:10:59 2008 -0700 x86: fix setup.c printk format warning Fix setup.c printk format warning: linux-next-20080605/arch/x86/kernel/setup.c: In function 'setup_per_cpu_areas': linux-next-20080605/arch/x86/kernel/setup.c:173: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'ssize_t' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 03db1f74a7d823e3de3767f36b1e08829f6fb3a1 Author: Vegard Nossum Date: Fri Jun 6 16:33:25 2008 +0200 x86: don't return invalid pointers from node_to_cpumask() Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 076ac2af86c3b7f89ac31bc50a7508d3e035b786 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 sched, numa: replace MAX_NUMNODES with nr_node_ids in kernel/sched.c * Replace usages of MAX_NUMNODES with nr_node_ids in kernel/sched.c, where appropriate. This saves some allocated space as well as many wasted cycles going through node entries that are non-existent. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 886533a3e370a6d5c4e46819d1e14bd2f20dbb3a Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: numa_64.c fix shadowed variable sparse mutters: arch/x86/mm/numa_64.c:195:27: warning: symbol 'end_pfn' shadows an earlier one Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 864fc31ea59798905a37cd896a3e093915a3b366 Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: numa_64.c make local variables static plat_node_bdata, cmdline, nodemap_addr, nodemap_size are local to numa_64.c. Make them static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f307d25e638d3408659a2ec98fb3fd1737f7cb31 Author: Jeremy Fitzhardinge Date: Wed May 21 11:21:13 2008 +0100 x86: compile error fix for smpboot.c Without this patch, my link fails with: arch/x86/kernel/built-in.o(.cpuinit.text+0x3c6e): In function `get_local_pda': : undefined reference to `_cpu_pda' arch/x86/kernel/built-in.o(.cpuinit.text+0x3cd1): In function `get_local_pda': : undefined reference to `after_bootmem' arch/x86/kernel/built-in.o(.cpuinit.text+0x3cec): In function `get_local_pda': : undefined reference to `_cpu_pda' make[2]: *** [.tmp_vmlinux1] Error 1 Caused by commit 766da892634694f795b18b9538407816896fc470 x86: remove static boot_cpu_pda array v2 Signed-off-by: Thomas Gleixner commit 5deb0b2a25b7b568ab81f7c38052572ecf4ccc96 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 x86: leave initial __cpu_pda array in place until cpus are booted Ingo Molnar wrote: ... > they crashed after about 3 randconfig iterations with: > > early res: 4 [8000-afff] PGTABLE > early res: 5 [b000-b87f] MEMNODEMAP > PANIC: early exception 0e rip 10:ffffffff8077a150 error 2 cr2 37 > Pid: 0, comm: swapper Not tainted 2.6.25-sched-devel.git-x86-latest.git #14 > > Call Trace: > [] early_idt_handler+0x56/0x6a > [] ? numa_set_node+0x30/0x60 > [] ? numa_set_node+0x9/0x60 > [] numa_init_array+0x93/0xf0 > [] acpi_scan_nodes+0x3b9/0x3f0 > [] numa_initmem_init+0x136/0x150 > [] setup_arch+0x48f/0x700 > [] ? clockevents_register_notifier+0x3a/0x50 > [] start_kernel+0xd7/0x440 > [] x86_64_start_kernel+0x222/0x280 ... Here's the fixup... This one should follow the previous patches. Thanks, Mike Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 x86: remove static boot_cpu_pda array v2 * Remove the boot_cpu_pda array and pointer table from the data section. Allocate the pointer table and array during init. do_boot_cpu() will reallocate the pda in node local memory and if the cpu is being brought up before the bootmem array is released (after_bootmem = 0), then it will free the initial pda. This will happen for all cpus present at system startup. This removes 512k + 32k bytes from the data section. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f248bde9d47cc177011198c9a15fb339b9f3215 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: remove the static 256k node_to_cpumask_map * Consolidate node_to_cpumask operations and remove the 256k byte node_to_cpumask_map. This is done by allocating the node_to_cpumask_map array after the number of possible nodes (nr_node_ids) is known. * Debug printouts when CONFIG_DEBUG_PER_CPU_MAPS is active have been increased. It now shows faults when calling node_to_cpumask() and node_to_cpumask_ptr(). For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7891a24e1ee50c96896c0cf7da216a8e7b573ca5 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: restore pda nodenumber field * Restore the nodenumber field in the x86_64 pda. This field is slightly different than the x86_cpu_to_node_map mainly because it's a static indication of which node the cpu is on while the cpu to node map is a dyanamic mapping that may get reset if the cpu goes offline. This also simplifies the numa_node_id() macro. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23ca4bba3e20c6c3cb11c1bb0ab4770b724d39ac Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: cleanup early per cpu variables/accesses v4 * Introduce a new PER_CPU macro called "EARLY_PER_CPU". This is used by some per_cpu variables that are initialized and accessed before there are per_cpu areas allocated. ["Early" in respect to per_cpu variables is "earlier than the per_cpu areas have been setup".] This patchset adds these new macros: DEFINE_EARLY_PER_CPU(_type, _name, _initvalue) EXPORT_EARLY_PER_CPU_SYMBOL(_name) DECLARE_EARLY_PER_CPU(_type, _name) early_per_cpu_ptr(_name) early_per_cpu_map(_name, _idx) early_per_cpu(_name, _cpu) The DEFINE macro defines the per_cpu variable as well as the early map and pointer. It also initializes the per_cpu variable and map elements to "_initvalue". The early_* macros provide access to the initial map (usually setup during system init) and the early pointer. This pointer is initialized to point to the early map but is then NULL'ed when the actual per_cpu areas are setup. After that the per_cpu variable is the correct access to the variable. The early_per_cpu() macro is not very efficient but does show how to access the variable if you have a function that can be called both "early" and "late". It tests the early ptr to be NULL, and if not then it's still valid. Otherwise, the per_cpu variable is used instead: #define early_per_cpu(_name, _cpu) \ (early_per_cpu_ptr(_name) ? \ early_per_cpu_ptr(_name)[_cpu] : \ per_cpu(_name, _cpu)) A better method is to actually check the pointer manually. In the case below, numa_set_node can be called both "early" and "late": void __cpuinit numa_set_node(int cpu, int node) { int *cpu_to_node_map = early_per_cpu_ptr(x86_cpu_to_node_map); if (cpu_to_node_map) cpu_to_node_map[cpu] = node; else per_cpu(x86_cpu_to_node_map, cpu) = node; } * Add a flag "arch_provides_topology_pointers" that indicates pointers to topology cpumask_t maps are available. Otherwise, use the function returning the cpumask_t value. This is useful if cpumask_t set size is very large to avoid copying data on to/off of the stack. * The coverage of CONFIG_DEBUG_PER_CPU_MAPS has been increased while the non-debug case has been optimized a bit. * Remove an unreferenced compiler warning in drivers/base/topology.c * Clean up #ifdef in setup.c For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1184dc2ffe2c8fb9afb766d870850f2c3165ef25 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: modify Kconfig to allow up to 4096 cpus * Increase the limit of NR_CPUS to 4096 and introduce a boolean called "MAXSMP" which when set (e.g. "allyesconfig"), will set NR_CPUS = 4096 and NODES_SHIFT = 9 (512). * Changed max setting for NODES_SHIFT from 15 to 9 to accurately reflect the real limit. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7496b60654e759d0b9008b80908e80727904b3c4 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: fix remove cpu_pda table patch Mike Travis wrote: > Ingo Molnar wrote: >> * Mike Travis wrote: >> >>> [Ingo - please replace "PATCH 07/11" with this one.] >>> >>> * Remove 544k bytes from the kernel by removing the boot_cpu_pda >>> array from the data section and allocating it during startup. >>> >>> Fixed panic in setup_per_cpu_areas when HOTPLUG_CPU not set. >>> >>> For inclusion into sched-devel/latest tree. >> sched-devel.git randconfig testing found another crash with your queue: >> >> [ 0.111060] Brought up 1 CPUs >> [ 0.111986] Total of 1 processors activated (4022.73 BogoMIPS). >> [ 0.112987] Testing NMI watchdog ... <1>BUG: unable to handle kernel NULL pointer dereference at 0000000000000040 >> [ 0.114982] IP: [] check_nmi_watchdog+0xb0/0x210 >> [ 0.114982] PGD 0 >> [ 0.114982] Oops: 0000 [1] SMP >> [ 0.114982] CPU 0 >> [............] >> >> http://redhat.com/~mingo/misc/config-Mon_Apr_28_23_25_25_CEST_2008.bad >> http://redhat.com/~mingo/misc/log-Mon_Apr_28_23_25_25_CEST_2008.bad >> >> Ingo > > Hi Ingo, > > I need a bit more information on your hardware configuration. Building a > kernel with the above config file started up fine on both the Intel and AMD > boxes. > > Based on the above output it looks like it might be a UP machine? ... Ok, I think I found it. In check_nmi_watchdog(): for (cpu = 0; cpu < NR_CPUS; cpu++) prev_nmi_count[cpu] = cpu_pda(cpu)->__nmi_count; As I mentioned it works fine on both of my systems so could you try it out? Thanks! Mike -- * Change function check_nmi_watchdog() to use nr_cpu_ids instead of NR_CPUS. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbb6152e6f72df367f8a955586c5e6282a7255e5 Author: Yinghai Lu Date: Sat Apr 19 01:30:16 2008 -0700 x86: don't call pxm_to_node again also make bus_numa work even if ACPI_NUMA is not defined. don't call pxm_to_node again, and use node directly. Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b755de8dfdfef97effaa91379ffafcb81f4d62a1 Author: Yinghai Lu Date: Wed Feb 20 12:41:52 2008 -0800 x86: make dev_to_node return online node a numa system (with multi HT chains) may return node without ram. Aka it is not online. Try to get an online node, otherwise return -1. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3de352bbd86f890dd0c5e1c09a6a1b0b29e0f8ce Merge: 1b8ba39... 9340e1c... Author: Ingo Molnar Date: Tue Jul 8 11:14:58 2008 +0200 Merge branch 'x86/mpparse' into x86/devel Conflicts: arch/x86/Kconfig arch/x86/kernel/io_apic_32.c arch/x86/kernel/setup_64.c arch/x86/mm/init_32.c Signed-off-by: Ingo Molnar commit 9340e1ccdf7b9b22a2be7f51cd74e8b5e11961bf Author: Matthew Garrett Date: Tue Jul 1 01:12:06 2008 +0100 x86, ioapic, acpi quirk: disable IRQ 0 through I/O APIC for some HP systems Some HP laptops have a problem with their DSDT reporting as HP/SB400/10000, which includes some code which overrides all temperature trip points to 16C if the INTIN2 input of the I/O APIC is enabled. This input is incorrectly designated the ISA IRQ 0 via an interrupt source override even though it is wired to the output of the master 8259A and INTIN0 is not connected at all. So far two models have been identified, namely nx6125 and nx6325. Use a knob provided by the I/O APIC interrupt registration code to abandon any attempts to route IRQ 0 through the I/O APIC for these systems. Signed-off-by: Maciej W. Rozycki Cc: Len Brown Cc: Matthew Garrett Cc: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit 471694ea6c6ccdf7131354f1d698d4d83a605293 Author: Maciej W. Rozycki Date: Tue Jul 1 01:11:35 2008 +0100 x86, ioapic, acpi: add a knob to disable IRQ 0 through I/O APIC As discovered recently some systems exhibit problems when the 8254 timer IRQ is routed through the I/O APIC. These problems do not affect the timer IRQ itself and therefore cannot be detected when the correctness of operation of the interrupt is verified in check_timer(). Therefore the I/O APIC path of the timer IRQ has to be disabled entirely. This is a change that lets platforms ask for the timer IRQ not to be registered in the I/O APIC interrupt tables. The local APIC and ExtINTA paths are unaffected. This request is only taken into account for ACPI platforms as MP table systems seem unaffected so far. Signed-off-by: Maciej W. Rozycki Cc: Len Brown Cc: Matthew Garrett Cc: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit bad48f4b313a756ccde454c25c14c828e2fd5819 Author: Yinghai Lu Date: Fri Jun 20 07:33:31 2008 -0700 x86: simplify x86_mpparse dependency check "Maciej W. Rozycki" said: > Given X86_64 selects X86_LOCAL_APIC I am not sure the redundancy seen >above does not actually obscure the logic behind... I think: > > depends on X86_LOCAL_APIC && !X86_VISWS > >would be clearer and get the same. Suggested-by: Maciej W. Rozycki Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Len Brown Signed-off-by: Ingo Molnar commit c73d8dd8595c4c6c1c016bb1ac4dd8035e67975b Author: Ingo Molnar Date: Tue Jul 8 10:47:39 2008 +0200 Revert parts of "x86: update mptable" Signed-off-by: Ingo Molnar commit a4caa18efe468acb3522e30763de57a67b3e438b Author: Yinghai Lu Date: Thu Jun 19 12:15:01 2008 -0700 x86: fix compiling when CONFIG_X86_MPPARSE is not set Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 6695c85b2e6f9f2e9ccaa8af38b72f5ab4a5184f Author: Yinghai Lu Date: Thu Jun 19 12:13:09 2008 -0700 x86: let MPS support be selectable, v2 v2: seperate "fix for compiling when MPPARSE is not set" to another patch make X86_MPPARSE to be selectable only when acpi is set and X86_MPPARSE will be set if acpi is not set. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Maciej W. Rozycki Cc: Len Brown Signed-off-by: Ingo Molnar commit fcfa146e412023dd55f8855f240b2c2082dc1baa Author: Yinghai Lu Date: Wed Jun 18 17:29:31 2008 -0700 x86: update mptable fix with no ioapic v2 if the system doesn't have ioapic, we don't need to store entries for mptable update also let mp_config_acpi_gsi not call func in mpparse so later could decouple mpparse with acpi more easily Reported-by: Daniel Exner Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Daniel Exner Cc: Len Brown Signed-off-by: Ingo Molnar commit 95a71a45c250177854f7c530810c88a8a19a443b Author: Yinghai Lu Date: Wed Jun 18 17:27:08 2008 -0700 x86: cleanup machine_specific_memory_setup, v2 1. let 64bit support 88 and e801 too 2. introduce default_machine_specific_memory_setup, and reuse it for voyager v2: fix 64 bit compiling Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 66a6f8d539416c9664f3a04ecb12f55a0097ab8c Author: Yinghai Lu Date: Wed Jun 18 11:54:37 2008 -0700 x86: remove unused file after numaq etc depends on genericarch we don't need those mach_mpspec.h files now. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1c6e55032e24ff79668581a0f296c278ef7edd4e Author: Yinghai Lu Date: Tue Jun 17 15:41:45 2008 -0700 x86: use acpi_numa_init to parse on 32-bit numa seperate SRAT finding and parsing from get_memcfg_from_srat, and let getmemcfg_from_srat only handle array from previous step. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0699eae140a3eeca976df4e3b7699b1fa3f763cd Author: Yinghai Lu Date: Tue Jun 17 15:39:01 2008 -0700 x86: Kconfig cleanup with genericarch we already have summit and etc depends on genericarch, so use genericarch only. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 593a0cc39046515a438ca9fcc168115961f9f503 Author: Yinghai Lu Date: Tue Jun 17 10:02:45 2008 -0700 x86: move some function out of setup_bootmem_alloc ... to make it more like 64-bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 064d25f12014ae1d97c2882f9ab874995321f2b2 Author: Yinghai Lu Date: Mon Jun 16 19:58:28 2008 -0700 x86: merge setup_memory_map with e820 ... and kill e820_32/64.c and e820_32/64.h Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cc9f7a0ccf000d4db5fbdc7b0ae48eefea102f69 Author: Yinghai Lu Date: Mon Jun 16 16:11:08 2008 -0700 x86: kill bad_ppro so don't punish all other cpus without that problem when init highmem Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 41c094fd3ca54f1a71233049cf136ff94c91f4ae Author: Yinghai Lu Date: Mon Jun 16 13:03:31 2008 -0700 x86: move e820_resource_resources to e820.c and make 32-bit resource registration more like 64 bit. also move probe_roms back to setup_32.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8c5beb50d3ec915d15c4d38aa37282309a65f14e Author: Huang, Ying Date: Wed Jun 11 11:33:39 2008 +0800 x86 boot: pass E820 memory map entries more than 128 via linked list of setup data Because of the size limits of struct boot_params (zero page), the maximum number of E820 memory map entries can be passed to kernel is 128. As pointed by Paul Jackson, there is some machine produced by SGI with so many nodes that the number of E820 memory map entries is more than 128. To enabling Linux kernel on these system, a new setup data type named SETUP_E820_EXT is defined to pass additional memory map entries to Linux kernel. This patch is based on x86/auto-latest branch of git-x86 tree and has been tested on x86_64 and i386 platform. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit b5bc6c0e55000dab86b73f838f5ad02908b23755 Author: Yinghai Lu Date: Sat Jun 14 18:32:52 2008 -0700 x86, mm: use add_highpages_with_active_regions() for high pages init v2 use early_node_map to init high pages, so we can remove page_is_ram() and page_is_reserved_early() in the big loop with add_one_highpage also remove page_is_reserved_early(), it is not needed anymore. v2: fix the build of other platforms Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d0be6bdea103b8d04c8a3495538b7c0011ae4129 Author: Yinghai Lu Date: Sun Jun 15 18:58:51 2008 -0700 x86: rename two e820 related functions rename update_memory_range to e820_update_range rename add_memory_region to e820_add_region to make it more clear that they are about e820 map operations. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6df8809bbd1b48cc6d428df7372ed749c8711641 Author: Yinghai Lu Date: Sun Jun 15 18:19:46 2008 -0700 x86: use dstapic in mp_config_acpi_legacy_irqs so we don't get the same value multiple times. also make mp_config_acpi_legacy_irqs more readable by moving assignments together. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d867e5310bd3c560093d39669ef52ff7f1b5711a Author: Yinghai Lu Date: Sat Jun 14 01:26:41 2008 -0700 x86: keep MP_intsrc_info untouched if we do not update mptable Daniel Exner reported IO-APIC enumeration breakage in linux-next. Alexey Starikovskiy found out that it might be related to commit 2944e16b25 "x86: update mptable". use enable_update_mptable to decide if need check before add mp_irqs array. Reported-by: Daniel Exner Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a27f5c51629c3d3b7718dd4be3d2722b472fafe Author: Yinghai Lu Date: Fri Jun 13 20:07:03 2008 -0700 x86: clean up relocate_initrd 1. move that before zone_sizes_init ... 2. add free_early for one old one, otherwise it will be be reserved again when we init highmem. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cc1050bafebfb1d7935331282e948b5016318192 Author: Yinghai Lu Date: Fri Jun 13 19:08:52 2008 -0700 x86: replace shrink_active_range() with remove_active_range() in case we have kva before ramdisk on a node, we still need to use those ranges. v2: reserve_early kva ram area, in case there are holes in highmem, to avoid those area could be treat as free high pages. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d2dbf343329dc777d77488743465f7be4245971d Author: Yinghai Lu Date: Fri Jun 13 02:00:56 2008 -0700 x86: clean up reserve_bootmem_generic() and port it to 32-bit 1. add reserve_bootmem_generic for 32bit 2. change len to unsigned long 3. make early_res_to_bootmem to use it Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b1f006b65c12b85df81f12c1073ad18fd26f4a16 Author: Yinghai Lu Date: Mon Jun 9 18:11:36 2008 -0700 x86: make generic arch support NUMAQ, fix #2 we are checking mptable early for numaq, so don't need to reserve_bootmem for it. bootmem is not there yet. do the same thing as 64-bit. found it on 64g above system from 64-bit kernel kexec to 32 bit kernel with numaq support. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b20d70b70e9aa854c47d2af10659f1033b6d69bb Author: Yinghai Lu Date: Mon Jun 9 17:00:15 2008 -0700 x86: make generic arch support NUMAQ, fix fix typo in bigsmp switching. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ab4a465e96adf2f3a8aaa95384bacfa9ab661e35 Author: Yinghai Lu Date: Tue Jun 10 12:55:54 2008 -0700 x86: e820 merge parsing of the mem=/memmap= boot parameters since we now have 32-bit support for e820_register_active_regions(), we can merge the parsing of the mem=/memmap= boot parameters. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit df5f6c212cc049d1989b5ce71bb863a367c261e9 Author: Ingo Molnar Date: Tue Jun 10 16:38:41 2008 +0200 x86: unify the reserve_bootmem() behavior of early_res_to_bootmem() Signed-off-by: Ingo Molnar commit 12448e3ef3ae7fca7a7ad205084f45a67dcc4356 Author: Bernhard Walle Date: Sun Jun 8 15:46:31 2008 +0200 x86: use reserve_bootmem_generic() to reserve crashkernel memory on x86_64 This patch uses reserve_bootmem_generic() instead of reserve_bootmem() to reserve the crashkernel memory on x86_64. That's necessary for NUMA machines, see 00212fef814612245ed0261cbac8426d0c9a31a5: [PATCH] Fix kdump Crash Kernel boot memory reservation for NUMA machines This patch will fix a boot memory reservation bug that trashes memory on the ES7000 when loading the kdump crash kernel. The code in arch/x86_64/kernel/setup.c to reserve boot memory for the crash kernel uses the non-numa aware "reserve_bootmem" function instead of the NUMA aware "reserve_bootmem_generic". I checked to make sure that no other function was using "reserve_bootmem" and found none, except the ones that had NUMA ifdef'ed out. I have tested this patch only on an ES7000 with NUMA on and off (numa=off) in a single (non-NUMA) and multi-cell (NUMA) configurations. Signed-off-by: Amul Shah Looks-good-to: Vivek Goyal Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds The switch-back to reserve_bootmem() was accidentally introduced in 5c3391f9f749023a49c64d607da4fb49263690eb when adding the BOOTMEM_EXCLUSIVE parameter. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 8b2ef1d7285740953a2c4ef7faf15fdfc5e2f358 Author: Bernhard Walle Date: Sun Jun 8 15:46:30 2008 +0200 x86: add flags parameter to reserve_bootmem_generic() This patch adds a 'flags' parameter to reserve_bootmem_generic() like it already has been added in reserve_bootmem() with commit 72a7fe3967dbf86cb34e24fbf1d957fe24d2f246. It also changes all users to use BOOTMEM_DEFAULT, which doesn't effectively change the behaviour. Since the change is x86-specific, I don't think it's necessary to add a new API for migration. There are only 4 users of that function. The change is necessary for the next patch, using reserve_bootmem_generic() for crashkernel reservation. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 896395c290f902576270d84291c1f7f8bfbe339d Merge: af1cf20... 1b40a89... Author: Ingo Molnar Date: Tue Jul 8 10:32:56 2008 +0200 Merge branch 'linus' into tmp.x86.mpparse.new commit 1b8ba39a3fad9c58532f6dad12c94d6e675be656 Merge: 58cf352... cbd6712... Author: Ingo Molnar Date: Tue Jul 8 09:53:57 2008 +0200 Merge branch 'x86/irq' into x86/devel Conflicts: arch/x86/kernel/i8259.c arch/x86/kernel/irqinit_64.c Signed-off-by: Ingo Molnar commit 58cf35228fec541418cc3bd781d6c069d904815e Merge: 3c1ca43... c1f64a5... 28f73e5... b664d6b... f294a8c... 45fdc3a... 8b7fd21... Author: Ingo Molnar Date: Tue Jul 8 09:46:15 2008 +0200 Merge branches 'x86/mmio', 'x86/delay', 'x86/idle', 'x86/oprofile', 'x86/debug', 'x86/ptrace' and 'x86/amd-iommu' into x86/devel commit 3c1ca43fafea41e38cb2d0c1684119af4c1de547 Merge: 6924d1a... 6bcb13b... Author: Ingo Molnar Date: Tue Jul 8 09:43:01 2008 +0200 Merge branch 'x86/setup' into x86/devel commit 6924d1ab8b7bbe5ab416713f5701b3316b2df85b Merge: 4e78c91... 25556c1... b764a15... 437a0a5... 41b3eae... 84e65b0... 684eb01... 9302213... 5cb04df... 44974c8... 48cf937... 205f932... c54f9da... 0ed368c... b478458... 2d144e6... 607baf1... 33af903... 3557b18... 63687a5... 009b9fc... f6477cc... e6b0ede... 400d349... Author: Ingo Molnar Date: Tue Jul 8 09:16:56 2008 +0200 Merge branches 'x86/numa-fixes', 'x86/apic', 'x86/apm', 'x86/bitops', 'x86/build', 'x86/cleanups', 'x86/cpa', 'x86/cpu', 'x86/defconfig', 'x86/gart', 'x86/i8259', 'x86/intel', 'x86/irqstats', 'x86/kconfig', 'x86/ldt', 'x86/mce', 'x86/memtest', 'x86/pat', 'x86/ptemask', 'x86/resumetrace', 'x86/threadinfo', 'x86/timers', 'x86/vdso' and 'x86/xen' into x86/devel commit 25556c1699ad84dd6077adf67c92eba362aa7dc2 Author: Christophe Jaillet Date: Sun Jun 22 22:13:48 2008 +0200 x86, arch/x86/kernel/io_apic_32.c: use kzalloc instead of kmalloc/memset 1) replace kmalloc/memset with equivalent kzalloc. Signed-off-by: Christophe Jaillet Cc: cj Cc: petero2@telia.com Signed-off-by: Ingo Molnar commit 7f0dbbc08d80df7ea15d8da4f0d78255891c8812 Author: Maciej W. Rozycki Date: Fri Jun 20 01:35:07 2008 +0100 x86: fix IO APIC breakage on HP nx6325, v2 > That helped a lot, the system seems to work normally now. > > Here's the relevant snippet from dmesg: > > [ 0.108006] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 > [ 0.108006] ..MP-BIOS bug: 8254 timer not connected to IO-APIC > [ 0.108006] ...trying to set up timer (IRQ0) through the 8259A ... <3> > [ 0.108006] ..... (found apic 0 pin 2) ...<3> failed. > [ 0.108006] ...trying to set up timer as Virtual Wire IRQ...<3> works. > > and the whole thing is at: http://www.sisk.pl/kernel/debug/20080618/dmesg-2.log Hmm, that only proved the 8259A is indeed wired to the pin #2 of the I/O APIC. > I, personally, don't have any and AMD only has SB600 documentation on its > web page (it's still marked as "AMD confidential" ;-)). Well, the IC block is most likely the same as that's not rocket science and once done there is no need to fiddle with that. That written, I am afraid there is nothing useful about the IC in the document, except that it's there and consists of an I/O APIC providing 24 inputs and the usual pair of 8259A cores. Thanks for the reference anyway. > There is an interrupt controller in there, but I'm not sure if there's any > 8259A. The northbridge is on the CPU, actually. I will praise the day someone ships an x86 machine without an 8259A core! As expressed in another mail I suspect there may actually be a direct route from the 8254 to INTIN0 in the southbridge -- this is what other bootstrap logs seen in the Internet suggest. This would mean this particular BIOS is buggy (is it the latest version?) and provides an incorrect IRQ override in its ACPI tables, for example because the responsible block has been blindly copied from a machine using a commoner wiring. This could be moderately easily fixed up with a quirk based on the PCI ID (after checking it again, we actually used to have a quirk for ATI in this area, but the way it was done suggests the issue was not understood well enough). Could you please remove the hack sent yesterday and test the patch provided below? I do hope it builds, but I have no immediate means to check it. Please report the output. The intent is to test INTIN0 directly before testing INTIN2 through the 8259A. Thanks. Aside of that, what I have gathered from your reports (please correct me if I have got it wrong) is that when the through-8259A mode is used, then after a while 8254 timer interrupts stop arriving. What's interesting, the "Virtual Wire IRQ" seems to work for you correctly (that's quite an odd setup where a local APIC input is used in the native mode -- please post /proc/interrupts for confirmation), which in turn implies the master 8259A drives its INT output as we expect. Why would the I/O APIC input have problems then? Hmm... [ mingo@elte.hu: revert the "x86: fix IO APIC breakage on HP nx6325" version. ] Signed-off-by: Ingo Molnar commit cd08d0754ecb0cb9293c8476cb33ded1d23d0d8f Author: Maciej W. Rozycki Date: Thu Jun 19 00:39:33 2008 +0100 x86: fix IO APIC breakage on HP nx6325 On Thu, 19 Jun 2008, Rafael J. Wysocki wrote: > > With such a configuration the "x86: I/O APIC: timer through 8259A > > second-chance" patch should not matter, because the only change it > > introduces is an attempt to try the same I/O APIC pin again, but with the > > IRQ0 line of the master 8259A enabled. That's not a terribly unusual > > configuration and nothing should get confused in the system. > > But it _does_ get confused, really. Something certainly gets confused, but so far I am not sure which bit exactly it is, are you? > > Barring the unlikely possibility of the 8259A actually being wired to > > INTIN2 of the I/O APIC I can see two possible explanations: > > > > 1. The 8259A interrupt actually escapes to the CPU somehow and is handled > > as an ExtINTA interrupt. This would make the code in check_timer() > > decide it has found a working configuration, while actually it has been > > fooled. [...] > Here you go: > > [ 0.108006] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 > [ 0.108006] ..MP-BIOS bug: 8254 timer not connected to IO-APIC > [ 0.108006] ...trying to set up timer (IRQ0) through the 8259A ... <3> > [ 0.108006] ..... (found apic 0 pin 2) ...<3> works. > > The full dmesg is at: http://www.sisk.pl/kernel/debug/20080618/dmesg-1.log Thanks. In this case I suspect the case #1 quoted above happens, that is the 8259A manages to deliver its interrupt somehow. Note at this stage it is meant to be in the AEOI mode, so it can happily resubmit the interrupt indefinitely with no additional handling as long as it receives INTA cycles. Can you please try the patch below on top of "x86: I/O APIC: timer through 8259A second-chance" to see whether my hypothesis is true? It modifies the through-8259A setup path so that the APIC input gets masked, but the 8259A has the timer interrupt still enabled. Let me know how the timer interrupt is routed in this case. Bisected-by: "Rafael J. Wysocki" Tested-by: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit 360624484c81d55f88b1e5f48ce24c9243ce38e5 Author: Paolo Ciarrocchi Date: Sun Jun 8 13:07:18 2008 +0200 x86: coding style fixes to arch/x86/kernel/io_apic_32.c Before: total: 91 errors, 73 warnings, 2850 lines checked After: total: 1 errors, 47 warnings, 2848 lines checked Compile tested: paolo@paolo-desktop:/tmp$ size io* text data bss dec hex filename 13836 1756 11104 26696 6848 io_apic_32.o.after 13836 1756 11104 26696 6848 io_apic_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 46b3b4ef1ea2a0892b9b38b6a0c65a3f33b504aa Author: Cyrill Gorcunov Date: Sat Jun 7 19:53:57 2008 +0400 x86, io-apic: use predefined names instead of numeric constants This patch replaces some hard-coded numbers with predefined names. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit d3f020d2f9bb9a61ca64d4eb058c9f68f827a2b4 Author: Cyrill Gorcunov Date: Sat Jun 7 19:53:56 2008 +0400 x86, io-apic: define names for redirection table entry fields Each I/O APIC redirection table entry has a number of fields. Define names for them to eliminate reference by hard coded numbers. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit d788bada2f6c49673f85338ac4c0c642e5e52cff Author: Maciej W. Rozycki Date: Fri Jun 6 03:28:13 2008 +0100 x86: APIC/SMP: Downgrade the NMI watchdog for "noapic" If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip has been deactivated as a result of "noapic". Downgrade to the local APIC watchdog similarly to what is done for the UP case. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit d54db1ac9ecde9bcb8a561595b02c1d970d3a4d6 Author: Maciej W. Rozycki Date: Fri Jun 6 03:28:02 2008 +0100 x86: APIC/SMP: Downgrade the NMI watchdog for "nosmp" If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip has been deactivated as a result of "nosmp". Downgrade to the local APIC watchdog similarly to what is done for the UP case. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 19662027488946e34dd54d3bb408fa3307681d7d Author: Maciej W. Rozycki Date: Fri Jun 6 03:27:56 2008 +0100 x86: APIC/UP: Remove redundant NMI watchdog downgrade For the UP case the NMI watchdog downgrade is done consistently in APIC_init_uniprocessor() now. Remove redundant code used only when BIOS-disabled local APIC is activated. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit acae7d906f2f81d814e9c3730eeb19dfd3bf3bb4 Author: Maciej W. Rozycki Date: Fri Jun 6 03:27:49 2008 +0100 x86: APIC/UP: Downgrade the NMI watchdog for no I/O APIC If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip will not be used in the UP configuration, because "noapic" has been specified or the chip is simply not there. Downgrade to the local APIC watchdog to rectify. The new #ifdef is ugly, I know. A proper solution is to provide suitable definitions of smp_found_config, etc. for !CONFIG_X86_IO_APIC in a header. Likewise the whole if () condition should be moved to a static inline function. Such clean-ups are beyond the scope of this change and can be done once the whole issue of the timer has been sorted out. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 148b50830993acc67129f09c544d9167291e5458 Author: Maciej W. Rozycki Date: Fri Jun 6 03:27:41 2008 +0100 x86: NMI watchdog: Downgrade helper A downgrade helper for the NMI watchdog to be used in all places where the I/O APIC watchdog may have been requested, but the I/O APIC is found not to be there or meant to be left disabled. This is so that the reconfiguration is cosistent and defined in a single place only. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 6fe9fe875691e15eda61b992e03257e68aa5ba4f Author: Ingo Molnar Date: Sun Jun 8 10:14:40 2008 +0200 Revert "x86: APIC/SMP: downgrade the NMI watchdog for "nosmp"" This reverts commit 791b93d3dfaf16c23e978bec0cc0a3dd9d855d63. A better fix from Maciej will be merged. commit ab5a5be099cb20a1c006bf0e211c48502d7ebc44 Author: Ingo Molnar Date: Sun Jun 8 10:13:33 2008 +0200 Revert "x86, io-apic: fix nmi_watchdog=1 bootup hang" This reverts commit 2229ff84f01746d02fb6b79e156fb5cce48c908f. A better fix from Maciej will be merged. commit ff11571b25152edfb1eb0e6feb7e0009670fe4a5 Author: Ingo Molnar Date: Thu Jun 5 11:17:16 2008 +0200 x86, io-apic: fix nmi_watchdog=1 bootup hang nmi_watchdog=1 hangs on 64-bit: [ 0.250000] Detected 12.564 MHz APIC timer. [ 0.254178] APIC timer registered as dummy, due to nmi_watchdog=1! [ 0.260366] Testing NMI watchdog ... <4>WARNING: CPU#0: NMI appears to be stuck (0->0)! [ ... ] [ 0.470003] calling genl_init+0x0/0xd0 [ hard hang ] bisected it down to: git-bisect start git-bisect good 1beee8dc8cf58e3f605bd7b34d7a39939be7d8d2 git-bisect bad 11582ece0aaa2d0f94f345c08a4ab9997078a083 git-bisect bad 5479c623bb44089844022c03d4c0eb16d5b7a15f git-bisect bad cfb4c7fabeb499e1c29f9d1878968e37a938e28a git-bisect good 246dd412d31e4f5de1d43aa6422a325b785f36e4 git-bisect bad 3f8237eaff7dc1e35fa791dae095574fd974e671 git-bisect good 90e23b13ab849e2a11f00c655eb3a2011b4623be git-bisect bad 833526a34eeefc117df3191a594c3c3a4f15a9ac git-bisect good 791b93d3dfaf16c23e978bec0cc0a3dd9d855d63 git-bisect bad 65767c64068f2c93e56a1accfed5c78230ac12d7 git-bisect bad 2abc5c05dd82c188e3bdf6641a274f013348d14b git-bisect bad 317e1f2597ffb4d4db940577bbe56dc6e881ef07 | 317e1f2597ffb4d4db940577bbe56dc6e881ef07 is first bad commit | commit 317e1f2597ffb4d4db940577bbe56dc6e881ef07 | Author: Maciej W. Rozycki | Date: Wed May 21 22:10:22 2008 +0100 | x86: I/O APIC: clean up the 8259A on a NMI watchdog failure the problem is that in the dummy-lapic branch we rely on the i8259A but if the NMI watchdog fails we turn off IRQ 0 - which doesnt work too well ;-) Signed-off-by: Ingo Molnar commit 067fa0ff0c89d25c2136ed095c72213089d4bb4e Author: Cyrill Gorcunov Date: Thu May 29 22:32:30 2008 +0400 x86: IO-APIC - use NMI_NONE instead of numeric constant Not sure but maybe it is better to use NMI_DISABLED, will take a look. But for now this patch is not change anything in logic so it will not hurt/broke the kernel. For most cases nmi_watchdog assignment is by one of NMI_* macro so I think there it make sense too. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit b1b57ee135ac7614184faa7d7345b5e7098cb81d Author: Ingo Molnar Date: Sat May 31 12:20:10 2008 +0200 x86 build fix: arch/x86/kernel/io_apic_64.c: In function 'check_timer': arch/x86/kernel/io_apic_64.c:1688: error: 'vector' undeclared (first use in this function) arch/x86/kernel/io_apic_64.c:1688: error: (Each undeclared identifier is reported only once arch/x86/kernel/io_apic_64.c:1688: error: for each function it appears in.) commit 431ee79db0a9552314d787446044973a8176b57d Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: apic_64.c fix sparse warnings about shadowed variables Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7223daf5e1a6298e459db84442adc04d68a6a42d Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: make irq_cfg static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 071565095897dff9668cd4a2343160ae31538c27 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: move pci_routirq declaration to pci.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 691874fa96d6349a8b60f8ea9c2bae52ece79941 Author: Maciej W. Rozycki Date: Tue May 27 21:19:51 2008 +0100 x86: I/O APIC: timer through 8259A second-chance Some systems incorrectly report the ExtINTA pin of the I/O APIC as the genuine target of the timer interrupt. Here is a change that copies timer pin information found to the other pin if one has been found only. This way both a direct and a through-8259A route is tested with the pin letting these problematic systems work well enough. If no timer pin information has been found for the I/O APIC, then local APIC variations are tried only, similarly to what is done without the change (except without the misleading messages). Obviously if we try the first-chance path without being told by the BIOS to do so, we should not complain either, so do not print the message in this case. The 64-bit variation should be updated with a call to replace_pin_at_irq() which can be done with the upcoming merge. Since add_pin_to_irq() is now always called in the first-chance path, the condition to require it in the second-chance path no longer happens. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 03be750559b2fe20d85dd968e08d5fe1c3accf83 Author: Maciej W. Rozycki Date: Tue May 27 21:19:45 2008 +0100 x86: I/O APIC: keep the timer IRQ masked during set-up Keep the timer interrupt line masked when reconfiguring its interrupt redirection entry in the I/O APIC. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 24742ece8eb01b5855059020ba1c09173fd9b732 Author: Maciej W. Rozycki Date: Tue May 27 21:19:40 2008 +0100 x86: I/O APIC: unmask the second-chance timer interrupt Unmask the timer interrupt line set up in the through-8259A mode explicitly after setup_timer_IRQ0_pin() has set up the I/O APIC interrupt redirection entry to let the two operations be unbound from each other. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit f7633ce55b2ea2926a39d7ca9d0bb06c43edd2c2 Author: Maciej W. Rozycki Date: Tue May 27 21:19:34 2008 +0100 x86: I/O APIC: rename setup_ExtINT_IRQ0_pin() Rename setup_ExtINT_IRQ0_pin() to setup_timer_IRQ0_pin() to better reflect the upcoming role of a function setting up a (semi-)arbitrary I/O APIC pin appropriately for the 8254 timer. By "appropriate" the following settings are meant: edge-triggered, active-high, all the other settings per-architecture. Adjust comments to reflect code appropriately. No functional changes. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 6b4722a7779ebadcf016fd96ce3156b6acda8a31 Author: Maciej W. Rozycki Date: Tue May 27 21:19:28 2008 +0100 x86: I/O APIC: remove redundant LVT0 masking The LINT0 line of the local APIC is masked in the LVT0 entry in check_timer() before this function is ever called. Removed the redundant unmasking for better control. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 80d16bace63e057d30337e48d70aef0881656457 Author: Maciej W. Rozycki Date: Tue May 27 21:19:22 2008 +0100 x86: I/O APIC: remove redundant 8259A {,un}masking For a better control the masking and unmasking of the timer interrupt line in the 8259A operating in the 'Virtual Wire' mode has been moved out of setup_ExtINT_IRQ0_pin() now, so remove the redundant calls from the function. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit f08252623c7981f5cea70e4fab4983a94fc52212 Author: Maciej W. Rozycki Date: Tue May 27 21:19:16 2008 +0100 x86: I/O APIC: fix the name of the through-8259A handler When the through-8259A mode is used for the timer, the call to set_irq_handler() will register a NULL handler name, resulting in "IO-APIC-" reported. Fix by calling ioapic_register_intr() as done for all the other I/O APIC interrupts. The 64-bit variation calls set_irq_chip_and_handler_name() here needlessly and should get fixed with the upcoming merge. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 9a1c61929121cbd597a5575f82711c0db8ee1778 Author: Maciej W. Rozycki Date: Tue May 27 21:19:09 2008 +0100 x86: I/O APIC: fix the name of the L-APIC IRQ handler The local APIC interrupt handler gets registered with set_irq_chip_and_handler_name(), which results in "local-APIC-edge-fasteoi" reported as the name of the handler. Fix by removing the type of the handler left over from before the generic handlers were introduced. The 64-bit variation should get fixed with the upcoming merge. NB It should really use the "edge" handler and not the "fasteoi" one, but that's a separate issue. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 35542c5ebced864776d90d83d1e255016fd4c084 Author: Maciej W. Rozycki Date: Wed May 21 22:10:22 2008 +0100 x86: I/O APIC: clean up the 8259A on a NMI watchdog failure There is no point in keeping the 8259A enabled if the I/O APIC NMI watchdog has failed and the 8259A is not used to pass through regular timer interrupts. This fixes problems with some systems where some logic gets confused. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit a1133d8e4ffc2db751eb987a2f3cf8ead67927c3 Author: Maciej W. Rozycki Date: Wed May 21 22:10:16 2008 +0100 x86: APIC/SMP: downgrade the NMI watchdog for "nosmp" If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip has been deactivated as a result of "nosmp". Downgrade to the local APIC watchdog similarly to what is done for the UP case. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 73d08e636026bbcb413d4864ca5e917502f8a0f9 Author: Maciej W. Rozycki Date: Wed May 21 22:09:43 2008 +0100 x86: APIC/SMP: correct the message for "nosmp" The local APIC is no longer forced off when "nosmp" has been specified. Correct the message printed. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 60134ebe795b728dbb960485a8e873c3250ada36 Author: Maciej W. Rozycki Date: Wed May 21 22:09:34 2008 +0100 x86: I/O APIC: keep IRQ off when changing LVT registers Disable the 8259A acting in the "virtual wire" mode to keep the interrupt line inactive while fiddling with local APIC interrupt vector registers associated with its destination inputs. To be on the safe side, especially concerning flipping the trigger mode. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit e67465f1298671266a8e824c1751afdb7c08c860 Author: Maciej W. Rozycki Date: Wed May 21 22:09:26 2008 +0100 x86: I/O APIC: clean up after a fasteoi failure Disable the 8259A when routing of the timer interrupt through the chip to the local APIC of the primary processor has failed. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit ecd29476ae0143b1c3641edfa76c0fc3e9ad3021 Author: Maciej W. Rozycki Date: Wed May 21 22:09:19 2008 +0100 x86: I/O APIC: remove parameters to fiddle with the 8259A Remove the "disable_8254_timer" and "enable_8254_timer" kernel parameters. Now that AEOI acknowledgements are no longer needed for correct timer operation, the 8259A can be kept disabled unconditionally unless interrupts, either timer or watchdog ones, are actually passed through it. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit d11d5794e0c21a1054e6cd57381050a999ad7232 Author: Maciej W. Rozycki Date: Wed May 21 22:09:11 2008 +0100 x86: I/O APIC: AEOI timer acknowledgement clean-ups The code that used to be in do_slow_gettimeoffset() that relied on the IRR bit of the master 8259A PIC for IRQ0 to check the state of the output timer 0 of the PIT is no longer there. As a result, there is no need to use the POLL command to acknowledge the timer interrupt in the "8259A Virtual Wire", except for the NMI watchdog when the i82489DX APIC is used (this is because this particular APIC treats NMIs as level-triggered and keeping the input asserted would keep motherboard NMI sources held off for too long). Remove the unneeded bits and adjust comments accordingly. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit a0176e2485ce6468f9b74264a2fd6c19811f027a Author: Ingo Molnar Date: Mon Jun 16 12:44:17 2008 +0200 Revert "Revert "x86: fix ioapic bug again"" This reverts commit 0b6a39f7ebcb1c82587ce35b401c513eed41ac5c. The changes in tip/x86/apic solve this better. Signed-off-by: Ingo Molnar commit 684eb0163a98bc329193b4aa4535cdd705a5dd58 Author: Jiri Slaby Date: Mon May 12 15:43:37 2008 +0200 x86_64: use PAGE_OFFSET in dump_pagetables Use PAGE_OFFSET macro instead of using 0xffff810000000000UL directly. Signed-off-by: Jiri Slaby Cc: Arjan van de Ven Cc: Andi Kleen Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e92a5a6151f4a467b8c1bde9123c0a9d1a63339 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: add sparse annotations to ioremap arch/x86/mm/ioremap.c:308:11: error: incompatible types in comparison expression (different address spaces) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 65280e613fada41704f35709b6c8952ca4b8750c Author: Thomas Gleixner Date: Mon May 5 16:35:21 2008 +0200 x86: janitor CPA statistics patch 1) Remove __meminit from update_pages_count. It is used inside split_pages() 2) Make the code depend on PROC_FS. Doing statistics for nothing is useless and not adding useless code is nice to the Linux tiny folks. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ce0c0e50f94e8c55b00a722e8c6e8d6c802be211 Author: Andi Kleen Date: Fri May 2 11:46:49 2008 +0200 x86, generic: CPA add statistics about state of direct mapping v4 Add information about the mapping state of the direct mapping to /proc/meminfo. I chose /proc/meminfo because that is where all the other memory statistics are too and it is a generally useful metric even outside debugging situations. A lot of split kernel pages means the kernel will run slower. This way we can see how many large pages are really used for it and how many are split. Useful for general insight into the kernel. v2: Add hotplug locking to 64bit to plug a very obscure theoretical race. 32bit doesn't need it because it doesn't support hotadd for lowmem. Fix some typos v3: Rename dpages_cnt Add CONFIG ifdef for count update as requested by tglx Expand description v4: Fix stupid bugs added in v3 Move update_page_count to pageattr.c Signed-off-by: Andi Kleen Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 93022136fff9e6130aa128a5ed8a599e93ac813c Merge: c49c412... b727946... Author: Ingo Molnar Date: Tue Jul 8 07:47:47 2008 +0200 Merge commit 'v2.6.26-rc9' into x86/cpu commit c49c412a47b5102516d3313d4eba38cb1e968721 Author: Yinghai Lu Date: Thu Jun 19 15:30:31 2008 -0700 x86: make 64bit identify_cpu use cpu_dev v2 v2: fix early_panic on this config: http://redhat.com/~mingo/misc/config-Thu_Jun_19_14_22_37_CEST_2008.bad reason : struct cpu_vendor_dev size is 16, need to make table to be 16 byte alignment also print out the cpu supported... Signed-off-by: Yinghai Lu Cc: Dave Jones Signed-off-by: Ingo Molnar commit dcd32b6a1ffe6c040f8346f7fbaf4318bb8ae41c Author: Yinghai Lu Date: Fri Jun 20 08:18:09 2008 +0200 x86: make 64-bit identify_cpu use cpu_dev we may need to move some functions to common.c later Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3a27dd1ce5de08e21e0266ddf00e6f1f843bfe8b Author: Robert Richter Date: Thu Jun 12 20:19:23 2008 +0200 x86: Move PCI IO ECS code to x86/pci "Form follows function". Code is now where it belongs to. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 24bfdca7b7da971ef9a483303a096ac6d4b3a02c Author: Robert Richter Date: Thu Jun 12 20:19:22 2008 +0200 x86/pci: Renaming k8-bus_64.c to amd_bus.c The name fits better since this is code not only for K8. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 0beefa208bb3a9e581a60125703409ebe6f7fa53 Author: Thomas Gleixner Date: Tue Jun 17 09:12:03 2008 +0200 x86: add C1E aware idle function, fix On Tue, 17 Jun 2008, Rafael J. Wysocki wrote: > > BTW, with the C1E patches reverted I don't get the > WARNING: at /home/rafael/src/linux-next/kernel/smp.c:215 smp_call_function_single+0x3d/0xa2 > in the log. Thomas? The BROADCAST_FORCE notification uses smp_function_call and therefor must be run with interrupts enabled. While at it, add a comment for the BROADCAST_EXIT notifier as well. Reported-and-bisected-by: Rafael J. Wysocki Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aa276e1cafb3ce9d01d1e837bcd67e92616013ac Author: Thomas Gleixner Date: Mon Jun 9 19:15:00 2008 +0200 x86, clockevents: add C1E aware idle function C1E on AMD machines is like C3 but without control from the OS. Up to now we disabled the local apic timer for those machines as it stops when the CPU goes into C1E. This excludes those machines from high resolution timers / dynamic ticks, which hurts especially X2 based laptops. The current boot time C1E detection has another, more serious flaw as well: some BIOSes do not enable C1E until the ACPI processor module is loaded. This causes systems to stop working after that point. To work nicely with C1E enabled machines we use a separate idle function, which checks on idle entry whether C1E was enabled in the Interrupt Pending Message MSR. This allows us to do timer broadcasting for C1E and covers the late enablement of C1E as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 188237e28d7fece0471640ba86f6d8cd164ed085 Author: Saeed Bishara Date: Wed Jul 2 06:06:32 2008 -1100 [ARM] Feroceon: don't disable BPU on boot On Feroceon platforms that have a branch prediction unit, bit 11 of the cp15 control register controls the BPU. This patch keeps the old value of this bit instead of always clearing it. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 2e1117d307dba8185a72bac94e57f057e70590ca Author: Martin Michlmayr Date: Mon Jul 7 21:23:09 2008 +0300 [ARM] Orion: LED support for HP mv2120 The HP mv2120 has several LEDs that are controlled through gpio. Export the health LED, the red SATA LEDs as well as two gpios that control the brightness of _all_ LEDs to userland. The Ethernet and power LEDs can't be controlled through gpio and the blue SATA LEDs are handled via the SATA driver. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6b5cdf0f6d4dc3d98de20d6b0abe8500046f1cb1 Author: Nicolas Pitre Date: Fri Jun 27 18:56:22 2008 -0400 [ARM] Orion: add RD88F5181L-FXO support This patch adds support for the Marvell Orion-VoIP RD-88F5181L-FXO Reference Design, and enables use of the ethernet, USB, Cardbus and mini-PCIe ports. Signed-off-by: Nicolas Pitre commit 70129132322cdbb6683ab9e90419cd5a6f8294d3 Author: Lennert Buytenhek Date: Mon Jun 30 14:25:24 2008 -0400 [ARM] Orion: add RD88F5181L-GE support This patch adds support for the Marvell Orion-VoIP RD2-88F5181L-GE Reference Design, and enables use of the ethernet, USB, Cardbus and mini-PCIe ports. Signed-off-by: Lennert Buytenhek commit 2f8209788d774c66efb5e2991affc06b1d1c7314 Author: Imre Kaloz Date: Thu Jun 26 01:30:41 2008 +0200 [ARM] Orion: add Netgear WNR854T support Signed-off-by: Imre Kaloz Signed-off-by: Lennert Buytenhek commit fa6868508a0102b150ca03d976e3a1c234e4e387 Merge: 5b23538... 4ed4789... Author: Russell King Date: Mon Jul 7 22:21:34 2008 +0100 Merge branch 'machtypes' into orion commit 7ba06b17a1931b2c9e1bee525a8c36920f5be0e0 Author: Ben Dooks Date: Mon Jul 7 18:12:49 2008 +0100 [ARM] s3c2410_defconfig: update for current build Update the s3c2410_defconfig for the current set of added patches. Signed-off-by: Ben Dooks commit a67557801aeda1f9f19e4606a00c948f6054417c Author: Ben Dooks Date: Mon Jul 7 18:12:48 2008 +0100 [ARM] Acer n30: Minor style and indentation fixes. Minor style fixes. Signed-off-by: Ben Dooks commit 9a2ddb7866c2887352e85c6443dfb5e679140aff Author: Christer Weinigel Date: Mon Jul 7 18:12:47 2008 +0100 [ARM] Acer n30: Hardware initialisation. Initialise the hardware register settings on boot, to allow the device to function correctly. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit e43f238390168a13416d4f21803f76b1ff45fb95 Author: Christer Weinigel Date: Mon Jul 7 18:12:46 2008 +0100 [ARM] Acer n30: LCD support. This patch adds the configuration needed for the LCD display on the n30. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 9579087331ee0cd220d29aa5bda79ff55b33c228 Author: Christer Weinigel Date: Mon Jul 7 18:12:45 2008 +0100 [ARM] Acer n30: Add support for n35 and related devices. Add support for the Acer N35 and related devices. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 865cc639a636b58612becfb6a337945c022596ac Author: Christer Weinigel Date: Mon Jul 7 18:12:44 2008 +0100 [ARM] Acer n30: LED support. Add support for the LEDs on the Acer N30. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 620657500263cca4a4d9845eeaeba47e03447075 Author: Christer Weinigel Date: Mon Jul 7 18:12:43 2008 +0100 [ARM] Acer n30: GPIO buttons support Add support for the GPIO buttons on the Acer N30. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit d088e5fe586287da003341e7bbfdad15e0f432f7 Author: Christer Weinigel Date: Mon Jul 7 18:12:42 2008 +0100 [ARM] Acer n30: USB bus pull-up support. Add support for the USB D+ pull up on the Acer N30. This is needed for the USB gadget to work properly. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 196a047574e1465b89bc41fda573efc9b9be70e5 Author: Christer Weinigel Date: Mon Jul 7 18:12:41 2008 +0100 [ARM] Acer n30: Source file cleanups. Clean up some junk from the official kernel. The compile-command is something that's only useful for me personally and doesn't belong in the mainstream kernel. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 2e16c27aa379793c354012e5fae0aae89103b19b Author: Ben Dooks Date: Mon Jul 7 18:12:40 2008 +0100 [ARM] S3C2443: Add prediv clk and fix setting of h and p clocks Update the S3C2443 clock support to add the prediv clock that is sourced via a divider from msysclk. Also fix the setting of p and h clocks from this prediv clock. Signed-off-by: Ben Dooks commit ba7622a19fabb853b8bbb918a5d76557f88e4274 Author: Ben Dooks Date: Mon Jul 7 18:12:39 2008 +0100 [ARM] S3C2443: Add armdiv and arm clocks Add the armdiv and arm clocks to the S3C2443 clock framework and ensure they are correctly setup. Signed-off-by: Ben Dooks commit 29a7bcfd144a577b5cdb3b735c58e20d0489b30e Author: Ben Dooks Date: Mon Jul 7 18:12:38 2008 +0100 [ARM] S3C2443: Fix s3c2443_clkcon_enable_p() using wrong register. s3c2443_clkcon_enable_p() was reading from the correct register S3C2443_PCLKCON, but then writing the value back to the wrong register S3C2443_HCLKCON. Signed-off-by: Ben Dooks commit 66493c2d88d5086399c5a485d6e41cb76b241a1f Author: Ramax Lo Date: Mon Jul 7 18:12:37 2008 +0100 [ARM] AT2440EVB: Add DM9000A network controller support. Add DM9000AEP network controller support for AT2440EVB. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 4ab9897172b7ff3a1a37b65b53f71c5795a577b0 Author: Ramax Lo Date: Mon Jul 7 18:12:36 2008 +0100 [ARM] S3C2440: Add AT2440EVB board support Add basic support for AT2440EVB board based on Samsung S3C2440 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ramax Lo commit 66ee156078697cdc013d46aed3b2fee445c325a1 Merge: 946e2ad... e22af66... 4ed4789... Author: Russell King Date: Mon Jul 7 16:26:41 2008 +0100 Merge branches 'ns9x' and 'machtypes' into devel commit 4ed47896935573c8423d05bddda3f269d6e6c613 Author: Russell King Date: Thu Jul 3 16:11:06 2008 +0100 [ARM] mach-types update Update mach-types. Remove invalid or incorrect entries. Signed-off-by: Russell King commit 5e329d1c7f5fe6adfee99c783fa98bda7dae8ac5 Author: Stefan Schmidt Date: Fri Jun 6 10:12:37 2008 +0100 [ARM] 5079/1: Warn people when using pxa2xx-gpio.h Warn people when using pxa2xx-gpio.h as it is only here for backwards compatibility. The new mfp-pxa2[57]x.h and the relevant API should be used instead. Signed-off-by: Stefan Schmidt Signed-off-by: Russell King commit f1b23586c1f50d4c5684e56395140ec1cd8b688d Author: Philipp Zabel Date: Mon Jun 30 18:08:11 2008 +0100 [ARM] 5135/1: pxa: drop superfluous asm/arch/pxa2xx-gpio.h includes Both i2c-pxa.c and irq.c still include pxa2xx-gpio.h although is is not needed anymore. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit 9f17f2874834f4cdbe48cc05676d8f7558793204 Author: Jaya Kumar Date: Sun Jun 22 04:27:28 2008 +0100 [ARM] 5118/1: pxafb: add exit and remove handlers This patch adds exit and remove handlers to pxafb so that it can be loaded and unloaded as a module. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit 5a2cc50f166babc26103279c4fbc9f2bf73b79de Author: eric miao Date: Mon May 26 03:28:09 2008 +0100 [ARM] 5063/1: pxa: add clk support for pxa2xx I2S Signed-off-by: Eric Miao Acked-by: Mark Brown Signed-off-by: Russell King commit 8b7fd21511f9b5016665814e03f7fc948bb64a98 Author: FUJITA Tomonori Date: Mon Jul 7 16:40:26 2008 +0900 x86: clean up amd_iommu documentation amd_iommu=off was replaced with a common parameter, iommu=off. Signed-off-by: FUJITA Tomonori Cc: joerg.roedel@amd.com Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: rjw@sisk.pl Signed-off-by: Ingo Molnar commit 4d51c7587bb13dbb2fafcad6c0b5231bd864b55f Merge: d763d5e... f4628e6... Author: Ingo Molnar Date: Mon Jul 7 08:08:19 2008 +0200 Merge branch 'tracing/mmiotrace-mergefixups' into tracing/mmiotrace commit d763d5edf945eec47bd443b699f174976f0afc13 Merge: 790e2a2... 1b40a89... Author: Ingo Molnar Date: Mon Jul 7 08:07:35 2008 +0200 Merge branch 'linus' into tracing/mmiotrace commit 032f82786f9be4635acaa5f77feca175a4ac5fe1 Merge: 46ac22b... b727946... Author: Ingo Molnar Date: Mon Jul 7 08:01:26 2008 +0200 Merge commit 'v2.6.26-rc9' into sched/devel commit 1bd55a436f1f90de0e7f476e514e01bd67497b88 Author: Juergen Beisert Date: Sat Jul 5 10:03:02 2008 +0200 i.MX2 family: Add basic mach support This patch adds basic mach support for the mx2 processor family, based on the original freescale code and adapted to mainline kernel coding style. This part adds the global build only. Signed-off-by: Juergen Beisert commit ff6552e4f3505da9c2886098773146be71c872e3 Author: Juergen Beisert Date: Sat Jul 5 10:03:01 2008 +0200 i.MX27 family: Add the Phytec PCM970 evaluation board The Phytec phyCORE-i.MX27 CPU module is delivered with the PCM970 baseboard by default. This patch adds support for the hardware. This code is only an empty stub; it is filled up with functionality in a later patch series. Signed-off-by: Juergen Beisert commit 7e5e9f5457f5cd019fd7e2f3da94e9fc72cc9ff6 Author: Juergen Beisert Date: Sat Jul 5 10:03:00 2008 +0200 i.MX27: Adding PCM038 platform support This patch adds support for the phyCORE-i.MX27 cpu module (aka pcm038). It is as generic as possible in order to support any kind of baseboard. Note: This CPU module implementation can't work without a baseboard support. Baseboard support can be added by the PCM-970 (included in this patch stack) or any custom variant. Signed-off-by: Juergen Beisert commit 80eedae6f0322dafc749140b67986b2472473745 Author: Juergen Beisert Date: Sat Jul 5 10:03:00 2008 +0200 i.MX27: Add ADS platform support This patch adds basic support for the Freescale MX27ADS reference board. Currently only a serial console can be used. Signed-off-by: Juergen Beisert commit c46f5856517c2d4f438df87dac81f2295931ee93 Author: Juergen Beisert Date: Sat Jul 5 10:02:59 2008 +0200 i.MX2 family: Add clock handling for i.MX27 CPU Internal clock path handling for the i.MX27 CPU. Changed against the original Freescale code (and against clocklib for example): - clock rate is always calculated whenever one ask for the current rate. (means no "rate" member in the clock structure). So switching the PLL base frequency will propagate immediately to all other clocks that are depending on this frequency. TODO: - Check if the i.MX21 CPU can share the same code. Signed-off-by: Juergen Beisert commit f31405cc4cc568baad28273c7f45b0563b57a17d Author: Juergen Beisert Date: Sat Jul 5 10:02:59 2008 +0200 i.MX27 CPU: Add basic i.MX27 CPU support Add basic i.MX27 CPU support Signed-off-by: Juergen Beisert commit 604cbadce2292d979749e2f5c6c3f75ee10f4c9e Author: Sascha Hauer Date: Sat Jul 5 10:02:58 2008 +0200 MX2 add support for mx2 in i.MX serial driver add support for mx2 in i.MX serial driver Signed-off-by: Sascha Hauer commit fc80a5e3d0480d416e4f53b0680aaf525b5076d8 Author: Juergen Beisert Date: Sat Jul 5 10:02:57 2008 +0200 i.MX2 family: Add basic device support This patch adds a few on-chip devices for i.MX21/i.MX27 procesors. Signed-off-by: Juergen Beisert commit 32dc80c9cb13a7ce686bcc26efcf39e35719b466 Author: Juergen Beisert Date: Sat Jul 5 10:02:56 2008 +0200 i.MX2 family: Add basic mach support (headers) This patch adds basic mach support for the mx2 processor family, based on the original freescale code and adapted to mainline kernel coding style. Signed-off-by: Juergen Beisert commit eea643f7ff04fe17c3ff71d41a9487c0753bd821 Author: Juergen Beisert Date: Sat Jul 5 10:02:56 2008 +0200 i.MX2 family: Add basic mach support (sources) This patch adds basic mach support for the mx2 processor family, based on the original freescale code and adapted to mainline kernel coding style. Signed-off-by: Juergen Beisert commit aa10abd381b9493a88f6b9e111adc79e33d548fa Author: Juergen Beisert Date: Sat Jul 5 10:02:55 2008 +0200 i.MX2 family: Add GPIO multiplexing support This patch adds GPIO multiplexing support for the imx1/mxc2 family of procesors. Signed-off-by: Juergen Beisert commit 259bcaae9a2f28d7e3303b202b64a1fb0a9ab9e4 Author: Juergen Beisert Date: Sat Jul 5 10:02:54 2008 +0200 MXC arch: Simplify architecture's irq sources Simplify architecture's irq headers and sources, to share these files between MXC3 and MXC2. Signed-off-by: Juergen Beisert commit 9e8a30dce1bd38cf7b941c707da504d28a907f5c Author: Juergen Beisert Date: Sat Jul 5 10:02:53 2008 +0200 MX3: Adapt mx31lite to new timer init style This patch converts the external "add_mx31lite-basic_defconfig.diff" to our MXC implementation. Note: This patch fixes a board reference only. Signed-off-by: Juergen Beisert commit 9a4cd7a5c836e189a1712c9ffd2d76b2302ce212 Author: Daniel Mack Date: Sat Jul 5 10:02:53 2008 +0200 MX3: Add basic support for LogicPD i.MX31 LiteKit This patch adds basic support for i.MX31 LiteKit by LogicPD. With printascii() in kernel/printk.c, it boots right into the rootfs-panic. Note: This is a modified version of Daniel's patch to fit into this patch stack. > On 09.06.2008, at 17:26, Russell King - ARM Linux wrote: > > > I would much prefer it if board specific includes were included by the > > code which needs them rather than in asm/arch/hardware.h.  With the > > device model, drivers shouldn't need to include any board specific > > includes - only the board specific C file should need it. > > The new version of this patch (#5102) has been uploaded to the patch > tracker this morning. Signed-off-by: Daniel Mack -- arch/arm/configs/mx31litekit_defconfig | 1100 ++++++++++++++++++++++++++++++ arch/arm/mach-mx3/Kconfig | 7 arch/arm/mach-mx3/Makefile | 1 arch/arm/mach-mx3/mx31lite.c | 96 ++ include/asm-arm/arch-mxc/board-mx31lite.h | 38 + include/asm-arm/arch-mxc/debug-macro.S | 3 6 files changed, 1245 insertions(+) commit ce8ffef0bfd6e55d5da3923d8e9af27c3b5c4eff Author: Sascha Hauer Date: Sat Jul 5 10:02:52 2008 +0200 MX31: add basic pcm037 board support This patch adds basic board support for phytecs pmc037 board. Signed-off-by: Sascha Hauer commit 1b53218bfa4c0e17fc16ff7fadb85b82bbd3c77c Author: Juergen Beisert Date: Sat Jul 5 10:02:51 2008 +0200 i.MX3: Add a basic default config for the imx31ads (reference only) Currently there is a mx31ads BSP file in the kernel, but no default config file. This patch adds a basic default config for the imx31ads but it is for test purposes only to ensure the i.MX2 patch stack doesn't break the i.MX3. Note: For reference only. This configuration is untested as I have no access to an mx31ads. Signed-off-by: Juergen Beisert commit 4bc256501a159abc7e9fee43f63c68894f6a11d8 Author: Sascha Hauer Date: Sat Jul 5 10:02:51 2008 +0200 MXC: add debug-macro.S for mxc This patch adds debug-macro.S for arch-mxc Disadvantage: Due to the board specific UART definition, these macros (and compile time) will fail for multi board kernels. Signed-off-by: Sascha Hauer commit d0f349fbce2905607e0473d2358f97f48866e52c Author: Juergen Beisert Date: Sat Jul 5 10:02:50 2008 +0200 i.MXC family: Adding timer support This patch adds timer support for the i.MX machine family. This code can be used on the following machs: - i.MX1 (tested) - i.MX2 (i.MX21 (to be tested), i.MX27 (tested)) - i.MX3 (i.MX31 (tested)) TODO: It seems impossible to build a kernel for more than one CPU because the timer do not follow the platform device rules. So it does only work if timer 1 can be accessed on all CPUs at the same address. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 90292ea60f1c730efb9fea02b2e12676da89ebef Author: Sascha Hauer Date: Sat Jul 5 10:02:50 2008 +0200 MXC: add io multiplexing functions for mx3 This patch adds functions to use the io multiplexer on mx3 platforms. Signed-off-by: Sascha Hauer commit 07bd1a6cc7cbb3f373fbe49b204c6cde5e9155fc Author: Juergen Beisert Date: Sat Jul 5 10:02:49 2008 +0200 MXC arch: Add gpio support for the whole platform This patch bases on the one from Daniel Mack. The most important change to Daniel's patch is to be more generic. This gpio routine supports at least the i.MX27 and i.MX31 processors. Signed-off-by: Juergen Beisert Acked-by: Daniel Mack commit e3d13ff4b9d3b05d7a969153e2c049548e25deea Author: Sascha Hauer Date: Sat Jul 5 10:02:48 2008 +0200 mxc: add MX3 support for i.MX internal UART driver This patch adds MX3 support for the i.MX internal uart driver. Signed-off-by: Sascha Hauer commit df1bf4bdb2a3a26d4bde8ae1aefc16385dd4898f Author: Sascha Hauer Date: Sat Jul 5 10:02:48 2008 +0200 i.MX3: introduce clock API This patch introduces the clock API for for arch-mxc Signed-off-by: Sascha Hauer commit c0db2ea4e366c94dd3f880928c02534156e3d1b9 Author: Juergen Beisert Date: Sat Jul 5 10:02:47 2008 +0200 MXC family: Add clock handling Internal clock path handling for the mxc CPUs. Changed against the original Freescale code (and against clocklib for example): - clock rate is always calculated whenever one ask for the current rate (means struct clk has no more a member called "rate"). So switching the PLL base frequency will propagate immediately to all other clocks that are depending on this frequency. Signed-off-by: Juergen Beisert commit 38a41fdf94c449c165213e4665c3f8a0d30f8aba Author: Sascha Hauer Date: Sat Jul 5 10:02:46 2008 +0200 IMX: introduce clock API This patch introduces the clock API for i.MX and converts all in-Kernel drivers to use it. Signed-off-by: Sascha Hauer commit dbff4e9ea2e83fda89143389bfb229cb29425a32 Author: Sascha Hauer Date: Sat Jul 5 10:02:45 2008 +0200 IMX UART: remove statically initialized tables This patch removes the statically initialized tables from the i.MX serial driver and makes the driver fully dependent on the information provided by the platform_device. Signed-off-by: Sascha Hauer commit 2582d8c1655f2eda42d5358a242b256fd6e88571 Author: Sascha Hauer Date: Sat Jul 5 10:02:45 2008 +0200 IMX UART: Add board specific init/exit functions Add platform specific init functions. Also rename the struct platform_device dev into pdev. Signed-off-by: Sascha Hauer commit 036bb15ec94216e28cb1550af0fdcdfb90c549df Author: Sascha Hauer Date: Sat Jul 5 10:02:44 2008 +0200 IMX UART: do not assume 16MHz reference frequency We assumed a 16MHz reference frequency for the UART. While this is true for i.MX1 most of the time it is not true for MX27/MX31. Also, add handling for the ONEMS register which is present on newer versions of the chip and pass a sane minimum baudrate to uart_get_baud_rate(). Signed-off-by: Sascha Hauer commit 63dd10846d4917534e9ec7bddf43be786effe8b8 Author: Sascha Hauer Date: Sat Jul 5 10:02:43 2008 +0200 MXC: do not include board specific header from architecture include do not include board-mx31ads.h from hardware.h, instead include it directly only where needed. Signed-off-by: Sascha Hauer commit 5b2d281acb04a29fcdc76ced5ca6099565a0747f Author: Roland Dreier Date: Fri Jun 27 14:43:20 2008 -0700 IB/uverbs: BKL is not needed for ib_uverbs_open() Remove explicit lock_kernel() calls and document why the code is safe. Signed-off-by: Roland Dreier Signed-off-by: Jonathan Corbet commit 84e65b0a84a2c856bef36f13d122047678408b0a Author: Richard Kennedy Date: Fri Jul 4 13:56:16 2008 +0100 x86: cacheline_align tss_struct The manual padding to align on cacheline size only worked in 32 bit In 64 bit the structure was not aligned and contained wasted space. use the compiler ____cachline_aligned to save space & properly align this structure. x86_64_default size goes from 9136 -> 8960 x86_64_AMD size goes from 9136 -> 8896 built & running on 2.6.26-rc8. Signed-off-by: Richard Kennedy Signed-off-by: Ingo Molnar commit 46ac22bab42cc868b9c1d0e915ddbc8e8065a44d Author: Ankita Garg Date: Tue Jul 1 14:30:06 2008 +0530 sched: fix accounting in task delay accounting & migration On Thu, Jun 19, 2008 at 12:27:14PM +0200, Peter Zijlstra wrote: > On Thu, 2008-06-05 at 10:50 +0530, Ankita Garg wrote: > > > Thanks Peter for the explanation... > > > > I agree with the above and that is the reason why I did not see weird > > values with cpu_time. But, run_delay still would suffer skews as the end > > points for delta could be taken on different cpus due to migration (more > > so on RT kernel due to the push-pull operations). With the below patch, > > I could not reproduce the issue I had seen earlier. After every dequeue, > > we take the delta and start wait measurements from zero when moved to a > > different rq. > > OK, so task delay delay accounting is broken because it doesn't take > migration into account. > > What you've done is make it symmetric wrt enqueue, and account it like > > cpu0 cpu1 > > enqueue > > dequeue > enqueue > > run > > Where you add both d1 and d2 to the run_delay,.. right? > Thanks for reviewing the patch. The above is exactly what I have done. > This seems like a good fix, however it looks like the patch will break > compilation in !CONFIG_SCHEDSTATS && !CONFIG_TASK_DELAY_ACCT, of it > failing to provide a stub for sched_info_dequeue() in that case. Fixed. Pl. find the new patch below. Signed-off-by: Ankita Garg Acked-by: Peter Zijlstra Cc: Gregory Haskins Cc: rostedt@goodmis.org Cc: suresh.b.siddha@intel.com Cc: aneesh.kumar@linux.vnet.ibm.com Cc: dhaval@linux.vnet.ibm.com Cc: vatsa@linux.vnet.ibm.com Cc: David Bahi Signed-off-by: Ingo Molnar commit 2087a1ad822cd3a68b73338457047fcc54da726b Author: Gregory Haskins Date: Fri Jun 27 14:30:00 2008 -0600 sched: add avg-overlap support to RT tasks We have the notion of tracking process-coupling (a.k.a. buddy-wake) via the p->se.last_wake / p->se.avg_overlap facilities, but it is only used for cfs to cfs interactions. There is no reason why an rt to cfs interaction cannot share in establishing a relationhip in a similar manner. Because PREEMPT_RT runs many kernel threads as FIFO priority, we often times have heavy interaction between RT threads waking CFS applications. This patch offers a substantial boost (50-60%+) in perfomance under those circumstances. Signed-off-by: Gregory Haskins Cc: npiggin@suse.de Cc: rostedt@goodmis.org Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c4acb2c0669c5c5c9b28e9d02a34b5c67edf7092 Author: Gregory Haskins Date: Fri Jun 27 14:29:55 2008 -0600 sched: terminate newidle balancing once at least one task has moved over Inspired by Peter Zijlstra. Signed-off-by: Gregory Haskins Cc: npiggin@suse.de Cc: rostedt@goodmis.org Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit fb339690a0506d2aca447b5e888fd6ac39ea4fa2 Author: Joerg Roedel Date: Thu Jul 3 19:35:11 2008 +0200 x86, AMD IOMMU: remove unnecessary code from the iommu_enable function This code removes a leftover from the iommu_enable function. The ctrl variable is assigned but never used. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit c1cbebeec4a6be1c1fb54fbf2395ade2534b03c4 Author: Joerg Roedel Date: Thu Jul 3 19:35:10 2008 +0200 x86, AMD IOMMU: don't try to init IOMMU if early detect code did not detect one This patch adds a check if the early detect code has found AMD IOMMU hardware descriptions and does not try to initialize hardware if the check failed. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 8b14518fadd9d5915827d86d5c10e602fedf042e Author: Joerg Roedel Date: Thu Jul 3 19:35:09 2008 +0200 x86, AMD IOMMU: honor iommu=off instead of amd_iommu=off This patch removes the amd_iommu=off kernel parameter and honors the generic iommu=off parameter for the same purpose. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 999ba417cc1a43881126d08876d5d7e653113ae3 Author: Joerg Roedel Date: Thu Jul 3 19:35:08 2008 +0200 x86, AMD IOMMU: flush domain TLB when there is more than one page to flush This patch changes the domain TLB flushing behavior of the driver. When there is more than one page to flush it flushes the whole domain TLB instead of every single page. So we send only a single command to the IOMMU in every case which is faster to execute. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 5f6a59d8ad55781d4d2ff0d327f84aaeed2c4127 Author: Joerg Roedel Date: Thu Jul 3 19:35:07 2008 +0200 x86, AMD IOMMU: remove unnecessary set_bit_string The set_bit_string call in the address allocator is not necessary because its already called in iommu_area_alloc(). Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 18d22200740b83a5d968d3236c27c310b3e8fda6 Author: Joerg Roedel Date: Thu Jul 3 19:35:06 2008 +0200 x86, AMD IOMMU: more verbose Kconfig description text This patch replaces the short description text for AMD IOMMU in Kconfig with a more verbose one. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 32502b8413a77b54b9e19809404109590c32dfb7 Author: Miklos Szeredi Date: Fri Jul 4 09:35:17 2008 +0200 splice: fix generic_file_splice_read() race with page invalidation If a page was invalidated during splicing from file to a pipe, then generic_file_splice_read() could return a short or zero count. This manifested itself in rare I/O errors seen on nfs exported fuse filesystems. This is because nfsd uses splice_direct_to_actor() to read files, and fuse uses invalidate_inode_pages2() to invalidate stale data on open. Fix by redoing the page find/create if it was found to be truncated (invalidated). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 8b3d3567f72aa61d5d6f4ce89d289b154e1ea866 Author: Octavian Purdila Date: Fri Jul 4 09:33:33 2008 +0200 ramfs: enable splice write Signed-off-by: Octavian Purdila Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 7c0c0b5b19611ac15eec69043cb5588f6cbfbd7b Author: Christophe Jaillet Date: Fri Jul 4 09:33:17 2008 +0200 drivers/block/pktcdvd.c: avoid useless memset Avoid the 'memset(...,0, ...)' before calling 'init_cdrom_command' because this function already does it. Signed-off-by: Christophe Jaillet Acked-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit fce5384755e8e0e56c5609d2972db4702990d592 Author: FUJITA Tomonori Date: Fri Jul 4 09:33:01 2008 +0200 cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack) The commit 22a9189fd073db3d03a4cf8b8c098aa207602de1 (cdrom: use kmalloced buffers instead of buffers on stack) is introduced to use kmalloced buffers for packet commands to avoid stack corruption on non coherent platforms. SCSI cdrom uses blk_rq_map_kern, which properly avoids DMA on the stack by using the bounce buffers. IDE cdrom also has the mechnism to avoids DMA on the stack. So we don't need this extra complexitiy in cdrom.c, such as allocating just 8 bytes. The lower layers can handle it. Signed-off-by: FUJITA Tomonori Cc: Thomas Bogendoerfer Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 62858dacc8dea55c5bdb474ccd8acb0657e23dd0 Author: FUJITA Tomonori Date: Fri Jul 4 09:31:50 2008 +0200 scsi: sr avoids useless buffer allocation blk_rq_map_kern can handle the stack buffers correctly (avoid DMA from/to the stack buffers by using the bounce buffer) so we don't need to complicate the code by allocating just 8 bytes. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 30c00eda73d5db5bd64dd0c370161abd8df5ba4a Author: FUJITA Tomonori Date: Fri Jul 4 09:31:11 2008 +0200 block: blk_rq_map_kern uses the bounce buffers for stack buffers blk_rq_map_kern is used for kernel internal I/Os. Some callers use this function with stack buffers but DMA to/from the stack buffers leads to memory corruption on a non-coherent platform. This patch make blk_rq_map_kern uses the bounce buffers if a caller passes a stack buffer (on the all platforms for simplicity). Signed-off-by: FUJITA Tomonori Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 27f8221af406e43b529a5425bc99c9b1e9bdf521 Author: FUJITA Tomonori Date: Fri Jul 4 09:30:03 2008 +0200 block: add blk_queue_update_dma_pad This adds blk_queue_update_dma_pad to prevent LLDs from overwriting the dma pad mask wrongly (we added blk_queue_update_dma_alignment due to the same reason). This also converts libata to use blk_queue_update_dma_pad instead of blk_queue_dma_pad. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 2610324fcacf38a24b630090ebcb802538763187 Author: Alan Cox Date: Fri Jul 4 09:29:31 2008 +0200 DAC960: push down BKL Signed-off-by: Alan Cox Cc: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 5b6155ee70e9c4d2ad7e6f514c8eee06e2711c3a Author: Alan Cox Date: Fri Jul 4 09:29:16 2008 +0200 pktcdvd: push BKL down into driver Push the lock_kernel down into the driver and switch to unlocked_ioctl [akpm@linux-foundation.org: build fix] Signed-off-by: Alan Cox Acked-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit be1fd70fea1100c57f3aa1934ebb93abc474e50c Author: Alan Cox Date: Fri Jul 4 09:51:21 2008 +0200 paride: push ioctl down into driver Leaves us with lock_kernel for two methods. Also remove a bogus printk with no printk level and return -ENOTTY not -EINVAL for correctness. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton (Jens: added smp_lock.h include to pt.c, otherwise it wont compile because of missing {un}lock_kernel() definition) Signed-off-by: Jens Axboe commit 72f6befeea7dc634a83219287d5b874734b85637 Author: Hans-Christian Egtvedt Date: Fri Jul 4 09:33:03 2008 +0200 avr32: Fix typo of IFSR in a comment in the PIO header file Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 823ed72e8fe566983b121e8cc3147dd50ce63a8a Author: Harvey Harrison Date: Fri Jul 4 09:28:32 2008 +0200 block: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit b497549a035c2a81b71c7a27f2b00c8a16c09423 Author: Ben Dooks Date: Thu Jul 3 12:32:51 2008 +0100 [ARM] S3C24XX: Split serial driver into core and per-cpu drivers The S3C2410 serial driver in drivers/serial/s3c2410.c has been growing bigger with the addition of more variants of this hardware with the growing Samsung SoCs range. As such, it would be easier to split this code up into a core and per-cpu drivers to make driver addition easier, and the core smaller. Signed-off-by: Ben Dooks commit 6fc601e37bbb4045ee0afefc76b64284ea800c89 Author: Ben Dooks Date: Tue Jul 1 13:17:24 2008 +0100 [ARM] S3C24XX: PWM API support. Add support for PWM in the S3C24XX series of SoC via the PWM API. Signed-off-by: Ben Dooks commit d5c52922b618aa6ddd6b5ebebc8d0a5ec9a20f10 Author: Matthieu Castet Date: Thu Jul 3 11:24:45 2008 +0100 [ARM] S3C2412: Correct parents for EREFCLK and UREFCLK For s3c2412, set parent for clk_erefclk and clk_urefclk. This allow for example to use xtal or extclk for i2s clock. Signed-off-by: Ben Dooks Signed-off-by: Matthieu Castet commit 9c3871ca59884563e3f41669a330c9231952643b Author: Ben Dooks Date: Thu Jul 3 11:24:44 2008 +0100 [ARM] VR1000: Add tmp101 to list of I2C devices on the board Add tmp101 support via the new style I2C driver registration on the VR1000. Signed-off-by: Ben Dooks commit 7a28db61463d90043f7298a2e130af5630ff06ac Author: Ben Dooks Date: Thu Jul 3 11:24:43 2008 +0100 [ARM] ANUBIS: Add i2c device list to Simtec Anubis Add i2c board info initialiser to setup the list of I2C devices present on an Simtec Anubis. Signed-off-by: Ben Dooks commit 60d6698bb39a16f11006735cde9d55a4654c34ca Author: Ben Dooks Date: Thu Jul 3 11:24:42 2008 +0100 [ARM] VR1000: Add i2c device list to Thorcom VR1000 Add i2c board intialisers to specify the I2C devices attached on the Thorcom VR1000. Signed-off-by: Ben Dooks commit 042cf0f21feebc07b70bab9176c6be59f5fcdbc5 Author: Ben Dooks Date: Thu Jul 3 11:24:41 2008 +0100 [ARM] BAST: Add i2c device list on Simtec Bast Add i2c boardinfo for the connected i2c devices on the Simtec Bast. Signed-off-by: Ben Dooks commit f337422147ca28fad0ff18d67a82c8b475872109 Author: Ben Dooks Date: Thu Jul 3 11:24:40 2008 +0100 [ARM] OSIRIS: Add i2c device list to Simtec Osiris Add an i2c board information initialisers to the board to define which devices are present. Signed-off-by: Ben Dooks commit 9d529c6e7b73088551057445763b2be755a3b82f Author: Ben Dooks Date: Thu Jul 3 11:24:39 2008 +0100 [ARM] S3C24XX: Add physmap device for all Simtec NOR equiped boards. Move to using the physmap platform device code to attached NOR flash on Simtec boards so that the old bast-flash driver can be safely removed. Signed-off-by: Ben Dooks commit b9db83af69e4c61107803c85872d01a45949e052 Author: Ben Dooks Date: Thu Jul 3 11:24:38 2008 +0100 [ARM] ANUBIS: Move to using ata_platform driver (libata) Change the (as yet unused) IDE bus on the Simtec Anubis board to use pata_platform and thus libata to provide IDE support. Signed-off-by: Ben Dooks commit b7a12d1923f12aa00a68347a3ad97c43ecf55667 Author: Ben Dooks Date: Thu Jul 3 11:24:37 2008 +0100 [ARM] BAST/VR1000: Move to using ata_platform (libata) Use the pata_platform driver to provide the IDE port drivers on the Simntec BAST and Thorcom VR1000 machines as a precursor to removing drivers/ide/arm/bast-ide.c This will mean that the system will need SCSI and SCSI disc support as a minimum, and any references to hdX will be changed to sdX. Signed-off-by: Ben Dooks commit dd1086f43dc7205b451ae95e37d4813a9c28611d Author: Ben Dooks Date: Thu Jul 3 11:24:36 2008 +0100 [ARM] JIVE: Add power off on shutdown support Add pm_power_off hook to allow the Logitech Jive to shutdown when asked to halt. Signed-off-by: Ben Dooks commit d10d8a5f79e3e33db1a9f177c54187e2312598f2 Author: Ben Dooks Date: Thu Jul 3 11:24:35 2008 +0100 [ARM] JIVE: Add i2c device info for LIS302DL sensor Add i2c bus definition for the LIS302DL sensor driver which is connected on the i2c bus. Signed-off-by: Ben Dooks commit fd2de272b23bbb866294ff72f55d3731fe6a4c92 Author: Ben Dooks Date: Thu Jul 3 11:24:34 2008 +0100 [ARM] JIVE: Add board definitions for audio Add board definitions for the audio device connected on the Logitech Jive. Signed-off-by: Ben Dooks commit c2c1708f9d2d0435ff136acbb98f8cfbeded09e4 Author: Ben Dooks Date: Thu Jul 3 11:24:33 2008 +0100 [ARM] JIVE: Add LCD display setup information Add the setup information for the LCD display connected to the device. Signed-off-by: Ben Dooks commit a2ed4065159d87d88f2bdc5a3a53e96b76f5a198 Author: Ben Dooks Date: Thu Jul 3 11:24:32 2008 +0100 [ARM] JIVE: Add SPI bus definitions for LCD controller Add the definitions for the VGG2432A4 intelligent LCD display conneected via an GPIO-based SPI bus on the Logitech Jive. Signed-of-by: Ben Dooks commit 0f99263cda230415a48163fe9c30447173f73ff1 Author: Ben Dooks Date: Thu Jul 3 11:24:31 2008 +0100 [ARM] JIVE: Add setup information for the S3C2412 LCD controller Setup the video controller information for the Jive. Signed-off-by: Ben Dooks commit 54c272acd16dbfb7b83948b04bf19ba451885284 Author: Ben Dooks Date: Thu Jul 3 11:24:30 2008 +0100 [ARM] JIVE: Initialise the sleep configuration registers Ensure that the S3C2412 sleep configuration registers are approriately setup so that the device can safely go to sleep. Signed-off-by: Ben Dooks commit 9db829f485c553a0e677a165b37f877bf74f36ff Author: Ben Dooks Date: Thu Jul 3 11:24:29 2008 +0100 [ARM] JIVE: Initial machine support for Logitech Jive This is the base machine support for the Logitech Jive machine. Signed-off-by: Ben Dooks commit b999f0db941f56bb0f68ebf455f6e2960cfd5804 Author: Ben Dooks Date: Thu Jul 3 11:24:27 2008 +0100 [ARM] S3C24XX: Support for PWM timer clocks via clk_* API Add support for the PWM timer clock routing via the standard clk_ API. Signed-off-by: Ben Dooks commit b4b68f8cfaf583945019e41674cfa858c83316c3 Author: Ben Dooks Date: Thu Jul 3 11:24:26 2008 +0100 [ARM] S3C24XX: Add PWM timer MUX defines Add timer defines for the MUX settings for each of the PWM timers to add to the per-timer defines already in the file. Signed-off-by: Ben Dooks commit f348a2a2817e9d24b1edd4befc9659ec83501ca5 Author: Ben Dooks Date: Thu Jul 3 11:24:25 2008 +0100 [ARM] S3C24XX: Add gpiolib support Add support for gpilib on all S3C24XX platforms. Signed-off-by: Ben Dooks commit ed9137f10377a59487cf43c76dd0d3bbf489d799 Author: Ben Dooks Date: Thu Jul 3 11:32:28 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: enable USB subset of drivers Enable a subset of USB drivers which are useful for using on these devices. Signed-off-by: Ben Dooks commit 328dce1fa0407aae96f58ca114d0d80b587b86f5 Author: Ben Dooks Date: Thu Jul 3 11:32:27 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: add SCSI support Enable SCSI support, mainly to help with adding USB storage support later and for the imminent changes for libata. Signed-off-by: Ben Dooks commit 186eb08b8b8c637eac658e58b7dccc1f381a4551 Author: Ben Dooks Date: Thu Jul 3 11:32:26 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update networking options Add the following to the networking confgiuration: 1) Packet socket support (useful for userland dhcp) 2) Add bluetooth and USB bluetooth drivers as modules 3) Add basic IPv6 support as modules. 4) Add the wireless core as modules. Signed-off-by: Ben Dooks commit d947ae572149b30207ce2e0bde5ab0a658059df6 Author: Ben Dooks Date: Thu Jul 3 11:32:25 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update miscellaneous options Add some basic config filesystem, ensure errors are verbose by default. Signed-off-by: Ben Dooks commit fa941dc98668e80c11c7d4faa1c5f5163556bdfe Author: Ben Dooks Date: Thu Jul 3 11:32:24 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update filesystem options Enable new filesystem options, such as: - JFFS2 summary nodes - Ext2/3 externed options - Standard CDROM filesystems Also add NTFS as a module. Signed-off-by: Ben Dooks commit a373473a90122cf5ea5779d62d603fcb3201ab5b Author: Ben Dooks Date: Thu Jul 3 11:32:23 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: enable useful NLS options Enable some useful NLS codepages to be built into the kernel, and build the rest as modules. Signed-off-by: Ben Dooks commit d951f55d6aface8dbeaed2e8d8d35d29afa37921 Author: Ben Dooks Date: Thu Jul 3 11:32:22 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update list of used drivers Update the drivers built, such as the SM501 and parallel port. Signed-off-by: Ben Dooks commit 0acaff300fbdc7752b80b9cd8181bfdcedef012f Author: Ben Dooks Date: Thu Jul 3 11:32:21 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update to rc8 Update the s3c2410_defconfig to rc8 Signed-off-by: Ben Dooks commit ea304e394f78af6bafee07e0ed916af9c38abf48 Author: Ben Dooks Date: Thu Jul 3 11:24:23 2008 +0100 [ARM] S3C2410: Add sysfs attribute for serial driver clock source Add attribute to show the current clock source for the serial driver and remove old and annoying debug output. Note, this only currently shows the current source with a "* " prefix to indicate that it is the current source. Future code will list all the clock sources, with the non-selected one with " " prefix. Signed-off-by: Ben Dooks PATCH FOLLOWS KernelVersion: 2.6.26-rc3 commit 9cf345e3991623d4b7e4df2624b898d7f20ec37f Author: Ben Dooks Date: Thu Jul 3 11:24:22 2008 +0100 [ARM] S3C2410: Fix flags on DM9000 resources on BAST and VR1000 Fix the flags entries for the DM9000 IRQ entries on both the Simtec BAST and Thorcom VR1000 board. The current entries use the IRQF_ flags, but we should be using the IORESOURCE_IRQ_ definitions. Signed-off-by: Ben Dooks PATCH FOLLOWS KernelVersion: 2.6.26-rc5 commit f7def13ed0775ee506c62a8612a124dce1776ac2 Author: Paulius Zaleckas Date: Wed Jun 25 13:25:13 2008 +0100 [ARM] 5122/1: imx_dma_request_by_prio simpilfication imx_dma_request_by_prio can return channel number by itself. No need to supply variable address through parameters. Also converted all drivers using this function. Signed-off-by: Paulius Zaleckas Acked-by: Sascha Hauer Signed-off-by: Russell King commit 60a752ef34e23be5e6c91c0734d30447ce15b63b Author: Paulius Zaleckas Date: Wed Jun 25 13:33:14 2008 +0100 [ARM] 5123/1: Select GENERIC_HARDIRQS_NO__DO_IRQ for ARM arch ARM architecture is not using __do_IRQ Acked-By: Uwe Kleine-König Signed-off-by: Paulius Zaleckas Signed-off-by: Russell King commit 826cbdaff29764bb6928c715c6a025e49469dda9 Author: Catalin Marinas Date: Fri Jun 13 10:28:36 2008 +0100 [ARM] 5092/1: Fix the I-cache invalidation on ARMv6 and later CPUs This patch adds the I-cache invalidation in update_mmu_cache if the corresponding vma is marked as executable. It also invalidates the I-cache if a thread migrates to a CPU it never ran on. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 43df5220e455d426ec7462d0bf906e686c65ebb5 Author: Catalin Marinas Date: Mon Jun 23 16:32:14 2008 +0100 [ARM] 5121/1: Annotate platform_secondary_init with trace_hardirqs_off This patch annotates the platform_secondary_init function in arch/arm/mach-realview/platsmp.c with trace_hardirqs_off to avoid a warning when LOCKDEP and TRACE_IRQFLAGS are enabled. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit d41d219e8154885105d631661e5a86ba6461fb81 Author: Matthias Kaehlcke Date: Mon Jun 9 16:24:08 2008 -0700 [ARM] OMAP1: N770: Convert audio_pwr_sem in a mutex ARM: OMAP1: N770: The semaphore audio_pwr_sem is used as a mutex. Convert it to the mutex API [akpm@linux-foundation.org: include mutex.h] Signed-off-by: Matthias Kaehlcke Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 3c093f9f182eef6a8dc535f2c62b36a0320d0db1 Author: Vegard Nossum Date: Mon Jun 9 16:24:10 2008 -0700 [ARM] fix header guards Acked-by: Dan Williams Signed-off-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 6ccc3fc56e4cca6aceb81376fdb5d4c3340e72d8 Author: Adrian Bunk Date: Mon Jun 9 16:24:09 2008 -0700 [ARM] remove drivers/acorn/char/defkeymap-l7200.c The config option for building drivers/acorn/char/defkeymap-l7200.c is not present since at least kernel 2.6.0. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 8fe059df33f82fb785dd795391498ad8bc6fac09 Author: Ben Dooks Date: Fri May 23 11:48:00 2008 +0100 [ARM] 5054/1: S3C2410: Add GPLv2 license to the s3c2410 serial driver The original driver had an MODULE_LICENSE statement for GPL, but no explict license in the header of the file. To make this more explicit, and since I am the original authour, we will add a GPLv2 header. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 05a78966395c5a115be3d38f6eb82efc94ee45b0 Author: Ben Dooks Date: Thu May 22 16:36:45 2008 +0100 [ARM] 5050/1: S3C2410: Cleanup header on S3C2410 serial driver Remove the changelog which should really be found in the version control system. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 946e2ad040000a14b7316fae722e7e65fa09ffe5 Merge: 543cf4c... e055d5b... Author: Russell King Date: Thu Jul 3 16:13:28 2008 +0100 Merge branch 'fb' into devel Conflicts: arch/arm/Kconfig commit 341eb781019afbf279b42722b00f63c6db00bf09 Author: Ben Dooks Date: Tue Jul 1 14:16:49 2008 +0100 [ARM] 5140/1: RPC: Use HAVE_PATA_PLATFORM to select pata platform driver Use HAVE_PATA_PLATFORM for ARCH_RPC Cc: Linux ARM Kernel Cc: Russell King Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9ecba1f288d2cf87d1b6a9401d5ce17464eb776d Author: Russell King Date: Sat Apr 19 16:01:38 2008 +0100 [ARM] rpc: ecard: remove deprecated ecard_address() and relatives ecard_address() is obsolete, and has been marked deprecated since at least 2.6.12-rc2. All in-tree users have been updated to use the new approach, so it's time to remove this. Signed-off-by: Russell King commit 50bbb05d60e1897abad92d42bf185314be36bd74 Author: Russell King Date: Sat Apr 19 15:56:08 2008 +0100 [ARM] rpc: deprecate __ioaddr() and __ioaddrc() helpers Now everything is converted to use MMIO accessors, these helpers are no longer required. Signed-off-by: Russell King commit e95a1b656a9809acd8ba8eb867ac6a7759d6180e Author: Russell King Date: Sat Apr 19 15:42:57 2008 +0100 [ARM] rpc: acornscsi: update to new style ecard driver Update acornscsi as per all the other ecard drivers to use MMIO accessors rather than the obsolete 'pc io' style inb/outb accessors. Use ecard_request_resources()/ecard_release_resources() for easier resource handling, rather than requesting 5 separate regions individually. Acked-by: James Bottomley Signed-off-by: Russell King commit a796ef7035c6c5cc5726c3e4e8d71175c13828df Author: Russell King Date: Sat Apr 19 15:37:44 2008 +0100 [ARM] rpc: acornscsi: stop using private __stringify() The kernel has its own, so let's use that instead. Acked-by: James Bottomley Signed-off-by: Russell King commit ffd7858dd8ebb93fad700b830b3b9f6d024c9eac Author: Russell King Date: Sat Apr 19 14:26:18 2008 +0100 [ARM] rpc: acornscsi: convert hardware accessors to take 'AS_Host *' Acked-by: James Bottomley Signed-off-by: Russell King commit 324b9337f246e5f00aad10220d8d4bc13f1922ed Author: Russell King Date: Sat Apr 19 15:13:45 2008 +0100 [ARM] rpc: acornscsi: fixup abort/reset methods, fix build errors Revive the AcornSCSI driver, update it for the replacement command abort and host reset methods, and fix the build errors in acornscsi-io.S. Acked-by: James Bottomley Signed-off-by: Russell King commit d8f8eb43e9d6d5789f37c8a80db99af894944d41 Author: Russell King Date: Sat Apr 19 15:20:23 2008 +0100 [ARM] rpc: acornscsi: remove unused 'ADDR' macro Acked-by: James Bottomley Signed-off-by: Russell King commit 36149f02cb830570ca57228c8ad3d82742485eb7 Author: Russell King Date: Sat Apr 19 15:12:23 2008 +0100 [ARM] rpc: etherh: fix unused variable warning Fix: drivers/net/arm/etherh.c:650: warning: unused variable `i' Signed-off-by: Russell King commit 95c60b08c6af6db2165837139da10f593462d51c Author: Gustavo Fernando Padovan Date: Wed Jun 25 04:03:19 2008 -0300 x86: remove unnecessary #ifdef CONFIG_X86_32...#else Remove the #ifdef conditional because this comparison is already done in user_mode_vm(). Signed-off-by: Gustavo F. Padovan Cc: akpm@osdl.org Signed-off-by: Ingo Molnar commit 2d144e63098be47c21ad59d68a4fd17bd73a3aaf Author: Venki Pallipadi Date: Tue Jun 24 17:12:56 2008 -0700 x86, mce_64.c: mce_cpu_quirks being ignored Quirks getting ignored was a bug. Below patch fixes the bug, until we have the dynamic banks support. Sysfs choice configuration should not have any issues with the earlier patch as we look for NR_SYSFS_BANKS in do_machine_check(). Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: Max Asbock Signed-off-by: Ingo Molnar commit a8cac817764a494705aebd99fd51bdf6cdc28ec9 Merge: b4b3bd9... 543cf4c... Author: Ingo Molnar Date: Thu Jul 3 15:03:02 2008 +0200 Merge commit 'v2.6.26-rc8' into x86/mce commit 98a05ed4bd7774f533ab185fe0bf2fdc58292d7c Author: Abhishek Sagar Date: Thu Jun 26 22:51:51 2008 +0530 ftrace: prevent ftrace modifications while being kprobe'd, v2 add two missing chunks for ftrace+kprobe. Signed-off-by: Abhishek Sagar Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 6bcb13b35a2ea39be6c7cc0292b8ad1191b1a748 Author: Ben Collins Date: Wed Jun 18 14:04:35 2008 -0400 x86: config option to disable info from decompression of the kernel This patch allows the disabling of decompression messages during x86 bootup. Signed-off-by: Ben Collins Signed-off-by: Ingo Molnar commit c0f7edb3099d538017c52556aab596b857dc92ee Author: Guennadi Liakhovetski Date: Fri Jun 13 11:50:44 2008 +0100 [ARM] 5094/1: pcm990: Add framebuffer and backlight support PCM990 boards can be assembled with either a Sharp STN or a NEC TFT LCD. This patch adds support for these displays and for the backlight, using the pwm_bl driver. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 85847a360ff5012ed7932bb5bb63566ad584e02f Author: Philipp Zabel Date: Thu May 22 14:20:01 2008 +0100 [ARM] 5045/1: magician: use the pwm_bl driver for the LCD backlight magician has a GPIO that modifies the brightness level additionally to the PWM duty value. This patch makes use of the pwm_bl notify callback to present userspace with a single brightness scale. This gets rid of the pxa_set_cken calls and direct PWM register access. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 43bda1a6d218744382547a2f8be3240d1c3a151b Author: Ben Dooks Date: Tue Jul 1 14:18:27 2008 +0100 [ARM] 5141/1: PWM: pwm_request() should return an PTR_ERR() instead of NULL. Make the return of pwm_request() be more informative than just being NULL on error by using PTR_ERR() to respond with an approriate error. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3b73125af69f93972625f4b655675f42ca4274eb Author: Philipp Zabel Date: Thu May 22 14:18:40 2008 +0100 [ARM] 5044/1: pwm_bl: add init/notify/exit callbacks This allows platform code to manipulate GPIOs and brightness level as needed. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 4a73071947d21f3aa39fa3a4bac104aaab94cfca Author: Russell King Date: Sun May 18 13:11:02 2008 +0100 [ARM] pxa: make LogicPD 270 use the generic PWM backlight driver Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 402e490997ddaae310a080534a61d7ec24df8124 Author: Russell King Date: Sun Apr 13 21:47:01 2008 +0100 [ARM] pxa: make mainstone use the generic PWM backlight driver Signed-off-by: Russell King commit 5cca91479b8ac6a60b61bc56e72389c681387211 Author: eric miao Date: Sun Apr 13 21:46:34 2008 +0100 [ARM] pxa: make zylonite use the generic PWM backlight driver Patch mostly by Eric Miao, minor edits by rmk. Signed-off-by: eric miao Signed-off-by: Russell King commit 42796d37da6ef4fd851dc6d5d0387baf7e2b0c3c Author: eric miao Date: Mon Apr 14 09:35:08 2008 +0100 [ARM] pxa: add generic PWM backlight driver Patch mostly from Eric Miao, with minor edits by rmk to convert Eric's driver to a generic PWM-based backlight driver. Signed-off-by: eric miao Signed-off-by: Russell King commit c860d701cc5f77b74c481dcbd25b2d8b31c622fc Author: Robert Jarzmik Date: Tue Jun 10 23:02:31 2008 +0100 [ARM] 5087/1: Get the PWM layer to handle clock enable/disable properly. Allow pwm_enable()/pwm_disable() to be called as many times as the driver wants (and not even count them). The PWM model is different from things like the clock API where we need enable counting, because PWMs have one exclusive user per PWM whereas the clock API can have multiple users of the same clock. Acked-by: eric miao Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit b5f0228afa7810f3cad1f2f741cc747a2378b890 Author: Guennadi Liakhovetski Date: Thu Jun 5 10:45:02 2008 +0100 [ARM] 5078/1: pxa-pwm: Add missing MODULE_LICENSE to be able to build the driver as a module Without a GPL-compatible license this driver cannot be built as a module, because the platform_driver_* API is only exported to GPL modules. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Russell King commit 0b1c25d2c0f35b4cdd3f04f365cff31fc5a21813 Author: Philipp Zabel Date: Mon Jun 30 18:09:03 2008 +0100 [ARM] 5136/1: pxa: fix PWM device order for pxa27x Currently PWM0/2 (pxa27x_device_pwm0 at 0x40b00000 and 0x40b00010 are registered as as pwm_id 0 and 1, PWM1/3 (pxa27x_device_pwm1 at 0x40c00000 and 0x40c00010) are registered as pwm_id 2 and 3. This patch corrects the pwm_ids to match the documented register names. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit e48ec69005f02b70b7ecfde1bc39a599086d16ef Author: Jens Axboe Date: Thu Jul 3 13:18:54 2008 +0200 block: extend queue_flag bitops Add test_and_clear and test_and_set. Signed-off-by: Jens Axboe commit e180f5949327e897bc35a816f4f4010186632df9 Author: maximilian attems Date: Tue Jul 1 09:42:47 2008 +0200 block: request_module(): use format string Avoid bad things happening if the module has a printk control string in its name. Signed-off-by: maximilian attems Signed-off-by: Jens Axboe commit cc371e66e340f35eed8dc4651c7c18e754c7fb26 Author: Alasdair G Kergon Date: Thu Jul 3 09:53:43 2008 +0200 Add bvec_merge_data to handle stacked devices and ->merge_bvec() When devices are stacked, one device's merge_bvec_fn may need to perform the mapping and then call one or more functions for its underlying devices. The following bio fields are used: bio->bi_sector bio->bi_bdev bio->bi_size bio->bi_rw using bio_data_dir() This patch creates a new struct bvec_merge_data holding a copy of those fields to avoid having to change them directly in the struct bio when going down the stack only to have to change them back again on the way back up. (And then when the bio gets mapped for real, the whole exercise gets repeated, but that's a problem for another day...) Signed-off-by: Alasdair G Kergon Cc: Neil Brown Cc: Milan Broz Signed-off-by: Jens Axboe commit b24498d477a14680fc3bb3ad884fa9fa76a2d237 Author: Jens Axboe Date: Fri Jun 27 09:12:09 2008 +0200 block: integrity flags can't use bit ops on unsigned short Just use normal open coded bit operations instead, they need not be atomic. Signed-off-by: Jens Axboe commit 06a452e5b95eb669b7ad414ccf587dfc2d91b217 Author: Adel Gadllah Date: Fri Jun 27 09:16:17 2008 +0200 cmdfilter: extend default read filter This patch adds the commands that the former sg filter allowed for read access to the cmdfilter to keep userspace apps that rely on them working. Signed-off-by: Adel Gadllah Signed-off-by: Jens Axboe commit 2b272d4f7953a73ea1c1f7ba33d5a2d7439ce71b Author: Jens Axboe Date: Thu Jun 26 19:45:54 2008 +0200 sg: fix odd style (extra parenthesis) introduced by cmd filter patch Signed-off-by: Jens Axboe commit 07359fc61bb8ed786f96a1c24cca6f94dd17e329 Author: FUJITA Tomonori Date: Thu Jun 26 19:39:23 2008 +0200 block: add bounce support to blk_rq_map_user_iov blk_rq_map_user_iov can't handle the bounce buffer (it means that the bio_map_user_iov path doesn't work with a LLD that needs GFP_DMA). This patch fixes blk_rq_map_user_iov to support the bounce buffer. Signed-off-by: FUJITA Tomonori Cc: Mike Christie Signed-off-by: Jens Axboe commit c265a7f41706cee20508de5b4a919214cfd7a11b Author: Jens Axboe Date: Thu Jun 26 13:49:33 2008 +0200 cfq-iosched: get rid of enable_idle being unused warning Signed-off-by: Jens Axboe commit 0b07de85a76e1346e675f0e98437378932473df7 Author: Adel Gadllah Date: Thu Jun 26 13:48:27 2008 +0200 allow userspace to modify scsi command filter on per device basis This patch exports the per-gendisk command filter to user space through sysfs, so it can be changed by the system administrator. All users of the old cmd filter have been converted to use the new one. Original patch from Peter Jones. Signed-off-by: Adel Gadllah Signed-off-by: Peter Jones Signed-off-by: Jens Axboe commit 6e2401ad6f33de15ff00f78b88159f00a14f3b35 Author: Jens Axboe Date: Wed Jun 18 10:15:02 2008 +0200 block: integrity cleanups - No need to check for NULL bio, we'll get an immediate oops anyway. - Make bio_integrity() a proper function. Signed-off-by: Jens Axboe commit da9cbc87395308a21465bd25441297bbba0477e1 Author: Jens Axboe Date: Mon Jun 30 20:42:08 2008 +0200 block: blkdev.h cleanup, move iocontext stuff to iocontext.h Signed-off-by: Jens Axboe commit b984679efe1a616ec4ac919dba08286d71593900 Author: Jens Axboe Date: Tue Jun 17 19:05:48 2008 +0200 block: integrity checkpatch cleanups > 80 char lines and that sort of thing. Signed-off-by: Jens Axboe commit c1c72b59941e2f5aad4b02609d7ee7b121734b8d Author: Martin K. Petersen Date: Tue Jun 17 18:59:57 2008 +0200 block: Data integrity infrastructure documentation Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 7ba1ba12eeef0aa7113beb16410ef8b7c748e18b Author: Martin K. Petersen Date: Mon Jun 30 20:04:41 2008 +0200 block: Block layer data integrity support Some block devices support verifying the integrity of requests by way of checksums or other protection information that is submitted along with the I/O. This patch implements support for generating and verifying integrity metadata, as well as correctly merging, splitting and cloning bios and requests that have this extra information attached. See Documentation/block/data-integrity.txt for more information. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 51d654e1d885607a6edd02b337105fa5c28b6d33 Author: Martin K. Petersen Date: Tue Jun 17 18:59:56 2008 +0200 block: Globalize bio_set and bio_vec_slab Move struct bio_set and biovec_slab definitions to bio.h so they can be used outside of bio.c. Signed-off-by: Martin K. Petersen Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit a144ff09bc52ef3f3684ed23eadc9c7c0e57b3aa Author: Ian Campbell Date: Tue Jun 17 10:47:08 2008 +0200 xen: Avoid allocations causing swap activity on the resume path Avoid allocations causing swap activity on the resume path by preventing the allocations from doing IO and allowing them to access the emergency pools. These paths are used when a frontend device is trying to connect to its backend driver over Xenbus. These reconnections are triggered on demand by IO, so by definition there is already IO underway, and further IO would naturally deadlock. On resume, this path is triggered when the running system tries to continue using its devices. If it cannot then the resume will fail; to try to avoid this we let it dip into the emergency pools. [ linux-2.6.18-xen changesets e8b49cfbdac, fdb998e79aba ] Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 5a60d0cd4ff227c4c5212898ecbeeaf5662eb5fa Author: Jan Beulich Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: add __exit to module_exit() handlers Signed-off-by: Jan Beulich Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 04c0635058256e2f4618139c237e56b5a4bdbb8f Author: Wim Colgate Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: Make sure that the device is fully ready before allowing release. [ linux-2.6.18-xen changeset c1c57fea77e9 ] Signed-off-by: Wim Colgate Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 440a01a7f46742400c74d9d346118523e81d188b Author: Christian Limpach Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: Add the CDROM_GET_CAPABILITY ioctl to blkfront. Return 0 instead of -EINVAL if the blkfront device is a cdrom, i.e. had the VDISK_CDROM attribute. This allows udev's cdrom_id to correctly detect the device as a cdrom device. [ Add blkif_ioctl, and CDROMMULTISESSION ] [ linux-2.6.18-xen changeset d2bd9af846b5 ] Signed-off-by: Christian Limpach Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 1c91fe1a0d577f2e53475e789c9d63a0feb7d93c Author: Ian Campbell Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: Make sure we don't use bounce buffers, we don't need them. [ linux-2.6.18-xen changeset 667228bf8fc5 ] Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 244b4d56f85bcd11b21ab0b94845a3dabeed5c10 Author: Jens Axboe Date: Thu Jun 12 20:12:36 2008 +0200 block: kill request_queue_t Everything was moved to struct request_queue a few kernel revisions ago, maintaining the deprecated typedef to avoid breaking things. Now the time has come to get rid of that typedef. Signed-off-by: Jens Axboe commit 1c9ce5276324ae566ca409491b99a2cc8d5986fa Author: Kay Sievers Date: Fri Jun 13 09:41:00 2008 +0200 block: export "ro" attribute Signed-off-by: Kay Sievers Signed-off-by: Jens Axboe commit 02c62304e6af60f1963695c6bc1bbffe619aa585 Author: Alan D. Brunelle Date: Wed Jun 11 09:12:52 2008 +0200 Added in user-injected messages into blk traces This allows a user to annotate the blk trace stream: writing a suitable message to {/sys/kernel/debug}/block//msg will have it propagated into the trace stream. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit 7b679138b3237a9a3d45a4fda23a58ac79cd279c Author: Jens Axboe Date: Fri May 30 12:23:07 2008 +0200 cfq-iosched: add message logging through blktrace Now that blktrace has the ability to carry arbitrary messages in its stream, use that for some CFQ logging. Signed-off-by: Jens Axboe commit 863fddcb4b0caee4c2d5bd6e3b28779920516db3 Author: Jens Axboe Date: Thu May 29 09:35:22 2008 +0200 as-iosched: properly protect ioc_gone and ioc count If we have multiple tasks freeing io contexts when as-iosched is being unloaded, we could complete() ioc_gone twice. Fix that by protecting ioc_gone complete() and clearing with a spinlock for just that purpose. Doesn't matter from a performance perspective, since it'll only enter that path when ioc_gone != NULL (when as-iosched is being rmmod'ed). Signed-off-by: Jens Axboe commit 9a11b4ed0e7c44bca7c939aa544c3c47aae40c12 Author: Jens Axboe Date: Thu May 29 09:32:08 2008 +0200 cfq-iosched: properly protect ioc_gone and ioc count If we have multiple tasks freeing cfq_io_contexts when cfq-iosched is being unloaded, we could complete() ioc_gone twice. Fix that by protecting ioc_gone complete() and clearing with a spinlock for just that purpose. Doesn't matter from a performance perspective, since it'll only enter that path when ioc_gone != NULL (when cfq-iosched is being rmmod'ed). Signed-off-by: Jens Axboe commit bc4e0f9ae2b1b133d36c1392d0145d2997cff272 Author: Ben Castricum Date: Tue Jun 10 13:15:12 2008 +0200 x86: microcode: cosmetic changes First announce ourself, then start working. Currently this module reports itself when all is completed which is not most modules do. Plus some cosmetic/whitespace cleanups. Signed-off-by: Ben Castricum Cc: trivial@kernel.org Signed-off-by: Ingo Molnar commit 88b8ba90570067178d32c654ad95786041e86e86 Author: Paul Walmsley Date: Thu Jul 3 12:24:46 2008 +0300 ARM: OMAP2: Clock: New OMAP2/3 DPLL rate rounding algorithm This patch adds a new rate rounding algorithm for DPLL clocks on the OMAP2/3 architecture. For a desired DPLL target rate, there may be several multiplier/divider (M, N) values which will generate a sufficiently close rate. Lower N values result in greater power economy. However, lower N values can cause the difference between the rounded rate and the target rate ("rate error") to be larger than it would be with a higher N. This can cause downstream devices to run more slowly than they otherwise would. This DPLL rate rounding algorithm: - attempts to find the lowest possible N (DPLL divider) to reach the target_rate (since, according to Richard Woodruff , lower N values save more power than higher N values). - allows developers to set an upper bound on the error between the rounded rate and the desired target rate ("rate tolerance"), so an appropriate balance between rate fidelity and power savings can be set. This maximum rate error tolerance is set via omap2_set_dpll_rate_tolerance(). - never returns a rounded rate higher than the target rate. The rate rounding algorithm caches the last rounded M, N, and rate computation to avoid rounding the rate twice for each clk_set_rate() call. (This patch does not yet implement set_rate for DPLLs; that follows in a future patch.) The algorithm trades execution speed for rate accuracy. It will find the (M, N) set that results in the least rate error, within a specified rate tolerance. It does this by evaluating each divider setting - on OMAP3, this involves 128 steps. Another approach to DPLL rate rounding would be to bail out as soon as a valid rate is found within the rate tolerance, which would trade rate accuracy for execution speed. Alternate implementations welcome. This code is not yet used by the OMAP24XX DPLL clock, since it is currently defined as a composite clock, fusing the DPLL M,N and the M2 output divider. This patch also renames the existing OMAP24xx DPLL programming functions to highlight that they program both the DPLL and the DPLL's output multiplier. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 542313cc98e72d026d2df86f515699dfaface460 Author: Paul Walmsley Date: Thu Jul 3 12:24:45 2008 +0300 ARM: OMAP2: Clock: Add OMAP3 DPLL autoidle functions This patch adds support for DPLL autoidle control to the OMAP3 clock framework. These functions will be used by the noncore DPLL enable and disable code - this is because, according to the CDP code, the DPLL autoidle status must be saved and restored across DPLL lock/bypass/off transitions. N.B.: the CORE DPLL (DPLL3) has three autoidle mode options, rather than just two. This code currently does not support the third option, low-power bypass autoidle. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 097c584cd48844d9ef8402bdc6ab49e7e2135f31 Author: Paul Walmsley Date: Thu Jul 3 12:24:45 2008 +0300 ARM: OMAP: Add OMAP chip type structure; clean up mach-omap2/id.c Add a new OMAP chip identification interface, omap_chip_id. omap_chip_id is a structure which contains one bit for each OMAP2/3 CPU type, and on 3430, ES level. For example, the CHIP_IS_OMAP2420 bit is set in omap_chip at boot on an OMAP2420. On OMAP3430ES2, both CHIP_IS_OMAP3430 and CHIP_IS_OMAP3430ES2 bits are set. omap_chip is set in mach-omap2/id.c by _set_omap_chip(). Other code should use the omap_chip_is() function to test against omap_chip. Also, clean up id.c by splitting some code out of omap_check_revision() into its own function, _set_system_rev(); and converting some debug printk()s into pr_debug(). Second revision. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit ff00fcc9ca8f18facbc3fcd779e85887e5a0d247 Author: Tony Lindgren Date: Thu Jul 3 12:24:44 2008 +0300 ARM: OMAP: Turn CM and PRM access into functions Otherwise compiling in omap2 and omap3 will not work. Signed-off-by: Tony Lindgren commit a58caad11301a5bdc2d7b76596ab5477221f7a9b Author: Tony Lindgren Date: Thu Jul 3 12:24:44 2008 +0300 ARM: OMAP: Introduce omap_globals and prcm access functions for multi-omap New struct omap_globals contains the omap processor specific module bases. Use omap_globals to set the various base addresses to make detecting omap chip type simpler. Also introduce OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS for future multi-omap patches. Signed-off-by: Tony Lindgren commit e1f80bfca86ab48b7bed731b32262fb1a2835de5 Author: Tony Lindgren Date: Thu Jul 3 12:24:43 2008 +0300 ARM: OMAP: Remove __REG access for multi-omap This does not play nicely with multi-omap as it cannot be replaced by a function in io.c for omaps with different IO bases. Signed-off-by: Tony Lindgren commit f35ae6346850f6c192269b09088b20261760f0e0 Author: Tony Lindgren Date: Thu Jul 3 12:24:43 2008 +0300 ARM: OMAP: USB: Change omap USB code to use omap_read/write instead of __REG Change omap USB code to use omap_read/write instead of __REG for multi-omap Cc: David Brownell Cc: linux-usb@vger.kernel.org Cc: i2c@lm-sensors.org Signed-off-by: Tony Lindgren commit 030b15457d8069a6255579a28db196e002cb9c86 Author: Tony Lindgren Date: Thu Jul 3 12:24:41 2008 +0300 ARM: OMAP: Change omap_cf.c and omap_nor.c to use omap_readw/writew instead of __REG Change omap_cf.c and omap_nor.c to use omap_readw/writew instead of __REG. This is needed for multi-omap in the future. Cc: David Brownell Cc: linux-pcmcia@lists.infradead.org Cc: linux-mtd@lists.infradead.org Signed-off-by: Tony Lindren commit 137b3ee27ab1b27dba081542476054836978ca45 Author: Hiroshi DOYU Date: Thu Jul 3 12:24:41 2008 +0300 ARM: OMAP: CLKFW: Initial debugfs support for omap clock framework debugfs can provide the infrastructure to trace the dependencies of clock tree hierarchy quite visibly. This patch enables to keep track of clock tree hierarchy and expose their attributes under each clock directry as below: omap:~# tree -d -L 2 /debug/clock/omap_32k_fck/ /debug/clock/omap_32k_fck/ |-- gpt10_fck |-- gpt11_fck |-- gpt1_fck |-- per_32k_alwon_fck | |-- gpio2_fck | |-- gpio3_fck | |-- gpio4_fck | |-- gpio5_fck | |-- gpio6_fck | `-- wdt3_fck |-- ts_fck `-- wkup_32k_fck |-- gpio1_fck `-- wdt2_fck 14 directories omap:~# tree /debug/clock/omap_32k_fck/gpt10_fck/ /debug/clock/omap_32k_fck/gpt10_fck/ |-- flags |-- rate `-- usecount 0 directories, 3 files Although, compared with David Brownell's small patch, this may look bit overkilling, I expect that this debugfs can deal with other PRCM complexities at the same time. For example, powerdomain dependencies can be expressed by using symbolic links of these clocks if powerdomain supports dubgfs as well. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 44f78f43b349d19d378a996c4a2d9fcdff771b1e Author: Tony Lindgren Date: Thu Jul 3 12:24:41 2008 +0300 ARM: OMAP: Clean up interrupt lines to fix warnings for multi-omap If boards with different NR_IRQS are compiled together, tons of compiler warnings are emitted about redefining NR_IRQS. This patch fixes the problem by adding up NR_IRQS in a common place. Patch also removes quite a bit of now unnecessary code. Signed-off-by: Tony Lindgren commit 78673bc898c2db7f4fac4871ec702c3443642308 Author: Eduardo Valentin Date: Thu Jul 3 12:24:40 2008 +0300 ARM: OMAP: McBSP: Add support for mcbsp on mach-omap2 This patch adds support for mach-omap2 based on current mcbsp platform driver. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit 44ec9a3371d5cab323b81c95a4c01d7b5a89cdda Author: Eduardo Valentin Date: Thu Jul 3 12:24:40 2008 +0300 ARM: OMAP: McBSP: Add support for mcbsp on mach-omap1 This patch adds support for mach-omap1 based on current mcbsp platform driver. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit bc5d0c89c88df67f92d5d5882c27437379e9e8af Author: Eduardo Valentin Date: Thu Jul 3 12:24:39 2008 +0300 ARM: OMAP: McBSP: Prepare for splitting into omap1 and omap2 code This patch transform mcbsp code to use platform data from arch/arm/plat-omap/devices.c It also gets ride of ifdefs on mcbsp.c code. To do it, a platform data structure was defined. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit fb78d80808a75213f399b7b10048d72a0b39b494 Author: Eduardo Valentin Date: Thu Jul 3 12:24:39 2008 +0300 ARM: OMAP: McBSP: Coding style cleanup on arch/arm/plat-omap/mcbsp.c This patch fix lots of warnings and errors reported by scripts/checkpatch.pl on arch/arm/plat-omap/mcbsp.c. Signed-off-by: Eduardo Valentin Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit c2d43e39c7c303db53facd0bea44b66f263e3f35 Author: Tony Lindgren Date: Thu Jul 3 12:24:38 2008 +0300 ARM: OMAP: SRAM: Split sram24xx.S into sram242x.S and sram243x.S Split sram24xx.S into sram242x.S and sram243x.S Signed-off-by: Tony Lindgren commit 373a67021d00a8b8c86bfa19f8914377de05b4bd Author: Tony Lindgren Date: Thu Jul 3 12:24:38 2008 +0300 ARM: OMAP: SRAM: Move omap2 sram-fn.S to sram242x.S This file will get split between sram242x.S and sram243x.S in following patch. Signed-off-by: Tony Lindgren commit 99f143b316b056a86c8226c15882cc0718f0b3b0 Author: Tony Lindgren Date: Thu Jul 3 12:24:38 2008 +0300 ARM: OMAP: SRAM: Move sram-fn.S from plat-omap to mach-omap1 This file is omap1 specific. Signed-off-by: Tony Lindgren commit 97b7f715589fb997e430c6aa824abbd9fd5ed42d Author: Tony Lindgren Date: Thu Jul 3 12:24:37 2008 +0300 ARM: OMAP: DMA: Clean-up code DMA clean-up, mostly checkpatch.pl fixes. Signed-off-by: Tony Lindgren commit 0499bdeb1dec30325aa282a83f9374fa849aa01c Author: Tony Lindgren Date: Thu Jul 3 12:24:36 2008 +0300 ARM: OMAP: DMA: Remove __REG access Remove __REG access in DMA code, use dma_read/write instead: - dynamically set the omap_dma_base based on the omap type - omap_read/write becomes dma_read/write - dma channel registers are read with dma_ch_read/write Cc: David Brownell Cc: linux-usb@vger.kernel.org Signed-off-by: Tony Lindgren commit 4d96372e6daae89166fed7883ee092dc8db80b21 Author: Tony Lindgren Date: Thu Jul 3 12:24:31 2008 +0300 ARM: OMAP: DMA: Make channels dynamic for multi-boot Make DMA channels dynamic for multi-boot Signed-off-by: Tony Lindgren commit 4a79acdc784c315d9c436ba2315d08f8f53b8adf Author: Paul Walmsley Date: Thu Jul 3 12:24:31 2008 +0300 ARM: OMAP: Add OMAP3430 base defines Add symbolic constants for OMAP3430 base addresses; include that file in hardware.h. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 3fddd09e59cf49dc339e2de74d31a76c1f7f172f Author: Richard Woodruff Date: Thu Jul 3 12:24:30 2008 +0300 ARM: OMAP: DMTimer: Optimize by adding load and start This patch optimizes the timer load and start sequence. By combining the load and start a needless posted wait can be removed from the system timer execution path. * Before patch register writes are taking up .078% @ 500MHz during idle. Address |total |min |max |avr |count|ratio% old\process\default_idle|7.369s |0.0us|999.902ms|14.477ms|509. |62.661% ld\Global\cpu_v7_do_idle|4.265s |0.0us|375.786ms|24.374ms|175. |36.270% (UNKNOWN)|17.503ms|0.us|531.080us|5.119us|3419. |0.148% r\omap_dm_timer_set_load|8.135ms|0.0us|79.887us|15.065us|540. |0.069% <-- \vmlinux-old\Global\_end|2.023ms|0.0us|4.000us|0.560us|3613. |0.017% -old\Global\__raw_readsw|1.962ms|0.0us|108.610us|9.167us|214. |0.016% old\smc91x\smc_interrupt|1.353ms|0.0us|10.212us|2.348us|576. |0.011% s/namei\__link_path_walk|1.161ms|0.0us|4.310us|0.762us| 1524. |0.009% \omap_dm_timer_write_reg|1.085ms|0.0us|126.150us|2.153us|504. |0.009% <-- * After patch timer functions do not show up in top listings for long captures. Signed-off-by: Richard Woodruff Signed-off-by: Tony Lindgren commit 0f0d0807093d2d72ee772a1b4ba1d0b088a79a2b Author: Richard Woodruff Date: Thu Jul 3 12:24:30 2008 +0300 ARM: OMAP: DMTimer: Use posted mode This patch adds the use of write posting for the timer. Previously, every write could lock the requestor for almost 3x32KHz cycles. This patch only synchronizes before writes and reads instead of after them and it does it on per register basis. Doing it this way there is some chance to hide some of the sync latency. It also removes some needless reads when non-posted mode is there. With out this fix the read/writes take almost 2% CPU load @500MHz just waiting on tick timer registers. Also define new 34xx only registers. Signed-off-by: Richard Woodruff Signed-off-by: Tony Lindgren commit 4621d588e0e8b5b11cd913fe706e35915c1b83a3 Author: Thara Gopinath Date: Thu Jul 3 12:24:30 2008 +0300 ARM: OMAP: Correcting the gpmc prefetch control register address Correcting the GPMC_PREFETCH_CONTROL register address Signed-off-by: Thara Gopinath Signed-off-by: Tony Lindgren commit 3f662c6eaa941414636336f1b9147a73a60c792f Author: Jarkko Nikula Date: Thu Jul 3 12:24:29 2008 +0300 ARM: OMAP: DMA: Don't mark channel active in omap_enable_channel_irq Channel should be marked active only when DMA is really started. Otherwise just omap_request_dma, omap_dma_link_lch and omap_dma_unlink_lch will cause incorrect dump_stack(). Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 57debddaa1d247ed147209b22b5d40bd97526c33 Author: Jonathan Corbet Date: Mon Jun 30 16:45:15 2008 -0600 bf561-coreb: BKL unneeded for open() According to Mike Frysinger: http://permalink.gmane.org/gmane.linux.kernel/699279 open() does not need the BKL, so take it back out. commit a238b790d5f99c7832f9b73ac8847025815b85f7 Author: Jonathan Corbet Date: Fri Jun 20 09:12:01 2008 -0600 Call fasync() functions without the BKL lock_kernel() calls have been pushed down into code which needs it, so there is no need to take the BKL at this level anymore. This work inspired and aided by Andi Kleen's unlocked_fasync() patches. Acked-by: Andi Kleen Signed-off-by: Jonathan Corbet commit 2db9f0a35a4e4ad7cee756a4e0dabb7c1c8b6c72 Author: Jonathan Corbet Date: Mon Jun 23 17:40:43 2008 -0600 snd/PCM: fasync BKL pushdown Chances are this is unneeded, but the code is twisty enough that it is hard to tell. Signed-off-by: Jonathan Corbet commit 70b028b7ea94f1b36c61f3ee1c921cc3a87812e6 Author: Jonathan Corbet Date: Mon Jun 23 17:00:14 2008 -0600 ipmi: fasync BKL pushdown This driver really needs it to avoid races against open() Signed-off-by: Jonathan Corbet commit dda6445e219b5d1fd67e9426ce8d23f8fbfaaf66 Author: Jonathan Corbet Date: Thu Jun 19 16:18:25 2008 -0600 ecryptfs: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit dbfb2df7e9fbd6e5ab8cd9b94b27767fe311fa0d Author: Jonathan Corbet Date: Thu Jun 19 16:07:51 2008 -0600 Bluetooth VHCI: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit 5d1e3230f4b4a93c6561b0fb5a99bb1eb02227ed Author: Jonathan Corbet Date: Thu Jun 19 16:04:53 2008 -0600 tty_io: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit 9d319522576ce0b2fd023a965445f9c3739ee6f1 Author: Jonathan Corbet Date: Thu Jun 19 15:50:37 2008 -0600 tun: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit 743115ee05f09f356d86763316acf627a7f5a6b3 Author: Jonathan Corbet Date: Thu Jun 19 15:44:57 2008 -0600 i2o: fasync BKL pushdown This driver appears to really need the BKL to protect open_files. Signed-off-by: Jonathan Corbet commit b7e3e1fbf69d1b6abfd337460ea17d7230e3a6e5 Author: Jonathan Corbet Date: Thu Jun 19 15:41:11 2008 -0600 mpt: fasync BKL pushdown It looks like this driver really needs the BKL here. Signed-off-by: Jonathan Corbet commit 9465efc9e96135a2cec8154c0c766fa59984a298 Author: Andi Kleen Date: Fri Jun 27 11:05:24 2008 +0200 Remove BKL from remote_llseek v2 - Replace remote_llseek with generic_file_llseek_unlocked (to force compilation failures in all users) - Change all users to either use generic_file_llseek_unlocked directly or take the BKL around. I changed the file systems who don't use the BKL for anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS take the BKL, but explicitely in their own source now. I moved them all over in a single patch to avoid unbisectable sections. Open problem: 32bit kernels can corrupt fpos because its modification is not atomic, but they can do that anyways because there's other paths who modify it without BKL. Do we need a special lock for the pos/f_version = 0 checks? Trond says the NFS BKL is likely not needed, but keep it for now until his full audit. v2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked and factor duplicated code (suggested by hch) Cc: Trond.Myklebust@netapp.com Cc: swhiteho@redhat.com Cc: sfrench@samba.org Cc: vandrove@vc.cvut.cz Signed-off-by: Andi Kleen Signed-off-by: Andi Kleen Signed-off-by: Jonathan Corbet commit 9c20616c385ebeaa30257ef5d35e8f346db4ee32 Author: Jonathan Corbet Date: Thu May 29 17:14:05 2008 -0600 Make FAT users happier by not deadlocking The FAT BKL removal patch can cause deadlocks. It turns out that the new lock_super() calls are unneeded, remove them (as directed by Linus). Reported-by: "Tony Luck" Signed-off-by: Jonathan Corbet commit 38c4c97c62a30aef276663c1128a2051a25ead7d Author: Arnd Bergmann Date: Tue May 20 19:17:02 2008 +0200 x86-mce: BKL pushdown Signed-off-by: Arnd Bergmann commit 3e0420f066c632e135939ccf218ae793e02dccd7 Author: Arnd Bergmann Date: Tue May 20 19:17:01 2008 +0200 vmwatchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit 6c111d886317513605c459cbe8d1970fab732c90 Author: Arnd Bergmann Date: Tue May 20 19:16:59 2008 +0200 vmcp: BKL pushdown Signed-off-by: Arnd Bergmann commit ffe83733b88655b643e9d4ad0dda5ef9584d5926 Author: Arnd Bergmann Date: Tue May 20 19:16:58 2008 +0200 via-pmu: BKL pushdown Signed-off-by: Arnd Bergmann commit 7eb500d1a0408c37d0c0360f066f8b7701835d68 Author: Arnd Bergmann Date: Tue May 20 19:16:57 2008 +0200 uml-random: BKL pushdown Signed-off-by: Arnd Bergmann commit bd6859fe836491d20ea6e57fee93e0e08ee69443 Author: Arnd Bergmann Date: Tue May 20 19:16:56 2008 +0200 uml-mmapper: BKL pushdown Signed-off-by: Arnd Bergmann commit 78dccb46ddc2ff460c8b4d5ec0886964bd4b59e5 Author: Arnd Bergmann Date: Tue May 20 19:16:54 2008 +0200 uml-harddog: BKL pushdown Signed-off-by: Arnd Bergmann commit 8702965848ed4bee27486a3e3d2ae34ebba6dd83 Author: Arnd Bergmann Date: Tue May 20 19:16:53 2008 +0200 uinput: BKL pushdown Signed-off-by: Arnd Bergmann commit f138e4814a9c28bc44d967a8effdd977ac00fc6e Author: Arnd Bergmann Date: Tue May 20 19:16:52 2008 +0200 uctrl: BKL pushdown Signed-off-by: Arnd Bergmann commit 25368ca579905efe7f7dda43c252eb7b371de98c Author: Arnd Bergmann Date: Tue May 20 19:16:51 2008 +0200 tpm-tpm: BKL pushdown Signed-off-by: Arnd Bergmann commit 09de36137c3794786bc75682c0e1ce45182c1772 Author: Arnd Bergmann Date: Tue May 20 19:16:50 2008 +0200 sparc64-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit ee30d64e42ee1384a81d241b3962d3c1e6174992 Author: Arnd Bergmann Date: Tue May 20 19:16:48 2008 +0200 sparc-apc: BKL pushdown Signed-off-by: Arnd Bergmann commit f8f2c79d594463427f7114cedb1555110d547d89 Author: Arnd Bergmann Date: Tue May 20 19:16:46 2008 +0200 sonypi: BKL pushdown Signed-off-by: Arnd Bergmann commit 0410e689b19b6ca010a6a44abfa820968ae15733 Author: Arnd Bergmann Date: Tue May 20 19:16:45 2008 +0200 sony-laptop: BKL pushdown Signed-off-by: Arnd Bergmann commit 9edca64b724db74373f0c9ef7cb044a5f221a4a3 Author: Arnd Bergmann Date: Tue May 20 19:16:43 2008 +0200 serio: BKL pushdown Signed-off-by: Arnd Bergmann commit 556e4b0b69d6e45e6b4e61390ef5aebce3ea432d Author: Arnd Bergmann Date: Tue May 20 19:16:42 2008 +0200 scsi-tgt: BKL pushdown Signed-off-by: Arnd Bergmann commit 5ab0854dd77a520abe7c3b9c7770972fd3e61e90 Author: Arnd Bergmann Date: Tue May 20 19:16:40 2008 +0200 sbus-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 41012735352e72b8a3f95521817dcad1b2986636 Author: Arnd Bergmann Date: Tue May 20 19:16:39 2008 +0200 rtc-rtc-m41t80: BKL pushdown Signed-off-by: Arnd Bergmann commit 4333deee6b7a5a82afb9e700e76cb46e68fde68d Author: Arnd Bergmann Date: Tue May 20 19:16:37 2008 +0200 rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit f29b889edef0c3ab98732c84247c790a1583cb94 Author: Arnd Bergmann Date: Tue May 20 19:16:35 2008 +0200 riowatchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit db26e64dc3f0d51c4db1a625c248a81f7850eee9 Author: Arnd Bergmann Date: Tue May 20 19:16:33 2008 +0200 pm_qos_params: BKL pushdown [jmc: added ] Signed-off-by: Arnd Bergmann Signed-off-by: Jonathan Corbet commit b691750098f830b748540cd955f5ac56545bab25 Author: Arnd Bergmann Date: Tue May 20 19:16:31 2008 +0200 parisc-kernel-perf: BKL pushdown Signed-off-by: Arnd Bergmann commit 6044c319d11051f3462dafd0e7a900ef121d7bc7 Author: Arnd Bergmann Date: Tue May 20 19:16:30 2008 +0200 parisc-eisa_eeprom: BKL pushdown Signed-off-by: Arnd Bergmann commit 7bcc3209be82d69361a944c57caeb548b35c7f04 Author: Arnd Bergmann Date: Tue May 20 19:16:29 2008 +0200 openprom: BKL pushdown Signed-off-by: Arnd Bergmann commit b7fdf9fdd6457c9ed02099fe82bab92b0b3e291b Author: Arnd Bergmann Date: Tue May 20 19:16:28 2008 +0200 ocfs2-stack_user: BKL pushdown Signed-off-by: Arnd Bergmann commit 930ab4e532623795f934467c452a8c71be2c30fe Author: Arnd Bergmann Date: Tue May 20 19:16:26 2008 +0200 nvram: BKL pushdown Signed-off-by: Arnd Bergmann commit fd3e05b6c82ebee06f888482975172028e89382d Author: Arnd Bergmann Date: Tue May 20 19:16:24 2008 +0200 net-tun: BKL pushdown Signed-off-by: Arnd Bergmann commit db41bc9c4dfeed656dfd63d26883f81abc4005df Author: Arnd Bergmann Date: Tue May 20 19:16:23 2008 +0200 mwave-mwavedd: BKL pushdown Signed-off-by: Arnd Bergmann commit e3e8e59dcd63621e3ade03083c17b6363a8e2dc8 Author: Arnd Bergmann Date: Tue May 20 19:16:22 2008 +0200 mvme16x-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit f9c8154f367d471f1af56742fe8534f8458adb98 Author: Arnd Bergmann Date: Tue May 20 19:16:20 2008 +0200 mousedev: BKL pushdown Signed-off-by: Arnd Bergmann commit dca67e9d3db27b090259b696e1166615f40099e2 Author: Arnd Bergmann Date: Tue May 20 19:16:18 2008 +0200 monwriter: BKL pushdown Signed-off-by: Arnd Bergmann commit 6ce46a435a3ac9e706d09a3075cbc60ed72d37db Author: Arnd Bergmann Date: Tue May 20 19:16:17 2008 +0200 monreader: BKL pushdown [jmc: added ] Signed-off-by: Arnd Bergmann Signed-off-by: Jonathan Corbet commit 02a00cf672a37292c31bbdde191712bfa40a4f1d Author: Haavard Skinnemoen Date: Sun Feb 24 13:51:38 2008 +0100 avr32: Power Management support ("standby" and "mem" modes) Implement Standby support. In this mode, we'll suspend all drivers, put the SDRAM in self-refresh mode and switch off the HSB bus ("frozen" mode.) Implement Suspend-to-mem support. In this mode, we suspend all drivers, put the SDRAM into self-refresh mode and switch off all internal clocks except the 32 kHz oscillator ("stop" mode.) The lowest-level suspend code runs from a small portion of SRAM allocated at startup time. This gets rid of a small potential race with the SDRAM where we might try to enter self-refresh mode in the middle of an icache burst. We also relocate all interrupt and exception handlers to SRAM during the small window when we enter and exit the low-power modes. We don't need to do any special tricks to start and stop the PLL. The main clock is automatically gated by hardware until the PLL is stable. Signed-off-by: Haavard Skinnemoen commit aa8e87ca619a3d1944874e85d74fda90607c73b9 Author: Haavard Skinnemoen Date: Sun Feb 24 14:26:03 2008 +0100 avr32: Add system device for the internal interrupt controller (intc) This makes the intc show up in sysfs (probably not very useful), and allows us to easily add suspend/resume support later. Signed-off-by: Haavard Skinnemoen commit b83d6ee17588f1a4fbfc8ef0451b0900a5ef5950 Author: Haavard Skinnemoen Date: Wed Mar 5 10:00:28 2008 +0100 avr32: Add simple SRAM allocator Add SRAM allocator for avr32, which is just a thin wrapper around genalloc. Signed-off-by: Haavard Skinnemoen commit 7951f188a0b7f9b2f181c692efb0d31082bec346 Author: Haavard Skinnemoen Date: Wed Mar 5 15:08:27 2008 +0100 avr32: Enable SDRAMC clock at startup The SDRAM controller needs a clock in order to respond to our commands, and suspend doesn't work very well without the SDRAM in self-refresh mode. Signed-off-by: Haavard Skinnemoen commit f3a24e1e272f844a4d14a39731b4fa946ba36adc Author: Haavard Skinnemoen Date: Mon Jun 30 10:54:31 2008 +0200 rtc-at32ap700x: Enable wakeup Call device_init_wakeup() to signal that the RTC is capable of waking the system. This is needed for rtcwake to work. Signed-off-by: Haavard Skinnemoen Cc: Hans-Christian Egtvedt Cc: Alessandro Zummo commit c1f598fd71db6a971ee88311167c8003243ebff2 Author: Haavard Skinnemoen Date: Tue Mar 4 13:39:29 2008 +0100 macb: Basic suspend/resume support This implements suspend and resume callbacks for the macb driver. We may have to do some more to gracefully shut the MAC down, but this at least prevents the macb from waking the system when hooked up to a busy network. Signed-off-by: Haavard Skinnemoen Cc: Jeff Garzik Cc: Patrice Vilchez Cc: Nicolas FERRE commit e1c609efbc0333840f2af2d875ca52ed8ee18587 Author: Haavard Skinnemoen Date: Fri Mar 14 14:54:13 2008 +0100 atmel_serial: Drain console TX shifter before suspending Funny things may happen if we stop the USART clock before the shifter is empty. Prevent this from happening by waiting until the shifter is completely drained before allowing suspend to continue. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor commit f826caa44902ddbe93174f0b642d8abf9698c08e Author: Haavard Skinnemoen Date: Sun Feb 24 14:34:45 2008 +0100 atmel_serial: Fix build on avr32 with CONFIG_PM enabled AVR32 doesn't have at91_suspend_entering_slow_clock(). Just assume the clock will keep running for now. David has a better solution for this, but this works for now. Leaving the USART clock running won't prevent the PM code from entering deep power-down modes anyway. Signed-off-by: Haavard Skinnemoen Cc: David Brownell Cc: Andrew Victor commit 38510754a50192a072210e24fdc4ae65592182f0 Author: Haavard Skinnemoen Date: Mon Jan 14 23:35:32 2008 +0100 avr32: Use a quicklist for PTE allocation as well Using a quicklist to allocate PTEs might be slightly faster than using the page allocator directly since we might avoid zeroing the page after each allocation. Signed-off-by: Haavard Skinnemoen commit 5a4d5292779b6163aa41e594a56307e442fbe73c Author: Haavard Skinnemoen Date: Mon Jan 14 23:33:44 2008 +0100 avr32: Use a quicklist for PGD allocation Use a quicklist to allocate process PGDs. This is expected to be slightly faster since we need to copy entries from swapper_pg_dir, which can stay around for pages on the PGD quick list. Signed-off-by: Haavard Skinnemoen commit a9a934f278613885816aa9f177968c1dac557240 Author: Haavard Skinnemoen Date: Mon Jan 14 23:11:26 2008 +0100 avr32: Cover the kernel page tables in the user PGDs Expand the per-process PGDs so that they cover the kernel virtual memory area as well. This simplifies the TLB miss handler fastpath since it doesn't have to check for kernel addresses anymore. If a TLB miss happens on a kernel address and a second-level page table can't be found, we check swapper_pg_dir and copy the PGD entry into the user PGD if it can be found there. Signed-off-by: Haavard Skinnemoen commit cfd23e93a0289cf6711fd3877c5226658d87240a Author: Haavard Skinnemoen Date: Mon Jan 14 22:15:05 2008 +0100 avr32: Store virtual addresses in the PGD Instead of storing physical addresses along with page flags in the PGD, store virtual addresses and use NULL to indicate a not present second-level page table. A non-page-aligned page table indicates a bad PMD. This simplifies the TLB miss handler since it no longer has to check the Present bit and no longer has to convert the PGD entry from physical to virtual address. Instead, it has to check for a NULL entry, which is slightly cheaper than either. Signed-off-by: Haavard Skinnemoen commit ebe74597a55fef00edc80a414ef5c6477d035e0a Author: Haavard Skinnemoen Date: Mon Jan 14 22:16:50 2008 +0100 avr32: Remove useless zeroing of swapper_pg_dir at startup swapper_pg_dir is stored in .bss, so it must already be zeroed out when we get there. Signed-off-by: Haavard Skinnemoen commit b13d618b44fefea7529bd467e55423d353a599fc Author: Haavard Skinnemoen Date: Tue May 15 15:06:41 2007 +0200 avr32: Clean up and optimize the TLB operations This and the following patches aim to optimize the code dealing with page tables and TLB operations. Each patch reduces the time it takes to gzip a 16 MB file slightly, but I expect things like fork() and mmap() will improve somewhat more. This patch deals with the low-level TLB operations: * Remove unused _TLBEHI_I define * Use gcc builtins instead of inline assembly * Remove a few unnecessary pipeline flushes and nops * Introduce NR_TLB_ENTRIES define and use it instead of hardcoding it to 32 a few places throughout the code. * Use sysreg bitops instead of hardcoded shifts and masks * Make a few needlessly global functions static Signed-off-by: Haavard Skinnemoen commit 760378e1497841246ea7e42abad617d8a8ac0bcc Author: Ingo Molnar Date: Tue Jul 1 17:35:06 2008 +0200 fix "ftrace: store mcount address in rec->ip" Alexander Beregalov reported this build failure: $ make CROSS_COMPILE=sparc64-unknown-linux-gnu- image modules && sudo make modules_install CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h dnsdomainname: Unknown host CC arch/sparc64/kernel/sparc64_ksyms.o arch/sparc64/kernel/sparc64_ksyms.c:116: error: '_mcount' undeclared here (not in a function) cc1: warnings being treated as errors arch/sparc64/kernel/sparc64_ksyms.c:116: error: type defaults to 'int' in declaration of '_mcount' And bisected it back to: | commit 395a59d0f8e86bb39cd700c3d185d30c670bb958 | Author: Abhishek Sagar | Date: Sat Jun 21 23:47:27 2008 +0530 | | ftrace: store mcount address in rec->ip the mcount prototype is only available under CONFIG_FTRACE, extend it to CONFIG_MCOUNT as well. Reported-and-bisected-by: Alexander Beregalov Signed-off-by: Ingo Molnar commit f294a8ce211bed7bfaca19bef21376a86200c421 Author: Vegard Nossum Date: Tue Jul 1 15:38:13 2008 +0200 x86: small unifications of address printing 'man 3 printf' tells me that %p should be printed as if by %#x, but this is not true for the kernel, which does not use the '0x' prefix for the %p conversion specifier. A small cast to (void *) is also prettier than #ifdef/#else/#endif. Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 45fdc3a7624a4a48185a04ae0abab5f9793d8952 Author: Roland McGrath Date: Mon Jun 30 14:02:41 2008 -0700 x86 ptrace: fix PTRACE_GETFPXREGS error ptrace has always returned only -EIO for all failures to access registers. The user_regset calls are allowed to return a more meaningful variety of errors. The REGSET_XFP calls use -ENODEV for !cpu_has_fxsr hardware. Make ptrace return the traditional -EIO instead of the error code from the user_regset call. Signed-off-by: Roland McGrath Cc: stable@kernel.org Signed-off-by: Ingo Molnar commit 2ee2394b682c0ee99b0f083abe6c57727e6edb69 Author: H. Peter Anvin Date: Mon Jun 30 15:42:47 2008 -0700 x86: fix regression: boot failure on AMD Elan TS-5500 Jeremy Fitzhardinge wrote: > > Maybe it really does require the far jump immediately after setting PE > in cr0... > > Hm, I don't remember this paragraph being in vol 3a, section 8.9.1 > before. Is it a recent addition? > > Random failures can occur if other instructions exist between steps > 3 and 4 above. Failures will be readily seen in some situations, > such as when instructions that reference memory are inserted between > steps 3 and 4 while in system management mode. > I don't remember that, either. Signed-off-by: Ingo Molnar commit 3e61e0c976532a542b23bbb74c8f631815171078 Author: Pekka Paalanen Date: Mon Jun 30 23:48:37 2008 +0300 mmiotrace broken in linux-next (8-bit writes only) The moment mmiotrace is enabled, I hit a NULL deref in: IP: [] __trace_special+0x17c/0x23a Call Trace: [] ftrace_special+0x6f/0x9a [] down+0x19/0x4a [] acquire_console_sem+0x42/0x58 [] con_flush_chars+0x28/0x43 [] write_chan+0x22e/0x334 [] ? default_wake_function+0x0/0xf [] tty_write+0x195/0x228 [] ? write_chan+0x0/0x334 [] vfs_write+0xae/0x137 [] sys_write+0x47/0x70 [] system_call_after_swapgs+0x7b/0x80 which means 'entry' in __trace_special() is NULL. [ mingo@elte.hu: that ftrace_special() was a leftover. ] Signed-off-by: Pekka Paalanen Cc: Steven Rostedt Cc: proski@gnu.org Cc: "Vegard Nossum" Signed-off-by: Ingo Molnar commit 908ec7afacfdc83dc10938ed1d3c38b3526034ec Author: H. Peter Anvin Date: Mon Jun 30 14:42:18 2008 -0700 x86: remove arbitrary ELF section limit in i386 relocatable kernel Impact: build failure in maximal configurations The 32-bit x86 relocatable kernel requires an auxilliary host program to process the relocations. This program had a hard-coded arbitrary limit of a 100 ELF sections. Instead of a hard-coded limit, allocate the structures dynamically. Signed-off-by: H. Peter Anvin Acked-by: Vivek Goyal commit 5b2353859f87748f0707cec57c3953022a3321f3 Author: Saeed Bishara Date: Thu Jun 5 13:19:30 2008 +0200 [ARM] Kirkwood: use chip_delay Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit f4db56ffd43a810424866fac6de9a32486415316 Author: Saeed Bishara Date: Sun May 4 19:25:52 2008 -1100 [MTD] orion_nand: add chip_delay parameter Some SoCs need a different chip_delay value. Signed-off-by: Saeed Bishara Acked-by: Jörn Engel Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 395aed6de6d063bc234a179d65d3b6d720ce589a Author: Imre Kaloz Date: Thu Jun 26 01:39:19 2008 +0200 [ARM] Orion: enable all currently supported boards in defconfig Signed-off-by: Imre Kaloz Signed-off-by: Lennert Buytenhek commit da01bba3cb8814b17d809e09c301e1dad86fec87 Author: Lennert Buytenhek Date: Thu Jun 26 17:12:50 2008 +0200 [ARM] Orion: make PCI handling code deal with Cardbus slots The Cardbus connector does not have an IDSEL signal, and Cardbus cards are always the intended target of configuration transactions on their local PCI bus. This means that if the Orion's PCI bus signals are hooked up to a Cardbus slot, the same set of PCI functions will will appear 31 times, for each of the PCI device IDs 1-31 (ID 0 is the host bridge). This patch adds a function to the Orion PCI handling code that board support code can call to enable Cardbus mode. When Cardbus mode is enabled, configuration transactions on the PCI local bus are only allowed to PCI IDs 0 (host bridge) and 1 (cardbus device). Signed-off-by: Lennert Buytenhek commit 7441e9cb18a1a1e5b87f516fa97b6d4abb0838e3 Author: Joerg Roedel Date: Mon Jun 30 20:18:02 2008 +0200 x86, AMD IOMMU: disable suspend/resume with IOMMU enabled (for now) This patch disables suspend/resume on machines with AMD IOMMU enabled. Real suspend/resume support for AMD IOMMU is currently being worked on. Until this is ready it will be disabled to avoid data corruption when the IOMMU is not properly re-enabled at resume. The patch is based on a similar patch for the GART driver written by Pavel Machek. The overall driver merged into tip/master is tested with parallel disk and network loads and showed no problems in a test running for 3 days. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Signed-off-by: Ingo Molnar commit 1338760329c586e0141831099e15f5c336dd9c1d Author: Saeed Bishara Date: Mon Jun 23 01:05:08 2008 -1100 [ARM] Kirkwood: support L2 writeback mode This patch allows booting Kirkwood with the L2 in writeback mode, by reading the WT override bit from the L2 config register and passing that into the Feroceon L2 init routine, instead of assuming that the WT override bit will always be set Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit a10b188f195d00116f56f0049d8b17c711641fb7 Author: Sylver Bruneau Date: Wed Jun 25 23:41:09 2008 +0200 [ARM] Orion: fix for tsx09-common.c compilation problem In some cases, compilation of the tsx09 common file was failing due to an incomplete list of includes. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit cdd3c5ec1e79f99a56a9c94f77e082e4846c7d71 Author: Martin Michlmayr Date: Sat Jun 28 12:56:49 2008 +0200 [ARM] Orion: correctly load mv2120 RTC driver After Jean Delvare's change "i2c: Convert most new-style drivers to use module aliasing" (3760f736716f74bdc62a4ba5406934338da93eb2), loading rtc-xxx from platform code fails. Update mv2120-setup.c so that the driver is loaded correctly. Signed-off-by: Martin Michlmayr Signed-off-by: Lennert Buytenhek commit 9e95685084533d0cee1e869ecfd28de1e431f12f Author: Sylver Bruneau Date: Mon Jun 23 01:20:05 2008 +0200 [ARM] Orion: initialize UART1 on Kurobox Pro/Linkstation Pro Kurobox Pro/Linkstation Pro devices use a microcontroller connected to UART1. As most of the communication with this microcontroller is done from userland (power button detection, fan speed ...), the setup file has to make UART1 available from userland. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit ac2564c44509aba1e21d878ffd4f34ac96811762 Author: Matti Linnanvuori Date: Sun Jun 29 09:22:43 2008 +0300 x86: add compilation checks to pci_unmap_*() macros Add compilation checks to pci_unmap_ macros. Signed-off-by: Matti Linnanvuori Signed-off-by: Ingo Molnar commit 44974c8fc1d7047abe414562e0782320f4c1f511 Author: FUJITA Tomonori Date: Mon Jun 30 08:11:22 2008 +0900 x86 gart: remove unnecessary set_bit_string iommu_area_alloc internally calls set_bit_string and set bits properly. This set_bit_string is unnecessary. Signed-off-by: FUJITA Tomonori Cc: joerg.roedel@amd.com Signed-off-by: Ingo Molnar commit 30432094a7f506ad24997a3ba6aed913ab61c01d Author: Vegard Nossum Date: Fri Jun 27 21:35:50 2008 +0200 sched: fix warning This patch fixes the following warning: kernel/sched.c:1667: warning: 'cfs_rq_set_shares' defined but not used This seems the correct way to fix this; cfs_rq_set_shares() is only used in a single place, which is also inside #ifdef CONFIG_FAIR_GROUP_SCHED. Signed-off-by: Vegard Nossum Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 34e83e850f5e5ee2a18cd77a5d70d31972a632e6 Author: Ingo Molnar Date: Fri Jun 27 15:42:36 2008 +0200 sched: build fix fix: kernel/sched.c: In function ‘sched_group_set_shares': kernel/sched.c:8635: error: implicit declaration of function ‘cfs_rq_set_shares' Signed-off-by: Ingo Molnar commit 2d452c9b10caeec455eb5e56a0ef4ed485178213 Author: Ingo Molnar Date: Sun Jun 29 15:01:59 2008 +0200 sched: sched_clock_cpu() based cpu_clock(), lockdep fix Vegard Nossum reported: > WARNING: at kernel/lockdep.c:2738 check_flags+0x142/0x160() which happens due to: unsigned long long cpu_clock(int cpu) { unsigned long long clock; unsigned long flags; raw_local_irq_save(flags); as lower level functions can take locks, we must not do that, use proper lockdep-annotated irq save/restore. Reported-by: Vegard Nossum Signed-off-by: Ingo Molnar commit d7ff2a4a28ceadc03df2f5a20897165fda306382 Author: Haavard Skinnemoen Date: Tue Mar 4 15:16:57 2008 +0100 avr32: Rename at32ap.c -> pdc.c The only thing left in at32ap.c is some PDC stuff. Rename the file to reflect what it actually does. Signed-off-by: Haavard Skinnemoen commit 65033ed740ef06eddf9fde7a992eab336cbddd56 Author: Haavard Skinnemoen Date: Tue Mar 4 15:15:00 2008 +0100 avr32: Move setup_platform() into chip-specific file Combine at32_clock_init() and at32_portmux_init() into setup_platform() and remove setup_platform() from at32ap.c. No functional change since all setup_platform() ever did was call those two functions. Signed-off-by: Haavard Skinnemoen commit aa60d13fb04f6d5ce72e4da508a4048b934ebd24 Author: H. Peter Anvin Date: Fri Jun 27 13:23:00 2008 -0700 x86: setup: issue a null command after enabling A20 via KBC Apparently, DOS and possibly other legacy operating systems issued a null command to the keyboard controller after toggling A20, specifically "pulse output pins" with no output pins specified. This was presumably done for synchronization reasons. This has made it into at least the UHCI spec, and it has been found to cause compatibility problems when "legacy USB" is enabled (which it almost always is) to not have this byte sent. It is *NOT* clear if any of these compatibility problems has any effect on Linux. However, for maximum compatibility, issue this null command after togging A20 through the KBC. Signed-off-by: H. Peter Anvin commit d704fb0cc0cce474ac959adca6c3d1f606fcfa2a Author: Haavard Skinnemoen Date: Mon Jan 14 21:42:56 2008 +0100 avr32: Kill special exception handler sections Kill the special exception handler sections .tlbx.ex.text, .tlbr.ex.text, tlbw.ex.text and .scall.text. Use .org instead to place the handlers at the required offsets from EVBA. Signed-off-by: Haavard Skinnemoen commit 5b72b52cab872396c93d808d7fa14017e9061430 Author: Haavard Skinnemoen Date: Mon Jan 14 23:27:30 2008 +0100 avr32: Kill unneeded #include from asm/mmu_context.h Signed-off-by: Haavard Skinnemoen commit 9dbef285a359c9bf6f04f907bdfb9f35f37a8513 Author: Haavard Skinnemoen Date: Wed May 28 13:07:40 2008 +0200 avr32: Clean up time.c #includes Remove lots of unneeded #includes, add #include and sort alphabetically. Signed-off-by: Haavard Skinnemoen commit 9d8ad5d6c7fce31fd2c0fd4fe9977bda3e92e340 Author: Vegard Nossum Date: Fri Jun 27 17:22:17 2008 +0200 x86: don't destroy %rbp on kernel-mode faults From the code: "B stepping K8s sometimes report an truncated RIP for IRET exceptions returning to compat mode. Check for these here too." The code then proceeds to truncate the upper 32 bits of %rbp. This means that when do_page_fault() is finally called, its prologue, do_page_fault: push %rbp movl %rsp, %rbp will put the truncated base pointer on the stack. This means that the stack tracer will not be able to follow the base-pointer changes and will see all subsequent stack frames as unreliable. This patch changes the code to use a different register (%rcx) for the checking and leaves %rbp untouched. Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg Acked-by: Arjan van de Ven Cc: Andi Kleen Cc: Pekka Enberg Signed-off-by: Ingo Molnar commit 8405996ff6d89bbf275a206eb69d10b98a8d5257 Author: Sedji Gaouaou Date: Wed Jun 25 10:32:50 2008 +0200 atmel_pwm: Rename the "mck" clock to "pwm_clk" The name "mck" causes a conflict on AT91. Call it "pwm_clk" instead. Signed-off-by: Sedji Gaouaou Signed-off-by: Haavard Skinnemoen commit 9c2baf785e90419d6f9af6bd07aa0694020cba8d Author: David Brownell Date: Wed Jun 18 02:31:43 2008 -0700 at32ap700x spi: enable pullups on MISO This is a minor tweak to the at32ap700x pin configuration for the SPI input pin (MISO), enabling the on-chip weak pullup (typical 190K) to (a) ensure a fixed data value for missing or input-only slaves; (b) prevent power waste associated with inputs floating near VDDIO/2. Atmel's boards have no external pullup or pulldown on these pins, so it's unlikely other boards would address these issues with external pulldowns. Were there trouble, board-specific code could turn off the relevant pullup(s). Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7ef31e9c4e711bfb817a15b54e428e5c4a7c0032 Author: David Brownell Date: Thu Jun 12 12:18:05 2008 -0700 avr32: improve NGW100 I2C/PMBus setup Basic I2C initialization for the NGW100 board: - Provide empty i2c device table. Daughtercards may add devices, and the ATtiny24 could do stuff too. - Set up EXTINT(3) so the ATtiny24 can interrupt the AP7000. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit d86d314f67191011e6f494f6517b8cbd7dd3dc39 Author: Hans-Christian Egtvedt Date: Mon Feb 25 11:24:30 2008 +0100 avr32: Add PSIF platform devices This patch adds the PS/2 interface (PSIF) to the device code, split into two platform devices, one for each port. The function for adding the PSIF platform device is also added to the board header file. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 47882cf620bcd7b014f6f7fc11be8c045787adac Author: Hans-Christian Egtvedt Date: Tue Feb 5 15:27:16 2008 +0100 avr32: Add pin configuration choice to LCDC peripheral This patch lets the board code choose which pin out to use for the LCD interface. On AT32AP7000 the LCDC is wired to two sets of pins, which lets the user choose between dual ethernet and 32-bit EBI. For the ATNGW100 board it is vital to have the choice to select the alternative pinout since this pinout is routed to the external headers. Update ATSTK1002 and ATSTK1004 to use the new interface. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit aafafddb01e259cff61b3d3f5b3466f0a6a65b84 Author: David Brownell Date: Tue Jun 10 13:55:52 2008 +0200 avr32: minor GPIO handling updates On the odd chance some code uses a pin as a GPIO IRQ without calling gpio_request() or gpio_direction_input(), the debug dump should still show its pin status. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit c1f24ac99f3711a6caa0e1d1c01a071ed72a7e0b Author: Haavard Skinnemoen Date: Mon Jun 9 14:16:06 2008 +0200 avr32: Fix wrong I/O access size in __raw_readsb __raw_readsb() should always use byte accesses, never halfword accesses, to I/O memory. Signed-off-by: Haavard Skinnemoen commit 7c1b90a1e964f72bde88511e5cfe1c04318ff3d1 Author: Martin Koegler Date: Wed May 28 20:50:07 2008 +0200 avr32: Fix sigaltstack behaviour A signal handler should be able to change the signal stack used for the next signal by altering the ucontext_t passed as a parameter to the handler. This does not currently work on avr32 since it doesn't update the in-kernel signal context from the ucontext_t upon signal handler return. Fix it by adding a call to do_sigaltstack() from sys_rt_sigreturn(), bringing it in line with most other architectures. Signed-off-by: Martin Koegler [haavard.skinnemoen@atmel.com: changed patch description] Signed-off-by: Haavard Skinnemoen commit 60ed7951d0c9bf8de8588384134f16474367b410 Author: Alex Date: Mon Mar 17 14:55:06 2008 +0100 avr32: Allow board to define oscillator rates On our custom board we have other oscillator rates than on atngw100 and atstk100x. Currently these rates are hardcoded in arch/avr32/mach-at32ap/at32ap700x.c. This patch moves them into board specific code. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit 8bd8974fcddc468d66bd67f33c578f37987b302e Author: Haavard Skinnemoen Date: Sun Jun 8 23:28:45 2008 +0200 avr32: export empty_zero_page Fixes one of two ext4 build problems: ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined! Signed-off-by: Haavard Skinnemoen commit b788ed5c97c2bae978cb84a95ea37a1aa6458ea8 Author: Haavard Skinnemoen Date: Sun Jun 8 23:16:24 2008 +0200 avr32: Provide PCI DMA mapping API Some non-PCI drivers need the PCI variant of the DMA mapping API. Include to provide this through the non-PCI DMA mapping API. Signed-off-by: Haavard Skinnemoen commit 4c9fe8ad813b257a2b9ddf0f752105a75a7dae63 Author: Ingo Molnar Date: Fri Jun 27 14:49:35 2008 +0200 sched: export cpu_clock the rcutorture module relies on cpu_clock. Signed-off-by: Ingo Molnar commit 55e12e5e7b1d7e7c05a4be10cb5fd092c039aa78 Author: Dhaval Giani Date: Tue Jun 24 23:39:43 2008 +0530 sched: make sched_{rt,fair}.c ifdefs more readable Signed-off-by: Dhaval Giani Cc: Srivatsa Vaddagiri Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit f5bfb7d9ff73d72ee4f2f4830a6f0c9088d00f92 Author: Peter Zijlstra Date: Fri Jun 27 13:41:39 2008 +0200 sched: bias effective_load() error towards failing wake_affine(). Measurement shows that the difference between cgroup:/ and cgroup:/foo wake_affine() results is that the latter succeeds significantly more. Therefore bias the calculations towards failing the test. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit f1d239f73200a5803a89e5929fb3abc1596b7589 Author: Peter Zijlstra Date: Fri Jun 27 13:41:38 2008 +0200 sched: incremental effective_load() Increase the accuracy of the effective_load values. Not only consider the current increment (as per the attempted wakeup), but also consider the delta between when we last adjusted the shares and the current situation. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 83378269a5fad98f562ebc0f09c349575e6cbfe1 Author: Peter Zijlstra Date: Fri Jun 27 13:41:37 2008 +0200 sched: correct wakeup weight calculations rw_i = {2, 4, 1, 0} s_i = {2/7, 4/7, 1/7, 0} wakeup on cpu0, weight=1 rw'_i = {3, 4, 1, 0} s'_i = {3/8, 4/8, 1/8, 0} s_0 = S * rw_0 / \Sum rw_j -> \Sum rw_j = S*rw_0/s_0 = 1*2*7/2 = 7 (correct) s'_0 = S * (rw_0 + 1) / (\Sum rw_j + 1) = 1 * (2+1) / (7+1) = 3/8 (correct so we find that adding 1 to cpu0 gains 5/56 in weight if say the other cpu were, cpu1, we'd also have to calculate its 4/56 loss Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 243e0e7b7d3b54749ece2e879ecd7e2a11874443 Author: Srivatsa Vaddagiri Date: Fri Jun 27 13:41:36 2008 +0200 sched: fix mult overflow It was observed these mults can overflow. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 2398f2c6d34b43025f274fc42eaca34d23ec2320 Author: Peter Zijlstra Date: Fri Jun 27 13:41:35 2008 +0200 sched: update shares on wakeup We found that the affine wakeup code needs rather accurate load figures to be effective. The trouble is that updating the load figures is fairly expensive with group scheduling. Therefore ratelimit the updating. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit cd80917e4ff465ea77106f8e4fb631eedc4cf426 Author: Peter Zijlstra Date: Fri Jun 27 13:41:34 2008 +0200 sched: fix shares boost logic In case the domain is empty, pretend there is a single task on each cpu, so that together with the boost logic we end up giving 1/n shares to each cpu. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 93b75217df39e6d75889cc6f8050343286aff4a5 Author: Peter Zijlstra Date: Fri Jun 27 13:41:33 2008 +0200 sched: disable source/target_load bias The bias given by source/target_load functions can be very large, disable it by default to get faster convergence. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit cb5ef42a03a13f95a9ea94e6cda4f7a47497871f Author: Peter Zijlstra Date: Fri Jun 27 13:41:32 2008 +0200 sched: optimize effective_load() s_i = S * rw_i / \Sum_j rw_j -> \Sum_j rw_j = S * rw_i / s_i -> s'_i = S * (rw_i + w) / (\Sum_j rw_j + w) delta s = s' - s = S * (rw + w) / ((S * rw / s) + w) = s * (S * (rw + w) / (S * rw + s * w) - 1) a = S*(rw+w), b = S*rw + s*w delta s = s * (a-b) / b IOW, trade one divide for two multiplies Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 051c67640e771fd6ad1b676fc0c16c379b3c6f80 Author: Peter Zijlstra Date: Fri Jun 27 13:41:31 2008 +0200 sched: remove prio preference from balance decisions Priority looses much of its meaning in a hierarchical context. So don't use it in balance decisions. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 4be9daaa1b33701f011f4117f22dc1e45a3e6e34 Author: Peter Zijlstra Date: Fri Jun 27 13:41:30 2008 +0200 sched: fix task_h_load() Currently task_h_load() computes the load of a task and uses that to either subtract it from the total, or add to it. However, removing or adding a task need not have any effect on the total load at all. Imagine adding a task to a group that is local to one cpu - in that case the total load of that cpu is unaffected. So properly compute addition/removal: s_i = S * rw_i / \Sum_j rw_j s'_i = S * (rw_i + wl) / (\Sum_j rw_j + wg) then s'_i - s_i gives the change in load. Where s_i is the shares for cpu i, S the group weight, rw_i the runqueue weight for that cpu, wl the weight we add (subtract) and wg the weight contribution to the runqueue. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 42a3ac7d5cee89849448b41b86faeb86f98e92f6 Author: Peter Zijlstra Date: Fri Jun 27 13:41:29 2008 +0200 sched: fix load scaling in group balancing doing the load balance will change cfs_rq->load.weight (that's the whole point) but since that's part of the scale factor, we'll scale back with a different amount. Weight getting smaller would result in an inflated moved_load which causes it to stop balancing too soon. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 408ed066b11cf9ee4536573b4269ee3613bd735e Author: Peter Zijlstra Date: Fri Jun 27 13:41:28 2008 +0200 sched: hierarchical load vs find_busiest_group find_busiest_group() has some assumptions about task weight being in the NICE_0_LOAD range. Hierarchical task groups break this assumption - fix this by replacing it with the average task weight, which will adapt the situation. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit bb3469ac9b50f14ad6eba129ca0ad4fd033097a0 Author: Peter Zijlstra Date: Fri Jun 27 13:41:27 2008 +0200 sched: hierarchical load vs affine wakeups With hierarchical grouping we can't just compare task weight to rq weight - we need to scale the weight appropriately. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit a8a51d5e59561aa5b4d66e19eca819b537783e8f Author: Peter Zijlstra Date: Fri Jun 27 13:41:26 2008 +0200 sched: persistent average load per task Remove the fall-back to SCHED_LOAD_SCALE by remembering the previous value of cpu_avg_load_per_task() - this is useful because of the hierarchical group model in which task weight can be much smaller. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 039a1c41b3a489e34593ea1e1687f6fdad6b13ab Author: Peter Zijlstra Date: Fri Jun 27 13:41:25 2008 +0200 sched: fix sched_balance_self() smp group balancing Finding the least idle cpu is more accurate when done with updated shares. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 3e5459b4bea3ca2618cc02d56d12639f2cba531d Author: Peter Zijlstra Date: Fri Jun 27 13:41:24 2008 +0200 sched: fix newidle smp group balancing Re-compute the shares on newidle - so we can make a decision based on recent data. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit c8cba857b4997d5b00451d01474638f6a153f713 Author: Peter Zijlstra Date: Fri Jun 27 13:41:23 2008 +0200 sched: simplify the group load balancer While thinking about the previous patch - I realized that using per domain aggregate load values in load_balance_fair() is wrong. We should use the load value for that CPU. By not needing per domain hierarchical load values we don't need to store per domain aggregate shares, which greatly simplifies all the math. It basically falls apart in two separate computations: - per domain update of the shares - per CPU update of the hierarchical load Also get rid of the move_group_shares() stuff - just re-compute the shares again after a successful load balance. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit a25b5aca8740ea99d5e18dfc71235a52b685dcf7 Author: Peter Zijlstra Date: Fri Jun 27 13:41:22 2008 +0200 sched: no need to aggregate task_weight We only need to know the task_weight of the busiest rq - nothing to do if there are no tasks there. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit d3f40dbab954d83383b6a516582d5c09cc216dcc Author: Peter Zijlstra Date: Fri Jun 27 13:41:21 2008 +0200 sched: dont micro manage share losses We used to try and contain the loss of 'shares' by playing arithmetic games. Replace that by noticing that at the top sched_domain we'll always have the full weight in shares to distribute. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 53fecd8ae1900fb571086f54f664051004665b55 Author: Srivatsa Vaddagiri Date: Fri Jun 27 13:41:20 2008 +0200 sched: kill task_group balancing The idea was to balance groups until we've reached the global goal, however Vatsa rightly pointed out that we might never reach that goal this way - hence take out this logic. [ the initial rationale for this 'feature' was to promote max concurrency within a group - it does not however affect fairness ] Reported-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 4d8d595dfa69e1c807bf928f364668a7f30da5dc Author: Peter Zijlstra Date: Fri Jun 27 13:41:19 2008 +0200 sched: update aggregate when holding the RQs It was observed that in __update_group_shares_cpu() rq_weight > aggregate()->rq_weight This is caused by forks/wakeups in between the initial aggregate pass and locking of the RQs for load balance. To avoid this situation partially re-do the aggregation once we have the RQs locked (which avoids new tasks from appearing). Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit b6a86c746f5b708012809958462234d19e9c8177 Author: Peter Zijlstra Date: Fri Jun 27 13:41:18 2008 +0200 sched: fix sched_domain aggregation Keeping the aggregate on the first cpu of the sched domain has two problems: - it could collide between different sched domains on different cpus - it could slow things down because of the remote accesses Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 32df2ee86a580f70f2dbb90cf81f413aa655f838 Author: Peter Zijlstra Date: Fri Jun 27 13:41:17 2008 +0200 sched: add full schedstats to /proc/sched_debug show all the schedstats in /debug/sched_debug as well. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 103638d95ba5b0c53c8d9c0cb581156ccc8513ee Author: Peter Zijlstra Date: Fri Jun 27 13:41:16 2008 +0200 sched: fix wakeup granularity and buddy granularity Uncouple buddy selection from wakeup granularity. The initial idea was that buddies could run ahead as far as a normal task can - do this by measuring a pair 'slice' just as we do for a normal task. This means we can drop the wakeup_granularity back to 5ms. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 76a2a6ee8a0660a29127f05989ac59ae1ce865fa Author: Peter Zijlstra Date: Fri Jun 27 13:41:15 2008 +0200 sched: sched_clock_cpu() based cpu_clock() with sched_clock_cpu() being reasonably in sync between cpus (max 1 jiffy difference) use this to provide cpu_clock(). Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit c09595f63bb1909c5dc4dca288f4fe818561b5f3 Author: Peter Zijlstra Date: Fri Jun 27 13:41:14 2008 +0200 sched: revert revert of: fair-group: SMP-nice for group scheduling Try again.. Initial commit: 18d95a2832c1392a2d63227a7a6d433cb9f2037e Revert: 6363ca57c76b7b83639ca8c83fc285fa26a7880e Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit ced8aa16e1db55c33c507174c1b1f9e107445865 Author: Peter Zijlstra Date: Fri Jun 27 13:41:13 2008 +0200 sched: fix calc_delta_asym, #2 Ok, so why are we in this mess, it was: 1/w but now we mixed that rw in the mix like: rw/w rw being \Sum w suggests: fiddling w, we should also fiddle rw, humm? Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit c9c294a630e28eec5f2865f028ecfc58d45c0a5a Author: Peter Zijlstra Date: Fri Jun 27 13:41:12 2008 +0200 sched: fix calc_delta_asym() calc_delta_asym() is supposed to do the same as calc_delta_fair() except linearly shrink the result for negative nice processes - this causes them to have a smaller preemption threshold so that they are more easily preempted. The problem is that for task groups se->load.weight is the per cpu share of the actual task group weight; take that into account. Also provide a debug switch to disable the asymmetry (which I still don't like - but it does greatly benefit some workloads) This would explain the interactivity issues reported against group scheduling. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit a7be37ac8e1565e00880531f4e2aff421a21c803 Author: Peter Zijlstra Date: Fri Jun 27 13:41:11 2008 +0200 sched: revert the revert of: weight calculations Try again.. initial commit: 8f1bc385cfbab474db6c27b5af1e439614f3025c revert: f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3 Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit bf647b62fdb948e757a7b4d18d4f16e3c763b1d1 Author: Peter Zijlstra Date: Fri Jun 27 13:41:10 2008 +0200 sched: clean up some unused variables In file included from /mnt/build/linux-2.6/kernel/sched.c:1496: /mnt/build/linux-2.6/kernel/sched_rt.c: In function '__enable_runtime': /mnt/build/linux-2.6/kernel/sched_rt.c:339: warning: unused variable 'rd' /mnt/build/linux-2.6/kernel/sched_rt.c: In function 'requeue_rt_entity': /mnt/build/linux-2.6/kernel/sched_rt.c:692: warning: unused variable 'queue' Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 07c40e8a1acdb56fca485a6deeb252ebf19509a1 Author: Ingo Molnar Date: Fri Jun 27 11:31:28 2008 +0200 x86, AMD IOMMU: build fix #3 fix typo causing: arch/x86/kernel/built-in.o: In function `__unmap_single': amd_iommu.c:(.text+0x17771): undefined reference to `iommu_area_free' arch/x86/kernel/built-in.o: In function `__map_single': amd_iommu.c:(.text+0x1797a): undefined reference to `iommu_area_alloc' amd_iommu.c:(.text+0x179a2): undefined reference to `iommu_area_alloc' Signed-off-by: Ingo Molnar commit 92af4e29020ff096178a00605b3662b3b39d4aa9 Author: Ingo Molnar Date: Fri Jun 27 10:48:16 2008 +0200 x86, AMD IOMMU, build fix #2 fix: arch/x86/kernel/amd_iommu.c: In function ‘amd_iommu_init_dma_ops': arch/x86/kernel/amd_iommu.c:940: error: lvalue required as left operand of assignment arch/x86/kernel/amd_iommu.c:941: error: lvalue required as left operand of assignment due to !CONFIG_GART_IOMMU. Signed-off-by: Ingo Molnar commit 24d2ba0a8a5816eb8322836271fbcb045d915dfd Author: Ingo Molnar Date: Fri Jun 27 10:37:03 2008 +0200 x86, AMD IOMMU: build fix fix: arch/x86/kernel/amd_iommu_init.c:247: warning: 'struct acpi_table_header' declared inside parameter list arch/x86/kernel/amd_iommu_init.c:247: warning: its scope is only this definition or declaration, which is probably not what you want arch/x86/kernel/amd_iommu_init.c: In function 'find_last_devid_acpi': arch/x86/kernel/amd_iommu_init.c:257: error: dereferencing pointer to incomplete type arch/x86/kernel/amd_iommu_init.c:265: error: dereferencing pointer to incomplete type the AMD IOMMU code depends on ACPI facilities. Signed-off-by: Ingo Molnar commit 54b4cbd26987f84791d6e05863a715ded9f7b3a5 Author: Joerg Roedel Date: Thu Jun 26 21:28:10 2008 +0200 x86, AMD IOMMU: add documentation for kernel parameters Add documentation for the kernel parameters introduced with this driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 919ee7dd9a66c71e116591c07b88de0db2a387a4 Author: Joerg Roedel Date: Thu Jun 26 21:28:09 2008 +0200 x86, AMD IOMMU: add MAINTAINERS entry Add an entry to the MAINTAINERS file for AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit a69ca3401821b7312cb7ec939a8814240fd7b9b3 Author: Joerg Roedel Date: Thu Jun 26 21:28:08 2008 +0200 AMD_IOMMU: call detect and initialization functions from dma code This patch adds the function calls to initialize the AMD IOMMU hardware and dma_ops to the generic DMA code for the x86 architecture. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 8736197ba8e40d030eec0ab7a9e9f2be41810c4e Author: Joerg Roedel Date: Thu Jun 26 21:28:07 2008 +0200 x86, AMD IOMMU: initialize dma_ops from IOMMU initialization and enable IOMMUs This patch adds a call to the driver specific dma_ops initialization routine from the AMD IOMMU hardware initialization. Further it adds the necessary code to finally enable AMD IOMMU hardware. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit c6da992e16a9d261eb9dfeff14e9777c3e0468c5 Author: Joerg Roedel Date: Thu Jun 26 21:28:06 2008 +0200 x86, AMD IOMMU: add amd_iommu.h to export functions to the generic x86 dma code This patch adds the amd_iommu.h file which will be included in the generic code. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 6631ee9d00996e7663a086b5abceba65c89ff8f6 Author: Joerg Roedel Date: Thu Jun 26 21:28:05 2008 +0200 x86, AMD IOMMU: add dma_ops initialization function This patch adds the function to initialize the dma_ops for the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit c432f3df8ea740e2ecb27da88bd6b5a254714959 Author: Joerg Roedel Date: Thu Jun 26 21:28:04 2008 +0200 x86, AMD IOMMU: add pre-allocation of protection domains This patch adds a function to pre-allocate protection domains. So we don't have to allocate it on the first request for a device (which can happen in atomic mode). Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 5d8b53cf3f8762b2230fb3d5b4e2ff78c5e701d8 Author: Joerg Roedel Date: Thu Jun 26 21:28:03 2008 +0200 x86, AMD IOMMU: add mapping functions for coherent mappings This patch adds the dma_ops functions for coherent mappings. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 65b050adbfd9481ec20514cfc06fa596a92cb3b5 Author: Joerg Roedel Date: Thu Jun 26 21:28:02 2008 +0200 x86, AMD IOMMU: add mapping functions for scatter gather lists This patch adds the dma_ops functions for mapping and unmapping scatter gather lists. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 4da70b9e4f8576ec906dba9240c5b6bc6584f91d Author: Joerg Roedel Date: Thu Jun 26 21:28:01 2008 +0200 x86, AMD IOMMU: add dma_ops mapping functions for single mappings This patch adds the dma_ops specific mapping functions for single mappings. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit cb76c3229725c6dcae31da65e9ca57f434628c05 Author: Joerg Roedel Date: Thu Jun 26 21:28:00 2008 +0200 x86, AMD IOMMU: add generic dma_ops mapping functions This patch adds the generic functions to map and unmap pages to a protection domain for dma_ops usage. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b20ac0d4d6cff969d7074bbf02a1b86058df0804 Author: Joerg Roedel Date: Thu Jun 26 21:27:59 2008 +0200 x86, AMD IOMMU: add functions to find IOMMU device resources This patch adds functions necessary to find the IOMMU resources for a specific device. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit ec487d1a110abfffebdf116560db5c1d71b94cab Author: Joerg Roedel Date: Thu Jun 26 21:27:58 2008 +0200 x86, AMD IOMMU: add domain allocation and deallocation functions This patch adds the functions to allocate and free protection domains for the IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit d3086444b2988659a50af09462261c78d3012cb4 Author: Joerg Roedel Date: Thu Jun 26 21:27:57 2008 +0200 x86, AMD IOMMU: add address allocation and deallocation functions This patch adds the address allocator to the AMD IOMMU code. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit bd0e521158af407ec816aea070831d4ca7ae65e9 Author: Joerg Roedel Date: Thu Jun 26 21:27:56 2008 +0200 x86, AMD IOMMU: add functions to initialize unity mappings This patch adds the functions which will initialize the unity mappings in the device page tables. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit a19ae1eccfb2d97f4704b1a2b3d1d9905845dcac Author: Joerg Roedel Date: Thu Jun 26 21:27:55 2008 +0200 x86, AMD IOMMU: add functions to send IOMMU commands This patch adds generic handling function as well as all functions to send specific commands to the IOMMU hardware as required by this driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 000fca2dfcfbd2859fed1208c38c899ab4873049 Author: Joerg Roedel Date: Thu Jun 26 21:27:54 2008 +0200 x86, AMD IOMMU: add amd_iommu.c to Makefile This patch adds the new amd_iommu.c file to the architecture kernel Makefile for x86. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b6c02715cff8c96174022166bfa3e1a25436fb34 Author: Joerg Roedel Date: Thu Jun 26 21:27:53 2008 +0200 x86, AMD IOMMU: add generic defines and structures for mapping code This patch adds generic stuff used by the mapping and unmapping code for the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 918ad6c54d107ccfc4ccaa3a54b97437467fb58a Author: Joerg Roedel Date: Thu Jun 26 21:27:52 2008 +0200 x86, AMD IOMMU: add kernel command line parameters for AMD IOMMU This patch adds two parameters to the kernel command line to control behavior of the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit ae7877de9cd8da075a46d5f615cb9fc9858e4b2f Author: Joerg Roedel Date: Thu Jun 26 21:27:51 2008 +0200 x86, AMD IOMMU: add early detection code This patch adds code to detect an AMD IOMMU early during boot before the early detection code of other IOMMUs run. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit fe74c9cf3985e307e9734296d08a270d510e3fb7 Author: Joerg Roedel Date: Thu Jun 26 21:27:50 2008 +0200 x86, AMD IOMMU: clue initialization code together This patch puts the AMD IOMMU ACPI table parsing and hardware initialization functions together to the main intialization routine. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit be2a022c0dd0f630b06f83de284df53cb60a308f Author: Joerg Roedel Date: Thu Jun 26 21:27:49 2008 +0200 x86, AMD IOMMU: add functions to parse IOMMU memory mapping requirements for devices This patch adds the functions to parse the information about IOMMU exclusion ranges and required unity mappings for the devices handled by the IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit e47d402d2df89bb1aa77b7573597a9dd2241aafe Author: Joerg Roedel Date: Thu Jun 26 21:27:48 2008 +0200 x86, AMD IOMMU: add detect code for AMD IOMMU hardware This patch adds the detection of AMD IOMMU hardware provided on information from ACPI provided by the BIOS. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 5d0c8e49f88b908a8fcc913c4b9843108ae8897b Author: Joerg Roedel Date: Thu Jun 26 21:27:47 2008 +0200 x86, AMD IOMMU: add functions for IOMMU hardware initialization from ACPI This patch adds functions to initialize the IOMMU hardware with information from ACPI and PCI. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 3566b7786afd7c14c62726f359df3c827054670b Author: Joerg Roedel Date: Thu Jun 26 21:27:46 2008 +0200 x86, AMD IOMMU: add device table initialization functions This patch adds functions necessary to initialize the device table from the ACPI definitions. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b36ca91e1d2d7e846844820784d57d20ad73dbd8 Author: Joerg Roedel Date: Thu Jun 26 21:27:45 2008 +0200 x86, AMD IOMMU: add command buffer (de-)allocation This patch adds the functions to allocate and deallocate the command buffer for one IOMMU in the system. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b2026aa2dce4454950ccd9c410790f310d65696a Author: Joerg Roedel Date: Thu Jun 26 21:27:44 2008 +0200 x86, AMD IOMMU: add functions for programming IOMMU MMIO space This patch adds the functions required to programm the IOMMU with the MMIO space. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 6c56747b46717b4c6a890b35e8518f4be961dc7e Author: Joerg Roedel Date: Thu Jun 26 21:27:43 2008 +0200 x86, AMD IOMMU: add functions for mapping/unmapping the MMIO space This patch contains two functions to map and unmap the MMIO region of an IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit ca7ed057ae25e5e60814f950995f22f051d2e449 Author: Joerg Roedel Date: Thu Jun 26 21:27:42 2008 +0200 x86, AMD IOMMU: add amd_iommu_init.c to Makefile This patch adds the source file amd_iommu_init.c to the kernel Makefile for the x86 architecture. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 3e8064ba59128bcb1405079a0789b27b356832b9 Author: Joerg Roedel Date: Thu Jun 26 21:27:41 2008 +0200 x86, AMD IOMMU: add functions to find last possible PCI device for IOMMU This patch adds functions to find the last PCI bus/device/function the IOMMU driver has to handle. This information is used later to allocate the memory for the data structures. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 928abd2545fe367ea3ff3cb8a5076e1d6d2a9574 Author: Joerg Roedel Date: Thu Jun 26 21:27:40 2008 +0200 x86, AMD IOMMU: add data structures to manage the IOMMUs in the system This patch adds the data structures which will contain the information read from the ACPI table. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit f6e2e6b6fc465bc3cc4eae8d53fcf573ca1cfa14 Author: Joerg Roedel Date: Thu Jun 26 21:27:39 2008 +0200 x86, AMD IOMMU: add defines and structures for ACPI scanning code This patch adds the required data structures and constants required to parse the ACPI table for the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 8d283c35a293e6091fdf7ef86842c1174c48a941 Author: Joerg Roedel Date: Thu Jun 26 21:27:38 2008 +0200 x86, AMD IOMMU: add header file for driver data structures and defines This patch adds a header file local to the AMD IOMMU driver with constants and data structures needed in the code. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 2b188723ee1707ca902ddb98ce1decdeafb5190a Author: Joerg Roedel Date: Thu Jun 26 21:27:37 2008 +0200 x86, AMD IOMMU: add Kconfig entry This patch adds the Kconfig entry for the AMD IOMMU driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 69776bf3a7263a4e47751f475d540b0f73bf8337 Author: Jaroslav Kysela Date: Fri Jun 27 10:11:58 2008 +0200 ALSA: Release v1.0.17rc3 Signed-off-by: Jaroslav Kysela commit 031005f78c8d0aebc17ddf7a34af9ffd48034d7d Author: Takashi Iwai Date: Thu Jun 26 14:49:58 2008 +0200 ALSA: hda - disable amp override on non-HP machines Some machines with Cx5045 seem to have no problem with the volume over 0dB on NID 0x17. Disable amp overrides for other devices but HP. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4a3b6983232cd296ea260e06461d031f10065d63 Author: Takashi Iwai Date: Wed Jun 25 17:17:00 2008 +0200 ALSA: ymfpci - fix initial volume for 44.1kHz output YDSXGR_BUF441OUTVOL register isn't initialized properly. This may lead to a silent output at full volume of unchanged "Wave Playback Volume". http://bugzilla.kernel.org/show_bug.cgi?id=10963 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c7e0757a461db87157bbf92c4f5afda87cbe05f6 Author: Takashi Iwai Date: Thu Jun 26 14:42:51 2008 +0200 ALSA: hda - Add MacBook 3.1 support MacBook 3.1 is compatible with model=mbp3. Added the codec SSID 10b6:3600. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fa3d319ac6f648dc51cb672a31f482c80a8c2457 Author: Pavel Machek Date: Thu Jun 26 00:25:43 2008 +0200 pci-gart_64.c: could we get better explanation? Add better explanation to pci-gart. Signed-off-by: Pavel Machek Cc: Dave Jones Cc: Andi Kleen Cc: Trivial patch monkey Cc: Benjamin Herrenschmidt Signed-off-by: Ingo Molnar commit 90b9e47671d561fdf2802aac4ac749b6c86405e0 Author: Jarkko Nikula Date: Wed Jun 25 14:58:47 2008 +0300 ALSA: ASoC: Add digital mic configuration to N810 machine driver Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee15ffdb140b1a4fda5f6a3a8b9994031de5edb4 Author: Jarkko Nikula Date: Wed Jun 25 14:58:46 2008 +0300 ALSA: ASoC: TLV320AIC3X: Add support for digital microphone input AIC33 and AIC34 codecs in TLV320AIC3x family support digital microphone input. When enabled, the codec ADC takes bitstream input to low-pass filter from GPIO2 instead of its own delta-sigma modulator while providing oversampling clock through GPIO1. Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 81971a14947b344ee7f6e3781f7ef36d8996f57a Author: Jarkko Nikula Date: Wed Jun 25 14:58:45 2008 +0300 ALSA: ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt Those two serial data interface control register bits have also other functions and they can be set before aic3x_set_dai_fmt is called. Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0bd72a3d49fc9fcac0202e4a2f394c7ee82af914 Author: Jarkko Nikula Date: Wed Jun 25 14:42:08 2008 +0300 ALSA: ASoC: TLV320AIC3X: Use register modifier widget for mic bias Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e2be2ccf9416bb4e0eb5f851967e79261f41d7e5 Author: Jarkko Nikula Date: Wed Jun 25 14:42:07 2008 +0300 ALSA: ASoC: Add support for generic DAPM register modifier widget This generic register modifier widget is for updating multiple codec register bits at once when the widget changes its power state. Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a5c95e90c1baa9c1114875264bbd283526eb8377 Author: Mark Brown Date: Mon Jun 23 14:51:29 2008 +0100 ALSA: ASoC: Replace custom debug macros with pr_ equivalents Several ASoC codec drivers use custom macros equivalent to the standard pr_ macros, most of which are not actually used. Replace these custom macros with the standard ones. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 796d2ca84859d1fdb11ff06cd9707ffab5642fca Author: Richard Purdie Date: Mon Jun 23 14:51:28 2008 +0100 ALSA: ASoC: Add AK4535 driver The AK4535 codec is included in some HP iPAQ systems. This driver was originally written by Richard Purdie and with some bug fixes from Milan Plzik. While out of tree it has also had some mechanical updates for new APIs and current best practices from Liam Girdwood, Graeme Gregory and Mark Brown. Signed-off-by: Richard Purdie Signed-off-by: Milan Plzik Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 627d3e7abca30d6e86787c98dd7cbac0233bc5a9 Author: Andreas Mohr Date: Mon Jun 23 11:50:47 2008 +0200 ALSA: PCI168 snd-azt3328: some more fixups - fix problem with codec register 0x6a being write-only by adding a software shadow register (caused annoying noise after module loading due to _toggling_ between gameport and audio bits instead of configuring them properly) - rename several "Wave" mixer controls to "PCM", since this is what Wine and several other apps are looking for (IOW, _requiring_) and this is what AC97 specs use as naming, too, thus I'd guess it's what these controls are - cleanup, small optimizations Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 981bcead3f2279a1ec6fb5f2c57aff79ed61a700 Author: Pierre Ossman Date: Mon Jun 23 11:45:47 2008 +0200 ALSA: trident - pause s/pdif output Stop the S/PDIF DMA engine and output when the device is told to pause. It will keep on looping the current buffer contents if this isn't done. Signed-off-by: Pierre Ossman Tested-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1d11604eebfc91204e3182b48d3d920f51b09d40 Author: Travis Place Date: Mon Jun 23 11:42:30 2008 +0200 ALSA: hda - Added SSID for 'Fujitsu Siemens Amilo M1451G' laptop Add the SSID for the "Fujitsu Siemens Amilo M1451G" laptop to patch_realtek.c , so that it uses ALC880_FUJITSU by default. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3e0e469fa216ec70c93b1593821b759d19ee2e6b Author: Travis Place Date: Fri Jun 20 16:51:45 2008 +0200 ALSA: hda - Added model selection for iMac 24" Added the SSID of a known iMac 24" to automatically use ALC885_IMAC24 quirk. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eabe3228a80728a21f871ccc86c72c170ca1a2dc Author: Jaroslav Kysela Date: Thu Jun 26 08:51:31 2008 +0200 [ALSA] Revert "alsa: add annotations to bitwise type snd_pcm_hw_param_t" This reverts commit 36b34d2437104f323e09d7c6af6451d3c0b9c0cd. From: Al Viro WIW, *all* this stuff is not bitwise at all. For crying out loud, half of these types are routinely used as array indices and loop variables... If anything, we want a different set of allowed operations - subtraction between elements of type (yielding integer), addition/subtraction of integer types not bigger than ours (yielding our type), comparisons, assignments (=, +=, -=, passing to function as argument, return from function, initializers) and second/third arguments in ?:. With 0 *not* being allowed as a constant of such type. It's not bitwise; we may use the same infrastructure in sparse, but it should be a separate class of types (__attribute__((affine))). dma_addr_t is another candidate for the same treatment, but there we'll need helpers for conversions to hw-acceptable form (dma_to_le32(), etc.) and gradual conversion of drivers. ALSA ones and pm mess are absolutely straightforward cases, though. Signed-off-by: Jaroslav Kysela commit 400d34944c4ad82a817c06e570bc93b1114aa596 Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:03 2008 -0700 xen: add mechanism to extend existing multicalls Some Xen hypercalls accept an array of operations to work on. In general this is because its more efficient for the hypercall to the work all at once rather than as separate hypercalls (even batched as a multicall). This patch adds a mechanism (xen_mc_extend_args()) to allocate more argument space to the last-issued multicall, in order to extend its argument list. The user of this mechanism is xen/mmu.c, which uses it to extend the args array of mmu_update. This is particularly valuable when doing the update for a large mprotect, which goes via ptep_modify_prot_commit(), but it also manages to batch updates to pgd/pmds as well. Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit e57778a1e30470c9f5b79e370511b9af29b59c48 Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:02 2008 -0700 xen: implement ptep_modify_prot_start/commit Xen has a pte update function which will update a pte while preserving its accessed and dirty bits. This means that ptep_modify_prot_start() can be implemented as a simple read of the pte value. The hardware may update the pte in the meantime, but ptep_modify_prot_commit() updates it while preserving any changes that may have happened in the meantime. The updates in ptep_modify_prot_commit() are batched if we're currently in lazy mmu mode. The mmu_update hypercall can take a batch of updates to perform, but this code doesn't make particular use of that feature, in favour of using generic multicall batching to get them all into the hypervisor. The net effect of this is that each mprotect pte update turns from two expensive trap-and-emulate faults into they hypervisor into a single hypercall whose cost is amortized in a batched multicall. Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 08b882c627aeeeb3cfd3c4354f0d360d7949549d Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:01 2008 -0700 paravirt: add hooks for ptep_modify_prot_start/commit This patch adds paravirt-ops hooks in pv_mmu_ops for ptep_modify_prot_start and ptep_modify_prot_commit. This allows the hypervisor-specific backends to implement these in some more efficient way. Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 1ea0704e0da65b2b46f9142ff1391163aac24060 Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:00 2008 -0700 mm: add a ptep_modify_prot transaction abstraction This patch adds an API for doing read-modify-write updates to a pte's protection bits which may race against hardware updates to the pte. After reading the pte, the hardware may asynchonously set the accessed or dirty bits on a pte, which would be lost when writing back the modified pte value. The existing technique to handle this race is to use ptep_get_and_clear() atomically fetch the old pte value and clear it in memory. This has the effect of marking the pte as non-present, which will prevent the hardware from updating its state. When the new value is written back, the pte will be present again, and the hardware can resume updating the access/dirty flags. When running in a virtualized environment, pagetable updates are relatively expensive, since they generally involve some trap into the hypervisor. To mitigate the cost of these updates, we tend to batch them. However, because of the atomic nature of ptep_get_and_clear(), it is inherently non-batchable. This new interface allows batching by giving the underlying implementation enough information to open a transaction between the read and write phases: ptep_modify_prot_start() returns the current pte value, and puts the pte entry into a state where either the hardware will not update the pte, or if it does, the updates will be preserved on commit. ptep_modify_prot_commit() writes back the updated pte, makes sure that any hardware updates made since ptep_modify_prot_start() are preserved. ptep_modify_prot_start() and _commit() must be exactly paired, and used while holding the appropriate pte lock. They do not protect against other software updates of the pte in any way. The current implementations of ptep_modify_prot_start and _commit are functionally unchanged from before: _start() uses ptep_get_and_clear() fetch the pte and zero the entry, preventing any hardware updates. _commit() simply writes the new pte value back knowing that the hardware has not updated the pte in the meantime. The only current user of this interface is mprotect Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit f6477cc76c73833a56e97f1fafc36a7ca92927e5 Merge: fd2c17e... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:36:55 2008 +0200 Merge branch 'linus' into x86/timers commit 8700600a74852d75eb965b969dcf9f58e2b32546 Merge: b8e0418... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:31:28 2008 +0200 Merge branch 'linus' into x86/nmi commit 607baf1f4ef94637ab0f7d0e258932851dc5c0a2 Merge: 064a32d... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:31:14 2008 +0200 Merge branch 'linus' into x86/memtest commit 0ed368c71aa65cba8d349432bd4dab4a9a2eb39c Merge: 7aaaec3... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:54 2008 +0200 Merge branch 'linus' into x86/kconfig commit cbd6712406a3ea861b49fbfd46e23cbf5f8e073f Merge: d939d28... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:49 2008 +0200 Merge branch 'linus' into x86/irq commit 48cf937f48f68bd1e61f37c6357dbff5adb95532 Merge: fce3966... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:33 2008 +0200 Merge branch 'linus' into x86/i8259 commit 037a6079eb925f7653bddf1501f777abcd4fc91e Merge: 0754557... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:26 2008 +0200 Merge branch 'linus' into x86/gart commit 8b7ef4ec5b1ac8b6feebf5ae9cda85a7514728f8 Merge: a1d5a86... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:21 2008 +0200 Merge branch 'linus' into x86/fixmap commit 28f73e51d0f64a5b896ad816ab8df6f3bcec5810 Merge: f3f3149... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:10 2008 +0200 Merge branch 'linus' into x86/delay Conflicts: arch/x86/kernel/tsc_32.c Signed-off-by: Ingo Molnar commit 1262b0088f3c1928c0487d4074c6cda11a8b78c6 Merge: 378fc6e... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:29:32 2008 +0200 Merge branch 'linus' into x86/cleanups commit 37f5d732f34fa099676b2c52b8a57bab01a011de Merge: ed9e499... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:29:02 2008 +0200 Merge branch 'linus' into tracing/sysprof commit f4628e644c34d9e6242ea18487b2ed58ee04e3eb Merge: cb9aa97... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:28:47 2008 +0200 Merge branch 'linus' into tracing/mmiotrace-mergefixups commit 97e6722b8d6b5880c4d5751127d5083b1b7df27d Merge: f22f9a8... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:27:56 2008 +0200 Merge branch 'linus' into tracing/ftrace commit 773dc8eacaedb2e8c8d0defb5de2c66ea7dc4a08 Merge: 961ccdd... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:27:05 2008 +0200 Merge branch 'linus' into sched/new-API-sched_setscheduler commit f57aec5a871907427060196f6bac3d0011b38450 Merge: 1de8644... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:26:59 2008 +0200 Merge branch 'linus' into sched/devel Conflicts: kernel/sched_rt.c Signed-off-by: Ingo Molnar commit ace7f1b79670aa0c1d9f4b0442be82e565827333 Merge: a60b33c... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:23:59 2008 +0200 Merge branch 'linus' into core/softirq commit d02859ecb321c8c0f74cb9bbe3f51a59e58822b0 Merge: a987b16... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:16:51 2008 +0200 Merge commit 'v2.6.26-rc8' into x86/xen Conflicts: arch/x86/xen/enlighten.c arch/x86/xen/mmu.c Signed-off-by: Ingo Molnar commit 378fc6eedc0091cc5ba65b298b8967bd2d43df5d Author: WANG Cong Date: Tue Jun 24 16:21:18 2008 +0100 x86: arch/x86/kernel/machine_kexec_32.c: remove extra semicolons I can't see any reason to keep these semicolons. Signed-off-by: WANG Cong Signed-off-by: Ingo Molnar commit feda4f2c190f4efc101857935db0917ff3e4e23d Author: Dominik Brodowski Date: Tue Jun 24 15:45:55 2008 +0200 pcmcia: allow for longer CIS firmware files Don't be more zealous with memory than the firmware class core. Signed-off-by: Dominik Brodowski commit 8b5332f6994e34f2b400b25975760da709bbaa63 Author: Jonathan Corbet Date: Thu Jun 19 14:34:41 2008 -0600 pcmcia: cm40x0 cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet Signed-off-by: Dominik Brodowski commit 4aeba0134f1e54cfd881e118b039ab6ed8b99126 Author: Dominik Brodowski Date: Fri Jun 20 13:24:31 2008 +0200 pcmcia: (re)move {pcmcia,pccard}_get_status Except for one debug message in a driver marked BROKEN, pcmcia_get_status is only used by the ioctl. Therefore, move it to pcmcia_ioctl.c and unexport it. Signed-off-by: Dominik Brodowski commit 6351a71cfae2839cf6e63329d3d85eb46a4bc2c7 Author: Adrian Bunk Date: Thu Apr 17 12:36:54 2008 +0300 pcmcia: kill IN_CARD_SERVICES IN_CARD_SERVICES was #define'd but not used, so let's remove it. Signed-off-by: Adrian Bunk Signed-off-by: Dominik Brodowski commit b453917ac45d6077955c096d8d5503754b0c13b4 Author: Magnus Damm Date: Wed Dec 13 15:36:13 2006 +0900 pcmcia: Remove unused header file code pcmcia: Remove unused header file code Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit ae49ec9258b1ba0456f5d2e9024d0e4742a0188b Author: Magnus Damm Date: Thu Jun 19 20:49:41 2008 +0200 pcmcia: remove unused bulkmem.h The code in include/pcmcia/bulkmem.h was only kept for compatibility reasons. Therefore, move the remaining region_info_t definition to ds.h [linux@dominikbrodowski.net: do not modify the IOCTL, move definition to ds.h, and update changelog] Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit c5081d5f4775b2a3f858f91151bbf9163e473075 Author: Dominik Brodowski Date: Thu Jun 19 20:12:34 2008 +0200 pcmcia: simplify pccard_validate_cis As cisinfo_t only contains one unsigned_int, pccard_validate_cis can be simplified by passing that around directly. Signed-off-by: Dominik Brodowski commit c502380170ee93fd1f4028cc1f32efc87fde7376 Author: Dominik Brodowski Date: Thu Jun 19 19:02:52 2008 +0200 pcmcia: carve out ioctl adjust function to pcmcia_ioctl Let pcmcia_ioctl interact with rsrc_nonstatic using functions which rsrc_nonstatic.c has to use anyway. Signed-off-by: Dominik Brodowski commit 635416ef393e8cec5a89fc6c1de710ee9596a51e Author: Alan Cox Date: Mon Jun 16 14:35:15 2008 +0200 pcmcia: irq probe can be done without risking an IRQ storm Nowdays you can ask for an IRQ to be allocated but not enabled, when PCMCIA was written this was not true and this feature is thus not used [linux@dominikbrodowski.net: add comment and ifdef to avoid compilation breakage at least on alpha] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 05f43d48ddbda0ce74941aff4711a1829116cc4f Author: Alex Harford Date: Sun Jun 15 10:34:25 2008 -0700 pcmcia: Fix ti12xx_2nd_slot_empty always failing For TI 1520 and others, ti12xx_2nd_slot_empty was reading card detect from the wrong slot, and always failing. Signed-off-by: Alex Harford Signed-off-by: Dominik Brodowski commit c1ac02280d76de7aba8a9d43638d0f7d1fd0f820 Author: Dominik Brodowski Date: Sat Jun 14 18:51:06 2008 +0200 pcmcia: check for pointer instead of pointer address Bug noted by Michael Buesch: checking for the pointer address is always true. This didn't matter much, for the very first check in pcmcia_release_window() was for the pointer pointing to something, and the return value is ignored here. Nonetheless, fix it. CC: Michael Buesch Signed-off-by: Dominik Brodowski commit 4cf974c57633e70a8d48f9d40e41cf192c6e062c Author: Alan Cox Date: Sat Jun 14 16:01:57 2008 +0200 pcmcia: switch cm4000_cs.c to unlocked_ioctl Push the BKL down and use unlocked_ioctl. Signed-off-by: Alan Cox Cc: Harald Welte Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 7d5789616dd3090fe8486fbb849da3e9d9f36bb9 Author: David Brownell Date: Thu Jun 12 12:13:55 2008 -0700 pcmcia: simplify rsrc_nonstatic attributes Simplify sysfs attribute registration for sockets without static resource mappings by using an attribute_group. This shrinks object size a bit: use loops in sysfs code, but have more data. Signed-off-by: David Brownell Signed-off-by: Dominik Brodowski commit 785e821eb679c171f453722f15c6791de0c1abe1 Author: Michael Hennerich Date: Wed Jun 11 09:06:16 2008 +0200 pcmcia: add support CompactFlash PCMCIA support for Blackfin. A new host driver to add CompactFlash PCMCIA support for Blackfin. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 0478cf269974e0c7d98f5c5eed815ffb958ddee6 Author: Dominik Brodowski Date: Thu May 29 10:42:16 2008 +0200 pcmcia: remove version.h pcmcia/version.h is empty and its existence is not even needed by deprecated userspace tools. CC: David Sterba Signed-off-by: Jiri Kosina Signed-off-by: Dominik Brodowski commit 0b402094199762dde81bee8c32d323cf52f2c6e7 Author: Christoph Hellwig Date: Sun Apr 22 13:55:36 2007 +0100 pcmcia: cs: kill thread_wait There is not reason to have a waitqueue if it's always the same thread that is waiting for it. Just use wake_up_process instead. Signed-off-by: Christoph Hellwig Small modification: Also remove unused variable. Signed-off-by: Dominik Brodowski commit 2df697036ba69ea99b73a2dbf82dcc8fec62d4ab Author: Leonardo Potenza Date: Tue Apr 1 23:47:09 2008 +0200 pcmcia: i82365.c: check request_irq return value Add a check for the request_irq() return value. Signed-off-by: Leonardo Potenza Signed-off-by: Dominik Brodowski commit b3363997a62d67f76f388c629673094935209d16 Author: Sergei Shtylyov Date: Mon Apr 14 17:27:30 2008 +0400 pcmcia: fix Alchemy warnings Fix the following warnings: drivers/pcmcia/au1000_generic.c: In function `au1x00_pcmcia_socket_probe': drivers/pcmcia/au1000_generic.c:405: warning: integer constant is too large for "long" type drivers/pcmcia/au1000_generic.c:413: warning: integer constant is too large for "long" type by properly postfixing the socket constants. While at it, fix the lines over 80 characters long in the vicinity... Signed-off-by: Sergei Shtylyov Acked-by: Ralf Baechle Signed-off-by: Dominik Brodowski commit f36fe2b90fe93e2f586b24f42413bf8cfad8f626 Author: Adrian Bunk Date: Tue May 20 01:02:40 2008 +0300 pcmcia: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Dominik Brodowski commit 14540c6dfd8d342a5e897da8763a77a145e40acd Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jan 30 15:28:16 2008 +0100 pcmcia: yenta-cardbus: ENE_TEST_C9_PFENABLE duplicate *_F0 The test only makes sense if we check for _F0 and _F1. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> CC: Daniel Ritz Signed-off-by: Dominik Brodowski commit cbba0de2f8e4d9bef521d092711a3c8625f7791b Author: Magnus Damm Date: Wed Dec 13 15:40:18 2006 +0900 pcmcia: Update email address for m8xx driver author Update the m8xx driver's author email address. Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit b664d6bbeeddc77b93f5fea16006b428054f1cd1 Author: Robert Richter Date: Tue Jun 24 12:31:05 2008 +0200 x86: add X86_FEATURE_IBS cpu feature This adds IBS to the cpu feature flags allowing Perfmon and OProfile to use cpu_has(). Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit f3f3149f35b9195ef4b761b1353fc0766b5f53be Author: Alok Kataria Date: Mon Jun 23 18:21:56 2008 -0700 x86: use cpu_khz for loops_per_jiffy calculation, cleanup As suggested by Ingo, remove all references to tsc from init/calibrate.c TSC is x86 specific, and using tsc in variable names in a generic file should be avoided. lpj_tsc is now called lpj_fine, since it is related to fine tuning of lpj value. Also tsc_rate_* is called timer_rate_* Signed-off-by: Alok N Kataria Cc: Arjan van de Ven Cc: Daniel Hecht Cc: Tim Mann Cc: Zach Amsden Cc: Sahil Rihan Signed-off-by: Ingo Molnar commit 93e1ade5382206d597e9d6de2d1383e69f54d064 Author: Vegard Nossum Date: Sun Jun 22 09:40:18 2008 +0200 x86/oprofile: disable preemption in nmi_shutdown fix: BUG: using smp_processor_id() in preemptible [00000000] code: oprofiled/27301 caller is nmi_shutdown+0x11/0x60 Pid: 27301, comm: oprofiled Not tainted 2.6.26-rc7 #25 [] debug_smp_processor_id+0xbd/0xc0 [] nmi_shutdown+0x11/0x60 [] oprofile_shutdown+0x2a/0x60 Note that we don't need this for the other functions, since they are all called with on_each_cpu() (which disables preemption for us anyway). Signed-off-by: Vegard Nossum Cc: Philippe Elie Cc: oprofile-list@lists.sf.net Cc: Johannes Weiner Signed-off-by: Ingo Molnar commit a033c332e047397904ed74816946b2edd9b0d5cd Author: Li Zefan Date: Mon Jun 23 10:52:42 2008 +0800 lockdep: remove duplicate definition of STATIC_LOCKDEP_MAP_INIT STATIC_LOCKDEP_MAP_INIT is defined twice in lockdep.h. I guess it's a copy & paste. Signed-off-by: Li Zefan Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 33af9039cbf629041da2bfa0cf451208391a1ec3 Author: Andreas Herrmann Date: Fri Jun 20 22:08:37 2008 +0200 x86: pat.c final cleanup of loop body in reserve_memtype Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 64fe44c38bbdfab4fe052029058ce5fe9804de68 Author: Andreas Herrmann Date: Fri Jun 20 22:07:09 2008 +0200 x86: pat.c introduce function to check for conflicts with existing memtypes ... to strip down loop body in reserve_memtype. Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit f6887264deba4cd991f0ca006918dcff4c939021 Author: Andreas Herrmann Date: Fri Jun 20 22:05:37 2008 +0200 x86: pat.c consolidate list_add handling in reserve_memtype Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 3e9c83b309fd7cbf1d9b801d0d5877c040e30420 Author: Andreas Herrmann Date: Fri Jun 20 22:04:02 2008 +0200 x86: pat.c consolidate error/debug messages in reserve_memtype ... and move last debug message out of locked section. Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 69e26be9b1d0c83d3581475095ce2a1ccc578215 Author: Andreas Herrmann Date: Fri Jun 20 22:03:06 2008 +0200 x86: pat.c more trivial changes - add BUG statement to catch invalid start and end parameters - No need to track the actual type in both req_type and actual_type -- keep req_type unchanged. - removed (IMHO) superfluous comments Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit ac97991ec9e0a05c8860f4a04f8477227b1c03f2 Author: Andreas Herrmann Date: Fri Jun 20 22:01:49 2008 +0200 x86: pat.c choose more crisp variable names - parse/ml => entry (within list_for_each and friends) - new_entry => new - ret_type => new_type (to avoid confusion with req_type) (... to make it more readable...) Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit bcc643dc287cb732e96a1685ac130c3ae8b1c960 Author: Andreas Herrmann Date: Fri Jun 20 21:58:46 2008 +0200 x86: introduce macro to check whether an address range is in the ISA range Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 6ff10de374cc68ff2024247793176dc8a1b317ea Author: Ingo Molnar Date: Tue Jun 24 01:19:49 2008 +0200 x86: fix "x86: use cpu_khz for loops_per_jiffy calculation" fix: arch/x86/kernel/tsc_32.c: In function ‘tsc_init': arch/x86/kernel/tsc_32.c:421: error: ‘lpj_tsc' undeclared (first use in this function) arch/x86/kernel/tsc_32.c:421: error: (Each undeclared identifier is reported only once arch/x86/kernel/tsc_32.c:421: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit cd1a28e8457e6ebf72c48d84d4e736307e86436e Author: Huang, Ying Date: Mon Jun 23 11:20:54 2008 +0800 lockdep: add lock_class information to lock_chain and output it It is based on x86/master branch of git-x86 tree, and has been tested on x86_64 platform. ChangeLog: v2: - Enclosing proc file system related code into CONFIG_PROVE_LOCKING. - Fix nr_chain_hlocks update code. Signed-off-by: Huang Ying Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 961ccddd59d627b89bd3dc284b6517833bbdf25d Author: Rusty Russell Date: Mon Jun 23 13:55:38 2008 +1000 sched: add new API sched_setscheduler_nocheck: add a flag to control access checks Hidehiro Kawai noticed that sched_setscheduler() can fail in stop_machine: it calls sched_setscheduler() from insmod, which can have CAP_SYS_MODULE without CAP_SYS_NICE. Two cases could have failed, so are changed to sched_setscheduler_nocheck: kernel/softirq.c:cpu_callback() - CPU hotplug callback kernel/stop_machine.c:__stop_machine_run() - Called from various places, including modprobe() Signed-off-by: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Hidehiro Kawai Cc: Andrew Morton Cc: linux-mm@kvack.org Cc: sugita Cc: Satoshi OSHIMA Signed-off-by: Ingo Molnar commit 3da757daf86e498872855f0b5e101f763ba79499 Author: Alok Kataria Date: Fri Jun 20 15:06:33 2008 -0700 x86: use cpu_khz for loops_per_jiffy calculation On the x86 platform we can use the value of tsc_khz computed during tsc calibration to calculate the loops_per_jiffy value. Its very important to keep the error in lpj values to minimum as any error in that may result in kernel panic in check_timer. In virtualization environment, On a highly overloaded host the guest delay calibration may sometimes result in errors beyond the ~50% that timer_irq_works can handle, resulting in the guest panicking. Does some formating changes to lpj_setup code to now have a single printk to print the bogomips value. We do this only for the boot processor because the AP's can have different base frequencies or the BIOS might boot a AP at a different frequency. Signed-off-by: Alok N Kataria Cc: Arjan van de Ven Cc: Daniel Hecht Cc: Tim Mann Cc: Zach Amsden Cc: Sahil Rihan Signed-off-by: Ingo Molnar commit f22f9a89ce6857d377bf22dba4c1a8cd256c5136 Author: Abhishek Sagar Date: Sat Jun 21 23:50:29 2008 +0530 ftrace: avoid modifying kprobe'd records Avoid modifying the mcount call-site if there is a kprobe installed on it. These records are not marked as failed however. This allowed the filter rules on them to remain up-to-date. Whenever the kprobe on the corresponding record is removed, the record gets updated as normal. Signed-off-by: Abhishek Sagar Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit ecea656d1d5e912d2f3d332657ea4a6d8380f891 Author: Abhishek Sagar Date: Sat Jun 21 23:47:53 2008 +0530 ftrace: freeze kprobe'd records Let records identified as being kprobe'd be marked as "frozen". The trouble with records which have a kprobe installed on their mcount call-site is that they don't get updated. So if such a function which is currently being traced gets its tracing disabled due to a new filter rule (or because it was added to the notrace list) then it won't be updated and continue being traced. This patch allows scanning of all frozen records during tracing to check if they should be traced. Signed-off-by: Abhishek Sagar Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 785656a41f9a9c0e843a23d1ae05d900b5158f8f Author: Abhishek Sagar Date: Sat Jun 21 23:47:39 2008 +0530 kprobes: enable clean usage of get_kprobe Allow clean use of get_kprobe() outside of core kprobe code. Ftrace makes use of get_kprobe to identify probes installed on mcount call-sites. Signed-off-by: Abhishek Sagar Acked-by: Ananth N Mavinakayanahalli Cc: Masami Hiramatsu Cc: jkenisto@us.ibm.com Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 395a59d0f8e86bb39cd700c3d185d30c670bb958 Author: Abhishek Sagar Date: Sat Jun 21 23:47:27 2008 +0530 ftrace: store mcount address in rec->ip Record the address of the mcount call-site. Currently all archs except sparc64 record the address of the instruction following the mcount call-site. Some general cleanups are entailed. Storing mcount addresses in rec->ip enables looking them up in the kprobe hash table later on to check if they're kprobe'd. Signed-off-by: Abhishek Sagar Cc: davem@davemloft.net Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 0754557d72c1fbfc5fcfd5235e7c23ae6f77248c Author: Yinghai Lu Date: Sat Jun 21 03:50:47 2008 -0700 x86: change early_gart_iommu_check() back to any_mapped Kevin Winchester reported a GART related direct rendering failure against linux-next-20080611, which shows up via these log entries: PCI: Using ACPI for IRQ routing PCI: Cannot allocate resource region 0 of device 0000:00:00.0 agpgart: Detected AGP bridge 0 agpgart: Aperture conflicts with PCI mapping. agpgart: Aperture from AGP @ e0000000 size 128 MB agpgart: Aperture conflicts with PCI mapping. agpgart: No usable aperture found. agpgart: Consider rebooting with iommu=memaper=2 to get a good aperture. instead of the expected: PCI: Using ACPI for IRQ routing agpgart: Detected AGP bridge 0 agpgart: Aperture from AGP @ e0000000 size 128 MB Kevin bisected it down to this change in tip/x86/gart: "x86: checking aperture size order". agp check is using request_mem_region(), and could fail if e820 is reserved... change it back to e820_any_mapped(). Reported-and-bisected-by: "Kevin Winchester" Signed-off-by: Yinghai Lu Tested-by: Kevin Winchester Signed-off-by: Ingo Molnar commit 009b9fc98ddd83f9139fdabb12c0d7a8535d5421 Merge: 3711ccb... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:53:03 2008 +0200 Merge branch 'linus' into x86/threadinfo commit 1de8644cc7c826e0c41e52825bd5a12e2e31e6ca Merge: 6c3df25... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:30:23 2008 +0200 Merge branch 'linus' into sched/devel commit f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d Merge: ee4311a... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:11:42 2008 +0200 Merge branch 'linus' into tracing/ftrace commit a60b33cf59d1c9e0e363287fce799cb23d45660c Merge: 0f476b6... 481c534... Author: Ingo Molnar Date: Mon Jun 23 10:52:59 2008 +0200 Merge branch 'linus' into core/softirq commit 009b47dfc732781d23fd848c101d2aad743844b0 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:10 2008 +0200 [ARM] mv78xx0: add defconfig Signed-off-by: Lennert Buytenhek commit 794d15b25df5dda10efba600d6dd6cd74a7aa9cb Author: Stanislav Samsonov Date: Sun Jun 22 22:45:10 2008 +0200 [ARM] add Marvell 78xx0 ARM SoC support The Marvell Discovery Duo (MV78xx0) is a family of ARM SoCs featuring (depending on the model) one or two Feroceon CPU cores with 512K of L2 cache and VFP coprocessors running at (depending on the model) between 800 MHz and 1.2 GHz, and features a DDR2 controller, two PCIe interfaces that can each run either in x4 or quad x1 mode, three USB 2.0 interfaces, two 3Gb/s SATA II interfaces, a SPI interface, two TWSI interfaces, a crypto accelerator, IDMA/XOR engines, a SPI interface, four UARTs, and depending on the model, two or four gigabit ethernet interfaces. This patch adds basic support for the platform, and allows booting on the MV78x00 development board, with functional UARTs, SATA, PCIe, GigE and USB ports. Signed-off-by: Stanislav Samsonov Signed-off-by: Lennert Buytenhek commit a9311cfed241ebcd6b5f9be5c8c6d519bf22f9e7 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:09 2008 +0200 [ARM] Orion: PCIe x4/x1 detection support The Discovery Duo (MV78xx0) has two x4 PCIe ports which can either be used in x4 mode or in quad x1 mode. This patch adds an accessor function to the generic plat-orion PCIe handling code to detect in which of the two modes we're running (which is determined by strap pins and/or configured by the bootloader). Signed-off-by: Lennert Buytenhek commit 0a17c7bc0b81e4556eea08c7e27923e5534d3c25 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:08 2008 +0200 [ARM] Feroceon: 88fr571-vd support Add support for the Feroceon 88fr571-vd CPU core as found in e.g. the Marvell Discovery Duo family of ARM SoCs. Signed-off-by: Lennert Buytenhek commit 9307f05c772e37e7f71b521d1d63c4560f44d476 Author: Saeed Bishara Date: Sun Jun 22 22:45:07 2008 +0200 [ARM] Kirkwood: add defconfig Signed-off-by: Lennert Buytenhek commit 651c74c74bf84ba966b52588ba3329606f3fd8d4 Author: Saeed Bishara Date: Sun Jun 22 22:45:06 2008 +0200 [ARM] add Marvell Kirkwood (88F6000) SoC support The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface, a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS interface, and IDMA/XOR engines, and depending on the model, also features one or two Gigabit Ethernet interfaces, two SATA II interfaces, one or two TWSI interfaces, one or two UARTs, a TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and an SDIO interface. This patch adds supports for the Marvell DB-88F6281-BP Development Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs, enabling support for the PCIe interface, the USB interface, the ethernet interfaces, the SATA interfaces, the TWSI interfaces, the UARTs, and the NAND controller. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit 9c2af6c57c4a253b595b5eef1b665989b5f15de5 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:05 2008 +0200 [ARM] Feroceon: 88fr131 support Add support for the Shiva 88fr131 CPU core as found in e.g. the Marvell Kirkwood family of ARM SoCs. Signed-off-by: Lennert Buytenhek commit 99c6dc117d27d6259214812bd0b113aaf467f600 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:04 2008 +0200 [ARM] Feroceon: L2 cache support This patch adds support for the unified Feroceon L2 cache controller as found in e.g. the Marvell Kirkwood and Marvell Discovery Duo families of ARM SoCs. Note that: - Page table walks are outer uncacheable on Kirkwood and Discovery Duo, since the ARMv5 spec provides no way to indicate outer cacheability of page table walks (specifying it in TTBR[4:3] is an ARMv6+ feature). This requires adding L2 cache clean instructions to proc-feroceon.S (dcache_clean_area(), set_pte()) as well as to tlbflush.h ({flush,clean}_pmd_entry()). The latter case is handled by defining a new TLB type (TLB_FEROCEON) which is almost identical to the v4wbi one but provides a TLB_L2CLEAN_FR flag. - The Feroceon L2 cache controller supports L2 range (i.e. 'clean L2 range by MVA' and 'invalidate L2 range by MVA') operations, and this patch uses those range operations for all Linux outer cache operations, as they are faster than the regular per-line operations. L2 range operations are not interruptible on this hardware, which avoids potential livelock issues, but can be bad for interrupt latency, so there is a compile-time tunable (MAX_RANGE_SIZE) which allows you to select the maximum range size to operate on at once. (Valid range is between one cache line and one 4KiB page, and must be a multiple of the line size.) Signed-off-by: Lennert Buytenhek commit 836a8051d54525e0782f156dcfa3c13d30f22840 Author: Stanislav Samsonov Date: Tue Jun 3 11:24:40 2008 +0300 [ARM] Feroceon: L1 cache range operation support This patch adds support for the L1 D cache range operations that are supported by the Marvell Discovery Duo and Marvell Kirkwood ARM SoCs. Signed-off-by: Stanislav Samsonov Acked-by: Saeed Bishara Reviewed-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 7ea217a85e38c5ed6edbc789670badb619da9f28 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:02 2008 +0200 [ARM] Loki: add defconfig Signed-off-by: Lennert Buytenhek commit 777f9bebad3476b7dbf5cd8abbd3414139ca0e48 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:02 2008 +0200 [ARM] add Marvell Loki (88RC8480) SoC support The Marvell Loki (88RC8480) is an ARM SoC based on a Feroceon CPU core running at between 400 MHz and 1.0 GHz, and features a 64 bit DDR controller, 512K of internal SRAM, two x4 PCI-Express ports, two Gigabit Ethernet ports, two 4x SAS/SATA controllers, two UARTs, two TWSI controllers, and IDMA/XOR engines. This patch adds support for the Marvell LB88RC8480 Development Board, enabling the use of the PCIe interfaces, the ethernet interfaces, the TWSI interfaces and the UARTs. Signed-off-by: Lennert Buytenhek commit 1219715de70956557b9dedf3ee021a73d4f4ec52 Author: Ke Wei Date: Fri May 23 10:23:22 2008 +0200 [ARM] Orion: add a separate BRIDGE_INT_TIMER1_CLR define Some Feroceon-based SoCs have an MBUS bridge interrupt controller that requires writing a one instead of a zero to clear edge interrupt sources such as timer expiry. This patch adds a new BRIDGE_INT_TIMER1_CLR define, which platform code can set to either ~BRIDGE_INT_TIMER1 (write-zero-to-clear) or BRIDGE_INT_TIMER1 (write-one-to-clear) depending on the platform. Signed-off-by: Lennert Buytenhek commit ab6d15d50637fc25ee941710b23fed09ceb28db3 Author: Ke Wei Date: Sun Jun 22 22:45:00 2008 +0200 [ARM] Feroceon: allow more old Feroceon IDs There are a couple more Feroceon-based SoCs out in the field that use different Variant and Architecture fields in their Main ID registers -- this patch tweaks the processor match/mask in proc-feroceon.S to catch those SoCs as well. Signed-off-by: Ke Wei Signed-off-by: Lennert Buytenhek commit 2e2023fe02c3530db3a0d6a26a2e90396a428796 Author: Nicolas Pitre Date: Tue Jun 3 23:06:21 2008 +0200 [ARM] Feroceon: catch other Feroceon CPU IDs in head.S Tweak the Feroceon match/mask in arch/arm/boot/compressed/head.S to match a couple of newer Feroceon cores (such as the 88fr571vd with CPU ID 0x56155710, and the 88fr131 with CPU ID 0x56251310) as well. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 6c386e58aadb90fb5d8b5be979e02d74f8be52fe Author: Nicolas Pitre Date: Thu Apr 24 02:04:54 2008 +0200 [ARM] Feroceon: speed up flushing of the entire cache Flushing the L1 D cache with a test/clean/invalidate loop is very easy in software, but it is not the quickest way of doing it, as there is a lot of overhead involved in re-scanning the cache from the beginning every time we hit a dirty line. This patch makes proc-feroceon.S use "clean+invalidate by set/way" loops according to possible cache configuration of Feroceon CPUs (either direct-mapped or 4-way set associative). Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 79e90dd5aa95adfdc3117db8a559da3d0195ba58 Author: Lennert Buytenhek Date: Wed May 28 16:43:48 2008 +0200 [ARM] Orion: nuke orion5x_{read,write} Nuke the Orion-specific orion5x_{read,write} wrappers. Signed-off-by: Lennert Buytenhek commit 0e3bc0503f7e7b5b0bd4416f43eeeca1b661e66e Author: Lennert Buytenhek Date: Wed Jun 4 03:16:21 2008 +0200 [ARM] Orion: use linux/serial_reg.h for Orion uncompress.h Signed-off-by: Lennert Buytenhek commit 7ec753ccc10ad552c8ec2d40e0edbe3a9c562f30 Author: Sylver Bruneau Date: Tue Jun 10 01:00:38 2008 +0200 [ARM] Orion: add Maxtor Shared Storage II support This patch adds support for the Maxtor Shared Storage II hardware. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit 7171d8672bb0bcb744935bd2c6108378b5c6c6ad Author: Alexander Clouter Date: Sat May 31 22:32:37 2008 +0100 [ARM] Orion: add Technologic Systems TS-78xx support Signed-off-by: Alexander Clouter Signed-off-by: Lennert Buytenhek commit 530c854aa351b2c7b3b3b6bedae8143310875206 Author: Sylver Bruneau Date: Sat May 31 18:21:49 2008 +0200 [ARM] Orion: remove code duplication in TS209 and TS409 setup files Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit b08d5af39616fd32a1fafbcb51c36d4c99c4e02f Author: Martin Michlmayr Date: Sun Apr 6 14:08:17 2008 +0200 [ARM] Orion: add HP Media Vault mv2120 support Signed-off-by: Lennert Buytenhek commit 42452b77a1fba2fee89350be2a9c03b54b27c218 Author: Lennert Buytenhek Date: Sat May 31 08:19:20 2008 +0200 [ARM] Orion: add Linksys WRT350N v2 support Signed-off-by: Lennert Buytenhek Tested-by: Dirk Teurlings Tested-by: Peter van Valderen commit d2b2a6bbc020e5a9a244f318d28515081e922882 Author: Lennert Buytenhek Date: Sat May 31 08:30:40 2008 +0200 [ARM] Orion: add 88F5181L (Orion-VoIP) support Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 47e9cffde663eafd5f78987036429fc0994d90e8 Author: Sylver Bruneau Date: Sat Apr 26 02:35:29 2008 +0200 [ARM] Orion: add QNAP TS-409 support Signed-off-by: Lennert Buytenhek commit a0087f2fcf5cb4e16502f5334168fbe304af318b Author: Sylver Bruneau Date: Wed Apr 30 08:14:58 2008 +0200 [ARM] Orion: implement power-off method for Kurobox Pro This patch implements the communication with the microcontroller on the Kurobox Pro and Linkstation Pro/Live boards. This is allowing to send the commands needed to power-off the board correctly. Signed-off-by: Sylver Bruneau Acked-by: Russell King Signed-off-by: Lennert Buytenhek commit 2850a037734eac0af2e6abc4e8be986c3edfd834 Author: Lennert Buytenhek Date: Wed May 28 16:17:39 2008 +0200 [ARM] Orion: avoid setting ->force_phy_addr The mv643xx_eth platform data field ->force_phy_addr only needs to be set if the passed-in ->phy_addr field is zero (to distinguish the case of not having specified a phy address (force_phy_addr = 0) from the case where a phy address of zero needs to be used (force_phy_addr = 1.)) Also, the ->force_phy_addr field will hopefully disappear in a future mv643xx_eth reorganisation. Therefore, this patch deletes the ->force_phy_addr field initialiser from all Orion board code. Signed-off-by: Lennert Buytenhek commit b206ed0462b7112d07bb9f245bf49f5e95ff174a Author: Lennert Buytenhek Date: Fri Jun 6 12:32:59 2008 +0200 [ARM] Orion: remove error printks in ->map_irq() implementations If all PCI devices are working as expected, the error printks in the various implementations of ->map_irq() doesn't really provide any useful info. And if something is not working as expected, turning on pci=debug gives you more useful information than the printk calls in ->map_irq(), since the former also tells you which devices _did_ get IRQs successfully assigned. Therefore, delete these printks entirely. Spotted by Russell King. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 19cfd5c09f780ac870fd9d89201c4ebc0b22be81 Author: Lennert Buytenhek Date: Sat May 10 23:25:46 2008 +0200 [ARM] Orion: rework MPP handling Instead of having board code poke directly into the MPP configuration registers, and separately calling orion5x_gpio_set_valid_pins() to indicate which MPP pins can be used as GPIO pins, introduce a helper function for configuring the roles of each of the MPP pins, and have that helper function handle gpio validity internally. Signed-off-by: Lennert Buytenhek Acked-by: Sylver Bruneau Acked-by: Russell King commit 386a048a1ea42ff9ac87ffa344c4c19a5cc59678 Author: Lennert Buytenhek Date: Sat May 10 17:01:18 2008 +0200 [ARM] Orion: move setting up PCIe WA window into PCIe setup path It makes no sense to do PCIe WA window setup in the individual board support files while the decision whether or not to use the PCIe WA access method is made in a different place, in the PCIe support code. This patch moves the configuration of a PCIe WA window from the individual Orion board support files to the central Orion PCIe support code. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 044f6c7c449ae8ba0353b032706b098a7ad5e304 Author: Lennert Buytenhek Date: Tue Apr 22 05:37:12 2008 +0200 [ARM] Orion: move EHCI/I2C/UART peripheral init into board code This patch moves initialisation of EHCI/I2C/UART platform devices from the common orion5x_init() into the board support code. The rationale behind this is that only the board support code knows whether certain peripherals have been brought out on the board, and not initialising peripherals that haven't been brought out is desirable for example: - to reduce user confusion (e.g. seeing both 'eth0' and 'eth1' appear while there is only one ethernet port on the board); and - to allow for future power savings (peripherals that have not been brought out can be clock gated off entirely). Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 6eef84a5496c678ab27b72bec0fc785c9cee063b Author: Lennert Buytenhek Date: Wed May 28 16:20:56 2008 +0200 [ARM] Orion: delete unused IO_SPACE_REMAP define This define isn't used anywhere in the kernel tree -- nuke it. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 000e99c3334cdddaec020d7324fe4ca2a683d3dd Author: Lennert Buytenhek Date: Sun May 18 19:46:59 2008 +0200 [ARM] Orion: top-level IRQs are level-triggered Make it clear that Orion top-level IRQs are level-triggered. This means that we don't need an ->ack() handler, or at least, we don't need the ->ack() handler (or the acking part of the ->mask_ack() handler) to actually do anything. Given that, we might as well point our ->mask_ack() handler at the ->mask() handler instead of providing a dummy ->ack() handler, since providing a ->mask_ack() handler on level IRQ sources will prevent ->ack() from ever being called. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit ee0dd840052e303a3eb171363be5e6364d200a51 Author: Lennert Buytenhek Date: Fri Apr 11 23:08:26 2008 +0200 [ARM] Feroceon: annotate 88fr531-vd CPU entries Annotate the entries for the 88fr531-vd CPU core in arch/arm/boot/compressed/head.S and arch/arm/mm/proc-feroceon.S with the full name of the core. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 4fc338e38f08f0a91e35ab386abae48eb033dbb2 Author: Lennert Buytenhek Date: Fri May 23 08:34:42 2008 +0200 [ARM] Orion: DRAM mapping granularity is 64KiB, not 16MiB The DRAM base address and size fields in the CPU's MBUS bridge have 64KiB granularity, instead of the currently used 16MiB. Since all of the currently supported MBUS peripherals support 64KiB granularity as well, this patch changes the Orion address map code to stop rounding base addresses down and sizes up to multiples of 16MiB. Found by Ke Wei . Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit a18b658449e6677aba2bf8dcd3593adecff6fe4d Author: Lennert Buytenhek Date: Sat May 10 23:20:50 2008 +0200 [ARM] Orion: make window setup a little more safe Currently, Orion window setup uses hardcoded window indexes for each of the boot/cs0/cs1/cs2/PCIe WA windows. The static window allocation used can clash if board support code will ever attempt to configure both a dev2 and a PCIe WA window, as both of those use CPU mbus window #7 at present. This patch keeps track of the last used window, and opens subsequently requested windows sequentially, starting from 4. (Windows 0-3 are used as MEM/IO windows for the PCI/PCIe buses.) Signed-off-by: Lennert Buytenhek commit e7068ad337a991fba627148a4a57939fdc1e6a2d Author: Lennert Buytenhek Date: Sat May 10 16:30:01 2008 +0200 [ARM] Orion: fix various whitespace and coding style issues More cosmetic cleanup: - Replace 8-space indents by proper tab indents. - In structure initialisers, use a trailing comma for every member. - Collapse "},\n{" in structure initialiers to "}, {". Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit f91a8dcc25398c5d708056de081d6cebf3f2023e Author: Nicolas Pitre Date: Fri Apr 11 21:04:28 2008 -0400 [ARM] cache align memset and memzero This is a natural extension following the previous patch. Non Feroceon based targets are unchanged. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 2239aff6ab2b95af1f628eee7a809f21c41605b3 Author: Nicolas Pitre Date: Mon Mar 31 12:38:31 2008 -0400 [ARM] cache align destination pointer when copying memory for some processors The implementation for memory copy functions on ARM had a (disabled) provision for aligning the source pointer before loading registers with data. Turns out that aligning the _destination_ pointer is much more useful, as the read side is already sufficiently helped with the use of preload. So this changes the definition of the CALGN() macro to target the destination pointer instead, and turns it on for Feroceon processors where the gain is very noticeable. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 4c4925c1f4ccd72002957c3e73b4f117f2bcf712 Author: Nicolas Pitre Date: Wed Jun 11 12:40:13 2008 -0400 [ARM] fix cache alignment code in memset.S This code is currently disabled, which explains why no one was affected. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit f76e9154736e9ab47b64940d0062f19c80225b7f Author: Nicolas Pitre Date: Thu Apr 24 01:31:46 2008 -0400 [ARM] latencytop support Available for !SMP only at the moment. From Russell: |Basically, if a thread is running on a CPU, thread_saved_fp() is invalid. |So, the question is: what guarantees do we have here that 'tsk' is not |running on another CPU? Signed-off-by: Nicolas Pitre Tested-by: Lennert Buytenhek Signed-off-by: Lennert Buytenhek commit b0bfcce930bca38af056662e598991cb393eaa4a Author: Nicolas Pitre Date: Mon May 5 15:21:28 2008 -0400 [ARM] Orion: update defconfig to 2.6.26-rc4 Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 437a0a54eea7b101e8a5b70688009956f6522ed0 Author: Ingo Molnar Date: Fri Jun 20 21:50:20 2008 +0200 x86, bitops: make constant-bit set/clear_bit ops faster, gcc workaround Jeremy Fitzhardinge reported this compiler bug: Suggestion from Linus: add "r" to the input constraint of the set_bit()/clear_bit()'s constant 'nr' branch: Blows up on "gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.3-13)": CC init/main.o include2/asm/bitops.h: In function `start_kernel': include2/asm/bitops.h:59: warning: asm operand 1 probably doesn't match constraints include2/asm/bitops.h:59: warning: asm operand 1 probably doesn't match constraints include2/asm/bitops.h:59: warning: asm operand 1 probably doesn't match constraints include2/asm/bitops.h:59: error: impossible constraint in `asm' include2/asm/bitops.h:59: error: impossible constraint in `asm' include2/asm/bitops.h:59: error: impossible constraint in `asm' Reported-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 77149367dade50af8370420265bd4f818cde8afd Author: Arnd Bergmann Date: Tue May 20 19:16:16 2008 +0200 microcode: BKL pushdown Signed-off-by: Arnd Bergmann commit b78032a7e52995b42d231d0064358eef16c9a8cc Author: Arnd Bergmann Date: Tue May 20 19:16:14 2008 +0200 message-i2o-i2o_config: BKL pushdown Signed-off-by: Arnd Bergmann commit f18f81daba25d29541e46972a7ff4d65162ff167 Author: Arnd Bergmann Date: Tue May 20 19:16:13 2008 +0200 megaraid: BKL pushdown Signed-off-by: Arnd Bergmann commit cad84238056babf4e4e6b0de183238224aab8177 Author: Arnd Bergmann Date: Tue May 20 19:16:12 2008 +0200 media-radio-miropcm20-rds: BKL pushdown Signed-off-by: Arnd Bergmann commit b9bde77a6a4f76b767d4363a5f74127528426159 Author: Arnd Bergmann Date: Tue May 20 19:16:11 2008 +0200 macintosh-smu: BKL pushdown Signed-off-by: Arnd Bergmann commit 600bf8140c22e473ef0806ae45214aaaf53e0da3 Author: Arnd Bergmann Date: Tue May 20 19:16:10 2008 +0200 lcd: BKL pushdown Signed-off-by: Arnd Bergmann commit 28fbbf491368c9491461ca492e13862da1b49180 Author: Arnd Bergmann Date: Tue May 20 19:16:08 2008 +0200 jsflash: BKL pushdown Signed-off-by: Arnd Bergmann commit cddf63d99d0d145f18b293c3d0de4af7dab2a922 Author: Arnd Bergmann Date: Tue May 20 19:16:06 2008 +0200 irnet_ppp: BKL pushdown Signed-off-by: Arnd Bergmann commit af96f0103d332be92c42a44accf731da667ecc03 Author: Arnd Bergmann Date: Tue May 20 19:16:04 2008 +0200 ipmi-watchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit b0e54f7c477ad24fa0d49baed942c5a5909c748b Author: Arnd Bergmann Date: Tue May 20 19:16:03 2008 +0200 ip27-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 6b0ee363b294c3724224909dcb0b80f7dac3dfd6 Author: Arnd Bergmann Date: Tue May 20 19:16:02 2008 +0200 infiniband-ucma: BKL pushdown Signed-off-by: Arnd Bergmann commit a9c4e8f74ba26f10cf78fed7c5b863ea50988856 Author: Arnd Bergmann Date: Tue May 20 19:16:00 2008 +0200 hw-random: BKL pushdown Signed-off-by: Arnd Bergmann commit 48b81880519274d2a8b3e9919a47d91d05a1c964 Author: Arnd Bergmann Date: Tue May 20 19:15:59 2008 +0200 hpet: BKL pushdown Signed-off-by: Arnd Bergmann commit 986f8b8ccf4806c1e95528a6f157998113fb4f41 Author: Arnd Bergmann Date: Tue May 20 19:15:58 2008 +0200 hp_sdc_rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 4a7e79a7deab9718d51dc8d3ee938bd0eb789b7b Author: Arnd Bergmann Date: Tue May 20 19:15:57 2008 +0200 hdpu_cpustate: BKL pushdown Signed-off-by: Arnd Bergmann commit 742a2fe31bf311d065a2bbacc2b363103b351300 Author: Arnd Bergmann Date: Tue May 20 19:15:55 2008 +0200 genrtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 78abb6ac919cee123e632d833a42d0312ccb2b0d Author: Arnd Bergmann Date: Tue May 20 19:15:54 2008 +0200 flash: BKL pushdown Signed-off-by: Arnd Bergmann commit 1d17bf0c08569e7aefd27df0179065fb955588c4 Author: Arnd Bergmann Date: Tue May 20 19:15:53 2008 +0200 envctrl: BKL pushdown Signed-off-by: Arnd Bergmann commit 89c7de08c5fc059c4f6231571416d9bc0bbc91d4 Author: Arnd Bergmann Date: Tue May 20 19:15:52 2008 +0200 efirtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 080c2226474fa3060fadce9a2341004f477aadb3 Author: Arnd Bergmann Date: Tue May 20 19:15:50 2008 +0200 ds1620: BKL pushdown Signed-off-by: Arnd Bergmann commit 7ccef46320ecd52c4d20c8aad592599df76bb7a1 Author: Arnd Bergmann Date: Tue May 20 19:15:49 2008 +0200 ds1286: BKL pushdown Signed-off-by: Arnd Bergmann commit 514bcc66d4072a221a8dfd341a4006385a441918 Author: Arnd Bergmann Date: Tue May 20 19:15:48 2008 +0200 dlm-user: BKL pushdown Signed-off-by: Arnd Bergmann commit 009228dfb641ca7e4315ab0d0d55465747331025 Author: Arnd Bergmann Date: Tue May 20 19:15:47 2008 +0200 display7seg: BKL pushdown Signed-off-by: Arnd Bergmann commit e73322ceefb2a777dc0ef369a2504bf5c42b8c52 Author: Arnd Bergmann Date: Tue May 20 19:15:46 2008 +0200 crypto-zcrypt_api: BKL pushdown Signed-off-by: Arnd Bergmann commit 135fe10f9fb9fba981f60c5526e37900f52c9705 Author: Arnd Bergmann Date: Tue May 20 19:15:45 2008 +0200 crypto-prng: BKL pushdown Signed-off-by: Arnd Bergmann commit b05c9e6cd939b6f79be17e9b6a23ca15a219dec2 Author: Arnd Bergmann Date: Tue May 20 19:15:43 2008 +0200 cpwatchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit 122bc5eaf81a3870f6cc00d2e5e97f32f92e636b Author: Arnd Bergmann Date: Tue May 20 19:15:42 2008 +0200 bvme6000-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 556889a4ae89d5f2adf98cac58ecf9326b0d0297 Author: Arnd Bergmann Date: Tue May 20 19:15:41 2008 +0200 briq_panel: BKL pushdown Signed-off-by: Arnd Bergmann commit 8324af6dddac11f9f7e9df8b784f6949ddb61b5d Author: Arnd Bergmann Date: Tue May 20 19:15:40 2008 +0200 bluetooth-vhci: BKL pushdown Signed-off-by: Arnd Bergmann commit 986837badea28a8d32864ced7cbc2fb80b9f7c91 Author: Arnd Bergmann Date: Tue May 20 19:15:38 2008 +0200 block-dasd_eer: BKL pushdown Signed-off-by: Arnd Bergmann commit 9a8bd2f76cb78fd730337f1b3b9cbef101ce2dad Author: Arnd Bergmann Date: Tue May 20 19:15:37 2008 +0200 bf561-coreb: BKL pushdown Signed-off-by: Arnd Bergmann commit 52e7c5e08201e20ddbe93cb1977869c38072bc2f Author: Arnd Bergmann Date: Tue May 20 19:15:36 2008 +0200 basler-excite: BKL pushdown Signed-off-by: Arnd Bergmann commit 864fe51671c9e44fb9d02765623daac9acc26a8b Author: Arnd Bergmann Date: Tue May 20 19:15:34 2008 +0200 apm_32: BKL pushdown Signed-off-by: Arnd Bergmann commit 2861ead38b8a376888c3f63b9c8e45d4cee02117 Author: Arnd Bergmann Date: Tue May 20 19:15:33 2008 +0200 apm-emulation: BKL pushdown Signed-off-by: Arnd Bergmann commit b82829943c470e59cfd3ee84d8ed6ae5d5e1a55b Author: Arnd Bergmann Date: Tue May 20 19:15:32 2008 +0200 ans-lcd: BKL pushdown Signed-off-by: Arnd Bergmann commit a076230134f3083a58cef99e48b127818ef01e7a Author: Arnd Bergmann Date: Tue May 20 19:15:30 2008 +0200 agp-frontend: BKL pushdown Signed-off-by: Arnd Bergmann commit 8f5934278d1d86590244c2791b28f77d67466007 Author: Linus Torvalds Date: Mon May 19 19:53:01 2008 -0700 Replace BKL with superblock lock in fat/msdos/vfat This replaces the use of the BKL in the FAT family of filesystems with the existing superblock lock instead. The code already appears to do mostly proper locking with its own private spinlocks (and mutexes), but while the BKL could possibly have been dropped entirely, converting it to use the superblock lock (which is just a regular mutex) is the conservative thing to do. As a per-filesystem mutex, it not only won't have any of the possible latency issues related to the BKL, but the lock is obviously private to the particular filesystem instance and will thus not cause problems for entirely unrelated users like the BKL can. Signed-off-by: Linus Torvalds Cc: OGAWA Hirofumi Signed-off-by: Jonathan Corbet commit 5ca6a93d802a9d110127556e5d3ed032fd273e03 Author: Stephen Rothwell Date: Mon May 19 16:06:52 2008 +1000 bkl-removal viotape fixup Signed-off-by: Stephen Rothwell Signed-off-by: Jonathan Corbet commit 9514dff918b947ae43b66517dc90d0e05548bd6a Author: Jonathan Corbet Date: Sun May 18 15:40:00 2008 -0600 Remove the lock_kernel() call from chrdev_open() All in-kernel char device open() functions now either have their own lock_kernel() calls or clearly do not need one. Signed-off-by: Jonathan Corbet commit a30427d92d0bc152b833088e4a305bbeb1a0c162 Author: Jonathan Corbet Date: Sun May 18 15:39:11 2008 -0600 Add a comment in chrdev_open() I stared at this code for a while and almost deleted it before understanding crept into my slow brain. Hopefully this makes life easier for the next person to happen on it. Signed-off-by: Jonathan Corbet commit f2b9857eee17797541b845782ade4d7a9d50f843 Author: Jonathan Corbet Date: Sun May 18 15:32:43 2008 -0600 Add a bunch of cycle_kernel_lock() calls All of the open() functions which don't need the BKL on their face may still depend on its acquisition to serialize opens against driver initialization. So make those functions acquire then release the BKL to be on the safe side. Signed-off-by: Jonathan Corbet commit 0b2806768899dba5967bcd4a3b93eaed9a1dc4f3 Author: Jonathan Corbet Date: Sun May 18 14:27:41 2008 -0600 Add cycle_kernel_lock() A number of driver functions are so obviously trivial that they do not need the big kernel lock - at least not overtly. It turns out that the acquisition of the BKL in driver open() functions can perform a sort of poor-hacker's serialization function, delaying the open operation until the driver is certain to have completed its initialization. Add a simple cycle_kernel_lock() function for these cases to make it clear that there is no need to *hold* the BKL, just to be sure that we can acquire it. Signed-off-by: Jonathan Corbet commit 6606470dd1d628878383c96d10b52a77986ddac7 Author: Jonathan Corbet Date: Fri May 16 14:28:31 2008 -0600 videodev: BKL pushdown Put explicit lock_kernel() calls into videodev_open(). That function itself seems OK, but one never knows about all the open() functions provided by underlying video drivers. Signed-off-by: Jonathan Corbet commit b5b4aa67da65aeb58718e0a39158b293873ac572 Author: Jonathan Corbet Date: Fri May 16 14:25:20 2008 -0600 usbdev: BKL pushdown Add explicit lock_kernel() calls to usbdev_open() Signed-off-by: Jonathan Corbet commit 1af46fd72d6c18c1d96ce7f3491b841055e9dcfd Author: Jonathan Corbet Date: Fri May 16 14:23:31 2008 -0600 USB Monitor: BKL pushdown Add explicit lock_kernel() calls to mon_bin_open() Signed-off-by: Jonathan Corbet commit b2f2ba01b2a4356e92231669f7e3dcee37ac2fca Author: Jonathan Corbet Date: Fri May 16 14:21:30 2008 -0600 printer gadget: BKL pushdown Add explicit lock_kernel() calls to printer_open() Signed-off-by: Jonathan Corbet commit 26ce4f0684ef4b96d0244ac58b89ec282d5b980c Author: Jonathan Corbet Date: Fri May 16 14:19:56 2008 -0600 adb: BKL pushdown Put explicit lock_kernel() calls in adb_open(). The fact that adb_release() already has them suggests this is necessary. Signed-off-by: Jonathan Corbet commit 3462032d66703ef7721329b44fe2dac4aaef475d Author: Jonathan Corbet Date: Fri May 16 14:17:33 2008 -0600 divamnt: BKL pushdown Put explicit lock_kernel() calls into maint_open(). Signed-off-by: Jonathan Corbet commit a237f3bbaab28bb780201f15f6003cf3d2e81024 Author: Jonathan Corbet Date: Fri May 16 14:15:33 2008 -0600 CAPI: BKL pushdown Put explicit lock_kernel() calls into capi_open() Signed-off-by: Jonathan Corbet commit b0061a0ec4d10a69309d0371a01e8b99387009ef Author: Jonathan Corbet Date: Fri May 16 14:12:52 2008 -0600 changer: BKL pushdown Add lock_kernel() calls to ch_open(), though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit dea3f665d6fa263a9870a54e9f8cfd146016f140 Author: Jonathan Corbet Date: Fri May 16 14:11:09 2008 -0600 dpt_i20: BKL pushdown Add lock_kernel() calls to adpt_open() Signed-off-by: Jonathan Corbet commit 9aaf20cbf5b7cccd45495326cba0b35b2884e6b3 Author: Jonathan Corbet Date: Fri May 16 14:08:58 2008 -0600 videopix: BKL pushdown Add explicit lock_kernel() calls to vfc_open(). Signed-off-by: Jonathan Corbet commit 5e9829ad38c24aa71252e643836e7cedcb1c83d7 Author: Jonathan Corbet Date: Fri May 16 14:06:45 2008 -0600 bpp: bkl pushdown Put explicit lock_kernel() calls into bpp_open(). It has locking, but I'm not convinced it won't race with ioctl(). Signed-off-by: Jonathan Corbet commit 4541b5ec9f631a143cdea862d07ddfc3cdac36f2 Author: Jonathan Corbet Date: Fri May 16 14:03:05 2008 -0600 phantom: BKL pushdown Add explicit lock_kernel calls to phantom_open(). Signed-off-by: Jonathan Corbet commit 057e7c7ff9f91a36a761588c53826bd6a710aeba Author: Jonathan Corbet Date: Fri May 16 14:01:12 2008 -0600 infiniband: more BKL pushdown Be extra-cautious and protect the remaining open() functions. Signed-off-by: Jonathan Corbet commit 65f37b790bd7ba15413838579470296a709c45e6 Author: Jonathan Corbet Date: Fri May 16 13:57:31 2008 -0600 dsp56k: BKL pushdown Put explicit lock_kernel calls into dsp56k_open(). [Stupid missing label error fixed] Signed-off-by: Jonathan Corbet commit c0bed680f0ca603864375ed5f9fed4296a53aa62 Author: Jonathan Corbet Date: Fri May 16 13:54:46 2008 -0600 raw: BKL pushdown Put explicit lock_kernel() calls into raw_open(), even though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit b8c71d7ae2a7f723d171d9175212b6d0a727655d Author: Jonathan Corbet Date: Fri May 16 13:53:00 2008 -0600 tlckl: BKL pushdown Put explicit lock_kernel calls into tlclk_open() Signed-off-by: Jonathan Corbet commit f4943db14f5071ecbf7ca76722e59a2fd22bda4d Author: Jonathan Corbet Date: Fri May 16 13:50:20 2008 -0600 xilinx icap: BKL pushdown Add explicit lock_kernel() calls to hwicap_open() even though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit f97259e35de1f99ba0ac19383408e247fd763cf0 Author: Jonathan Corbet Date: Fri May 16 13:47:50 2008 -0600 vcs: BKL pushdown Add explicit BKL to vcs_open(). Signed-off-by: Jonathan Corbet commit 609f9e92b570f390a457a81effe0af6b758dc582 Author: Jonathan Corbet Date: Fri May 16 13:46:14 2008 -0600 spidev: BKL pushdown Add the BKL to spidev_open(), even though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit d21c95c569c462da20d491b75d0a45bd70ddc1bf Author: Jonathan Corbet Date: Fri May 16 13:40:30 2008 -0600 Add "no BKL needed" comments to several drivers This documents the fact that somebody looked at the relevant open() functions and concluded that, due to their trivial nature, no locking was needed. Signed-off-by: Jonathan Corbet commit 39d95b9d857ad9ed335dd1a2d6c6de1f1ee69ce1 Author: Jonathan Corbet Date: Fri May 16 09:10:50 2008 -0600 tty: cdev lock_kernel() pushdown Parts of the serial code actually BUG() if we don't do this. commit c43ef17450dce8cbf50f97497a1949ff8f484e88 Author: Jonathan Corbet Date: Thu May 15 16:44:14 2008 -0600 snsc: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 78a3c3d7c6b89085610edfe86f7790144afc737e Author: Jonathan Corbet Date: Thu May 15 16:39:03 2008 -0600 sound: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit fc7f687a6878e19f7ce58cb8a65659cd2730b586 Author: Jonathan Corbet Date: Thu May 15 16:30:36 2008 -0600 fbmem: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 5794e1b14bcd9817c5fa27d3254996f0d9551296 Author: Jonathan Corbet Date: Thu May 15 16:26:57 2008 -0600 dvb: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 20613f24bcd1cbfb08e64f0bb00c44481313b448 Author: Jonathan Corbet Date: Thu May 15 16:24:25 2008 -0600 usbcore: cdev lock_kernel() pushdown usb_open() is protected by a down_read(&minor_rwsem), but I'm not sure I trust it to protect everything including subsidiary open() functions. Signed-off-by: Jonathan Corbet commit 1bcaa0bd6fd5b510dd9f1ba2da114d3f1253af61 Author: Jonathan Corbet Date: Thu May 15 16:16:28 2008 -0600 isdn: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 46787b481be00d5443d385480d12470728406cf4 Author: Jonathan Corbet Date: Thu May 15 16:09:48 2008 -0600 gdth: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit b3369c68bf9d61062585f3ebc1286220191c0f84 Author: Jonathan Corbet Date: Thu May 15 16:08:15 2008 -0600 st: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit d4514d1bed1c7157bcff4c81307a9e0374df257a Author: Jonathan Corbet Date: Thu May 15 16:01:47 2008 -0600 aacraid: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 647d87bd1b9e7ff24f89b7d4e38c75d756018caa Author: Jonathan Corbet Date: Thu May 15 12:23:19 2008 -0600 osst: cdev lock_kernel() pushdown. Signed-off-by: Jonathan Corbet commit eb09d3d4ee09b25876db549b6d5221610216e105 Author: Jonathan Corbet Date: Thu May 15 12:22:06 2008 -0600 sg: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 04f4ac9d1bb8a9103609ce8e927f8e98826ce339 Author: Jonathan Corbet Date: Thu May 15 12:01:56 2008 -0600 ide-tape: cdev lock_kernel() pushdown ->release() already has explicit lock_kernel() calls... Signed-off-by: Jonathan Corbet commit 16750c2f32e3fd879fce787a13900f11633ef9af Author: Jonathan Corbet Date: Thu May 15 11:58:31 2008 -0600 phonedev: cdev lock_kernel() pushdown phone_open() looks OK, but I don't trust the subsidiary drivers (and ixj in particular). Signed-off-by: Jonathan Corbet commit 70ffa16e604bab22b12bf72cb7796f1dd01ec335 Author: Jonathan Corbet Date: Thu May 15 11:34:16 2008 -0600 drm: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit abedd296e97a5d943e76999de97253f1b62a4846 Author: Jonathan Corbet Date: Thu May 15 11:29:38 2008 -0600 lp: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 12ead6b098b65dd21d3ed4fcccf20025dbe86cc2 Author: Jonathan Corbet Date: Thu May 15 11:24:23 2008 -0600 mbcs: cdev lock_kernel() pushdown This driver would appear to have no internal locking at all. Signed-off-by: Jonathan Corbet commit 2d863e92ec1b1deb8167d7f5266f754f258e876a Author: Jonathan Corbet Date: Thu May 15 11:16:21 2008 -0600 viotape: cdev lock_kernel pushdown () Signed-off-by: Jonathan Corbet commit 309c4551c0fa0897d5343c36cbfbfa39f1f41b88 Author: Jonathan Corbet Date: Thu May 15 11:07:52 2008 -0600 misc: cdev lock_kernel() pushdown misc_open() looks fine, but who knows what all of the misc drivers are doing in their open() functions? Signed-off-by: Jonathan Corbet commit 1f439647a4072ec64bb2e4b9290cd7be6aee8328 Author: Jonathan Corbet Date: Thu May 15 11:04:19 2008 -0600 mem: cdev lock_kernel() pushdown It's really hard to tell if this is necessary - lots of weird magic happens by way of map_devmem() Signed-off-by: Jonathan Corbet commit ecc38983f6c83f371fefb5a69a72e358fc7b1218 Author: Jonathan Corbet Date: Thu May 15 10:46:49 2008 -0600 ipmi: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit fbc8a81d66bbbce3f0b4d5752f8bc8bb3c1fc439 Author: Jonathan Corbet Date: Thu May 15 10:39:37 2008 -0600 UIO: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 2edbf8537edc62c9b0ef75e7025d01e8b6a48707 Author: Jonathan Corbet Date: Thu May 15 10:37:16 2008 -0600 Input: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 702e57d9ef7002f8d362faa6ddebc59e6d43fa05 Author: Jonathan Corbet Date: Thu May 15 10:25:44 2008 -0600 HID: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 72b67048f5dac18fd6494e3d3bff7e54840e8761 Author: Jonathan Corbet Date: Thu May 15 10:15:38 2008 -0600 UBI: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 6071239ef1947914892601e36785c7b1cf8b7dd4 Author: Jonathan Corbet Date: Thu May 15 10:10:37 2008 -0600 mtdchar: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit ea2959a2972410f15155a015df74ce77ac79f8b8 Author: Jonathan Corbet Date: Thu May 15 10:07:56 2008 -0600 paride: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 579174a55f491edeaccb8f5d3dc7ad69a17f5423 Author: Jonathan Corbet Date: Thu May 15 10:03:09 2008 -0600 AoE: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 764a4a8e54cdd6efc5928f876aa9e35778f22377 Author: Jonathan Corbet Date: Thu May 15 10:01:17 2008 -0600 drivers/s390: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 51a776fa7a7997e726d4a478eda0854c6f9143bd Author: Jonathan Corbet Date: Thu May 15 09:38:18 2008 -0600 rtc: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 0f476b6d91a1395bda6464e653ce66ea9bea7167 Author: Johannes Berg Date: Wed Jun 18 09:29:37 2008 +0200 softirq: remove irqs_disabled warning from local_bh_enable There's no need to use local_irq_save() over local_irq_disable() in the local_bh_enable code since it is a bug to call it with irqs disabled and do_softirq will enable irqs if there is any pending work. Consolidate the code from local_bh_enable and ..._ip to avoid having a disconnect between them in the warnings they trigger that is currently there. Also always trigger the warning on in_irq(), not just in the trace-irqflags case. Signed-off-by: Johannes Berg Cc: Michael Buesch Cc: David Ellingsworth Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit a1d5a8691f1b6c92491747bea3b778b184fa5837 Author: Ingo Molnar Date: Fri Jun 20 15:34:46 2008 +0200 x86: unify __set_fixmap, fix fix build failure: arch/x86/mm/pgtable.c:280: warning: ‘enum fixed_addresses’ declared inside parameter list arch/x86/mm/pgtable.c:280: warning: its scope is only this definition or declaration, which is probably not what you want arch/x86/mm/pgtable.c:280: error: parameter 1 (‘idx’) has incomplete type Signed-off-by: Ingo Molnar commit aeaaa59c7e15dcfaaf57ce069ef81683067d575d Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:42:01 2008 -0700 x86/paravirt/xen: add set_fixmap pv_mmu_ops Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Juan Quintela Signed-off-by: Eduardo Habkost Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar commit d494a96125c99f1e37b1f831b29b42c9b712ee05 Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:41:59 2008 -0700 x86: implement set_pte_vaddr Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 7c7e6e07e2a7c0d2d96389f4f0540e44a80ecdaa Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:41:54 2008 -0700 x86: unify __set_fixmap In both cases, I went with the 32-bit behaviour. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 944256e00a5466ae6b7a11fdb3a47d092f2f62c1 Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:41:49 2008 -0700 x86: unify asm-x86/fixmap*.h Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a987b16cc6123af2c9414032701bab5f73c54c89 Author: Jeremy Fitzhardinge Date: Mon Jun 16 15:01:56 2008 -0700 xen: don't drop NX bit Because NX is now enforced properly, we must put the hypercall page into the .text segment so that it is executable. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit eb179e443deb0a5c81a62b4c157124a4b7ff1813 Author: Jeremy Fitzhardinge Date: Mon Jun 16 15:01:53 2008 -0700 xen: mask unwanted pte bits in __supported_pte_mask [ Stable: this isn't a bugfix in itself, but it's a pre-requiste for "xen: don't drop NX bit" ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit 6673cf63e5d973db5145d1f48b354efcb9fe2a13 Author: Isaku Yamahata Date: Mon Jun 16 14:58:13 2008 -0700 xen: Use wmb instead of rmb in xen_evtchn_do_upcall(). This patch is ported one from 534:77db69c38249 of linux-2.6.18-xen.hg. Use wmb instead of rmb to enforce ordering between evtchn_upcall_pending and evtchn_pending_sel stores in xen_evtchn_do_upcall(). Cc: Samuel Thibault Signed-off-by: Isaku Yamahata Cc: Nick Piggin Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit a1855d802fb62718192eb7e180161b08adff4e73 Author: Takashi Iwai Date: Thu Jun 19 15:41:37 2008 +0200 ALSA: hda - Fix digital converter proc output AC_VERB_GET_DIGI_CONVERT_2 isn't actually implemented but reserved. The whole SIC bits are returned from DIGI_CONVERT_1. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 443cd507ce7f78c6f8742b72736585c031d5a921 Author: Huang, Ying Date: Fri Jun 20 16:39:21 2008 +0800 lockdep: add lock_class information to lock_chain and output it This patch records array of lock_class into lock_chain, and export lock_chain information via /proc/lockdep_chains. It is based on x86/master branch of git-x86 tree, and has been tested on x86_64 platform. Signed-off-by: Huang Ying Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6c3df25511c2c51f2dd36cc52a8d22363d731793 Author: Peter Zijlstra Date: Thu Jun 19 14:22:28 2008 +0200 sched: rt: dont stop the period timer when there are tasks wanting to run So if the group ever gets throttled, it will never wake up again. Signed-off-by: Peter Zijlstra Cc: "Daniel K." Cc: Peter Zijlstra Reported-by: "Daniel K." commit 10b612f440a22a294e87ec7e8f03f9eea3338628 Author: Peter Zijlstra Date: Thu Jun 19 14:22:27 2008 +0200 sched: rt: fix the bandwidth contraint computations Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit eff6549b957d15d1ad168d90b8c1eb643b9c163f Author: Peter Zijlstra Date: Thu Jun 19 14:22:26 2008 +0200 sched: rt: move some code around Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit b79f3833d81d54fc71d98c8064dc45f33a755a8a Author: Peter Zijlstra Date: Thu Jun 19 14:22:25 2008 +0200 sched: rt: fix SMP bandwidth balancing for throttled groups Now we exceed the runtime and get throttled - the period rollover tick will subtract the cpu quota from the runtime and check if we're below quota. However with this cpu having a very small portion of the runtime it will not refresh as fast as it should. Therefore, also rebalance the runtime when we're throttled. Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit ada18de2eb76961a4d4847f63291744c9e7beec4 Author: Peter Zijlstra Date: Thu Jun 19 14:22:24 2008 +0200 sched: debug: add some rt debug output Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit 7dbceaf9bb68919651901b101f44edd5391ee489 Author: Ingo Molnar Date: Fri Jun 20 07:28:24 2008 +0200 x86, bitops: make constant-bit set/clear_bit ops faster, adapt, clean up fix integration bug introduced by "x86: bitops take an unsigned long *" which turned "(void *) + x" into "(long *) + x". small cleanups to make it more apparent which value get propagated where. Signed-off-by: Ingo Molnar commit 5f0120b5786f5dbe097a946a2eb5d745ebc2b7ed Author: Jan Beulich Date: Wed Jun 18 12:42:11 2008 +0100 x86-64: remove unnecessary ptregs call stubs Signed-off-by: Jan Beulich Cc: "Andi Kleen" Signed-off-by: Ingo Molnar commit 1a750e0cd7a30c478723ecfa1df685efcdd38a90 Author: Linus Torvalds Date: Wed Jun 18 21:03:26 2008 -0700 x86, bitops: make constant-bit set/clear_bit ops faster On Wed, 18 Jun 2008, Linus Torvalds wrote: > > And yes, the "lock andl" should be noticeably faster than the xchgl. I dunno. Here's a untested (!!) patch that turns constant-bit set/clear_bit ops into byte mask ops (lock orb/andb). It's not exactly pretty. The reason for using the byte versions is that a locked op is serialized in the memory pipeline anyway, so there are no forwarding issues (that could slow down things when we access things with different sizes), and the byte ops are a lot smaller than 32-bit and particularly 64-bit ops (big constants, and the 64-bit ops need the REX prefix byte too). [ Side note: I wonder if we should turn the "test_bit()" C version into a "char *" version too.. It could actually help with alias analysis, since char pointers can alias anything. So it might be the RightThing(tm) to do for multiple reasons. I dunno. It's a separate issue. ] It does actually shrink the kernel image a bit (a couple of hundred bytes on the text segment for my everything-compiled-in image), and while it's totally untested the (admittedly few) code generation points I looked at seemed sane. And "lock orb" should be noticeably faster than "lock bts". If somebody wants to play with it, go wild. I didn't do "change_bit()", because nobody sane uses that thing anyway. I guarantee nothing. And if it breaks, nobody saw me do anything. You can't prove this email wasn't sent by somebody who is good at forging smtp. This does require a gcc that is recent enough for "__builtin_constant_p()" to work in an inline function, but I suspect our kernel requirements are already higher than that. And if you do have an old gcc that is supported, the worst that would happen is that the optimization doesn't trigger. Signed-off-by: Ingo Molnar commit dd0c7c4903c29da9aa3bf33deecf064d190a0d81 Author: Andreas Herrmann Date: Wed Jun 18 15:38:57 2008 +0200 x86: shrink pat_x_mtrr_type to its essentials Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Cc: Hugh Dickins Signed-off-by: Ingo Molnar commit b8e0418b2a25f975c3b8764030c24b7253d33a68 Author: Glauber Costa Date: Mon Jun 16 19:59:08 2008 -0300 x86: fix typo CONFIX -> CONFIG Signed-off-by: Ingo Molnar commit 28bb171169247754bae47bad0609208333e7a34b Author: Harvey Harrison Date: Wed Jun 18 13:45:13 2008 -0700 alsa: add annotations to bitwise type snd_pcm_hw_param_t Fully half of all alsa sparse warnings are from snd_pcm_hw_param_t degrading to integer type, this goes a long way towards eliminating them. Signed-off-by: Harvey Harrison Signed-off-by: Jaroslav Kysela commit 1cdad71537b42d0f0bf247772942ce678e4e8898 Merge: 20b6331... 15a8641... Author: Ingo Molnar Date: Thu Jun 19 09:09:15 2008 +0200 Merge branch 'sched' into sched-devel Conflicts: kernel/sched_rt.c Signed-off-by: Ingo Molnar commit 219835f10eaef19d2b976076f2bc4ad806856c55 Author: Paolo Ciarrocchi Date: Sat Jun 14 21:11:39 2008 +0200 x86: coding style fixes to x86/kernel/cpu/cpufreq/cpufreq-nforce2.c Before: total: 22 errors, 8 warnings, 440 lines checked After: total: 0 errors, 8 warnings, 442 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/cpufreq-nforce2.o.* 3d4330a5d188fe904446e5948a618b48 /tmp/cpufreq-nforce2.o.after 1477e6b0dcd6f59b1fb6b4490042eca6 /tmp/cpufreq-nforce2.o.before ^^^ I guess this is because I fixed a few "do not initialise statics to 0 or NULL" paolo@paolo-desktop:~/linux.trees.git$ size /tmp/cpufreq-nforce2.o.* text data bss dec hex filename 1923 72 16 2011 7db /tmp/cpufreq-nforce2.o.after 1923 72 16 2011 7db /tmp/cpufreq-nforce2.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit f016e15c11ba8945ff8e1945445648722d6fadfb Author: Paolo Ciarrocchi Date: Sat Jun 14 20:44:52 2008 +0200 x86: coding style fixes to arch/x86/math-emu/reg_constant Before: total: 6 errors, 1 warnings, 117 lines checked After: total: 0 errors, 1 warnings, 117 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/reg_constant.o.* 780388a3056d58fb759efaf190d5d3d1 /tmp/reg_constant.o.after 780388a3056d58fb759efaf190d5d3d1 /tmp/reg_constant.o.before paolo@paolo-desktop:~/linux.trees.git$ size /tmp/reg_constant.o.* text data bss dec hex filename 457 0 0 457 1c9 /tmp/reg_constant.o.after 457 0 0 457 1c9 /tmp/reg_constant.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 5175676a2d012ca5e5ad5eaedbfc1da5d5660d2a Author: Paolo Ciarrocchi Date: Sat Jun 14 14:37:14 2008 +0200 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/k7.c Before: total: 6 errors, 13 warnings, 105 lines checked After: total: 0 errors, 0 warnings, 105 lines checked paolo@paolo-desktop:~/linux.trees.git$ size /tmp/k7* text data bss dec hex filename 1135 0 0 1135 46f /tmp/k7.o.after 1135 0 0 1135 46f /tmp/k7.o.before paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/k7* 87b14954045aa37dbaee6fb7e022ed9a /tmp/k7.o.after 87b14954045aa37dbaee6fb7e022ed9a /tmp/k7.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit fe94ae995d33a4df35b6b9cd0504e87d7e37c8de Author: Paolo Ciarrocchi Date: Sat Jun 14 14:06:19 2008 +0200 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/p4.c Before: total: 16 errors, 34 warnings, 257 lines checked After: total: 0 errors, 2 warnings, 257 lines checked No changes in the compiled code: paolo@paolo-desktop:~/linux.trees.git$ size /tmp/p4* text data bss dec hex filename 2644 4 4 2652 a5c /tmp/p4.o.after 2644 4 4 2652 a5c /tmp/p4.o.before paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/p4* 13f1b21c4246b31a28aaff38184586ca /tmp/p4.o.after 13f1b21c4246b31a28aaff38184586ca /tmp/p4.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 4620b49f76096fa5183eecad7d689faa898a4c82 Author: Vegard Nossum Date: Thu Jun 12 23:21:53 2008 +0200 softirq: remove initialization of static per-cpu variable Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit e17ba73b0ee6c0f24393c48b455e0d8db761782c Author: Jiri Slaby Date: Mon May 12 15:44:40 2008 +0200 x86, generic: mark early_printk as asmlinkage It's not explicitly marked as asmlinkage, but invoked from x86_32 startup code with parameters on stack. No other architectures define early_printk and none of them are affected by this change, since defines asmlinkage as empty token. Signed-off-by: Jiri Slaby Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 20b6331bfed1f07ba1e5006889a5d64adc53615e Author: Dmitry Adamushko Date: Wed Jun 11 00:58:30 2008 +0200 sched: rework of "prioritize non-migratable tasks over migratable ones" regarding this commit: 45c01e824991b2dd0a332e19efc4901acb31209f I think we can do it simpler. Please take a look at the patch below. Instead of having 2 separate arrays (which is + ~800 bytes on x86_32 and twice so on x86_64), let's add "exclusive" (the ones that are bound to this CPU) tasks to the head of the queue and "shared" ones -- to the end. In case of a few newly woken up "exclusive" tasks, they are 'stacked' (not queued as now), meaning that a task {i+1} is being placed in front of the previously woken up task {i}. But I don't think that this behavior may cause any realistic problems. There are a couple of changes on top of this one. (1) in check_preempt_curr_rt() I don't think there is a need for the "pick_next_rt_entity(rq, &rq->rt) != &rq->curr->rt" check. enqueue_task_rt(p) and check_preempt_curr_rt() are always called one after another with rq->lock being held so the following check "p->rt.nr_cpus_allowed == 1 && rq->curr->rt.nr_cpus_allowed != 1" should be enough (well, just its left part) to guarantee that 'p' has been queued in front of the 'curr'. (2) in set_cpus_allowed_rt() I don't thinks there is a need for requeue_task_rt() here. Perhaps, the only case when 'requeue' (+ reschedule) might be useful is as follows: i) weight == 1 && cpu_isset(task_cpu(p), *new_mask) i.e. a task is being bound to this CPU); ii) 'p' != rq->curr but here, 'p' has already been on this CPU for a while and was not migrated. i.e. it's possible that 'rq->curr' would not have high chances to be migrated right at this particular moment (although, has chance in a bit longer term), should we allow it to be preempted. Anyway, I think we should not perhaps make it more complex trying to address some rare corner cases. For instance, that's why a single queue approach would be preferable. Unless I'm missing something obvious, this approach gives us similar functionality at lower cost. Verified only compilation-wise. (Almost)-Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit f7d62364b2cef85cbcd4feffdd3632ef7c3b61c2 Author: Hiroshi Shimamoto Date: Tue Jun 10 20:29:19 2008 -0700 sched: fix typo in Documentation/scheduler/sched-rt-group.txt Fix minor typos. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 0db125c467afcbcc229abb1a87bc36ef72777dc2 Author: Vegard Nossum Date: Tue Jun 10 23:45:45 2008 +0200 x86: more header fixes Summary: Add missing include guards for some x86 headers. This has only had the most rudimentary testing, but is hopefully obviously correct. Signed-off-by: Ingo Molnar commit 6cf514fce18589ea1e0521c5f2d7c2bb280fefc7 Author: Hugh Dickins Date: Mon Jun 16 18:42:43 2008 +0100 x86: PAT: make pat_x_mtrr_type() more readable Clean up over-complications in pat_x_mtrr_type(). And if reserve_memtype() ignores stray req_type bits when pat_enabled, it's better to mask them off when not also. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit b4b3bd96f26586e53ab5482f1869221dd1b5ac36 Author: Daniel Rahn Date: Fri Jun 6 09:42:36 2008 +0200 x86: correctly report NR_BANKS in mce_64.c attached is a no-brainer that makes kernel correctly report NR_BANKS for MCE. We are right now limited to NR_BANKS==6, but the error message will use the available number of banks instead of the defined maximum. For a Nehalem based system it will print: "MCE: warning: using only 9 banks" while the correct message would be "MCE: warning: using only 6 banks" Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 1301a964cef2759d46b4ce366eeeee1f869731f9 Author: Randy Dunlap Date: Tue Jun 17 19:19:34 2008 +0100 ALSA: ASoC: fix PM=n build Fix sound/soc build failure when CONFIG_PM=n: linux-next-20080617/sound/soc/soc-core.c:829: error: 'soc_resume_deferred' undeclared (first use in this function) soc3.out:make[3]: *** [sound/soc/soc-core.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f52845ad771a2b62bc06bc940f16c8f6296654ec Author: Takashi Iwai Date: Tue Jun 17 16:35:22 2008 +0200 ALSA: ca0106 - Add entry for another MSI K8N Diamond MB Added an entry for another MSI K8N Diamond mobo with SSID 1102:1009. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43785eaeb1cfb8aed3cf8027f298b242f88fdc45 Author: Takashi Iwai Date: Mon Jun 16 15:47:26 2008 +0200 ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode Don't create mixer volume elements for Headphone and Speaker if they use the same DAC as normal line-outs on AD1988. Otherwise the amp value gets screwed up, e.g. https://bugzilla.novell.com/show_bug.cgi?id=398255 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83544994a6a592073e9f6b937c6da12cf5ed2d1e Author: Timur Tabi Date: Fri Jun 13 14:02:31 2008 -0500 ALSA: Fix register programming in Freescale MPC8610 HPCD sound driver Fix the Freescale MPC8610 HPCD sound driver so that it programs the DMACR and PMUXCR registers in the global utilities correctly. Signed-off-by: Timur Tabi Acked-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee4311adf105f4d740f52e3948acc1d81598afcc Author: Ingo Molnar Date: Tue Jun 17 17:43:02 2008 +0200 ftrace: build fix with gcc 4.3 fix: arch/x86/kernel/ftrace.c: Assembler messages: arch/x86/kernel/ftrace.c:82: Error: bad register name `%sil' make[1]: *** [arch/x86/kernel/ftrace.o] Error 1 Signed-off-by: Ingo Molnar commit 284373059f9605442cac6453780f6aaecf9abac1 Author: Takashi Iwai Date: Tue Jun 17 16:30:27 2008 +0200 ALSA: emu10k1 - simplify the last fix Clean up the previous commit for fixing memory leaks. Signed-off-by: Takashi Iwai commit 9f515b6898d0f2c1b9eb34ae9986794045f34e2b Author: Jaroslav Kysela Date: Tue Jun 17 16:20:13 2008 +0200 ALSA: emu10k1 - fix possible memory leak in memory allocation routines The leak was introduced in "[ALSA] emu10k1 - simplify page allocation for synth" commit. Signed-off-by: Jaroslav Kysela commit e01b70ef3eb3080fecc35e15f68cd274c0a48163 Author: Jiri Hladky Date: Mon Jun 2 12:00:19 2008 +0200 x86: fix bug in arch/i386/lib/delay.c file, delay_loop function when trying to understand how Bogomips are implemented I have found a bug in arch/i386/lib/delay.c file, delay_loop function. The function fails for loops > 2^31+1. It because SF is set when dec returns numbers > 2^31. The fix is to use jnz instruction instead of jns (and add one decl instruction to the end to have exactly the same number of loops as in original version). Martin Mares observed: > It is a long time since I have hacked that file, but you should definitely > make sure that the function is never called with a zero argument. In such > case, the original version made just a single pass, but your version > makes 2^32 of them. fixed that. Signed-off-by: Ingo Molnar commit e6e07d8a2d2989c1f42287131308aa2fde253631 Author: Jeremy Fitzhardinge Date: Mon Jun 16 16:08:17 2008 -0700 x86: make asm/asm.h work for asm code. This is useful for unifying some pieces of asm code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit f22529351f7060d61eff3b76d7c9706f90aaedf3 Author: Ingo Molnar Date: Thu May 22 10:37:48 2008 +0200 namespacecheck: fixes Signed-off-by: Ingo Molnar commit 7aaaec38fcd9ef3172e69f8c19f20113830a8498 Merge: 1ac9701... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:28:04 2008 +0200 Merge branch 'linus' into x86/kconfig commit c54f9da1c8ceee19436430afac0798a989eb886d Merge: a2eddfa... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:27:53 2008 +0200 Merge branch 'linus' into x86/irqstats commit d939d2851fd12568e2eabb2916769e8a57ba5c89 Merge: 9f5314f... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:27:45 2008 +0200 Merge branch 'linus' into x86/irq commit 33ee375b2ea5dd11581a57d67bedd0ca39b19a5e Merge: 6703f6d... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:27:18 2008 +0200 Merge branch 'linus' into x86/gart commit 9583f3d9c00974911daf227cbaa12d6c1caaabad Merge: 962cf36... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:24:17 2008 +0200 Merge branch 'linus' into core/softirq commit 6d72b7952fa7d7c61d021398970c29afde6a4443 Merge: 6360b1f... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:24:00 2008 +0200 Merge branch 'linus' into core/rodata commit 688d22e23ab1caacb2c36c615854294b58f2ea47 Merge: 7e0edc1... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:21:27 2008 +0200 Merge branch 'linus' into x86/xen commit fd2c17e1777d46cff14c25ea774a4d17459d188a Merge: 74e411c... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:20:57 2008 +0200 Merge branch 'linus' into x86/timers commit 3557b18fcbe0e29706214f3c7cc680a7823605eb Merge: 4226ab9... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:20:37 2008 +0200 Merge branch 'linus' into x86/ptemask commit faeca31d068090285b77c39574d2bda14b079c50 Merge: 499f8f8... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:20:28 2008 +0200 Merge branch 'linus' into x86/pat commit 064a32d82c20cdcb0119a8b316eb520608d8c647 Merge: 0327318... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:19:53 2008 +0200 Merge branch 'linus' into x86/memtest commit 1791a78c0b10fe548bf08a2ed7f84a4ea1385430 Merge: bf07dc8... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:17:50 2008 +0200 Merge branch 'linus' into x86/cleanups commit ed9e4996d9a123b7550e63713d563f524fa9d9f0 Merge: 4d2df79... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:17:19 2008 +0200 Merge branch 'linus' into tracing/sysprof commit cb9aa97c21c59ad01c9514d7faf45dc166fba226 Merge: 668a6c3... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:16:46 2008 +0200 Merge branch 'linus' into tracing/mmiotrace-mergefixups commit e765ee90da62535ac7d7a97f2464f9646539d683 Merge: a4500b8... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:15:58 2008 +0200 Merge branch 'linus' into tracing/ftrace commit f9e8e07e074a880e110922759dcdb369fecdf07c Merge: e9886ca... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:15:21 2008 +0200 Merge branch 'linus' into sched-devel commit 6719292af5513da52aa876d0e7ac4367a0851845 Author: Jaroslav Kysela Date: Mon Jun 16 10:39:34 2008 +0200 ALSA: Remove duplicate MODULE_AUTHOR/DESCRIPTION/LICENCE from snd-ens1370.ko But comment only extra code in ak4531_codec.c for history. Signed-off-by: Jaroslav Kysela commit 28638ea4f8adb63f837e4436560ab16ab0388587 Merge: f781b03... 0665190... Author: Ingo Molnar Date: Mon Jun 16 10:17:15 2008 +0200 Merge branch 'linus' into x86/nmi Conflicts: arch/x86/kernel/nmi_32.c commit b7d2399242b639f0b0be5f901506a7180d961b64 Author: Jaroslav Kysela Date: Mon Jun 16 09:42:25 2008 +0200 ALSA: Release 1.0.17rc2 Signed-off-by: Jaroslav Kysela commit 766979e09d302315f314bfd96fdd83f8f9896d9c Author: Takashi Iwai Date: Fri Jun 13 20:53:56 2008 +0200 ALSA: hda - use upper_32_bits() Use the standard upper_32_bits() instead of own macro. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0c6341ace5efb14a0da08482e299b3c158e0d5fb Author: Takashi Iwai Date: Fri Jun 13 20:50:27 2008 +0200 ALSA: hda - bdl_pos_adj=32 as default Use bdl_pos_adj=32 as default except for Intel hardwares confirmed to work with bdl_pos_adj=1. Looks like ATI and NVidia require this higher value. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6ed2597883b1b03ca94f62f0cfe908314cba6d6b Author: Andy Green Date: Fri Jun 13 16:24:05 2008 +0100 ALSA: ASoC: Don't block system resume On OpenMoko soc-audio resume is taking 700ms of the whole resume time of 1.3s, dominated by writes to the codec over I2C. This patch shunts the resume guts into a workqueue which then is done asynchronously. The "card" is locked using the ALSA power state APIs as suggested by Mark Brown. [Added fix for race with resume to suspend and fixed a couple of nits from checkpatch -- broonie.] Signed-off-by: Andy Green Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit abb68c26ba15f8e84e580a40c0b1bc349cb534b0 Author: Mark Brown Date: Fri Jun 13 16:24:04 2008 +0100 ALSA: ASoC: Check for exact register match in wm97xx_reset() To provide added robustness in case an AC97 controller reads back all zeros in error cases check for an exact match when testing to see if resets have brought the codec back. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit aafc4412be31306e5c38bd4e4581066507503adc Author: Matthew Ranostay Date: Fri Jun 13 18:04:33 2008 +0200 ALSA: hda: Add support for 92HD73xxx codecs Added support for new family of IDT codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87c8a64475f0597b7fd9c36d2f867ae8ef4a9eca Author: Ingo Molnar Date: Mon Jun 2 13:19:08 2008 +0200 printk: export console_drivers this symbol is needed by drivers/video/xen-fbfront.ko. Signed-off-by: Ingo Molnar commit 9fc697b0b01416edae99dd9c5c49fb69c9282744 Author: Stefan Schmidt Date: Tue Jun 10 08:57:27 2008 +0100 [ARM] 5082/1: pxa: Definition for the third USB port control register UP3OCR This adds the definition for the third USB port control register UP3OCR. It is used on the EZX GSM mobile phones. Signed-off-by: Stefan Schmidt Acked-by: Eric Miao Signed-off-by: Russell King commit d438ae5796085379327bdba76114929eedf94a89 Author: Philipp Zabel Date: Fri Jun 6 18:40:47 2008 +0100 [ARM] 5080/1: touch PSSR_OTGPH only on pxa27x in ohci-pxa27x and pxa27x_udc and include pxa2xx-regs.h as build fix since PSSR definitions moved from pxa-regs.h into pxa2xx-regs.h. Note: This change is temporary as pxa27x processor specific code will be finally moved elsewhere (both drivers should support pxa3xx, too). Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit a4500b84c51645bbc86be3ca84f2252b7ada060f Author: Abhishek Sagar Date: Sat Jun 14 11:59:39 2008 +0530 ftrace: fix "notrace" filtering priority This is a fix to give notrace filter rules priority over "set_ftrace_filter" rules. This fix ensures that functions which are set to be filtered and are concurrently marked as "notrace" don't get recorded. As of now, if a record is marked as FTRACE_FL_FILTER and is enabled, then the notrace flag is not checked. Tested on x86-32. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit d3bd67cdbb5d12f30dfd1b627fd95bd6dcc7ff1e Author: Takashi Iwai Date: Thu Jun 12 18:17:26 2008 +0200 ALSA: make snd_ctl_elem_read() and snd_ctl_elem_write() static snd_ctl_elem_read() and snd_ctl_elem_write() are no longer used by any other drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 149b154452b18dedd4559cdd65b965ae9011e425 Author: Takashi Iwai Date: Thu Jun 12 17:43:36 2008 +0200 ALSA: hda - Remove unused mutex Removed unused mutex from patch_*.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4549915cdf468019d2fd86485dd8d2ab426b8d85 Author: Takashi Iwai Date: Thu Jun 12 16:27:24 2008 +0200 ALSA: hda - Fix stac9205_cfg_tbl Sort stac9205_cfg_table in the order of id numbers, and removed the duplicated (obsoleted) entries for 0x01fc and 0x01fd. This doesn't change the driver behavior since the old entries are all secondary. The duplication occured due to commit dfe495d0, and the old entries were introduced by commit ae0a8ed8. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6e132fa668d48a5a6fae6c24f6104e44b1ec1049 Author: Jarkko Nikula Date: Wed Jun 11 13:47:15 2008 +0100 ALSA: ASoC: Cover also Nokia N810 WiMAX Edition in N810 machine driver Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a2e31a595ea74120a5e9de91fce56dd835edff94 Author: Mike Montour Date: Wed Jun 11 13:47:14 2008 +0100 ALSA: ASoC: Add TLV information to the LM4857 controls on the GTA01 Signed-off-by: Mike Montour Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 10144c09a0d6a62e1d56e25f142743c7a00e5dba Author: Mike Montour Date: Wed Jun 11 13:47:13 2008 +0100 ALSA: ASoC: Add SOC_SINGLE_EXT_TLV control type Signed-off-by: Mike Montour Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2cc8c609798957b90adf90b5bfb9859d1643fade Author: Mike Montour Date: Wed Jun 11 13:47:12 2008 +0100 ALSA: ASoC: Add TLV information to remaining WM8753 controls Signed-off-by: Mike Montour Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d133b0ce6ceaf744184c7cb9f95ba92f333c246a Author: Mark Brown Date: Wed Jun 11 13:47:11 2008 +0100 ALSA: ASoC: Fix WM9713 voice PCM slave mode configuration Reported-by: Rodolfo Giometti Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bdb92876f0a9d2b431199e385732ede89ff0b97d Author: Mark Brown Date: Wed Jun 11 13:47:10 2008 +0100 ALSA: ASoC: Pass the DAI being configured into CPU DAI probe and remove This allows per-DAI initialisation to be done by the CPU DAI drivers. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dbac7cb8a7fcae34ffda04e4bc30673c2ea841ae Author: Mark Brown Date: Wed Jun 11 13:47:09 2008 +0100 ALSA: ASoC: Add missing includes Ensure that DAIs are prototyped in the codec drivers that define them. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ae2ff19180d7dcac438e399f874d4de230b7f326 Author: Mark Brown Date: Wed Jun 11 13:47:08 2008 +0100 ALSA: ASoC: Tweak tlv320aicx reg_cache_size ASoC codec drivers frequently set the register cache size using sizeof() rather than ARRAY_SIZE(). For tlv320aicx either is correct since the registers are 8 bit but update to use ARRAY_SIZE() for clarity. Signed-off-by: Mark Brown Acked-by: Jarkko Nikula  Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ddd440768e04e0c158c2bfa6178928e1f1eef3e Author: Mark Brown Date: Wed Jun 11 13:47:07 2008 +0100 ALSA: ASoC: Fix register cache size for UDA1380 The register cache size is used by the codec_reg sysfs file which works in terms of the register cache access functions rather than in terms of raw access to the cache so the size specified needs to be in terms of the number of elements. Signed-off-by: Mark Brown Cc: Philipp Zabel Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d751b233bb8568f1de1ccbe3824ca69090326251 Author: Mark Brown Date: Wed Jun 11 13:47:06 2008 +0100 ALSA: ASoC: Fix register cache sizes for Wolfson codecs The register cache size is used by the codec_reg sysfs file which works in terms of the register cache access functions rather than in terms of raw access to the cache so the size specified needs to be in terms of the number of elements. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6 Author: Krzysztof Helt Date: Wed Jun 11 12:26:32 2008 +0200 ALSA: opti93x: use cs4231 lib This patch converts the Opti93x driver to use the cs4231 library instead of duplicating the code. Signed-off-by: Krzysztof Helt Tested-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit abf1f5aafc1939db1f252e33914a3689e0f5830f Author: Krzysztof Helt Date: Mon Jun 9 23:07:28 2008 +0200 ALSA: opti93x: add support for Opti93x codec in cs4231-lib This patch adds support for WSS compatible Opti93x codec to the cs4231-lib. Signed-off-by: Krzysztof Helt Tested-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a6a950a8a8e1431e8527809339e089ac926a7d34 Author: Takashi Iwai Date: Tue Jun 10 17:53:35 2008 +0200 ALSA: hda - Add a warning if pending IRQ is found The pending IRQ handling is a very hackish workaround and should be avoided as much as possible via a larger bdl_pos_adj option value. Put a warning message if this situation occurs so that the user may have a chance to notice that something is wrong. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c53b96f229aa6e27f17855cbbf8e4243868a3a9 Author: Takashi Iwai Date: Tue Jun 10 17:53:35 2008 +0200 ALSA: hda - Add description of bdl_pos_adj option Added a brief description of the new bdl_pos_adj option to ALSA-Configuration.txt. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5c0d7bc103dd1ae85967fbcf70be8d1ae3aa3d79 Author: Takashi Iwai Date: Tue Jun 10 17:53:35 2008 +0200 ALSA: hda - Fix bdl_pos_adj value for ATI SB chipsets ATI SB controllers seem to report the DMA ahead in the amount of FIFO. Thus bdl_pos_adj should be 32 for them as default. Also, the default value is set to -1, which means to make the driver to choose the appropriate value. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 555e219ffaeecbd08d1603e1551188483e7e3b64 Author: Takashi Iwai Date: Tue Jun 10 17:53:34 2008 +0200 ALSA: hda - bdl_pos_adj option to each instance The option bdl_pos_adj should be provided for each card instance instead of a global one because the value depends rather on each controller-chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d2e1c97331d37a477ef7e9a272b4de4e53b893be Author: Takashi Iwai Date: Tue Jun 10 17:53:34 2008 +0200 ALSA: hda - remove position_fix=3 position_fix=3 is the option to correct the DMA position with the FIFO size. But, it never worked correctly, and we have now more other workarounds for the DMA position fixes. Thus better to remove it. Also, change POS_FIX_NONE to POS_FIX_LPIB to represent its real role better. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 675f25d4d3ff6501cbce608bcc2333a56ec4c105 Author: Takashi Iwai Date: Tue Jun 10 17:53:20 2008 +0200 ALSA: hda - Add bdl_pos_adj option Added a new option, bdl_pos_adj, to adjust the delay of IRQ-wakeup timing. Most HD-audio hardwares have a problem that a BDL IRQ is issued before actually the data and the DMA pointer are updated. We have already a mechanism to force to delay snd_pcm_period_elapsed() calls via workq, but this costs much CPU, and typically the delay is within one sample. Thus, it's more clever to adjust the BDL entries instead. The new option adds the size of the delay in frames. As default, it's set to 1 -- that is, one sample delay. Even the hardware is really correct, one sample delay is relatively harmless in comparison with reporting wrong positions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0a1b42db4bf9db233d1f29795086a9526e84c845 Author: Adrian Bunk Date: Tue Jun 10 01:26:28 2008 +0300 sound: sound/oss/dmasound/: cleanups This patch contains the following cleanups: - make the following needlessly global functions static: - dmasound_core.c: get_afmt_string() - dmasound_paula.c: dmasound_paula_init() - dmasound_q40.c: dmasound_q40_init() - remove the following unused global variable: - dmasound_core.c: software_input_volume Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 781711a93e8aae756e8ae07acef185a6dfe552b8 Author: Takashi Iwai Date: Tue Jun 10 12:34:45 2008 +0200 ALSA: emu10k1 - Fix page allocation with GFP_DMA Added the missing GFP_ATOMIC to page_alloc when called with GFP_DMA. GFP_KERNEL often results in stalls for ZONE_DMA, so GFP_ATOMIC is more prgmatic. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 36ca6e133ae3a57318a3ad8a41b2f005e3934c29 Author: Akio Idehara Date: Mon Jun 9 22:57:40 2008 +0900 [ALSA] hda - Add Toshiba dynabook SS RX1 support I have Toshiba dynabook SS RX1 and this patch adds that support. Signed-off-by: Akio Idehara Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3ae5f36a368b143cfd8a6f7a988a012c1b46eda0 Author: Krzysztof Helt Date: Sun Jun 8 07:57:53 2008 +0200 [ALSA] opti93x: fix sound ouput for Opti930 This patch fixes silenced output from the Opti930. Signed-off-by: Krzysztof Helt Acked-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 38f582270feb19ea8821cb64c5d2fdbd6bdd0bd9 Author: Takashi Iwai Date: Sun Jun 8 09:17:27 2008 +0200 [ALSA] ac97 - Fix power_save option value as time-out The power_save option was set as boot although it was meant to be a timeout value like the same option of snd-hda-intel originally. Now fixed to the same style. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 05a076de83b507238cd186e93daeaf15820d570e Author: Mark Brown Date: Fri Jun 6 17:13:53 2008 +0100 [ALSA] ASoC: Fix default mono mixer configuration for WM8510 Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0264b3b636f1ba5777426dd9b5bb5cbbeb5fcb34 Author: Juergen Beisert Date: Fri Jun 6 17:02:57 2008 +0200 [ALSA] ac97: add support for wm9711 master left inv switch This patch adds support for Master Left Inv Switch on wm9711. At least required to drive the mono speaker on the PXA270 platfrom Signed-off-by: Juergen Beisert Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2429e4ee78e2fa40f82a4572dd21d4f3b4de9325 Author: Huang, Ying Date: Fri Jun 13 14:40:17 2008 +0800 lockdep: output lock_class key instead of address for forward dependency output The key instead of address of lock_class should be output in /proc/lockdep when forward dependency is output, because key is output for lock_class itself as identifier too. This patch is based on x86/auto-latest branch of git-x86 tree, and has been tested on x86_64 platform. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit f781b03c4b1c713ac000877c8bbc31fc4164a29b Author: Cyrill Gorcunov Date: Thu Jun 12 17:08:16 2008 +0400 x86: touch_nmi_watchdog(): reset alert counters for supported nmi_watchdog modes only The checking 'if nmi_watchdog > 0' (ie NMI_NONE) is quite fast but it has a side effect - it's taken even if nmi_watchdog = NMI_DISABLED. Nowadays nmi_watchdog is set up to NMI_NONE by default so this condition is properly taken most the time but we better show this explicitly. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6703f6d10dcd3316e03641a5ecaa6c8a04374d98 Author: Rafael J. Wysocki Date: Tue Jun 10 00:10:48 2008 +0200 x86, gart: add resume handling If GART IOMMU is used on an AMD64 system, the northbridge registers related to it should be restored during resume so that memory is not corrupted. Make gart_resume() handle that as appropriate. Ref. http://lkml.org/lkml/2008/5/25/96 and the following thread. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit 20764ff1efb440640353053ec83263e69e1259e0 Author: Jiri Slaby Date: Thu Jun 12 11:27:03 2008 +0200 ftrace: fix printout Do not print loglevel before "entries of %ld bytes". Move it to the previous pr_info. Signed-off-by: Jiri Slaby Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit bb6dfb32f90094fea647e1f27d994a8b6ddd2766 Merge: 4f384f8... 5e70b7f... Author: Ingo Molnar Date: Thu Jun 12 11:27:22 2008 +0200 Merge branch 'linus' into x86/gart commit bf07dc864902b3e788de5ab50dc62d5677da90f2 Author: Rafael J. Wysocki Date: Thu Jun 12 10:27:08 2008 +0200 x86: remove obsolete PM definitions from NMI header Remove obsolete and no longer used PM-related definitions from include/asm-x86/nmi.h. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit 499f8f84b8324ba27d756e03f373fa16eeed9ccc Author: Andreas Herrmann Date: Tue Jun 10 16:06:21 2008 +0200 x86: rename pat_wc_enabled to pat_enabled BTW, what does pat_wc_enabled stand for? Does it mean "write-combining"? Currently it is used to globally switch on or off PAT support. Thus I renamed it to pat_enabled. I think this increases readability (and hope that I didn't miss something). Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit cd7a4e936d345ab4cb49d68192d90bd4e4c58458 Author: Andreas Herrmann Date: Tue Jun 10 16:05:39 2008 +0200 x86: PAT: fixed checkpatch errors (and whitespaces) x86: PAT: fixed checkpatch errors (and whitespaces) Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 97cfab6ac4ddfda0d722393bbf46cc40bc332107 Author: Andreas Herrmann Date: Tue Jun 10 16:05:18 2008 +0200 x86: PAT: fix ambiguous paranoia check in pat_init() Starting with commit 8d4a4300854f3971502e81dacd930704cb88f606 (x86: cleanup PAT cpu validation) the PAT CPU feature flag is not cleared anymore. Now the error message "PAT enabled, but CPU feature cleared" in pat_init() is misleading. Furthermore the current code does not check for existence of the PAT CPU feature flag if a CPU is whitelisted in validate_pat_support. This patch clears pat_wc_enabled if boot CPU has no PAT feature flag and adapts the paranoia check. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit ee863ba7ab3d3ed8a9585d378aae69d1e3e9f1b4 Author: Andreas Herrmann Date: Tue Jun 10 16:04:30 2008 +0200 x86: unconditionally enable PAT for AMD CPUs If PAT support is advertised it should just work. No errata known. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit c26421d01986e1521043c8feb47256833df3bf31 Author: Venki Pallipadi Date: Thu May 29 12:01:44 2008 -0700 x86: fix Xorg crash with xf86MapVidMem error Clarify the usage of mtrr_lookup() in PAT code, and to make PAT code resilient to mtrr lookup problems. Specifically, pat_x_mtrr_type() is restructured to highlight, under what conditions we look for mtrr hint. pat_x_mtrr_type() uses a default type when there are any errors in mtrr lookup (still maintaining the pat consistency). And, reserve_memtype() highlights its usage ot mtrr_lookup for request type of '-1' and also defaults in a sane way on any mtrr lookup failure. pat.c looks at mtrr type of a range to get a hint on what mapping type to request when user/API: (1) hasn't specified any type (/dev/mem mapping) and we do not want to take performance hit by always mapping UC_MINUS. This will be the case for /dev/mem mappings used to map BIOS area or ACPI region which are WB'able. In this case, as long as MTRR is not WB, PAT will request UC_MINUS for such mappings. (2) user/API requests WB mapping while in reality MTRR may have UC or WC. In this case, PAT can map as WB (without checking MTRR) and still effective type will be UC or WC. But, a subsequent request to map same region as UC or WC may fail, as the region will get trackked as WB in PAT list. Looking at MTRR hint helps us to track based on effective type rather than what user requested. Again, here mtrr_lookup is only used as hint and we fallback to WB mapping (as requested by user) as default. In both cases, after using the mtrr hint, we still go through the memtype list to make sure there are no inconsistencies among multiple users. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Tested-by: Rufus & Azrael Signed-off-by: Ingo Molnar commit 00dba56465228825ea806e3a7fc0aa6bba7bdc6c Author: Thomas Gleixner Date: Mon Jun 9 18:35:28 2008 +0200 x86: move more common idle functions/variables to process.c more unification. Should cause no change in functionality. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 09fd4b4ef5bc7e5222c13acec1bee8cd252fb63f Author: Thomas Gleixner Date: Mon Jun 9 18:04:27 2008 +0200 x86: use cpuid to check MWAIT support for C1 cpuid(0x05) provides extended information about MWAIT in EDX when bit 0 of ECX is set. Bit 4-7 of EDX determine whether MWAIT is supported for C1. C1E enabled CPUs have these bits set to 0. Based on an earlier patch from Andi Kleen. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 732d7be17b98ebfd59e5864c3490f19856fa832c Author: Thomas Gleixner Date: Mon Jun 9 17:27:20 2008 +0200 x86: use cpuinfo to check for interrupt pending message msr Simplify code: no need to do a cpuid(1) again. The cpuinfo structure has all necessary information already. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aa83f3f2cfc74d66d01b1d2eb1485ea1103a0f4e Author: Thomas Gleixner Date: Mon Jun 9 17:11:13 2008 +0200 x86: cleanup C1E enabled detection Rename the "MSR_K8_ENABLE_C1E" MSR to INT_PENDING_MSG, which is the name in the data sheet as well. Move the C1E mask to the header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ddd2a27948f0bd02a2ad001e8a6816898eba0dc Author: Thomas Gleixner Date: Mon Jun 9 16:59:53 2008 +0200 x86: simplify idle selection default_idle is selected in cpu_idle(), when no other idle routine is selected. Select it in select_idle_routine() when mwait is not selected. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2b1bce1787700768cbc87c8509851c6f49d252dc Author: Ankita Garg Date: Mon Jun 9 14:10:25 2008 +0530 ftrace: disable tracing when current_tracer is set to "none" Found that inspite of setting the current_tracer to "none", trace from the previous trace type continued to be collected. The patch below fixes this and causes the trace to be disabled when the "none" type is selected. Compile and boot tested the patch for functionality. Signed-off-by: Ankita Garg Signed-off-by: Ingo Molnar commit 040ec23d07f95285e9777a85cda29cb339a3065b Author: Ingo Molnar Date: Mon Jun 9 01:45:29 2008 -0700 sched: sched_clock() lockdep fix Sitsofe Wheeler bisected the following commit to cause a lockdep to warn about itself and turn itself off: > commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4 > Author: Ingo Molnar > Date: Mon May 12 21:21:14 2008 +0200 > > sched: do not trace sched_clock do not use raw irq flags in cpu_clock() as it causes lockdep to lose track of the true state of the IRQ flag. Reported-and-bisected-by: Sitsofe Wheeler Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit e9886ca3a93d7d041d3de8e5acebe213da777d59 Author: Paul Mundt Date: Mon Jun 9 17:12:24 2008 +0900 sched: kill off dead cfs_rq_set_shares() Building with CONFIG_FAIR_GROUP_SCHED=y on UP results in an unused cfs_rq_set_shares() reference. As nothing is using this dummy function in the first place, just kill it off. Signed-off-by: Paul Mundt Signed-off-by: Ingo Molnar commit 6492c7f83e88a3a9521793b6934d882b97afe287 Author: Mike Galbraith Date: Sun Jun 8 09:27:13 2008 +0200 sched: trivial sched_features cleanup Remove unused debug/tuning features. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 5b80fe8bd732b5dd442118a43e02db22e8fd93e2 Author: Paolo Ciarrocchi Date: Sat Jun 7 14:34:42 2008 +0200 x86: coding style fixes to arch/x86/kernel/sys_i386_32.c Before: total: 16 errors, 25 warnings, 246 lines checked After: total: 0 errors, 7 warnings, 246 lines checked Compile tested. paolo@paolo-desktop:/tmp$ size sys* text data bss dec hex filename 1209 0 0 1209 4b9 sys_i386_32.o.after 1209 0 0 1209 4b9 sys_i386_32.o.before paolo@paolo-desktop:/tmp$ md5sum sys* 6144f6d6ce7342c3e192681a1ccaa1c1 sys_i386_32.o.after 6144f6d6ce7342c3e192681a1ccaa1c1 sys_i386_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 7058b06188232381c13ff05a3caf458bb892b834 Author: Paolo Ciarrocchi Date: Sat Jun 7 14:14:35 2008 +0200 x86: coding style fixes to arch/x86/pci/irq. Before: total: 60 errors, 85 warnings, 1237 lines checked After: total: 1 errors, 82 warnings, 1226 lines checked WARNING: line over 80 characters Compile tested. paolo@paolo-desktop:/tmp$ size irq.o.* text data bss dec hex filename 6128 440 76 6644 19f4 irq.o.after 6128 440 76 6644 19f4 irq.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 9e26d84273541a8c6c2efb705457ca8e6245fb73 Author: Robert Richter Date: Fri Jun 6 12:01:13 2008 +0200 fix build bug in "x86: add PCI extended config space access for AMD Barcelona" Also much less code now. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit ce8e37cdbdb34a9faeade22e0e6440f0d04560f5 Author: Jeremy Fitzhardinge Date: Fri Jun 6 10:21:39 2008 +0100 x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits. When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can potentially have the same number of physical address bits as the 64-bit host ("Enhanced Legacy PAE Paging"). This means, in theory, we could have up to 52 bits of physical address in a pte. The 32-bit kernel uses a 32-bit unsigned long to represent a pfn. This means that it can only represent physical addresses up to 32+12=44 bits wide. Rather than widening pfns everywhere, just set 2^44 as the Linux x86_32-PAE architectural limit for physical address size. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich Signed-off-by: Ingo Molnar commit 9985b0bab332289f14837eff3c6e0bcc658b58f7 Author: David Rientjes Date: Thu Jun 5 12:57:11 2008 -0700 sched: prevent bound kthreads from changing cpus_allowed Kthreads that have called kthread_bind() are bound to specific cpus, so other tasks should not be able to change their cpus_allowed from under them. Otherwise, it is possible to move kthreads, such as the migration or software watchdog threads, so they are not allowed access to the cpu they work on. Cc: Peter Zijlstra Cc: Paul Menage Cc: Paul Jackson Signed-off-by: David Rientjes Signed-off-by: Ingo Molnar commit 668231141f307ffd81db075b34bddaedae0ec863 Author: Andreas Herrmann Date: Thu Jun 5 16:35:10 2008 +0200 x86: fix compile warning in io_apic_{32,64}.c Signed-off-by: Ingo Molnar commit 7def2be1dc679984f4c4fb3ef19a8a081b2454ec Author: Peter Zijlstra Date: Thu Jun 5 14:49:58 2008 +0200 sched: fix hotplug cpus on ia64 Cliff Wickman wrote: > I built an ia64 kernel from Andrew's tree (2.6.26-rc2-mm1) > and get a very predictable hotplug cpu problem. > billberry1:/tmp/cpw # ./dis > disabled cpu 17 > enabled cpu 17 > billberry1:/tmp/cpw # ./dis > disabled cpu 17 > enabled cpu 17 > billberry1:/tmp/cpw # ./dis > > The script that disables the cpu always hangs (unkillable) > on the 3rd attempt. > > And a bit further: > The kstopmachine thread always sits on the run queue (real time) for about > 30 minutes before running. this fix solves some (but not all) issues between CPU hotplug and RT bandwidth throttling. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 34078a5e44db3cbed2e0ed580c29a39d94e0cd97 Author: Abhishek Sagar Date: Tue Jun 3 08:33:41 2008 +0530 ftrace: prevent freeing of all failed updates Steven Rostedt wrote: > If we unload a module and reload it, will it ever get converted again? The intent was always to filter core kernel functions to prevent their freeing. Here's a fix which should allow re-recording of module call-sites. Signed-off-by: Ingo Molnar commit eb9a7bf09172f409c10ec9560adeea95bb4045f5 Author: Abhishek Sagar Date: Sun Jun 1 21:47:54 2008 +0530 ftrace: add debugfs entry 'failures' Identify functions which had their mcount call-site updates failed. This can help us track functions which ftrace shouldn't fiddle with, and are thus not being traced. If there is no race with any external agent which is modifying the mcount call-site, then this file displays no entries (normal case). Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 1d74f2a0f64b4091e5e91b55ac1b17dff93f4b59 Author: Abhishek Sagar Date: Sun Jun 1 21:47:42 2008 +0530 ftrace: remove ftrace_ip_converted() Remove the unneeded function ftrace_ip_converted(). Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 0eb967012ea15e6e8cfab483d9fa37bc602d400c Author: Abhishek Sagar Date: Sun Jun 1 21:47:30 2008 +0530 ftrace: prevent freeing of all failed updates Prevent freeing of records which cause problems and correspond to function from core kernel text. A new flag, FTRACE_FL_CONVERTED is used to mark a record as "converted". All other records are patched lazily to NOPs. Failed records now also remain on frace_hash table. Each invocation of ftrace_record_ip now checks whether the traced function has ever been recorded (including past failures) and doesn't re-record it again. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 6ad36762d7a88d747f6fed95194b4f7ff5da8df4 Author: Oleg Nesterov Date: Sun Jun 8 21:20:42 2008 +0400 __mutex_lock_common: use signal_pending_state() Change __mutex_lock_common() to use signal_pending_state() for the sake of the code re-use. This adds 7 bytes to kernel/mutex.o, but afaics only because gcc isn't smart enough. (btw, uninlining of __mutex_lock_common() shrinks .text from 2722 to 1542, perhaps it is worth doing). Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit af1cf204ba2fd8135933a2e4df523fb1112dc0e2 Author: Ingo Molnar Date: Sun May 25 21:16:06 2008 +0200 x86, mpparse: build fix fix: LD .tmp_vmlinux1 arch/x86/kernel/built-in.o: In function `setup_arch': : undefined reference to `early_reserve_e820_mpc_new' Signed-off-by: Ingo Molnar commit 6780711e9817585f89b02b0556aac3564cbe1f45 Author: Yinghai Lu Date: Sun Jun 8 19:53:26 2008 -0700 x86: update mptable, fix need to call early_reserve_e820() to preallocate mptable for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d49c4288407b2ffa8cab270cb5bc6882abe969f6 Author: Yinghai Lu Date: Sun Jun 8 18:31:54 2008 -0700 x86: make generic arch support NUMAQ ... so it could fall back to normal numa and we'd reduce the impact of the NUMAQ subarch. NUMAQ depends on GENERICARCH also decouple genericarch numa from acpi. also make it fall back to bigsmp if apicid > 8. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4e78c91abe1a40b905611100a593be62784ba355 Author: Ingo Molnar Date: Mon Jun 9 11:59:30 2008 +0200 Revert "x86, numaq: add pci_acpi_scan_root() stub" This reverts commit f3294690979634ee10398bb0beadfe1d4edb881d. That bug will be fixed in a better way via: x86: make generic arch support NUMAQ commit e0da33646826b66ef933d47ea2fb7a693fd849bf Author: Yinghai Lu Date: Sun Jun 8 18:29:22 2008 -0700 x86: introduce max_physical_apicid for bigsmp switching a multi-socket test-system with 3 or 4 ioapics, when 4 dualcore cpus or 2 quadcore cpus installed, needs to switch to bigsmp or physflat. CPU apic id is [4,11] instead of [0,7], and we need to check max apic id instead of cpu numbers. also add check for 32 bit when acpi is not compiled in or acpi=off. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c3ff01672a23fabb40d4b80ff25a845582fd07c2 Author: Yinghai Lu Date: Fri Jun 6 18:54:26 2008 -0700 x86: fix boot failure with 64GB+ system with numa 32-bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9043f007963f4039befa3c31f47173f74a0b1c70 Author: Yinghai Lu Date: Fri Jun 6 18:53:33 2008 -0700 x86, numa, 32-bit: use find_e820_area() to find KVA RAM on node don't assume we can use RAM near the end of every node. Esp systems that have few memory and they could have kva address and kva RAM all below max_low_pfn. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cc1a9d86ce989083703c4bdc11b75a87e1cc404a Author: Yinghai Lu Date: Sun Jun 8 19:39:16 2008 -0700 mm, x86: shrink_active_range() should check all Now we are using register_e820_active_regions() instead of add_active_range() directly. So end_pfn could be different between the value in early_node_map to node_end_pfn. So we need to make shrink_active_range() smarter. shrink_active_range() is a generic MM function in mm/page_alloc.c but it is only used on 32-bit x86. Should we move it back to some file in arch/x86? Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit db3660c1905293b91653e07f7857576df71ebf28 Author: Yinghai Lu Date: Tue Jun 3 01:43:24 2008 -0700 x86: remove all active memory ranges before registering them again after trimming - 64bit this way we keep the early_node_map all right. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 237749428552e2f81ec6c801482dfd8a777e470b Author: Ingo Molnar Date: Mon Jun 9 10:57:16 2008 +0200 Revert "x86, 32-bit: SRAT fix" This reverts commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973, a better fix will be merged. commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973 Author: Ingo Molnar Date: Fri Jun 6 16:28:23 2008 +0200 x86, 32-bit: SRAT fix we were adding reserved BIOS ranges as general memory as well => not good. solves this crash: [ 20.068075] hostname used greatest stack depth: 6464 bytes left [ 20.121404] BUG: unable to handle kernel <1>BUG: unable to handle kernel NULL pointer dereference at 00000b8c [ 20.121404] IP: [] kmap_atomic_prot+0x2d/0x1c3 [ 20.121404] *pdpt = 00000000367eb001 *pde = 0000000000000000 [ 20.121404] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 20.121404] [ 20.121404] Pid: 2061, comm: rc.sysinit Not tainted (2.6.26-rc3 #2440) [ 20.121404] EIP: 0060:[] EFLAGS: 00010206 CPU: 0 [ 20.121404] EIP is at kmap_atomic_prot+0x2d/0x1c3 Signed-off-by: Ingo Molnar commit e958b3600484533ff801920290468adc8135f89d Author: Thomas Gleixner Date: Wed Jun 4 23:22:32 2008 +0200 sched: move weighted_cpuload into #ifdef CONFIG_SMP section weighted_cpuload is only used on SMP. move it into the CONFIG_SMP section. Signed-off-by: Thomas Gleixner commit 68f4f1ec08e3d95730a2693b99df8260aa0d06ae Author: Max Krasnyansky Date: Thu May 29 11:17:02 2008 -0700 sched: Move cpu masks from kernel/sched.c into kernel/cpu.c kernel/cpu.c seems a more logical place for those maps since they do not really have much to do with the scheduler these days. kernel/cpu.c is now built for the UP kernel too, but it does not affect the size the kernel sections. $ size vmlinux before text data bss dec hex filename 3313797 307060 310352 3931209 3bfc49 vmlinux after text data bss dec hex filename 3313797 307060 310352 3931209 3bfc49 vmlinux Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Cc: mingo@elte.hu Acked-by: Peter Zijlstra Signed-off-by: Thomas Gleixner commit 5c8e1ed1d204a6770ca2854cd3b3597070fe7e5a Author: Max Krasnyansky Date: Thu May 29 11:17:01 2008 -0700 sched: CPU hotplug events must not destroy scheduler domains created by the cpusets First issue is not related to the cpusets. We're simply leaking doms_cur. It's allocated in arch_init_sched_domains() which is called for every hotplug event. So we just keep reallocation doms_cur without freeing it. I introduced free_sched_domains() function that cleans things up. Second issue is that sched domains created by the cpusets are completely destroyed by the CPU hotplug events. For all CPU hotplug events scheduler attaches all CPUs to the NULL domain and then puts them all into the single domain thereby destroying domains created by the cpusets (partition_sched_domains). The solution is simple, when cpusets are enabled scheduler should not create default domain and instead let cpusets do that. Which is exactly what the patch does. Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Cc: mingo@elte.hu Acked-by: Peter Zijlstra Signed-off-by: Thomas Gleixner commit 1100ac91b6af02d8639d518fad5b434b1bf44ed6 Author: Ingo Molnar Date: Thu Jun 5 12:25:37 2008 +0200 sched: fix cpuprio build bug this patch was not built on !SMP: kernel/sched_rt.c: In function 'inc_rt_tasks': kernel/sched_rt.c:404: error: 'struct rq' has no member named 'online' Signed-off-by: Ingo Molnar commit e539d8fcd11af811db70707d47ea436d5621d0da Author: Thomas Gleixner Date: Thu Jun 5 10:28:00 2008 +0200 sched: fix the cpuprio count really Peter pointed out that the last version of the "fix" was still one off under certain circumstances. Use BITS_TO_LONG instead to get an accurate result. Signed-off-by: Thomas Gleixner commit 709d4b0c60f990bccf3e10ba7c6da407ad65c97f Author: Gregory Haskins Date: Wed Jun 4 15:04:10 2008 -0400 sched: fix cpupri priocount A rounding error was pointed out by Peter Zijlstra which would result in the structure holding priorities to be off by one. Signed-off-by: Gregory Haskins Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Signed-off-by: Thomas Gleixner commit 1f11eb6a8bc92536d9e93ead48fa3ffbd1478571 Author: Gregory Haskins Date: Wed Jun 4 15:04:05 2008 -0400 sched: fix cpupri hotplug support The RT folks over at RedHat found an issue w.r.t. hotplug support which was traced to problems with the cpupri infrastructure in the scheduler: https://bugzilla.redhat.com/show_bug.cgi?id=449676 This bug affects 23-rt12+, 24-rtX, 25-rtX, and sched-devel. This patch applies to 25.4-rt4, though it should trivially apply to most cpupri enabled kernels mentioned above. It turned out that the issue was that offline cpus could get inadvertently registered with cpupri so that they were erroneously selected during migration decisions. The end result would be an OOPS as the offline cpu had tasks routed to it. This patch generalizes the old join/leave domain interface into an online/offline interface, and adjusts the root-domain/hotplug code to utilize it. I was able to easily reproduce the issue prior to this patch, and am no longer able to reproduce it after this patch. I can offline cpus indefinately and everything seems to be in working order. Thanks to Arnaldo (acme), Thomas, and Peter for doing the legwork to point me in the right direction. Also thank you to Peter for reviewing the early iterations of this patch. Signed-off-by: Gregory Haskins Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Cc: Ingo Molnar Signed-off-by: Thomas Gleixner commit 099f98c8a1f13501a98afbfff4756395a610581c Author: Gautham R Shenoy Date: Thu May 29 20:56:32 2008 +0530 sched: print the sd->level in sched_domain_debug code While printing out the visual representation of the sched-domains, print the level (MC, SMT, CPU, NODE, ... ) of each of the sched_domains. Credit: Peter Zijlstra Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit e29c98d12b3f02d6ac711c60b4a5f8a46d1cf19b Author: Gautham R Shenoy Date: Thu May 29 12:36:18 2008 +0530 sched: update the sched-domains debug documentation SCHED_DOMAIN_DEBUG mentioned in the Documentation for sched-domains for enabling sched-domains debugging doesn't exist anymore. Update the documentation to reflect the correct way of enabling sched-domain debugging. Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit 6d6bc0ad867c46896d0994bb039e7550ecb9b51d Author: Dhaval Giani Date: Fri May 30 14:23:45 2008 +0200 sched: add comments for ifdefs in sched.c make sched.c easier to read. Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e21f5b153b9b4a6775d7d41964e372e13a9178ab Author: Arjan van de Ven Date: Fri May 23 09:05:58 2008 -0700 sched: print module list in the "scheduling while atomic" warning For the normal WARN_ON() etc we added a print-the-modules-list already, which is very useful to figure out candidates for certain types of bugs. This patch adds the same print to the "scheduling while atomic" BUG warning, for the same reason: when we get here it's very useful to see which modules are loaded, to narrow down the candidate code list. Signed-off-by: Arjan van de Ven Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit c7aceaba042702538b23cf4e0de1b2891ad8e671 Author: Richard Kennedy Date: Thu May 15 12:09:15 2008 +0100 sched: reorder task_struct to reduce padding on 64bit builds This patch removes 24 bytes of padding and allows 1 extra object per slab on my fedora based config. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 81d41d7ece23a1c3b4bcd1604026d3a06cc4dc79 Author: Rabin Vincent Date: Sun May 11 05:55:33 2008 +0530 sched: fix defined-but-unused warning Fix this warning, which appears with !CONFIG_SMP: kernel/sched.c:1216: warning: `init_hrtick' defined but not used Signed-off-by: Rabin Vincent Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 554ec22f075d46e4363520a407d2b7eeb5dfdd43 Author: Ingo Molnar Date: Mon May 12 21:21:03 2008 +0200 namespacecheck: more sched.c fixes [ Stephen Rothwell : build fix ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f7dcd80bbc8e7032443e6539ea1b830364f82200 Author: Thomas Gleixner Date: Sat May 24 23:20:38 2008 +0200 namespacecheck: fixes in kernel/sched.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d07355f5def74d060333563b36ab51b89fd44cdd Author: Dmitry Adamushko Date: Mon May 12 21:21:15 2008 +0200 sched: check for SD_SERIALIZE atomically in rebalance_domains() Nothing really serious here, mainly just a matter of nit-picking :-/ From: Dmitry Adamushko For CONFIG_SCHED_DEBUG && CONFIG_SYSCT configs, sd->flags can be altered while being manipulated in rebalance_domains(). Let's do an atomic check. We rely here on the atomicity of read/write accesses for aligned words. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d299f1b53b84e2665f402d9bcc494800aba6386 Author: Gregory Haskins Date: Mon May 12 21:21:14 2008 +0200 sched: fix SCHED_OTHER balance iterator to include all tasks The currently logic inadvertently skips the last task on the run-queue, resulting in missed balance opportunities. Signed-off-by: Gregory Haskins Signed-off-by: David Bahi CC: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e0534f278199f1e3dd1049b9bc19a7a5b87ada1 Author: Gregory Haskins Date: Mon May 12 21:21:01 2008 +0200 sched: use a 2-d bitmap for searching lowest-pri CPU The current code use a linear algorithm which causes scaling issues on larger SMP machines. This patch replaces that algorithm with a 2-dimensional bitmap to reduce latencies in the wake-up path. Signed-off-by: Gregory Haskins Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f333fdc9098b71e2687e4e9b6349fcb352960d66 Author: Mike Galbraith Date: Mon May 12 21:20:55 2008 +0200 sched: make !hrtick faster it is safe to ignore timers and flags when the feature is disabled. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45c01e824991b2dd0a332e19efc4901acb31209f Author: Gregory Haskins Date: Mon May 12 21:20:41 2008 +0200 sched: prioritize non-migratable tasks over migratable ones Dmitry Adamushko pointed out a known flaw in the rt-balancing algorithm that could allow suboptimal balancing if a non-migratable task gets queued behind a running migratable one. It is discussed in this thread: http://lkml.org/lkml/2008/4/22/296 This issue has been further exacerbated by a recent checkin to sched-devel (git-id 5eee63a5ebc19a870ac40055c0be49457f3a89a3). >From a pure priority standpoint, the run-queue is doing the "right" thing. Using Dmitry's nomenclature, if T0 is on cpu1 first, and T1 wakes up at equal or lower priority (affined only to cpu1) later, it *should* wait for T0 to finish. However, in reality that is likely suboptimal from a system perspective if there are other cores that could allow T0 and T1 to run concurrently. Since T1 can not migrate, the only choice for higher concurrency is to try to move T0. This is not something we addessed in the recent rt-balancing re-work. This patch tries to enhance the balancing algorithm by accomodating this scenario. It accomplishes this by incorporating the migratability of a task into its priority calculation. Within a numerical tsk->prio, a non-migratable task is logically higher than a migratable one. We maintain this by introducing a new per-priority queue (xqueue, or exclusive-queue) for holding non-migratable tasks. The scheduler will draw from the xqueue over the standard shared-queue (squeue) when available. There are several details for utilizing this properly. 1) During task-wake-up, we not only need to check if the priority preempts the current task, but we also need to check for this non-migratable condition. Therefore, if a non-migratable task wakes up and sees an equal priority migratable task already running, it will attempt to preempt it *if* there is a likelyhood that the current task will find an immediate home. 2) Tasks only get this non-migratable "priority boost" on wake-up. Any requeuing will result in the non-migratable task being queued to the end of the shared queue. This is an attempt to prevent the system from being completely unfair to migratable tasks during things like SCHED_RR timeslicing. I am sure this patch introduces potentially "odd" behavior if you concoct a scenario where a bunch of non-migratable threads could starve migratable ones given the right pattern. I am not yet convinced that this is a problem since we are talking about tasks of equal RT priority anyway, and there never is much in the way of guarantees against starvation under that scenario anyway. (e.g. you could come up with a similar scenario with a specific timing environment verses an affinity environment). I can be convinced otherwise, but for now I think this is "ok". Signed-off-by: Gregory Haskins CC: Dmitry Adamushko CC: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e7bd3de08e5208b09fbad06dd80294ea0e86f7bf Author: Adrian Bunk Date: Thu Jun 5 21:29:18 2008 +0300 ALSA: make sparc/dbri.c:snd_dbri_proc() static This patch makes the needlessly global snd_dbri_proc() static. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 33b9cd8214d6e385fcd63c321252a359ee96d568 Author: Adrian Bunk Date: Thu Jun 5 21:24:10 2008 +0300 [ALSA] usbaudio.c: remove #ifndef CONFIG_USB_EHCI_SPLIT_ISO code Since USB_EHCI_SPLIT_ISO is now unconditionally enabled the #ifndef CONFIG_USB_EHCI_SPLIT_ISO became wrong. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 40445ac5e93f1b97e1d7a8c5bed9d34bd89b7550 Author: Adrian Bunk Date: Thu Jun 5 21:22:25 2008 +0300 [ALSA] remove SND_GUS_SYNTH After the removal of the sequencer instrument layer SND_GUS_SYNTH was no longer used. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 9aaca9683b014c4d718f32cbddb42e5b36ea3c0f Author: Geoffrey Wossum Date: Thu Jun 5 13:49:34 2008 +0100 [ALSA] Revised AT32 ASoC Patch Attached is a revised version of my patch to add AT32 to ASoC. This cleans most of the style issues associated with the previous patch. Also fixes an issue with the playpaq_wm8510.c code depending on a non-released patch to th AT32 portmux support. Patch is against 2.6.24.3.atmel.3 kernel, the latest AVR32 kernel Atmel has released, with the linux-2.6-asoc patches from when v2.6.24 was tagged also applied. [Fixed up minor checkpatch issues and updated for current kernels -- broonie] Signed-off-by: Geoffrey Wossum Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit f10485e79882bf09cf442a673511154987b43e3b Author: Mark Brown Date: Thu Jun 5 13:49:33 2008 +0100 [ALSA] ASoC: Add WM8990 driver The WM8990 is a highly integrated ultra-low power hi-fi codec designed for handsets rich in multimedia features such as mobile TV, digital audio playback and gaming. The bulk of this driver was written by Liam Girdwood with some additional development and updates for new ASoC APIs by me. Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5d421516670e8009436e299bd25cff1a6d3a4707 Author: Mark Brown Date: Thu Jun 5 13:49:32 2008 +0100 [ALSA] ASoC: Add WM8510 driver The WM8510 is a mono CODEC with speaker driver optimised for telephony applications, featuring: - 16/20/24/32 bit audio at data rates between 8kHz and 48kHz - On-chip PLL - Dual microphone inputs This driver was originally written by Liam Girdwood with updates from Brett Saunders, Geoffrey Wossum and myself. Signed-off-by: Liam Girdwood Signed-off-by: Brett Saunders Signed-off-by: Geoffrey Wossum Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8b83afe0d21f07145ec34ac006656e4d3edc4bac Author: Ville Syrjälä Date: Tue Jun 3 20:52:10 2008 +0300 [ALSA] maestro3: Fix hw volume on HP OmniBook Make the hw volume buttons work correctly on some HP OmniBook laptops. The original quirk was apparently applied a bit too early and it was also lacking some critial register writes. This improved sequence was discovered by trial and error (like the original sequence). Tested and found working on OB500 and OB6000 laptops. Signed-off-by: Ville Syrjala Signed-off-by: Takashi Iwai commit 607d982bbea2a14b5b77cc7689f509d588e1e6da Author: Takashi Iwai Date: Wed Jun 4 12:41:21 2008 +0200 [ALSA] hda - increase max_codecs of ICH to 4 It turned out that some ICH9-based boards use SD3 for the audio codec where the current driver code doesn't probe. Since we have a better codec slot check now, it must be safe to increase this to 4. Signed-off-by: Takashi Iwai commit 2c3bf9abb11dd8050cd2d153917d1746c8d5af05 Author: Takashi Iwai Date: Wed Jun 4 12:39:38 2008 +0200 [ALSA] hda - Fix PLL gating control on Realtek codecs On some Realtek codecs, the analog PLL gating control bit must be set off while the default value is 1. Signed-off-by: Takashi Iwai commit 17bba1b72d190742c99a140154f0abac9c1996c3 Author: Jiang zhe Date: Wed Jun 4 12:11:07 2008 +0200 [ALSA] hda - support intel DG33 motherboards These two motherboards's pin configuration are not covered by driver. I wrote a new model to support them. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 75b9f5d2a0318da9d5e694a9a1be33f46b4c021e Author: mingo@elte.hu Date: Thu Jun 5 11:18:12 2008 +0200 x86, nmi: fix build fix: arch/x86/kernel/built-in.o: In function `proc_nmi_enabled': : undefined reference to `nmi_watchdog_default' arch/x86/kernel/built-in.o: In function `native_smp_prepare_cpus': : undefined reference to `nmi_watchdog_default' Signed-off-by: Ingo Molnar commit 1a1b1d1322ebd1ece405f3057cdd408bc77e391d Author: Cyrill Gorcunov Date: Wed Jun 4 01:00:58 2008 +0400 x86: watchdog - check for CPU is being supported This patch does check if CPU is being recongnized before call the unreserve(). Since enable_lapic_nmi_watchdog() does have such a check the same is make sense here too in a sake of code consistency (but nothing more). Signed-off-by: Cyrill Gorcunov Cc: mingo@redhat.com Cc: hpa@zytor.com Cc: macro@linux-mips.org Signed-off-by: Thomas Gleixner commit 3ed3f06295e69700fa808396f7b350bff2b69de0 Author: Cyrill Gorcunov Date: Wed Jun 4 01:00:47 2008 +0400 x86: nmi - consolidate nmi_watchdog_default for 32bit mode 64bit mode bootstrap code does set nmi_watchdog to NMI_NONE by default and doing the same on 32bit mode is safe too. Such an action saves us from several #ifdef. Btw, my previous commit commit 19ec673ced067316b9732bc6d1c4ff4052e5f795 Author: Cyrill Gorcunov Date: Wed May 28 23:00:47 2008 +0400 x86: nmi - fix incorrect NMI watchdog used by default did not fix the problem completely, moreover it introduced additional bug - nmi_watchdog would be set to either NMI_LOCAL_APIC or NMI_IO_APIC _regardless_ to boot option if being enabled thru /proc/sys/kernel/nmi_watchdog. Sorry for that. Fix it too. Signed-off-by: Cyrill Gorcunov Cc: mingo@redhat.com Cc: hpa@zytor.com Cc: macro@linux-mips.org Signed-off-by: Thomas Gleixner commit 74e411cb6443d8bcb55fbe89fcc7a9ee574df91b Author: Krzysztof Oledzki Date: Wed Jun 4 03:40:17 2008 +0200 x86: add another PCI ID for ICH6 force hpet. Tested on Asus P5GDC-V $ lspci -n -n |grep ISA 00:1f.0 ISA bridge [0601]: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge [8086:2640] (rev 03) Force enabled HPET at base address 0xfed00000 hpet clockevent registered hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 hpet0: 3 64-bit timers, 14318180 Hz Signed-off-by: Krzysztof Piotr Oledzki Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit c45a707dbe35cb9aa6490223e5b1129fa3583948 Author: Huang, Ying Date: Mon Jun 2 14:26:25 2008 +0800 x86: linked list of setup_data for i386 This patch adds linked list of struct setup_data supported for i386. Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 0c51a965ed3c44dd50497e74492a015680e49899 Author: Huang, Ying Date: Mon Jun 2 14:26:23 2008 +0800 x86: extract common part of head32.c and head64.c into head.c This patch extracts the common part of head32.c and head64.c into head.c. Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit ecacf09f7d26b2317e8b1d59fa40f62081fad0bb Author: Huang, Ying Date: Mon Jun 2 14:26:21 2008 +0800 x86: reserve EFI memory map with reserve_early This patch reserves the EFI memory map with reserve_early(). Because EFI memory map is allocated by bootloader, if it is not reserved by reserved_early(), it may be overwritten through address returned by find_e820_area(). Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit d0ec2c6f2c2f0478b34ae78b3e65f60a561ac807 Author: Huang, Ying Date: Mon Jun 2 14:26:18 2008 +0800 x86: reserve highmem pages via reserve_early This patch makes early reserved highmem pages become reserved pages. This can be used for highmem pages allocated by bootloader such as EFI memory map, linked list of setup_data, etc. Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit d3fbe5ea9518b46a68e6b278974e92e2c3acef4a Author: Huang, Ying Date: Mon Jun 2 14:26:14 2008 +0800 x86: split out common code into find_overlapped_early() This patch clean up reserve_early() family functions by extracting the common part of reserve_early(), free_early() and bad_addr() into find_overlapped_early(). Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 4f384f8bcdb5d618a0a68fb84c809e602c798b8f Author: Pavel Machek Date: Mon May 26 21:17:30 2008 +0200 x86: aperture_64.c: corner case wrong If fix == 0, aper_enabled == 1, gart_fix_e820 == 0 if (!fix && !aper_enabled) return; if (gart_fix_e820 && !fix && aper_enabled) { if (e820_any_mapped(aper_base, aper_base + aper_size, E820_RAM)) { /* reserve it, so we can reuse it in second kernel */ printk(KERN_INFO "update e820 for GART\n"); add_memory_region(aper_base, aper_size, E820_RESERVED); update_e820(); } return; } /* different nodes have different setting, disable them all atfirst*/ we'll fall back here and disable all the settings, even when they were all consistent. What about this? (I hope it compiles...) Signed-off-by: Pavel Machek Cc: Dave Jones Cc: Andi Kleen Signed-off-by: Thomas Gleixner commit fa5b8a30cf03520737e9a0ee2ee03a61b2eccf05 Author: Pavel Machek Date: Mon May 26 20:40:47 2008 +0200 aperture_64.c: duplicated code, buggy? Hi! void __init early_gart_iommu_check(void) contains for (num = 24; num < 32; num++) { if (!early_is_k8_nb(read_pci_config(0, num, 3, 0x00))) continue; loop, with very similar loop duplicated in void __init gart_iommu_hole_init(void) . First copy of a loop seems to be buggy, too. It uses 0 as a "nothing set" value, which may actually bite us in last_aper_enabled case (because it may be often zero). (Beware, it is hard to test this patch, because this code has about 2^8 different code paths, depending on hardware and cmdline settings). Plus, the second loop does not check for consistency of aper_enabled. Should it? Signed-off-by: Thomas Gleixner commit bd70e522afce2f7837d081dc52f261ecf9d4d2d5 Author: Yinghai Lu Date: Wed Jun 4 13:21:29 2008 -0700 x86: e820 max_arch_pfn typo fix for 64 bit should use right shift Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 7b2a0a6c4866cac146dcb0433e6984eb19a81335 Author: Yinghai Lu Date: Tue Jun 3 19:35:04 2008 -0700 x86: make 32-bit use e820_register_active_regions() this way 32-bit is more similar to 64-bit, and smarter e820 and numa. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ee0c80fadfa56bf4f9d90c1c023429a6bd8edd69 Author: Yinghai Lu Date: Tue Jun 3 19:34:00 2008 -0700 x86: move e820_register_active() to e820.c to prepare 32-bit to use it. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 84b56fa46b36c2df508e7d421feab514fad30f81 Author: Yinghai Lu Date: Tue Jun 3 19:32:30 2008 -0700 x86, numa, 32-bit: make sure get we kva space when 1/3 user/kernel split is used, and less memory is installed, or if we have a big hole below 4g, max_low_pfn is still using 3g-128m try to go down from max_low_pfn until we get it. otherwise will panic. need to make 32-bit code to use register_e820_active_regions ... later. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ab530e1f781da4d704892daab2bdd568f473687d Author: Yinghai Lu Date: Tue Jun 3 10:25:54 2008 -0700 x86: early check if a system is numaq so we could fall back to one node numa. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f19dc2f22a180dde3f9e611b76c73f5390c11ecd Author: Yinghai Lu Date: Tue Jun 3 10:24:49 2008 -0700 x86: change propagate_e820_map() back to find_max_pfn(), 32-bit, fix add memory_present() calls for sparse and non-numa. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d44b9d17faf7bca165ce73a1acb936b65a3f0cc6 Author: Hiroshi Shimamoto Date: Tue Jun 3 13:06:07 2008 -0700 x86: move bugs_64.c to cpu/bugs_64.c It looks good to move bugs_64.c to cpu/bugs_64.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 835fc943f34139ed062f1ac194b52ed3b7123d88 Author: Ingo Molnar Date: Tue Jun 3 14:42:06 2008 +0200 x86: mp build fix fix: drivers/built-in.o: In function `acpi_pci_irq_enable': : undefined reference to `mp_config_acpi_gsi' Signed-off-by: Ingo Molnar commit c8c034ce79418d2143c00c4cf751cfa51701f788 Author: Yinghai Lu Date: Sun Jun 1 23:55:37 2008 -0700 x86: clean up max_pfn_mapped usage - 64-bit on 64-bit we only get valid max_pfn_mapped after init_memory_mapping(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6af61a7614a306fe882a0c2b4ddc63b65aa66efc Author: Yinghai Lu Date: Sun Jun 1 23:53:50 2008 -0700 x86: clean up max_pfn_mapped usage - 32-bit on 32-bit in head_32.S after initial page table is done, we get initial max_pfn_mapped, and then kernel_physical_mapping_init will give us a final one. We need to use that to make sure find_e820_area will get valid addresses for boot_map and for NODE_DATA(0) on numa32. XEN PV and lguest may need to assign max_pfn_mapped too. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 287572cb38de7f270b59191a0fecfa5c5de7765d Author: Yinghai Lu Date: Sun Jun 1 21:06:31 2008 -0700 x86, numa, 32-bit: avoid clash between ramdisk and kva use find_e820_area to get address space... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd Author: Yinghai Lu Date: Sun Jun 1 13:17:38 2008 -0700 x86: update mptable make mptable to be consistent with acpi routing, so we could: 1. kexec kernel with acpi=off 2. work around BIOSes where acpi routing is working, but mptable is not right, so can use kernel/kexec to start other OSes that don't have good acpi support. command line: update_mptable Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e8c27ac9191ab9e6506ae5cbe70d87ac50f8e960 Author: Yinghai Lu Date: Sun Jun 1 13:15:22 2008 -0700 x86, numa, 32-bit: print out debug info on all kvas also fix the print out of node_remap_end_vaddr Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0596152388e234efebce464355186ad9e16c8cb6 Author: Yinghai Lu Date: Sat May 31 22:52:47 2008 -0700 x86, 32-bit: change propagate_e820_map() back to find_max_pfn() we don't need to call memory_present that early. numa and sparse will call memory_present later and might even fail, it will call memory_present for the full range. also for sparse it will call alloc_bootmem ... before we set up bootmem. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b66cd7207387b9b428aaf1988e21dd263c6a4928 Author: Yinghai Lu Date: Sat May 31 22:53:47 2008 -0700 x86: set node_remap_size[0] in fallback path ... otherwise alloc_remap will not get node_mem_map from kva area, and alloc_node_mem_map has to alloc_bootmem_node to get mem_map. It will use two low address copies ... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ba924c81dd5a7a7fb5ded025af7fdd3b61f8ca67 Author: Yinghai Lu Date: Sat May 31 22:51:51 2008 -0700 x86, numa, 32-bit: increase max_elements to 1024 so every element will represent 64M instead of 256M. AMD opteron could have HW memory hole remapping, so could have [0, 8g + 64M) on node0. Reduce element size to 64M to keep that on node 0 Later we need to use find_e820_area() to allocate memory_node_map like on 64-bit. But need to move memory_present out of populate_mem_map... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 471b3c1b011f807d16f1e19d1d4ecf703f1e7d1a Author: Ingo Molnar Date: Tue Jun 3 12:39:43 2008 +0200 x86, numaq 32-bit: build fix fix: drivers/built-in.o: In function `acpi_numa_init': : undefined reference to `acpi_numa_arch_fixup' which can happen with ACPI && NUMAQ. commit cf3d0cb8a10a4fd19439bb34995d9ad28854739a Author: Ingo Molnar Date: Tue Jun 3 11:36:56 2008 +0200 x86: 32-bit numa, build fix on Summit it's possible to have: CONFIG_ACPI_SRAT=y CONFIG_HAVE_ARCH_PARSE_SRAT=y in which case acpi.h defines the acpi_numa_slit_init() and acpi_numa_processor_affinity_init() methods as a macro. commit f3294690979634ee10398bb0beadfe1d4edb881d Author: Ingo Molnar Date: Tue Jun 3 10:16:10 2008 +0200 x86, numaq: add pci_acpi_scan_root() stub allow 32-bit numaq build to succeed with ACPI enabled. commit b28852d6703e4b72ce363c5168ea8d3fb28b9c57 Author: Ingo Molnar Date: Tue Jun 3 10:11:07 2008 +0200 x86: add dummy acpi_numa_processor_affinity_init() implementation on 32-bit allow CONFIG_ACPI_NUMA builds to succeed. commit 2772f54bf37b033263abe4a2314c40a308a1a5cd Author: Ingo Molnar Date: Tue Jun 3 10:09:45 2008 +0200 x86: add acpi_numa_slit_init() dummy implementation on 32-bit allow CONFIG_ACPI_NUMA builds to succeed on 32-bit. commit 4c1cbafb88490757a38119c41229251369bcecbc Author: Ingo Molnar Date: Tue Jun 3 09:28:52 2008 +0200 x86 mpparse: build fix fix this build bug: drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_enable': drivers/acpi/pci_irq.c:574: error: implicit declaration of function 'mp_config_acpi_gsi' Signed-off-by: Ingo Molnar commit 5a85bb02ba473aacd29f4039a74744f729443b31 Author: Jaroslav Kysela Date: Tue Jun 3 09:06:20 2008 +0200 ALSA: Release v1.0.17rc1 Signed-off-by: Jaroslav Kysela commit 69eaf23a9797e1bdf16e210ef4da3e756a41f4de Author: Dmitry Baryshkov Date: Sat May 31 16:14:48 2008 +0100 [ARM] 5071/2: Drop PXA_SHARPSL_25x/27x case from PXA Kconfig. As nothing in the code references to the PXA_SHARPSL_25x/27x, we can drop that Kconfig case and permit all-zaurus builds. Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 5806d8abf6b152f23d057c2e6b9199892883a8df Author: Dmitry Baryshkov Date: Sat May 31 16:17:32 2008 +0100 [ARM] 5073/1: spitz_pm: don't register devices on non-spitz machines Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 043fbc099af0fc0ec94112c7235b7544147149f4 Author: Dmitry Baryshkov Date: Sat May 31 16:16:54 2008 +0100 [ARM] 5072/1: corgi_pm: don't register devices on non-corgi machines Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 7c5926d4e8d0f3d36688df4652b8f9f9ef0d7945 Author: Mike Rapoport Date: Mon May 12 11:36:28 2008 +0100 [ARM] 5036/2: Combine cm_x270_defconfig and em_x270_defconfig into xm_x270_defconfig Combine cm_x270_defconfig and em_x270_defconfig to allow running the same kernel on both machines Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 63b43f5d3264f4d70b5d29885997253d33259744 Author: Russell King Date: Sun Apr 20 17:36:20 2008 +0100 [ARM] pxa: allow PXA to be built for multiple platforms Convert the 'choice' into a 'menu' to allow multiple platforms to be selected. This means to do a build check across PXA, you don't end up spending a lifetime building _twenty_ sodding kernels. Signed-off-by: Russell King commit 5855a1e3c0714242b8a1875383b63ccf9bafaab7 Author: Mike Rapoport Date: Mon May 12 06:41:13 2008 +0100 [ARM] 5035/1: Ensure that zone adjustment is done only on CM-X270 Adjust zones for PCI DMA only if machine_is_armcore() to allow running the same kernel on different PXA machines. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 0b0a9df6038752674e54e333cd247c877d29aab8 Author: Russell King Date: Sun May 18 14:59:36 2008 +0100 [ARM] pxa: separate out power manager and clock registers The power manager and core clock registers aren't present in PXA3 CPUs. Move them out of pxa-regs.h into pxa2xx-regs.h, and include pxa2xx-regs.h where necessary. Signed-off-by: Russell King commit bc3a595988468b8a9c2526b9fb8d7bcaa27cc1a7 Author: Philipp Zabel Date: Mon Jun 2 18:49:27 2008 +0100 [ARM] 5075/1: i2c-pxa: move i2c pin setup and PCFR_PI2CEN handling into arch/arm/mach-pxa This fixes a build error introduced when the power manager register definitions were moved into pxa2xx-regs.h. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit ba45ca435060614e595a107ac323a36b52619d7d Author: Nicolas Ferre Date: Tue Apr 8 13:59:18 2008 +0100 [ARM] 4940/1: AT91: UDPHS driver: SAM9RL board and cpu integration. Adds support for the USB High Speed Device Port on the AT91SAM9RL system on chip. The AT91SAM9RL uses the same UDPHS IP as the AVR32 and the AT91CAP9 (atmel_usba_udc driver). Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 6b71dbf65e63c13202fb18773a5fd2d4415b6b2e Author: Stelian Pop Date: Sat Apr 5 21:16:15 2008 +0100 [ARM] 4935/1: AT91CAP9: enable RTC-on-RTT in defconfig. Update the help text for RTC_DRV_AT91SAM9 to mention that the option apply to AT91CAP9 processors too, and enable it in the defconfig. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7c8cf66529ebf95f1a5f34d1b69504d442b42630 Author: Stelian Pop Date: Sat Apr 5 21:15:25 2008 +0100 [ARM] 4934/1: AT91CAP9 UDPHS driver: board and cpu integration. This is patch 2 of 2 adding support for the USB High Speed Device Port on the AT91CAP9 system on chip. The AT91CAP9 uses the same UDPHS IP as the AVR32 and the AT91SAM9RL. This patch declares the UDPHS ressources in the at91cap9 (cpu and adk board) files, wires up the atmel_usba_udc driver to them, and activates the driver in the defconfig. Signed-off-by: Stelian Pop Acked-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Russell King commit 53d7168026a440c4cba25468a3d926ddd7ab030a Author: Stelian Pop Date: Sat Apr 5 21:14:03 2008 +0100 [ARM] 4933/1: AT91CAP9 UDPHS driver: generic AT91 parts. This is patch 1 of 2 adding support for the USB High Speed Device Port on the AT91CAP9 system on chip. The AT91CAP9 uses the same UDPHS IP as the AVR32 and the AT91SAM9RL. This patch makes the generic AT91 adaptations, mainly dealing with the addition of the UDPHS UTMI clock. Signed-off-by: Stelian Pop Acked-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Russell King commit 19750336d4cc3a171a5aa5f9a258fb81066cc45e Author: Andrew Victor Date: Sat May 24 18:10:26 2008 +0100 [ARM] 5059/1: [AT91] Convert to new-style UART initialization Convert the following AT91RM9200-based boards to the new-style UART initialization: - Conitec ARM&EVA - Atmel AT91RM9200-DK - Embest ATEB9200 - Atmel AT91RM9200-EK - KwikByte KB920x Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7b2253418cc12877620b4d6782831e8643ab0afa Author: Andrew Victor Date: Sat May 24 17:48:37 2008 +0100 [ARM] 5058/1: [AT91] Calao Systems - default configs Default config files for the three AT91-based boards available from Calao Systems: USB_A9260, USB_A9263 and QIL_A9260. Signed-off-by: Grégory Hermant Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ca0a789ab9c83d8fdf28f5c2700b316cd5dec2f0 Author: Andrew Victor Date: Sat May 24 17:47:04 2008 +0100 [ARM] 5057/1: [AT91] Calao Systems - board files Add support for three AT91-based boards available from Calao Systems: USB_A9260, USB_A9263 and QIL_A9260. Signed-off-by: Grégory Hermant Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e3ba22db09408baee721897fb1b50e16f071d916 Author: Andrew Victor Date: Sat May 24 17:06:45 2008 +0100 [ARM] 5056/1: [AT91] Cleanup YL9200 board file Cleanup the YL9200 board-support file. Other things fixed are: - Use new-style UART initialization - Register all LEDs as gpio_leds. - NOR Flash error noted in comments fixed by increasing YL9200_FLASH_SIZE - The only I2C device is the AT24C eeprom. - Setup of NWAIT pin and programming of SMC controller for the LCD/VGA. - Configure touchscreen interrupt pin. Also adding the board to the KConfig and Makefile. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ffdf786291636137ef2d51c3a5d340793032aa28 Author: Russell King Date: Sun May 18 14:57:59 2008 +0100 [ARM] pxa: Add PXA3_ prefix to PXA3 specific constants standby.S contains both PXA2 and PXA3 specific code. The PXA3 specific constants clash with the PXA2 ones, so give them a prefix. Signed-off-by: Russell King commit 4e5e8de0dbdeb08df2b4c15fa2b0ba2216091793 Author: Russell King Date: Thu Apr 24 15:28:11 2008 +0100 [ARM] pxa: avoid kfreeing static data if platform device fails to register When a dynamically allocated platform device is 'put', the platform device's platform_data is kfree'd. This is bad if it's pointing at static data. Use the provided function to register platform data for these devices. This also means we can mark the pcmcia ops structures as __initdata. Signed-off-by: Russell King commit 04ba0f656f7580d8a51a5b3441e088309141b67a Author: Russell King Date: Thu Apr 24 15:23:25 2008 +0100 [ARM] pxa: avoid registering multiple pxa2xx_pcmcia devices cm_x270 and mainstone both register their PCMCIA devices using the same name, resulting in a warning message from the kernel. Avoid this by making the cm_x270 and mainstone PCMCIA initialisation conditional on the machine type we're running on. Signed-off-by: Russell King commit 720046de27ec2a96d4497dbca8ee98657efa059c Author: Russell King Date: Thu Apr 24 15:13:36 2008 +0100 [ARM] pxa: don't register lpd270 cpld_irq sysdev if !lpd270 Don't register the LPD270 cpld_irq system device when we're not running on a LPD270 machine - "cpld_irq" is also registered (separately) by Lubbock and Mainstone. Signed-off-by: Russell King commit 1a7e612fa5ea0311232bd5418a40ec7280557789 Author: Dmitry Baryshkov Date: Sat May 31 16:18:11 2008 +0100 [ARM] 5074/1: fix warning: missing terminating ' character Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 3d1ba1da2b4ff4ace7801e99fb9a3095b182d847 Author: Ingo Molnar Date: Mon Jun 2 13:50:10 2008 +0200 x86: fix nmi.c build bug apic.h needs to be included for the apic_write_around() definition. commit e0773410247f1e5fc6f7c52a4c5f3c6c9873d527 Author: Abhishek Sagar Date: Sat May 31 14:24:02 2008 +0530 ftrace: export kretprobe_trampoline for function tracer Follow suit from kprobe implementations on other archs and make kretprobe_trampoline non-static. Ftrace implmentation (more specifically, kernel/trace/trace.c) requires access to it (see-> http://kerneltrap.org/mailarchive/linux-kernel/2008/5/27/1955234). Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 7e0edc1bc343231029084761ebf59e522902eb49 Author: Jeremy Fitzhardinge Date: Sat May 31 01:33:04 2008 +0100 xen: add new Xen elfnote types and use them appropriately Define recently added XEN_ELFNOTEs, and use them appropriately. Most significantly, this enables domain checkpointing (xm save -c). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit d07af1f0e3a3e378074fc36322dd7b0e72d9a3e2 Author: Jeremy Fitzhardinge Date: Sat May 31 01:33:03 2008 +0100 xen: resume timers on all vcpus On resume, the vcpu timer modes will not be restored. The timer infrastructure doesn't do this for us, since it assumes the cpus are offline. We can just poke the other vcpus into the right mode directly though. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 9c7a794209f8a91f47697c3be20597eb60531e6d Author: Jeremy Fitzhardinge Date: Sat May 31 01:33:02 2008 +0100 xen: restore vcpu_info mapping If we're using vcpu_info mapping, then make sure its restored on all processors before relasing them from stop_machine. The only complication is that if this fails, we can't continue because we've already made assumptions that the mapping is available (baked in calls to the _direct versions of the functions, for example). Fortunately this can only happen with a 32-bit hypervisor, which may possibly run out of mapping space. On a 64-bit hypervisor, this is a non-issue. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e2426cf85f8db5891fb5831323d2d0c176c4dadc Author: Jeremy Fitzhardinge Date: Sat May 31 01:24:27 2008 +0100 xen: avoid hypercalls when updating unpinned pud/pmd When operating on an unpinned pagetable (ie, one under construction or destruction), it isn't necessary to use a hypercall to update a pud/pmd entry. Jan Beulich observed that a similar optimisation avoided many thousands of hypercalls while doing a kernel build. One tricky part is that early in the kernel boot there's no page structure, so we can't check to see if the page is pinned. In that case, we just always use the hypercall. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich Signed-off-by: Ingo Molnar commit 15ce60056b24a65b65e28de973a9fd8ac0750a2f Author: Ingo Molnar Date: Mon Jun 2 13:20:11 2008 +0200 xen: export get_phys_to_machine -tip testing found the following xen-console symbols trouble: ERROR: "get_phys_to_machine" [drivers/video/xen-fbfront.ko] undefined! ERROR: "get_phys_to_machine" [drivers/net/xen-netfront.ko] undefined! ERROR: "get_phys_to_machine" [drivers/input/xen-kbdfront.ko] undefined! with: http://redhat.com/~mingo/misc/config-Mon_Jun__2_12_25_13_CEST_2008.bad commit 9f5314fb4d556d3132c784d0df47352b2830ca53 Author: Jack Steiner Date: Wed May 28 09:51:18 2008 -0500 x86, uv: update macros used by UV platform Update the UV address macros to better describe the fields of UV physical addresses. Improve comments in the header files. Add additional MMR definitions. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 88ff0a474e98f869d8c321e29481f298320100d6 Author: Hiroshi Shimamoto Date: Tue May 27 18:49:39 2008 -0700 x86: coding style fixes for nmi.c before total: 1 errors, 6 warnings, 534 lines checked after total: 0 errors, 1 warnings, 532 lines checked Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fb093eab6d8963a085f112773284f2bcb3d7907b Author: Yinghai Lu Date: Tue May 27 16:29:20 2008 -0700 x86: remove duplicated e820 func in setup.h we already have them in e820.h Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ad90c0e3ce8d20d6873b57e36181ef6d7a0097fe Author: Steven Rostedt Date: Tue May 27 20:48:37 2008 -0400 ftrace: user update and disable dynamic ftrace daemon In dynamic ftrace, the mcount function starts off pointing to a stub function that just returns. On start up, the call to the stub is modified to point to a "record_ip" function. The job of the record_ip function is to add the function to a pre-allocated hash list. If the function is already there, it simply is ignored, otherwise it is added to the list. Later, a ftraced daemon wakes up and calls kstop_machine if any functions have been recorded, and changes the calls to the recorded functions to a simple nop. If no functions were recorded, the daemon goes back to sleep. The daemon wakes up once a second to see if it needs to update any newly recorded functions into nops. Usually it does not, but if a lot of code has been executed for the first time in the kernel, the ftraced daemon will call kstop_machine to update those into nops. The problem currently is that there's no way to stop the daemon from doing this, and it can cause unneeded latencies (800us which for some is bothersome). This patch adds a new file /debugfs/tracing/ftraced_enabled. If the daemon is active, reading this will return "enabled\n" and "disabled\n" when the daemon is not running. To disable the daemon, the user can echo "0" or "disable" into this file, and "1" or "enable" to re-enable the daemon. Since the daemon is used to convert the functions into nops to increase the performance of the system, I also added that anytime something is written into the ftraced_enabled file, kstop_machine will run if there are new functions that have been detected that need to be converted. This way the user can disable the daemon but still be able to control the conversion of the mcount calls to nops by simply, "echo 0 > /debugfs/tracing/ftraced_enabled" when they need to do more conversions. To see the number of converted functions: "cat /debugfs/tracing/dyn_ftrace_total_info" Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6330a30a76c1e62d4b4ec238368957f8febf9113 Author: Vegard Nossum Date: Wed May 28 09:46:19 2008 +0200 x86: break mutual header inclusion This breaks up the mutual inclusion between headers ptrace.h and vm86.h by moving some small part of vm86.h which is needed by ptrace.h into processor-flags.h. We also try to move #include lines to the top. This has been compile tested on x86_32 and x86_64 defconfig, and run through 'make headers_check'. Cc: Adrian Bunk Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 83bea8e1fa0c47b30664b6f92397c016c22f77fb Author: Vegard Nossum Date: Tue May 27 21:03:46 2008 +0200 x86: fix incomplete include guard in include/asm-x86/seccomp_32.h Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 76094a2cf46e4ab776055d4086615b884408568c Author: Abhishek Sagar Date: Wed May 28 00:03:18 2008 +0530 ftrace: distinguish kretprobe'd functions in trace logs Tracing functions via ftrace which have a kretprobe installed on them, can produce misleading output in their trace logs. E.g, consider the correct trace of the following sequence: do_IRQ() { ~ irq_enter(); ~ } Trace log (sample): -0 [00] 4154504455.781616: irq_enter <- do_IRQ But if irq_enter() has a kretprobe installed on it, the return value stored on the stack at each invocation is modified to divert the return to a kprobe trampoline function called kretprobe_trampoline(). So with this the trace would (currently) look like: -0 [00] 4154504455.781616: irq_enter <- kretprobe_trampoline Now this is quite misleading to the end user, as it suggests something that didn't actually happen. So just to avoid such misinterpretations, the inlined patch aims to output such a log as: -0 [00] 4154504455.781616: irq_enter <- [unknown/kretprobe'd] Signed-off-by: Abhishek Sagar Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c1f64a58003fd2efaa725a857e269a15f765791a Author: Linus Torvalds Date: Tue May 27 09:47:13 2008 -0700 x86: MMIO and gcc re-ordering issue On Tue, 27 May 2008, Linus Torvalds wrote: > > Expecting people to fix up all drivers is simply not going to happen. And > serializing things shouldn't be *that* expensive. People who cannot take > the expense can continue to use the magic __raw_writel() etc stuff. Of course, for non-x86, you kind of have to expect drivers to be well-behaved, so non-x86 can probably avoid this simply because there are less relevant drivers involved. Here's a UNTESTED patch for x86 that may or may not compile and work, and which serializes (on a compiler level) the IO accesses against regular memory accesses. __read[bwlq]()/__write[bwlq]() are not serialized with a :"memory" barrier, although since they still use "asm volatile" I suspect that i practice they are probably serial too. Did not look very closely at any generated code (only did a trivial test to see that the code looks *roughly* correct). Signed-off-by: Ingo Molnar commit 1a5726528a70bb239bdd149aef7f2155cd2b1699 Author: Ingo Molnar Date: Mon Jun 2 12:21:36 2008 +0200 fix build bug in "x86: add PCI extended config space access for AMD Barcelona" commit c78277288e3d561d55fb48bc0fe8d6e2cf4d0880 Author: Jeremy Fitzhardinge Date: Thu May 29 09:02:19 2008 +0100 CONFIG_PM_SLEEP fix: xen: fix compilation when CONFIG_PM_SLEEP is disabled Xen save/restore depends on CONFIG_PM_SLEEP being set for device_power_up/down. Signed-off-by: Jeremy Fitzhardinge Acked-by: Randy Dunlap Signed-off-by: Ingo Molnar commit c46e62f73569d7ef42255bd6f31e35925b7f1492 Author: Pavel Machek Date: Wed May 28 12:42:57 2008 +0200 i8259: fix final ugliness Introduce IRQx_VECTOR on 32-bit, so that #ifdef noise is kept down. There should be no object code change. [ mingo@elte.hu: merged to x86/irq not x86/i8259 due to x86/irq having restructured the vector code into asm-x86/irq_vectors.h, which this patch touches. ] Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 6fc92866a4a6778a9732a14b61f70cb9014b2a1a Author: Ingo Molnar Date: Mon Jun 2 10:54:16 2008 +0200 fix build bug in "x86: add PCI extended config space access for AMD Barcelona" Signed-off-by: Ingo Molnar commit 831d991821daedd4839073dbca55514432ef1768 Author: Robert Richter Date: Mon Sep 3 10:17:39 2007 +0200 x86: add PCI extended config space access for AMD Barcelona This patch implements PCI extended configuration space access for AMD's Barcelona CPUs. It extends the method using CF8/CFC IO addresses. An x86 capability bit has been introduced that is set for CPUs supporting PCI extended config space accesses. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit d2cd74b158d7214a556226e3312f9fb1de64d7ae Author: Takashi Iwai Date: Mon Jun 2 11:45:53 2008 +0200 [ALSA] emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2 On Audigy2 Platinum, the Analog/Digital mixer switch is inverted. https://bugzilla.novell.com/show_bug.cgi?id=396204 The patch adds a simple workaround. There might be another device requiring a similar fix, too (or fix for audigy2 generically), but right now I fix only the known broken one. Signed-off-by: Takashi Iwai commit 014c257cce65e9d1cd2d28ec1c89a37c536b151d Author: Abhishek Sagar Date: Sat May 31 14:23:50 2008 +0530 ftrace: core support for ARM Core ftrace support for the ARM architecture, which includes support for dynamic function tracing. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 9a73aa81ffb993382afed2ed404bc2b330d75427 Author: Yinghai Lu Date: Thu May 29 16:25:56 2008 -0700 x86: 32bit numa srat fix early_ioremap leak on two node system (16g RAM) with numa config I got this crash: get_memcfg_from_srat: assigning address to rsdp RSD PTR v0 [ACPIAM] ACPI: Too big length in RSDT: 92 failed to get NUMA memory information from SRAT table NUMA - single node, flat memory mode Node: 0, start_pfn: 0, end_pfn: 153 Setting physnode_map array to node 0 for pfns: 0 ... Pid: 0, comm: swapper Not tainted 2.6.26-rc4 #4 [<80b41289>] hlt_loop+0x0/0x3 [<8011efa0>] ? alloc_remap+0x50/0x70 [<8079e32e>] alloc_node_mem_map+0x5e/0xa0 [<8012e77b>] ? printk+0x1b/0x20 [<80b590f6>] free_area_init_node+0xc6/0x470 [<80b588fc>] ? __alloc_bootmem_node+0x2c/0x50 [<80b58ad8>] ? find_min_pfn_for_node+0x38/0x70 [<8012e77b>] ? printk+0x1b/0x20 [<80b597c4>] free_area_init_nodes+0x254/0x2d0 [<80b544d7>] zone_sizes_init+0x97/0xa0 [<80b48a03>] setup_arch+0x383/0x530 [<8012e77b>] ? printk+0x1b/0x20 [<80b41aa4>] start_kernel+0x64/0x350 [<80b412d8>] i386_start_kernel+0x8/0x10 ======================= this patch increases the acpi table limit to 32. Also match early_ioremap() with early_iounmap(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a5481280b29b6a3db912ec100498bd31eaa6d2db Author: Yinghai Lu Date: Thu May 29 12:58:37 2008 -0700 x86: extend e820 early_res support 32bit -fix #5 reserve early numa kva, so it will not clash with new RAMDISK Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 163872950dc856fd23849c27f60049feaac49ae6 Author: Yinghai Lu Date: Thu May 29 12:57:22 2008 -0700 x86: extend e820 early_res support 32bit -fix #4 reserve_early pgdata for 32bit numa Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f0d43100f13be0fa5bf52741d7084bb27f00e621 Author: Yinghai Lu Date: Thu May 29 12:56:36 2008 -0700 x86: extend e820 early_res support 32bit -fix #3 introduce init_pg_table_start, so xen PV could specify the value. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 23deb06821442506615f34bd92ccd6a2422629d7 Author: H. Peter Anvin Date: Fri May 30 17:19:03 2008 -0700 x86: move x86-specific documentation into Documentation/x86 The current organization of the x86 documentation makes it appear as if the "i386" documentation doesn't apply to x86-64, which is does. Thus, move that documentation into Documentation/x86, and move the x86-64-specific stuff into Documentation/x86/x86_64 with the eventual goal to move stuff that isn't actually 64-bit specific back into Documentation/x86. Signed-off-by: H. Peter Anvin commit 4039feb5bae72a5fed9ba6bc1a9cfd8dfe0a8613 Author: H. Peter Anvin Date: Fri May 30 17:16:20 2008 -0700 x86: update Documentation/i386/boot.txt Document QUIET_FLAG, correct the definition of several fields, make it clear this applies to the entire x86 architecture, not just i386. Signed-off-by: H. Peter Anvin commit 3b6b9293d0f8e1b11630102013ca2a1dcef17d44 Author: Kristian Høgsberg Date: Thu May 29 18:31:15 2008 -0400 x86: Honor 'quiet' command line option in real mode boot decompressor. This patch lets the early real mode code look for the 'quiet' option on the kernel command line and pass a loadflag to the decompressor. When this flag is set, we suppress the "Decompressing Linux... Parsing ELF... done." messages. Signed-off-by: Kristian Høgsberg Signed-off-by: H. Peter Anvin commit 23968f71b26ece45ed52895d41b0208b90a516e7 Author: Kristian Høgsberg Date: Thu May 29 18:31:14 2008 -0400 x86: Use structs instead of hardcoded offsets in x86 boot decompressor. Replace hardcoded offsets embedded in macros in arch/x86/boot/compressed with proper structure references. Signed-off-by: Kristian Høgsberg Signed-off-by: H. Peter Anvin commit 1c47cd638e8302bc38be1f6d81067950e038ebd3 Author: H. Peter Anvin Date: Fri May 30 15:42:45 2008 -0700 x86: fix overlong line in arch/x86/kernel/cpu/amd_64.c Clean up an overlong line in arch/x86/kernel/cpu/amd_64.c. Signed-off-by: H. Peter Anvin commit 30a713180b3d08fdec5ca572e5a1cd35253c5d8e Author: Dave Jones Date: Thu May 22 18:57:25 2008 -0400 x86: Move the 64-bit Centaur specific parts out of setup_64.c Create a separate centaur_64.c file in the cpu/ dir for the useful parts to live in. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit 7e2191127eb414d7d5a11df6552ab6e3845d17a1 Author: Dave Jones Date: Thu May 22 18:55:06 2008 -0400 x86: Remove workaround for prescott (32bit P4) from 64-bit code. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit a82fbe31cb387bb246e2d3b3c177f551bb991135 Author: Dave Jones Date: Thu May 22 18:54:32 2008 -0400 x86: Move the 64-bit Intel specific parts out of setup_64.c Create a separate intel_64.c file in the cpu/ dir for the useful parts to live in. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit 4d285878564bb46cf64e54be18eeffe33ca583a0 Author: Dave Jones Date: Thu May 22 18:48:32 2008 -0400 x86: Move the AMD64 specific parts out of setup_64.c Create a separate amd_64.c file in the cpu/ dir for the useful parts to live in. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit d364319b989967b74e57fef5c8017fd56a16c392 Author: Thomas Gleixner Date: Fri May 2 23:42:01 2008 +0200 x86: move mmconfig declarations to header arch/x86/kernel/mmconf-fam10h_64.c is missing the prototypes, which are decalred in arch/x86/kernel/setup_64.c. Move the prototypes and the inline stubs to the appropriate header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ba3a5974239293d921235e6fa82b09b670e674ef Author: Ingo Molnar Date: Fri May 30 14:55:47 2008 +0200 - fix typo in include/asm-x86/nmi.h commit a5003fc04113c217370409beac812831cbf6e0ac Author: Takashi Iwai Date: Fri May 30 09:49:41 2008 +0200 [ALSA] emu10k1 - simplify page allocation for synth Simplify the page allocation of emu10k1 driver for emux synth support. Since these pages aren't be necessarily coherent, we can avoid expensive DMA-coherent routines. Signed-off-by: Takashi Iwai commit 2621f0338ce4e3e57cc32a967f5a3d2999390fe3 Author: Takashi Iwai Date: Fri May 30 11:27:24 2008 +0200 [ALSA] trivial clean up of sound/isa/sb/Makefile Remove unneeded sort in sound/isa/sb/Makefile. Signed-off-by: Takashi Iwai commit 72860b0f3c4a303498c9e16c8a4a38ddf23d56de Author: Takashi Iwai Date: Fri May 30 11:25:03 2008 +0200 sound: Clean up sound/oss/Kconfig Removed unnecessary dependencies, fix a wrong selection, and make CONFIG_SOUND_OSS menuconfig to simplify. Signed-off-by: Takashi Iwai commit e22af66fc85a8b008237970da4d9b6910422536b Merge: a4831fb... f7b0b93... Author: Uwe Kleine-König Date: Fri May 30 10:46:30 2008 +0200 Merge branch 'atags' into for-rmk commit a4831fbe096a6f4f691fd71b041ce27add54088e Author: Uwe Kleine-König Date: Wed May 21 10:17:07 2008 +0200 ns9xxx: fix assembler version of __REG2 to be consistent with the C version It's not very critical because __REG2 isn't used in assembler code currently. Additionally some white space noise is fixed. Signed-off-by: Uwe Kleine-König commit f7b0b939d54b457ba172e088f477af2012aef9b3 Author: Uwe Kleine-König Date: Thu Feb 21 15:04:40 2008 +0100 clean up atags exporting code This gets rid of two static variables (one of them being __initdata) and a static function. Signed-off-by: Uwe Kleine-König Acked-by: Uli Luckas commit 8ff7f2a46bd8831e1f1f2a694ec13921720180b7 Author: Uwe Kleine-König Date: Thu Feb 21 16:30:10 2008 +0100 There is no need to have BOOT_PARAMS_SIZE known outside of atags.c atags.c was the only user of KEXEC_BOOT_PARAMS_SIZE and kexec.h was only included to get that definition. Signed-off-by: Uwe Kleine-König Acked-by: Uli Luckas commit 8bb8b453cb458d8f62411e78a4cfd6d860b503b6 Author: Takashi Iwai Date: Fri May 30 09:47:45 2008 +0200 [ALSA] trident - clean up obsolete synth codes Clean up the unused synth codes in the memory handling of trident driver. Signed-off-by: Takashi Iwai commit 23ce1547638443f0053dd674e728062c48ff0e39 Author: Takashi Iwai Date: Fri May 30 09:22:22 2008 +0200 [ALSA] Make ak4531 local to ens1370 driver The ak4531 module is used only by ens1370 driver (and unlikely that any other will use it ever). Let's make it local to ens1370. Signed-off-by: Takashi Iwai commit c18f68e4d809a517ed8df540bac2993a4f14d9a4 Author: Takashi Iwai Date: Thu May 29 18:53:05 2008 +0200 [ALSA] Clean up sound/pci/ac97/Makefile Signed-off-by: Takashi Iwai commit 0261ac5f2f43a1906cfacfb19d62ed643d162cbe Author: Ingo Molnar Date: Thu May 29 09:31:50 2008 +0200 xen: fix "xen: implement save/restore" -tip testing found the following build breakage: drivers/built-in.o: In function `xen_suspend': manage.c:(.text+0x4390f): undefined reference to `xen_console_resume' with this config: http://redhat.com/~mingo/misc/config-Thu_May_29_09_23_16_CEST_2008.bad i have bisected it down to: | commit 0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58 | Author: Jeremy Fitzhardinge | Date: Mon May 26 23:31:27 2008 +0100 | | xen: implement save/restore the problem is that drivers/xen/manage.c is built unconditionally if CONFIG_XEN is enabled and makes use of xen_suspend(), but drivers/char/hvc_xen.c, where the xen_suspend() method is implemented, is only build if CONFIG_HVC_XEN=y as well. i have solved this by providing a NOP implementation for xen_suspend() in the !CONFIG_HVC_XEN case. Signed-off-by: Ingo Molnar commit b7482f52789266e2548be5d0f6420c9fc12428d8 Author: Philipp Zabel Date: Wed May 28 17:58:06 2008 +0100 [ALSA] ASoC: Add UDA1380 driver The UDA1380 codec is used by the HTC Magician and a number of Samsung reference boards. This driver has had a long out of tree history, having originally been written by Giorgio Padrin and converted to ASoC by Richard Purdie. Since conversion to ASoC most of the work on the driver has been done by Philipp Zabel with some review and updates for new APIs by Liam Girdwood and Mark Brown. Signed-off-by: Richard Purdie Signed-off-by: Philipp Zabel Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit e13ac2e9b18bde51cf32c69c2209df25791ab3e5 Author: Mark Brown Date: Wed May 28 17:58:05 2008 +0100 [ALSA] ASoC: Add SOC_DOUBLE_S8_TLV control type The SOC_DOUBLE_S8_TLV control type was originally implemented in the UDA1380 driver by Philipp Zabel and was moved into the core by me. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 19ec673ced067316b9732bc6d1c4ff4052e5f795 Author: Cyrill Gorcunov Date: Wed May 28 23:00:47 2008 +0400 x86: nmi - fix incorrect NMI watchdog used by default The commit commit 4b82b277707a39b97271439c475f186f63ec4692 Author: Cyrill Gorcunov Date: Sat May 24 19:36:35 2008 +0400 set nmi_watchdog to NMI_IO_APIC as by default. This causes hangs on some machines with buggy watchdogs. Fix it - i.e. restore old behaviour. Thanks to Sitsofe Wheeler and Adrian Bunk for catching the problem and Maciej W. Rozycki for explanation what is going on there. Signed-off-by: Cyrill Gorcunov CC: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit c7d624d1ee7b77622305bd638755394e4d3f2d2f Author: Dave Jones Date: Wed May 28 12:57:13 2008 -0400 x86: Fix up silly i1586 boot message. Trying to boot a 64-bit kernel on a 32bit Pentium 4 gets you an amusing message along the lines of. "you need an x86-64, but you only have an i1586" due to the P4 being family F. Munge it to be 686. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit a93bbaa77ea61c6bad684263a65f812b31bf9791 Author: Takashi Iwai Date: Tue May 27 17:59:24 2008 +0200 [ALSA] Improve the slots option handling Fix and improve the slots option handling. The sound core tries to find the slot with the given module name first and assign if it's still available. If all pre-given slots are unavailable, then try to find another free slot. Also, when a module name begins with '!', it means the negative match: the slot will be given for any modules but that one. Signed-off-by: Takashi Iwai commit b20aeccd6ad42ccb6be1b3d1d32618ddd2b31bf0 Author: Ingo Molnar Date: Wed May 28 14:24:38 2008 +0200 xen: fix early bootup crash on native hardware -tip tree auto-testing found the following early bootup hang: --------------> get_memcfg_from_srat: assigning address to rsdp RSD PTR v0 [Nvidia] BUG: Int 14: CR2 ffd00040 EDI 8092fbfe ESI ffd00040 EBP 80b0aee8 ESP 80b0aed0 EBX 000f76f0 EDX 0000000e ECX 00000003 EAX ffd00040 err 00000000 EIP 802c055a CS 00000060 flg 00010006 Stack: ffd00040 80bc78d0 80b0af6c 80b1dbfe 8093d8ba 00000008 80b42810 80b4ddb4 80b42842 00000000 80b0af1c 801079c8 808e724e 00000000 80b42871 802c0531 00000100 00000000 0003fff0 80b0af40 80129999 00040100 00040100 00000000 Pid: 0, comm: swapper Not tainted 2.6.26-rc4-sched-devel.git #570 [<802c055a>] ? strncmp+0x11/0x25 [<80b1dbfe>] ? get_memcfg_from_srat+0xb4/0x568 [<801079c8>] ? mcount_call+0x5/0x9 [<802c0531>] ? strcmp+0xa/0x22 [<80129999>] ? printk+0x38/0x3a [<80129999>] ? printk+0x38/0x3a [<8011b122>] ? memory_present+0x66/0x6f [<80b216b4>] ? setup_memory+0x13/0x40c [<80b16b47>] ? propagate_e820_map+0x80/0x97 [<80b1622a>] ? setup_arch+0x248/0x477 [<80129999>] ? printk+0x38/0x3a [<80b11759>] ? start_kernel+0x6e/0x2eb [<80b110fc>] ? i386_start_kernel+0xeb/0xf2 ======================= <------ with this config: http://redhat.com/~mingo/misc/config-Wed_May_28_01_33_33_CEST_2008.bad The thing is, the crash makes little sense at first sight. We crash on a benign-looking printk. The code around it got changed in -tip but checking those topic branches individually did not reproduce the bug. Bisection led to this commit: | d5edbc1f75420935b1ec7e65df10c8f81cea82de is first bad commit | commit d5edbc1f75420935b1ec7e65df10c8f81cea82de | Author: Jeremy Fitzhardinge | Date: Mon May 26 23:31:22 2008 +0100 | | xen: add p2m mfn_list_list Which is somewhat surprising, as on native hardware Xen client side should have little to no side-effects. After some head scratching, it turns out the following happened: randconfig enabled the following Xen options: CONFIG_XEN=y CONFIG_XEN_MAX_DOMAIN_MEMORY=8 # CONFIG_XEN_BLKDEV_FRONTEND is not set # CONFIG_XEN_NETDEV_FRONTEND is not set CONFIG_HVC_XEN=y # CONFIG_XEN_BALLOON is not set which activated this piece of code in arch/x86/xen/mmu.c: > @@ -69,6 +69,13 @@ > __attribute__((section(".data.page_aligned"))) = > { [ 0 ... TOP_ENTRIES - 1] = &p2m_missing[0] }; > > +/* Arrays of p2m arrays expressed in mfns used for save/restore */ > +static unsigned long p2m_top_mfn[TOP_ENTRIES] > + __attribute__((section(".bss.page_aligned"))); > + > +static unsigned long p2m_top_mfn_list[TOP_ENTRIES / P2M_ENTRIES_PER_PAGE] > + __attribute__((section(".bss.page_aligned"))); The problem is, you must only put variables into .bss.page_aligned that have a _size_ that is _exactly_ page aligned. In this case the size of p2m_top_mfn_list is not page aligned: 80b8d000 b p2m_top_mfn 80b8f000 b p2m_top_mfn_list 80b8f008 b softirq_stack 80b97008 b hardirq_stack 80b9f008 b bm_pte So all subsequent variables get unaligned which, depending on luck, breaks the kernel in various funny ways. In this case what killed the kernel first was the misaligned bootmap pte page, resulting in that creative crash above. Anyway, this was a fun bug to track down :-) I think the moral is that .bss.page_aligned is a dangerous construct in its current form, and the symptoms of breakage are very non-trivial, so i think we need build-time checks to make sure all symbols in .bss.page_aligned are truly page aligned. The Xen fix below gets the kernel booting again. Signed-off-by: Ingo Molnar commit b1829d2705daa7cb72eb1e08bdc8b7e9fad34266 Author: Ingo Molnar Date: Wed May 28 01:22:08 2008 +0200 ftrace: fix merge Signed-off-by: Ingo Molnar commit dd564d0cf08686cf0cc332bf9d48cba5b26a8171 Author: Pavel Machek Date: Tue May 27 18:03:56 2008 +0200 x86: aperture_64.c: cleanups Some small cleanups for aperture_64.c; they should not really change any code. Signed-off-by: Pavel Machek Cc: Dave Jones Cc: Andi Kleen Signed-off-by: Thomas Gleixner commit f9423e7a94eb2dfef3503dde76d17eaf342ab962 Author: Kailang Yang Date: Tue May 27 12:32:25 2008 +0200 [ALSA] hda - Fix EAPD and COEF setups for realtek codecs Fixed EAPD and COEF setups for Realtek ALC662/663, 660-VD and 888 codecs. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 2f8932863d243a744ccd3dc005490ad9d2eae478 Author: Kailang Yang Date: Tue May 27 12:14:47 2008 +0200 [ALSA] hda - show correct codec chip in PCM stream names Show more exact codec chip name in the PCM stream name strings. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 531240ff520406c793a110e1c0f187d931f47d66 Author: Kailang Yang Date: Tue May 27 12:10:25 2008 +0200 [ALSA] hda - Fix vref pincap check in alc882 auto-detection Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 6dda9f4a95905f2b38e79e3737da5e25397e6acb Author: Kailang Yang Date: Tue May 27 12:05:31 2008 +0200 [ALSA] hda - Add ALC663 support Added the support of ALC663 codec, including specific models for ASUS M51VA, ASUS G71V, ASUS H13 and ASUS G50V. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit abbc9d1b25637b1948a4718fa8f7b257233136bc Author: Kailang Yang Date: Tue May 27 11:48:01 2008 +0200 [ALSA] hda - Add ICH9 controller support (8086:2911) Added the missing PCI ID for ICH9 controller (8086:2911) Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit f269002e61446ed3410d8ca5f06ebca1e2760cb5 Author: Kailang Yang Date: Tue May 27 11:44:55 2008 +0200 [ALSA] hda - Add support of Teradici controller Add the new PCI ID 0x6549 0x1200 Teradici controller. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 142054a389ebf7972b4eee822ad7c55ff852b649 Author: Mike Rapoport Date: Mon May 26 12:59:16 2008 +0300 [ALSA] Add EM-X270 ASoC driver This patch adds ASoC support for EM-X270 machine. Signed-off-by: Mike Rapoport Signed-off-by: Takashi Iwai commit 62cf872a8eec1f11aacbec0ac3fe3698bfa9b403 Author: Takashi Iwai Date: Tue May 20 12:15:15 2008 +0200 [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to represent its meaning more better. This config isn't provided only for the detection but for more verbose debug prints in general. Signed-off-by: Takashi Iwai commit 6938d6b2a90d5e2ffaef037852652a1333502519 Author: Takashi Iwai Date: Fri May 23 16:11:26 2008 +0200 [ALSA] Fix AC97 kconfig items The kconfig items related with AC97-powersave must be outside the CONFIG_SND_PCI range. And it'd be better together with CONFIG_SND_AC97. Signed-off-by: Takashi Iwai commit 89fe5117928b2c1272c9376362131ded561c91ad Author: Takashi Iwai Date: Fri May 23 16:10:37 2008 +0200 sound: Convert to menuconfig Convert menu in sound Kconfig files to menuconfig and if. Signed-off-by: Takashi Iwai commit 06b5fb97cec1a3ca61d10164118b00fe98a6a866 Author: Adrian Bunk Date: Tue May 20 00:59:35 2008 +0300 sound: sound/oss/: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit a72e72469a166c825196c3f20dabd352877fec2b Author: Adrian Bunk Date: Tue May 20 01:06:55 2008 +0300 [ALSA] remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 62b126315369d52e40ad604e1798ff5b6265287e Author: Chris Mennie Date: Mon May 19 16:21:33 2008 +0200 [ALSA] usb-audio - Support for Roland SonicCell sound module Added entry into usbquirks.h to recognize Roland SonicCell sound module by mostly duplicating the entry for the Roland SH-201. USB MIDI works just fine, though the USB audio is a little unreliable (but still works well enough). Signed-off-by: Chris Mennie Signed-off-by: Takashi Iwai commit 3945e2c9abf8e00c2edc4aa29215ddfad1cd8cf7 Author: Yinghai Lu Date: Sun May 25 10:00:09 2008 -0700 x86: extend e820 ealy_res support 32bit - fix #2 remove extra -1 in reseve_early calling panic if can not find space for new RAMDISK Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 359cdd3f866b6219a6729e313faf2221397f3278 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:28 2008 +0100 xen: maintain clock offset over save/restore Hook into the device model to make sure that timekeeping's resume handler is called. This deals with our clocksource's non-monotonicity over the save/restore. Explicitly call clock_has_changed() to make sure that all the timers get retriggered properly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:27 2008 +0100 xen: implement save/restore This patch implements Xen save/restore and migration. Saving is triggered via xenbus, which is polled in drivers/xen/manage.c. When a suspend request comes in, the kernel prepares itself for saving by: 1 - Freeze all processes. This is primarily to prevent any partially-completed pagetable updates from confusing the suspend process. If CONFIG_PREEMPT isn't defined, then this isn't necessary. 2 - Suspend xenbus and other devices 3 - Stop_machine, to make sure all the other vcpus are quiescent. The Xen tools require the domain to run its save off vcpu0. 4 - Within the stop_machine state, it pins any unpinned pgds (under construction or destruction), performs canonicalizes various other pieces of state (mostly converting mfns to pfns), and finally 5 - Suspend the domain Restore reverses the steps used to save the domain, ending when all the frozen processes are thawed. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 7d88d32a4670af583c896e5ecd3929b78538ca62 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:26 2008 +0100 xenbus: rebind irq on restore When restoring, rebind the existing xenbus irq to the new xenbus event channel. (It turns out in practice that this is always the same, and is never updated on restore. That's a bug, but Xeno-linux has been like this for a long time, so it can't really be fixed.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 6b9b732d0e396a3f1a95977162a8624aafce38a1 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:25 2008 +0100 xen-console: add save/restore Add code to: 1. Deal with the console page being canonicalized. During save, the console's mfn in the start_info structure is canonicalized to a pfn. In order to deal with that, we always use a copy of the pfn and indirect off that all the time. However, we fall back to using the mfn if the pfn hasn't been initialized yet. 2. Restore the console event channel, and rebind it to the existing irq. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0f2287ad7c61f10b2a22a06e2a66cdbbbfc44ad0 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:24 2008 +0100 xen: fix unbind_from_irq() Rearrange the tests in unbind_from_irq() so that we can still unbind an irq even if the underlying event channel is bad. This allows a device driver to shuffle its irqs on save/restore before the underlying event channels have been fixed up. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit eb1e305f4ef201e549ffd475b7dcbcd4ec36d7dc Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:23 2008 +0100 xen: add rebind_evtchn_irq Add rebind_evtchn_irq(), which will rebind an device driver's existing irq to a new event channel on restore. Since the new event channel will be masked and bound to vcpu0, we update the state accordingly and unmask the irq once everything is set up. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit d5edbc1f75420935b1ec7e65df10c8f81cea82de Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:22 2008 +0100 xen: add p2m mfn_list_list When saving a domain, the Xen tools need to remap all our mfns to portable pfns. In order to remap our p2m table, it needs to know where all its pages are, so maintain the references to the p2m table for it to use. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a0d695c821544947342a2d372ec4108bc813b979 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:21 2008 +0100 xen: make dummy_shared_info non-static Rename dummy_shared_info to xen_dummy_shared_info and make it non-static, in anticipation of users outside of enlighten.c Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit cf0923ea295ba08ae656ef04164a43cb6553ba99 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:20 2008 +0100 xen: efficiently support a holey p2m table When using sparsemem and memory hotplug, the kernel's pseudo-physical address space can be discontigious. Previously this was dealt with by having the upper parts of the radix tree stubbed off. Unfortunately, this is incompatible with save/restore, which requires a complete p2m table. The solution is to have a special distinguished all-invalid p2m leaf page, which we can point all the hole areas at. This allows the tools to see a complete p2m table, but it only costs a page for all memory holes. It also simplifies the code since it removes a few special cases. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 8006ec3e911f93d702e1d4a4e387e244ab434924 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:19 2008 +0100 xen: add configurable max domain size Add a config option to set the max size of a Xen domain. This is used to scale the size of the physical-to-machine array; it ends up using around 1 page/GByte, so there's no reason to be very restrictive. For a 32-bit guest, the default value of 8GB is probably sufficient; there's not much point in giving a 32-bit machine much more memory than that. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit d451bb7aa852627bdf7be7937dc3d9d9f261b235 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:18 2008 +0100 xen: make phys_to_machine structure dynamic We now support the use of memory hotplug, so the physical to machine page mapping structure must be dynamic. This is implemented as a two-level radix tree structure, which allows us to efficiently incrementally allocate memory for the p2m table as new pages are added. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 955d6f1778da5a9795f2dfb07f760006f194609a Author: Adrian Bunk Date: Mon May 26 23:31:17 2008 +0100 xen: drivers/xen/balloon.c: make a function static Make the needlessly global balloon_set_new_target() static. Signed-off-by: Adrian Bunk Acked-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 38bb5ab4179572f4d24d3ca7188172a31ca51a69 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:16 2008 +0100 xen: count resched interrupts properly Make sure resched interrupts appear in /proc/interrupts in the proper place. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit bfdab126cfa6fe3c2ddb8b6007a38202b510b6c1 Author: Isaku Yamahata Date: Mon May 26 23:31:15 2008 +0100 xen: add missing definitions in include/xen/interface/memory.h which ia64/xen needs Add xen handles realted definitions for xen memory which ia64/xen needs. Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical address (guest physical address) so that it is required to convert guest kernel virtual address into pseudo physical address. The xen guest handle represents such arguments. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a90971ebddc81330f59203dee9803512aa4e2ef6 Author: Isaku Yamahata Date: Mon May 26 23:31:14 2008 +0100 xen: compilation fix to balloon driver for ia64 support fix compilation error of ballon driver on ia64. extent_start member is pointer argument. On x86 pointer argument for xen hypercall is passed as virtual address. On the other hand, ia64 and ppc, pointer argument is passed in pseudo physical address. (guest physicall address.) So they must be passed as handle and convert right before issuing hypercall. CC drivers/xen/balloon.o linux-2.6-x86/drivers/xen/balloon.c: In function 'increase_reservation': linux-2.6-x86/drivers/xen/balloon.c:228: error: incompatible types in assignment linux-2.6-x86/drivers/xen/balloon.c: In function 'decrease_reservation': linux-2.6-x86/drivers/xen/balloon.c:324: error: incompatible types in assignment linux-2.6-x86/drivers/xen/balloon.c: In function 'dealloc_pte_fn': linux-2.6-x86/drivers/xen/balloon.c:486: error: incompatible types in assignment linux-2.6-x86/drivers/xen/balloon.c: In function 'alloc_empty_pages_and_pagevec': linux-2.6-x86/drivers/xen/balloon.c:522: error: incompatible types in assignment make[2]: *** [drivers/xen/balloon.o] Error 1 Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit ec9b2065d4d3b797604c09a569083dd9ff951b1b Author: Isaku Yamahata Date: Mon May 26 23:31:13 2008 +0100 xen: Move manage.c to drivers/xen for ia64/xen support move arch/x86/xen/manage.c under drivers/xen/to share codes with x86 and ia64. ia64/xen also uses manage.c Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 83abc70a4c6e306f4c1672e25884322f797e4fcb Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:12 2008 +0100 xen: make earlyprintk=xen work again For some perverse reason, if you call add_preferred_console() it prevents setup_early_printk() from successfully enabling the boot console - unless you make it a preferred console too... Also, make xenboot console output distinct from normal console output, since it gets repeated when the console handover happens, and the duplicated output is confusing without disambiguation. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Cc: Markus Armbruster Cc: Gerd Hoffmann commit e4dcff1f6e7582f76c2c9990b1d9111bbc8e26ef Author: Markus Armbruster Date: Mon May 26 23:31:11 2008 +0100 xen pvfb: Dynamic mode support (screen resizing) The pvfb backend indicates dynamic mode support by creating node feature_resize with a non-zero value in its xenstore directory. xen-fbfront sends a resize notification event on mode change. Fully backwards compatible both ways. Framebuffer size and initial resolution can be controlled through kernel parameter xen_fbfront.video. The backend enforces a separate size limit, which it advertises in node videoram in its xenstore directory. xen-kbdfront gets the maximum screen resolution from nodes width and height in the backend's xenstore directory instead of hardcoding it. Additional goodie: support for larger framebuffers (512M on a 64-bit system with 4K pages). Changing the number of bits per pixels dynamically is not supported, yet. Ported from http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/92f7b3144f41 http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/bfc040135633 Signed-off-by: Pat Campbell Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit f4ad1ebd7a0fae2782ef9f76c0b94b536742c3e8 Author: Markus Armbruster Date: Mon May 26 23:31:10 2008 +0100 xen pvfb: Zero unused bytes in events sent to backend This isn't a security flaw (the backend can see all our memory anyway). But it's the right thing to do all the same. Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 1e892c959da42278e60b21f5ecfd6fba0efff313 Author: Markus Armbruster Date: Mon May 26 23:31:09 2008 +0100 xen pvfb: Module aliases to support module autoloading These are mostly for completeness and consistency with the other frontends, as PVFB is typically compiled in rather than a module. Derived from http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/5e294e29a43e While there, add module descriptions. Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 6ba0e7b36c7cc1745b3cbeda244d14edae3ad058 Author: Markus Armbruster Date: Mon May 26 23:31:08 2008 +0100 xen pvfb: Pointer z-axis (mouse wheel) support Add z-axis motion to pointer events. Backward compatible, because there's space for the z-axis in union xenkbd_in_event, and old backends zero it. Derived from http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/57dfe0098000 http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/1edfea26a2a9 http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/c3ff0b26f664 Signed-off-by: Pat Campbell Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 9e124fe16ff24746d6de5a2ad685266d7bce0e08 Author: Markus Armbruster Date: Mon May 26 23:31:07 2008 +0100 xen: Enable console tty by default in domU if it's not a dummy Without console= arguments on the kernel command line, the first console to register becomes enabled and the preferred console (the one behind /dev/console). This is normally tty (assuming CONFIG_VT_CONSOLE is enabled, which it commonly is). This is okay as long tty is a useful console. But unless we have the PV framebuffer, and it is enabled for this domain, tty0 in domU is merely a dummy. In that case, we want the preferred console to be the Xen console hvc0, and we want it without having to fiddle with the kernel command line. Commit b8c2d3dfbc117dff26058fbac316b8acfc2cb5f7 did that for us. Since we now have the PV framebuffer, we want to enable and prefer tty again, but only when PVFB is enabled. But even then we still want to enable the Xen console as well. Problem: when tty registers, we can't yet know whether the PVFB is enabled. By the time we can know (xenstore is up), the console setup game is over. Solution: enable console tty by default, but keep hvc as the preferred console. Change the preferred console to tty when PVFB probes successfully, unless we've been given console kernel parameters. Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a15af1c9ea2750a9ff01e51615c45950bad8221b Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:06 2008 +0100 x86/paravirt: add pte_flags to just get pte flags Add pte_flags() to extract the flags from a pte. This is a special case of pte_val() which is only guaranteed to return the pte's flags correctly; the page number may be corrupted or missing. The intent is to allow paravirt implementations to return pte flags without having to do any translation of the page number (most notably, Xen). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 239d1fc04ed0b58d638096b12a7f6d50269d30c9 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:05 2008 +0100 xen: don't worry about preempt during xen_irq_enable() When enabling interrupts, we don't need to worry about preemption, because we either enter with interrupts disabled - so no preemption - or the caller is confused and is re-enabling interrupts on some indeterminate processor. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 2956a3511c8c5dccb1d4739ead17c7c3c23a24b7 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:04 2008 +0100 xen: allow some cr4 updates The guest can legitimately change things like cr4.OSFXSR and OSXMMEXCPT, so let it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 349c709f42453707f74bece0d9d35ee5b3842893 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:02 2008 +0100 xen: use new sched_op Use the new sched_op hypercall, mainly because xenner doesn't support the old one. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 7b1333aa4cb546ddeb9c05098a53d9a777623a05 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:01 2008 +0100 xen: use hypercall rather than clts Xen will trap and emulate clts, but its better to use a hypercall. Also, xenner doesn't handle clts. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0922abdc3982ae54cbe1b24ac5aa91a260eca1bb Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:00 2008 +0100 xen: make early console also write to debug console When using "earlyprintk=xen", also write the console output to the raw debug console. This will appear on dom0's console if the hypervisor has been compiled to allow it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0acf10d8fbd52926217d3933d196b33fe2468f18 Author: Jeremy Fitzhardinge Date: Mon May 26 23:30:59 2008 +0100 xen: add raw console write functions for debug Add a couple of functions which can write directly to the Xen console for debugging. This output ends up on the host's dom0 console (assuming it allows the domain to write there). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 4e09e21ccb0dfe7ee8d5641192e0072e83bd916b Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:03 2008 +0100 x86: use symbolic constant in stts() Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 4226ab93d8ae3fd895abe45879fe34d489a98718 Author: Jeremy Fitzhardinge Date: Mon May 26 23:30:58 2008 +0100 x86: use pteval_t for _PAGE_FOO Rather than making _PAGE_* constants signed, and then relying on sign-extension to make sure that masks derived from them are wide enough, just explicitly type them pteval_t. This guarantees that they and any derived values are the right size for the current pte format. The reliance on sign extension is fragile, and invokes some very subtle corners of the C type system. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 492a7ea5bcf263ee02a9eb6a3ab0222a1946fade Author: Abhishek Sagar Date: Sun May 25 00:10:04 2008 +0530 ftrace: fix updating of ftrace_update_cnt Hi Ingo/Steven, Ftrace currently maintains an update count which includes false updates, i.e, updates which failed. If anything, such failures should be tracked by some separate variable, but this patch provides a minimal fix. Signed-off-by: Abhishek Sagar Cc: rostedt@goodmis.org Signed-off-by: Thomas Gleixner commit ffdaa3582b6b39d625d585d07e329ffdc925e971 Author: Abhishek Sagar Date: Sat May 24 23:45:02 2008 +0530 ftrace: safe traversal of ftrace_hash hlist Hi Steven, I noticed that concurrent instances of ftrace_record_ip() have a race between ftrace_hash list traversal during ftrace_ip_in_hash() (before acquiring ftrace_shutdown_lock) and ftrace_add_hash(). If it's so then this should fix it. Signed-off-by: Abhishek Sagar Cc: rostedt@goodmis.org Signed-off-by: Thomas Gleixner commit ccbfac2923c9febaeaf07a50054027a92b502718 Author: Steven Rostedt Date: Thu May 22 14:31:07 2008 -0400 ftrace: powerpc clean ups This patch cleans up the ftrace code in PowerPC based on the comments from Michael Ellerman. Signed-off-by: Steven Rostedt Cc: Michael Ellerman Cc: proski@gnu.org Cc: a.p.zijlstra@chello.nl Cc: Pekka Paalanen Cc: Steven Rostedt Cc: linuxppc-dev@ozlabs.org Cc: Soeren Sandmann Pedersen Cc: paulus@samba.org Signed-off-by: Thomas Gleixner commit 41bc8144d02028133bcd1d545023c6f49e8b2411 Author: Steven Rostedt Date: Thu May 22 11:49:22 2008 -0400 ftrace: fix up cmdline recording The new work with converting the trace hooks over to markers broke the command line recording of ftrace. This patch fixes it again. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Signed-off-by: Thomas Gleixner commit 41c52c0db9607e59f90da7da5309489fa06e887f Author: Steven Rostedt Date: Thu May 22 11:46:33 2008 -0400 ftrace: set_ftrace_notrace feature While debugging latencies in the RT kernel, I found that it would be nice to be able to filter away functions from the trace than just to filter on functions. I added a new interface to the debugfs tracing directory called set_ftrace_notrace When dynamic frace is enabled, this lets you filter away functions that will not be recorded in the trace. It is similar to adding 'notrace' to those functions but by doing it without recompiling the kernel. Here's how set_ftrace_filter and set_ftrace_notrace interact. Remember, if set_ftrace_filter is set, it removes all functions from the trace execpt for those listed in the set_ftrace_filter. set_ftrace_notrace will prevent those functions from being traced. If you were to set one function in both set_ftrace_filter and set_ftrace_notrace and that function was the same, then you would end up with an empty trace. the set of functions to trace is: set_ftrace_filter == empty then all functions not in set_ftrace_notrace else set of the set_ftrace_filter and not in set of set_ftrace_notrace. Signed-off-by: Steven Rostedt Signed-off-by: Thomas Gleixner commit da89a7a2536c46e76a1a4351a70a8b8417e5fed1 Author: Steven Rostedt Date: Thu May 22 00:22:20 2008 -0400 ftrace: remove printks from irqsoff trace Printing out new max latencies was fine for the old RT tracer. But for mainline it is a bit messy. We also need to test if the run queue is locked before we can do the print. This means that we may not be printing out latencies if the run queue is locked on another CPU. This produces inconsistencies in the output. This patch simply removes the print altogether. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 7e18d8e701b6798a5df11e0a16881a60ab1018b6 Author: Steven Rostedt Date: Thu May 22 00:22:19 2008 -0400 ftrace: add function tracing to wake up tracing This patch adds function tracing to the functions that are called on the CPU of the task being traced. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 4902f8849da6d2805bd291551a6dfd48f1b4f604 Author: Steven Rostedt Date: Thu May 22 00:22:18 2008 -0400 ftrace: move ftrace_special to trace.c Move the ftrace_special out of sched_switch to trace.c. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 19384c0314342222b18d4c7f09cdce1ca74dfd2a Author: Steven Rostedt Date: Thu May 22 00:22:16 2008 -0400 ftrace: limit use of check pages The check_pages function is called often enough that it can cause problems with trace outputs or even bringing the system to a halt. This patch limits the check_pages to the places that are most likely to have problems. The check is made at the flip between the global array and the max save array, as well as when the size of the buffers changes and the self tests. This patch also removes the BUG_ON from check_pages and replaces it with a WARN_ON and disabling of the tracer. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 1a20d3ecf5c2a6435df2b756435b1eb1c657d45b Author: H. Peter Anvin Date: Mon May 26 13:36:53 2008 -0700 x86: string_32.h: workaround for broken gcc 4.0 gcc 4.0 fails to allocate %eax for the pattern operand in the rep store instructions used by memset; force it to do so by declaring a register variable. Signed-off-by: H. Peter Anvin commit 4b6011bc6ec71660859139ac8d28b7d0badd681c Author: Sven Wegener Date: Sun May 25 21:16:36 2008 +0200 x86: Remove obsolete LOCK macro from include/asm-x86/atomic_64.h Commit d167a518 "[PATCH] x86_64: x86_64 version of the smp alternative patch." has left the LOCK macro in include/asm-x86_64/atomic.h, which is now include/asm-x86/atomic_64.h. Its scope should be local to the file, other architectures don't provide it, I couldn't find an in-tree user of it and allyesconfig, allmodconfig and allnoconfig build fine without it, so this patch removes it. Signed-off-by: Sven Wegener Signed-off-by: Thomas Gleixner commit 1798bc22b2790bf2a956588e6b17c36ef79ceff7 Author: Cyrill Gorcunov Date: Sat May 24 19:36:41 2008 +0400 x86: nmi_32/64.c - merge down nmi_32.c and nmi_64.c to nmi.c Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit fd5cea02de100197a4c26d9e103508cf09b50a82 Author: Cyrill Gorcunov Date: Sat May 24 19:36:40 2008 +0400 x86: nmi_32/64.c - add helper functions to hide arch specific data Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 7c2ba83f9a479eee6f302147767a30f3187fbd4b Author: Cyrill Gorcunov Date: Sat May 24 19:36:39 2008 +0400 x86: nmi_32.c cleanup - use for_each_online_cpu helper Since cpu_online_map is touched (by for_each_online_cpu) at moment when cpu_callin_map is already filled up we can get rid of its checking at all Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 96f9dcb10755e96eae706b9e869c0dc25adb3d74 Author: Cyrill Gorcunov Date: Sat May 24 19:36:38 2008 +0400 x86: nmi_64.c - use for_each_possible_cpu helper Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 6c8decdf14b17d42f6eb817d310642f4d6598a19 Author: Cyrill Gorcunov Date: Sat May 24 19:36:37 2008 +0400 x86: nmi_32.c - unknown_nmi_panic_callback should always panic Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit ad63ba169d45ccb6594eb35a6c31c421fe70ff45 Author: Cyrill Gorcunov Date: Sat May 24 19:36:36 2008 +0400 x86: nmi_32/64.c - use apic_write_around instead of apic_write apic_write_around will be expanded to apic_write in 64bit mode anyway. Only a few CPUs (well, old CPUs to be precise) requires such an action. In general it should not hurt and could be cleaned up for apic_write (just in case) Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 4b82b277707a39b97271439c475f186f63ec4692 Author: Cyrill Gorcunov Date: Sat May 24 19:36:35 2008 +0400 x86: nmi_32.c - add nmi_watchdog_default helper Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit d1b946b97d71423f365fa797d1428e1847c0bec1 Author: Cyrill Gorcunov Date: Sat May 24 19:36:34 2008 +0400 x86: nmi_32.c - add "panic" option Allow to pass "panic" option in 32bit mode Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit c6425b9f143a75bbcd0a7684b4df40e20d0b2f32 Author: Cyrill Gorcunov Date: Sat May 24 19:36:33 2008 +0400 x86: move do_nmi(), stop_nmi() and restart_nmi() to traps_64.c traps_32.c already holds these functions so do the same for traps_64.c Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit e56b3a12c45e439169f2d1f7194be397667320a6 Author: Cyrill Gorcunov Date: Sat May 24 19:36:32 2008 +0400 x86: nmi - die_nmi() output message unification Make 64bit die_nmi() to produce the same message as 32bit mode has Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit ddca03c98a7f7ad5ab09967ff52d4ed60358c896 Author: Cyrill Gorcunov Date: Sat May 24 19:36:31 2008 +0400 x86: nmi - unify die_nmi() interface By slightly changing 32bit mode die_nmi() we may unify the interface and make it common for both (32/64bit) modes Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 85cc35fa7255d113b5383a9c8536c363274bb475 Author: Thomas Gleixner Date: Sun May 25 21:21:36 2008 +0200 x86: fix mpparse fallout UP builds with LOCAL_APIC=y and IO_APIC=n fail with a missing reference to mp_bus_not_pci. Distangle the mpparse code some more and move the ioapic specific bus check into a separate function. This code needs sume urgent un#ifdef surgery all over the place. Signed-off-by: Thomas Gleixner commit 2e4db9d2c5db9c9dd3e1d1ec3263bc4a990ff8df Author: Fernando Luis Vazquez Cao Date: Mon May 19 14:23:44 2008 -0700 x86: remove duplicate declaration of unknown_nmi_panic Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4 Author: Ingo Molnar Date: Mon May 12 21:21:14 2008 +0200 sched: do not trace sched_clock The tracer uses sched_clock, so do not trace it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b764a15f679942a7bc9d4f9645299e1defcc5b43 Author: Alan Cox Date: Thu May 22 21:22:04 2008 +0100 x86: Switch apm to unlocked_kernel This pushes the lock a fair way down and the final kill looks like it should be an easy project for someone who wants to have a shot at it. Signed-off-by: Alan Cox Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 136ef671df04dc157afa0d4b96c7bd23ba072c9c Author: Alexey Starikovskiy Date: Tue May 20 00:29:59 2008 +0400 x86: allow MPPARSE to be deselected in SMP configs commit 8732fc4b237fca3bd3cb0ec87ca8fb90271b0baf Author: Alexey Starikovskiy Date: Mon May 19 19:47:16 2008 +0400 x86: move mp_bus_not_pci from mpparse.c commit ce6444d39fdea29dcf145d2d95fe9cdc850aa53c Author: Alexey Starikovskiy Date: Mon May 19 19:47:09 2008 +0400 x86: mp_bus_id_to_pci_bus is not needed commit bab4b27c00c4880737c18bb91138b1a7dd94164c Author: Alexey Starikovskiy Date: Mon May 19 19:47:03 2008 +0400 x86: move smp_found_config commit f3918352909f839a7b0dbf9b3f81d2e183c46f88 Author: Alexey Starikovskiy Date: Fri May 23 01:54:51 2008 +0400 x86: move pic_mode to apic_32.c commit b3e2416465bc9140bfd209f247e6a789f68f0d19 Author: Alexey Starikovskiy Date: Fri May 23 01:54:44 2008 +0400 x86: Set pic_mode only if local apic code is present commit bf62f3981c7076714e3b9f5fa6989a806cad02bf Author: Yinghai Lu Date: Tue May 20 20:10:58 2008 -0700 x86: move e820_mark_nosave_regions to e820.c and make e820_mark_nosave_regions to take limit_pfn to use max_low_pfn for 32bit and end_pfn for 64bit Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit aafbdf71f1d3aeffd679b1a86e1b28f71515856c Author: Alexey Starikovskiy Date: Thu May 22 12:26:15 2008 +0400 x86: fix mpparse/acpi interaction Sitsofe Wheeler reported boot problems on linux-next. It looks like the same issue as found by Soeren Sandman in 7575217f656a93, "x86: initialize all fields of mp_irqs[mp_irq_entries]". But his fix is also not complete, as dstapic is used before it assigned. Reported-by: Sitsofe Wheeler Bisected-by: Sitsofe Wheeler Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 59f4519ad7ade61123e90085b0dadb2ea197bd87 Author: Soeren Sandmann Date: Sun May 18 05:24:41 2008 +0200 x86: initialize all fields of mp_irqs[mp_irq_entries] Commit "x86: make config_irqsrc not MPspec specific" introduced some uses of uninitialized fields in mp_config_acpi_legacy_irqs(). I need the following patch to get sched-devel/master to boot. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2fddb6e28e903a3ab1704cc5aac01be5a59dc05b Author: Alexey Starikovskiy Date: Wed May 14 19:03:17 2008 +0400 x86: make config_irqsrc not MPspec specific Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit ec2cd0a22e2715f776a934e01c4f8ea098324fe1 Author: Alexey Starikovskiy Date: Wed May 14 19:03:10 2008 +0400 x86: make struct config_ioapic not MPspec specific Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 5f8951487ddbacbc949e9ffae574f94791f9b4dd Author: Alexey Starikovskiy Date: Wed May 14 19:03:04 2008 +0400 x86: make mp_ioapic_routing definition local Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 11113f84c72bd832dc4e76122e613b0e623e2346 Author: Alexey Starikovskiy Date: Wed May 14 19:02:57 2008 +0400 x86: complete move ACPI from mpparse.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 32c5061265caf201d6a2c0d02181e2b68769c22c Author: Alexey Starikovskiy Date: Wed May 14 19:02:51 2008 +0400 x86: move es7000_plat out of mpparse.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 11a62a056093a7f25f1595fbd8bd5f93559572b6 Author: Yinghai Lu Date: Mon May 12 15:43:38 2008 +0200 x86: cleanup print out for mptable the new output is: MPTABLE: OEM ID: SUN MPTABLE: Product ID: 4600 M2 MPTABLE: APIC at: 0x instead of it all in one line with <6> and double Product ID... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a139a7fdec8964cecf7a3564ee7ae327141d495 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: include pci.h in e820_64.c global pci_mem_start needs a declaration. include pci.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a91eea6df383f26fc4fcbefcbdb5aee8facd17fd Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: fix shadow variables of global end_pnf in e820_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7f028bc0fd119a4fc65aedc07728ce85c8813d33 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: move mp_ioapic_routing to mpparse and make it static mpparse is the only user of mp_ioapic_routing. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ba5b14cc0311af6ed20dc25aa98a1d5ea6f2e6c0 Author: Yinghai Lu Date: Wed May 21 18:40:18 2008 -0700 x86: extend e820 ealy_res support 32bit - fix use find_e820_area to find addess for new RAMDISK, instead of using ram blindly also print out low ram and bootmap info Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a4c81cf684350797939416c99effb9d3ae46bca6 Author: Yinghai Lu Date: Sun May 18 01:18:57 2008 -0700 x86: extend e820 ealy_res support 32bit move early_res related from e820_64.c to e820.c make edba detection to be done in head32.c remove smp_alloc_memory, because we have fixed trampoline address now. Signed-off-by: Yinghai Lu arch/x86/kernel/e820.c | 214 ++++++++++++++++++++++++++++++++++++ arch/x86/kernel/e820_64.c | 196 -------------------------------- arch/x86/kernel/head32.c | 76 ++++++++++++ arch/x86/kernel/setup_32.c | 109 +++--------------- arch/x86/kernel/smpboot.c | 17 -- arch/x86/kernel/trampoline.c | 2 arch/x86/mach-voyager/voyager_smp.c | 9 - include/asm-x86/e820.h | 6 + include/asm-x86/e820_64.h | 9 - include/asm-x86/smp.h | 1 arch/x86/kernel/e820.c | 214 ++++++++++++++++++++++++++++++++++++ arch/x86/kernel/e820_64.c | 196 -------------------------------- arch/x86/kernel/head32.c | 76 ++++++++++++ arch/x86/kernel/setup_32.c | 109 +++--------------- arch/x86/kernel/smpboot.c | 17 -- arch/x86/kernel/trampoline.c | 2 arch/x86/mach-voyager/voyager_smp.c | 9 - include/asm-x86/e820.h | 6 + include/asm-x86/e820_64.h | 9 - include/asm-x86/smp.h | 1 arch/x86/kernel/e820.c | 214 ++++++++++++++++++++++++++++++++++++ arch/x86/kernel/e820_64.c | 196 -------------------------------- arch/x86/kernel/head32.c | 76 ++++++++++++ arch/x86/kernel/setup_32.c | 109 +++--------------- arch/x86/kernel/smpboot.c | 17 -- arch/x86/kernel/trampoline.c | 2 arch/x86/mach-voyager/voyager_smp.c | 9 - include/asm-x86/e820.h | 6 + include/asm-x86/e820_64.h | 9 - include/asm-x86/smp.h | 1 10 files changed, 320 insertions(+), 319 deletions(-) Signed-off-by: Ingo Molnar commit 69c9189320c46b14e5ae3ad4b3a0d35cc63cba20 Author: Paul Jackson Date: Wed May 14 08:15:58 2008 -0700 x86 boot: add code to add BIOS provided EFI memory entries to kernel Add to the kernels boot memory map 'memmap' entries found in the EFI memory descriptors passed in from the BIOS. On EFI systems, up to E820MAX == 128 memory map entries can be passed via the legacy E820 interface (limited by the size of the 'zeropage'). These entries can be duplicated in the EFI descriptors also passed from the BIOS, and possibly more entries passed by the EFI interface, which does not have the E820MAX limit on number of memory map entries. This code doesn't worry about the likely duplicate, overlapping or (unlikely) conflicting entries between the EFI map and the E820 map. It just dumps all the EFI entries into the memmap[] array (which already has the E820 entries) and lets the existing routine sanitize_e820_map() sort the mess out. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit 5b7eb2e9ef4e467a1248537b47a63bab265be3cc Author: Paul Jackson Date: Wed May 14 08:15:52 2008 -0700 x86 boot: longer comment explaining sanitize_e820_map routine Elaborate on the comment for sanitize_e820_map(), epxlaining more what it does, what it inputs, and what it returns. Rearrange the placement of this comment to fit kernel conventions, before the routine's code rather than buried inside it. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit 6e9bcc796b120d17b08dde7ab958b82ddb899889 Author: Paul Jackson Date: Wed May 14 08:15:46 2008 -0700 x86 boot: change sanitize_e820_map parameter from byte to int to allow bigger memory maps The map size counter passed into, and back out of, sanitize_e820_map(), was an eight bit type (char or u8), as derived from its origins in legacy BIOS E820 structures. This patch changes that type to an 'int', to allow this sanitize routine to also be used on larger maps (larger than the 256 count that fits in a char). The legacy BIOS E820 interface of course does not change; that remains at 8 bits for this count, holding up to E820MAX == 128 entries. But the kernel internals can handle more when those additional memory map entries are passed from the BIOS via EFI interfaces. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit 028b785888c523baccdf27af0cdbf1deb92edec0 Author: Paul Jackson Date: Wed May 14 08:15:40 2008 -0700 x86 boot: extend some internal memory map arrays to handle larger EFI input Extend internal boot time memory tables to allow for up to three entries per node, which may be larger than the 128 E820MAX entries handled by the legacy BIOS E820 interface. The EFI interface, if present, is capable of passing memory map entries for these larger node counts. This patch requires an earlier patch that rewrote code depending on these array sizes from using E820MAX explicitly to size loops, to instead using ARRAY_SIZE() of the applicable array. Another patch following this one will provide the code to pick up additional memory entries passed via the EFI interface from the BIOS and insert them in the following, now enlarged, arrays. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit c3965bd15118742d72b4bc1a290d37b3f081eb98 Author: Paul Jackson Date: Wed May 14 08:15:34 2008 -0700 x86 boot: proper use of ARRAY_SIZE instead of repeated E820MAX constant This patch is motivated by a subsequent patch which will allow for more memory map entries on EFI supported systems than can be passed via the x86 legacy BIOS E820 interface. The legacy interface is limited to E820MAX == 128 memory entries, and that "E820MAX" manifest constant was used as the size for several arrays and loops over those arrays. The primary change in this patch is to change code loop sizes over those arrays from using the constant E820MAX, to using the ARRAY_SIZE() macro evaluated for the array being looped. That way, a subsequent patch can change the size of some of these arrays, without breaking this code. This patch also adds a parameter to the sanitize_e820_map() routine, which had an implicit size for the array passed it of E820MAX entries. This new parameter explicitly passes the size of said array. Once again, this will allow a subsequent patch to change that array size for some calls to sanitize_e820_map() without breaking the code. As part of enhancing the sanitize_e820_map() interface this way, I further combined the unnecessarily distinct x86_32 and x86_64 declarations for this routine into a single, commonly used, declaration. This patch in itself should make no difference to the resulting kernel binary. [ mingo@elte.hu: merged to -tip ] Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit b25e31cec7788ccba5749d10f8f4343fffff4750 Author: Paul Jackson Date: Wed May 14 08:15:28 2008 -0700 x86 boot: minor code format fixes in e820 and efi routines Standardize a few pointer declarations to not have the extra space after the '*' character. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit c801ed3860fe2f84281d4cae4c3e6ca87e81e890 Author: Paul Jackson Date: Wed May 14 08:15:23 2008 -0700 x86 boot: simplify pageblock_bits enum declaration The use of #defines with '##' pre-processor concatenation is a useful way to form several symbol names with a common pattern. But when there is just a single name obtained from that #define, it's just obfuscation. Better to just write the plain symbol name, as is. The following patch is a result of my wasting ten minutes looking through the kernel to figure out what 'PB_migrate_end' meant, and forgetting what I came to do, by the time I figured out that the #define PB_range macro defined it. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit cb5dd7c104c64d7ba8ff4dd3eec3d9b92c378937 Author: Paul Jackson Date: Wed May 14 08:15:16 2008 -0700 x86 boot: add header comment to dmi.h stating what it is The "dmi.h" file did not state anywhere in the file what "DMI" was. For those who know, it's obvious. For the rest of us, I added a brief opening comment. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit e9197bf0114661195bee35e7795cfc42164d9b2c Author: Paul Jackson Date: Wed May 14 08:15:10 2008 -0700 x86 boot: remove some unused extern function declarations Remove three extern declarations for routines that don't exist. Fix a typo in a comment. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit e3f8ba81fdce852abe36a33eed7b243c4a0acfac Author: Paul Jackson Date: Wed May 14 08:15:04 2008 -0700 x86 boot: include missing smp.h header The patch: x86: convert cpu_to_apicid to be a per cpu variable introduced a dependency of ipi.h on smp.h in x86 builds with an allnoconfig. Including smp.h in ipi.h fixes the build error: In file included from arch/x86/kernel/traps_64.c:48: include/asm/ipi.h: In function 'send_IPI_mask_sequence': include/asm/ipi.h:114: error: 'per_cpu__x86_cpu_to_apicid' undeclared (first use in this function) Signed-off-by: Paul Jackson Cc: Mike Travis Signed-off-by: Ingo Molnar commit 3f03c54a34fa3da680b3341dd3ba965ef3394bd1 Author: Yinghai Lu Date: Fri May 9 22:40:52 2008 -0700 x86: mtrr cleanup for converting continuous to discrete layout - fix #2 disable the noisy print out. also use the one the less spare mtrr reg. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8004dd965b13b01a96def054d420f6df7ff22d53 Author: Yinghai Lu Date: Mon May 12 17:40:39 2008 -0700 x86: amd opteron TOM2 mask val fix there is a typo in the mask value, need to remove that extra 0, to avoid 4bit clearing. Signed-off-by: Yinghal Lu Signed-off-by: Ingo Molnar commit b79cd8f1268bab57ff85b19d131f7f23deab2dee Author: Yinghai Lu Date: Sun May 11 00:30:15 2008 -0700 x86: make e820.c to have common functions remove the duplicated copy of these functions. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 833e78bfeeef628f0201349a0a05a54f48f07884 Author: Yinghai Lu Date: Mon May 5 15:57:38 2008 -0700 x86: process fam 10h like k8 with fixed mtrr setting otherwise fixed MTRR for family 10h may not be changed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12031a624af7816ec7660b82be648aa3703b4ebe Author: Yinghai Lu Date: Fri May 2 02:40:22 2008 -0700 x86: mtrr cleanup for converting continuous to discrete - auto detect v4 Loop through mtrr chunk_size and gran_size from 1M to 2G to find out the optimal value so user does not need to add mtrr_chunk_size and mtrr_gran_size to the kernel command line. If optimal value is not found, print out all list to help select less optimal value. Add mtrr_spare_reg_nr= so user could set 2 instead of 1, if the card need more entries. v2: find the one with more spare entries v3: fix hole_basek offset v4: tight the compare between range and range_new loop stop with 4g Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Gabriel C Cc: Mika Fischer Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5098d62c1d1cede8ff23d01bbf50a421f110562 Author: Yinghai Lu Date: Tue Apr 29 20:25:58 2008 -0700 x86: mtrr cleanup for converting continuous to discrete layout v8 - fix v9: address format change requests by Ingo more case handling in range_to_var_with_hole Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8a374026c265476b1acfc3c186a66d59ebdb2cda Author: Yinghai Lu Date: Tue Apr 29 20:25:16 2008 -0700 x86: fix trimming e820 with MTRR holes. - fix v2: process hole then end_pfn fix update_memory_range with whole cover comparing Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 42651f15824d003e8357693ab72c4dbb3e280836 Author: Yinghai Lu Date: Tue Apr 29 01:59:49 2008 -0700 x86: fix trimming e820 with MTRR holes. converting MTRR layout from continous to discrete, some time could run out of MTRRs. So add gran_sizek to prevent that by dumpping small RAM piece less than gran_sizek. previous trimming only can handle highest_pfn from mtrr to end_pfn from e820. when have more than 4g RAM installed, there will be holes below 4g. so need to check ram below 4g is coverred well. need to be applied after [PATCH] x86: mtrr cleanup for converting continuous to discrete layout v7 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 95ffa2438d0e9c48779f0106b1c0eb36165e759c Author: Yinghai Lu Date: Tue Apr 29 03:52:33 2008 -0700 x86: mtrr cleanup for converting continuous to discrete layout, v8 some BIOS like to use continus MTRR layout, and X driver can not add WB entries for graphical cards when 4g or more RAM installed. the patch will change MTRR to discrete. mtrr_chunk_size= could be used to have smaller continuous block to hold holes. default is 256m, could be set according to size of graphics card memory. mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs v2: fix -1 for UC checking v3: default to disable, and need use enable_mtrr_cleanup to enable this feature skip the var state change warning. remove next_basek in range_to_mtrr() v4: correct warning mask. v5: CONFIG_MTRR_SANITIZER v6: fix 1g, 2g, 512 aligment with extra hole v7: gran_sizek to prevent running out of MTRRs. v8: fix hole_basek caculation caused when removing next_basek gran_sizek using when basek is 0. need to apply [PATCH] x86: fix trimming e820 with MTRR holes. right after this one. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0dbfafa5fcd4dd189e2adc7b6ed9e0405e846d79 Author: Alexander van Heukelum Date: Wed Apr 23 15:09:05 2008 +0200 x86: move i386 memory setup code to e820_32.c The x86_64 code has centralized the memory setup code in e820_64.c. This patch copies that approach to i386: - early_param("mem", ...) parsing is moved from setup_32.c to e820_32.c. - setup_memory_map() and finish_e820_parsing() are factored out from setup_arch(), and declarations are added to e820_32.h. - print_memory_map() is made static and removed from e820_32.h. - user_defined_memmap is marked as __initdata. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0da72a4aeb4482c64c1142a2e36b556d13374937 Author: Thomas Gleixner Date: Wed Apr 30 20:11:51 2008 +0200 x86: fix sparse warning in mtrr/generic.c arch/x86/kernel/cpu/mtrr/generic.c:216:12: warning: symbol 'lo' shadows an earlier one Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1ac97018169c5a13feaa90d9671f2d6ba2d9e86e Author: Ingo Molnar Date: Mon May 19 14:10:14 2008 +0200 x86: untangle pci dependencies make PCI-less subarches not build with PCI - instead of complicating the PCI dependencies. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c9fea78dc9775981bed2da379568c8a8fddd1fb6 Author: Ingo Molnar Date: Mon May 19 13:53:39 2008 +0200 x86: make NUMAQ depend on PCI NUMAQ depends on the existence of PCI hardware, and requiring PCI makes this subarch simpler and avoids build failures if PCI is disabled. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 668a6c3654560aef8741642478973e205a4f02bf Author: Ingo Molnar Date: Mon May 19 13:35:24 2008 +0200 - fix mmioftrace + rcu merge interaction Signed-off-by: Thomas Gleixner commit 48e239572271cf79412d90753a721242a765f7d9 Author: Thomas Gleixner Date: Sat May 24 17:24:34 2008 +0200 x86: fixup the fallout of the bitops changes Signed-off-by: Thomas Gleixner commit 83cd1daa1dc3400e5ca2255818641233ebb30680 Author: Jan Beulich Date: Mon May 12 15:44:39 2008 +0200 x86: eliminate dead code in x86_64 entry.S Remove the not longer used handlers for reserved vectors. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 78d64fc21d2aa425c65de49765cddecc84d595a4 Author: Joe Perches Date: Mon May 12 15:44:39 2008 +0200 x86: include/asm-x86/string_32.h - style only Looked at this file because of __memcpy warnings. Thought it could use a style/checkpatch cleanup. No change in vmlinux. [tglx: fixed the remaining issues ] Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2141261a11524acbfce86a5a213bbaea08794bbb Author: Miklos Vajna Date: Tue May 13 13:35:25 2008 +0200 x86: janitor work in video-vga.c Just moved an open brace to the previous line. Signed-off-by: Miklos Vajna Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f0766440dda7ace8a43b030f75e2dcb82449fb85 Author: Christoph Lameter Date: Fri May 9 19:09:48 2008 -0700 x86: unify current.h Simply stitch these together. There are just two definitions that are shared but the file is resonably small and putting these things together shows that further unifications requires a unification of the per cpu / pda handling between both arches. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bfe4bb1526945e446d2912bef2e1e2cbd2c7349e Author: Miklos Vajna Date: Sat May 17 22:48:13 2008 +0200 x86: janitor work in bugs.c Just moved trailing statements to the next line, removed space before open/close parenthesis, wrapped long lines. Signed-off-by: Miklos Vajna Signed-off-by: Thomas Gleixner commit 23eb271b9186531e1eb704dda9ab37abcfd0ca4a Author: Andrew Morton Date: Wed May 14 16:10:39 2008 -0700 x86: setup_force_cpu_cap(): don't do clear_bit(non-unsigned-long) Another hack to make proper prototyping of x86 bitops viable. Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 0e192b99d7d09f08b445c31ee7c7f3d0bfb27345 Author: Cyrill Gorcunov Date: Tue May 13 20:55:40 2008 +0400 x86: head_64.S cleanup - use PMD_SHIFT instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 05139d8fb445d9a3569071af1c5920fc46191b7b Author: Cyrill Gorcunov Date: Tue May 13 21:14:22 2008 +0400 x86: head_64.S cleanup - use straight move to CR4 register Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 2237ce2057b82561f7ea27ed30153571f404112d Author: Fernando Luis Vazquez Cao Date: Fri May 16 11:01:26 2008 +0900 x86: cleanup, remove duplicate declaration of unknown_nmi_panic Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Ingo Molnar commit 883b7af932b4435eb4798cfa4fec0848639c2a87 Author: Huang Weiyi Date: Sun May 11 19:36:57 2008 +0800 x86: smpboot.c: removed duplicated include Removed duplicated include in arch/x86/kernel/smpboot.c. Signed-off-by: Huang Weiyi Cc: mingo@redhat.com Cc: hpa@zytor.com Signed-off-by: Thomas Gleixner commit 2cc74111c78dbc7b26c41b4e87cfebfc3aed49c4 Author: Huang Weiyi Date: Sun May 11 19:35:54 2008 +0800 x86: ipi.c: removed duplicated include Removed duplicated include in arch/x86/kernel/ipi.c. Signed-off-by: Huang Weiyi Cc: mingo@redhat.com Cc: hpa@zytor.com Signed-off-by: Thomas Gleixner commit e83e31f41a623262714d9c56dde7dfc51ac078f7 Author: Cyrill Gorcunov Date: Mon May 12 15:43:39 2008 +0200 x86: compressed/head_64.S cleanup - use predefined flags from processor-flags.h We should better use already defined flags from processor-flags.h instead of defining own ones [>>> object code check >>>] original md5sum: 129f24be6df396fb7d8bf998c01fc716 arch/x86/boot/compressed/head_64.o text data bss dec hex filename 705 48 45056 45809 b2f1 arch/x86/boot/compressed/head_64.o patched md5sum: 129f24be6df396fb7d8bf998c01fc716 arch/x86/boot/compressed/head_64-new.o text data bss dec hex filename 705 48 45056 45809 b2f1 arch/x86/boot/compressed/head_64-new.o [<<< object code check <<<] Signed-off-by: Cyrill Gorcunov Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 369101da7e3f6f971b7303922d2978b8483241c6 Author: Cyrill Gorcunov Date: Mon May 12 15:43:38 2008 +0200 x86: head_64.S cleanup - use predefined flags from processor-flags.h We should better use already defined flags from processor-flags.h instead of defining own ones [>>> object code check >>>] original md5sum: 9cfa6dbf045a046bb5dfb85f8bcfe8c4 arch/x86/kernel/head_64.o text data bss dec hex filename 37361 4432 8192 49985 c341 arch/x86/kernel/head_64.o patched md5sum: 9cfa6dbf045a046bb5dfb85f8bcfe8c4 arch/x86/kernel/head_64.o text data bss dec hex filename 37361 4432 8192 49985 c341 arch/x86/kernel/head_64.o [<<< object code check <<<] Signed-off-by: Cyrill Gorcunov Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9831bfb201a8e00415d0f9e5b5a50d902a90b2db Author: Cyrill Gorcunov Date: Mon May 12 15:43:38 2008 +0200 x86 - hide X86_VM_MASK from userland programs v3 X86_VM_MASK is kernel specific flags so hide it from userland programs. It should be defined *before* ptrace.h inclusion because of circular link between these files Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ebdd561a19d7917ac49fff9c355aa4833c504bf1 Author: Jan Beulich Date: Mon May 12 15:43:38 2008 +0200 x86: constify data in reboot.c Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c8ab98249fa3cead320ec0ee4cde9960b951989 Author: Jan Beulich Date: Mon May 12 15:43:38 2008 +0200 i386: move FIX_ACPI_* into non-permanent range .. as they are used at early boot time only. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e50e62ce52f39b5f45e82f68b18254458b429bb Author: Jan Beulich Date: Mon May 12 15:43:38 2008 +0200 x86: eliminate duplicate consistency checks in init_32.c Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6a1673ae2201931ce34bf7ba9f90928c864d8334 Author: Thomas Gleixner Date: Mon May 12 15:43:38 2008 +0200 x86: make memory_add_physaddr_to_nid depend on MEMORY_HOTPLUG memory_add_physaddr_to_nid() is only used in the CONFIG_MEMORY_HOTPLUG_SPARSE || CONFIG_ACPI_HOTPLUG_MEMORY case. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cca7c0850fa0381639bf84dd06ee900e16346373 Author: Jiri Slaby Date: Mon May 12 15:43:37 2008 +0200 x86_64: fix mm.txt documentation Commit 85eb69a16aab5a394ce043c2131319eae35e6493 introduced 512 MiB sized kernel and 1.5 GiB sized module space but omitted to change documentation properly. Fix that. [Wasn't the hole intentional protection hole?] Signed-off-by: Jiri Slaby Cc: Andi Kleen Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 311f83494830fec17f086401a5b43984bb447cd2 Author: Adrian Bunk Date: Mon May 12 15:43:37 2008 +0200 x86: kernel/pci-dma.c cleanups This patch contains the following cleanups: - make the following needlessly global code static: - dma_alloc_pages() Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 968cbfad1a727b5689ae620f4d970abf6ce73340 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: make __pci_mmcfg_init static in mmconfig-shared.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e0b32d768cad17af07af3aced67498bde98296c9 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: make command_line static in setup_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 11034d55975be6d8b955a6eb11e87fc67ec086c2 Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: init64.c include initrd.h free_initrd_mem needs a prototype, which is in linux/initrd.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d1097635deed7196c2a859f285c29267779ca45a Author: Thomas Gleixner Date: Fri May 2 23:42:01 2008 +0200 x86: move mmconfig declarations to header arch/x86/kernel/mmconf-fam10h_64.c is missing the prototypes, which are decalred in arch/x86/kernel/setup_64.c. Move the prototypes and the inline stubs to the appropriate header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 55d4f22abc9f011c5db982f83377cdd38bb9a2a3 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: k8topology cleanup variable declarations Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d34c08958fa36c7a8c3f8d9c0ebe6ec1ab744a68 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: k8topology fix shadow variable sparse mutters: arch/x86/mm/k8topology_64.c:108:7: warning: symbol 'nodeid' shadows an earlier one Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0eafe234a2571f51ef9f7e8baddb58c828750771 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: k8topology add missing header k8_scan_nodes is global and needs a prototype. Add the header file which contains it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 635ee418381566f03819408e1303ef21fcf2d41c Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: create prototype for (un)map_devmem Global functions need a prototype. Add it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 535694f361419ca195fd915dd5038c926334e1be Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: boot/printfc use NULL instead 0 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eef8f871d84b5df1a24902a4e4700188be1aff2c Author: Thomas Gleixner Date: Mon May 12 15:43:34 2008 +0200 x86: vsmp_64 add missing includes sparse mutters: arch/x86/kernel/vsmp_64.c:126:5: warning: symbol 'is_vsmp_box' was not declared. Should it be static? arch/x86/kernel/vsmp_64.c:145:13: warning: symbol 'vsmp_init' was not declared. Should it be static? Include the appropriate headers. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5136dea5734cfddbc6d7ccb7ead85a3ac7ce3de2 Author: Andrew Morton Date: Wed May 14 16:10:41 2008 -0700 x86: bitops take an unsigned long * All (or most) other architectures do this. So should x86. Fix. Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 46dd98a5c0b907f94742579ab605be1933a37abd Author: Andrew Morton Date: Wed May 14 16:10:39 2008 -0700 arch/x86/mm/pat.c: use boot_cpu_has() arch/x86/mm/pat.c: In function 'phys_mem_access_prot_allowed': arch/x86/mm/pat.c:526: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:526: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type arch/x86/mm/pat.c:527: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:527: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type arch/x86/mm/pat.c:528: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:528: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type arch/x86/mm/pat.c:529: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:529: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type Don't open-code test_bit() on a __u32 Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit e6b0edef3453677b13e175a104a83eb36d062dd3 Author: OGAWA Hirofumi Date: Mon May 12 15:43:38 2008 +0200 x86: clean up vdso_enabled type on x86_64 This fixes type of "vdso_enabled" on X86_64 to match extern in asm/elf.h. Signed-off-by: OGAWA Hirofumi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c2c14fb7afcc67b48724571506e095fccc65a670 Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: tsc_64.c make constant UL arch/x86/kernel/tsc_64.c:245:13: warning: constant 0x100000000 is so big it is long Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 962cf36c5bf6d2840b8d66ee9a606fae2f540bbd Author: Carlos R. Mafra Date: Thu May 15 11:15:37 2008 -0300 Remove argument from open_softirq which is always NULL As git-grep shows, open_softirq() is always called with the last argument being NULL block/blk-core.c: open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); kernel/hrtimer.c: open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq, NULL); kernel/rcuclassic.c: open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); kernel/rcupreempt.c: open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); kernel/sched.c: open_softirq(SCHED_SOFTIRQ, run_rebalance_domains, NULL); kernel/softirq.c: open_softirq(TASKLET_SOFTIRQ, tasklet_action, NULL); kernel/softirq.c: open_softirq(HI_SOFTIRQ, tasklet_hi_action, NULL); kernel/timer.c: open_softirq(TIMER_SOFTIRQ, run_timer_softirq, NULL); net/core/dev.c: open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL); net/core/dev.c: open_softirq(NET_RX_SOFTIRQ, net_rx_action, NULL); This observation has already been made by Matthew Wilcox in June 2002 (http://www.cs.helsinki.fi/linux/linux-kernel/2002-25/0687.html) "I notice that none of the current softirq routines use the data element passed to them." and the situation hasn't changed since them. So it appears we can safely remove that extra argument to save 128 (54) bytes of kernel data (text). Signed-off-by: Carlos R. Mafra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a2eddfa95919a730e0e5ed17e9c303fe5ba249cd Author: Jan Beulich Date: Mon May 12 15:44:41 2008 +0200 x86: make /proc/stat account for all interrupts LAPIC interrupts, which don't go through the generic interrupt handling code, aren't accounted for in /proc/stat. Hence this patch adds a mechanism architectures can use to accordingly adjust the statistics. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 63687a528c39a67c1a213cdffa09feb0e6af9dbe Author: Jan Beulich Date: Mon May 12 15:44:41 2008 +0200 x86: move tracedata to RODATA .. allowing it to be write-protected just as other read-only data under CONFIG_DEBUG_RODATA. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6360b1fbb4a939efd34fc770c2ebd927c55506e0 Author: Jan Beulich Date: Mon May 12 15:44:41 2008 +0200 move BUG_TABLE into RODATA Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 091593080533a752ce66d12858d8c4105c8e1793 Author: Nick Andrew Date: Mon May 12 21:21:04 2008 +0200 printk: remember the message level for multi-line output printk(KERN_ALERT "Danger Will Robinson!\nAlien Approaching!\n"); At present this will result in one message at ALERT level and one at the current default message loglevel (e.g. WARNING). This is non-intuitive. Modify vprintk() to remember the message loglevel each time it is specified and use it for subsequent lines of output which do not specify one, within the same call to printk. Signed-off-by: Nick Andrew Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ac60ad7413ca8208094609a3b88ed9b1ed012fbc Author: Nick Andrew Date: Mon May 12 21:21:04 2008 +0200 printk: refactor processing of line severity tokens Restructure the logic of vprintk() so the processing of the leading 3 characters of each input line is in one place, regardless whether printk_time is enabled. This makes the code smaller and easier to understand. size reduction in kernel/printk.o: text data bss dec hex filename 6157 397 1049804 1056358 101e66 printk.o.before 6117 397 1049804 1056318 101e3e printk.o.after and some style uncleanlinesses removed as well as a side-effect: Before: total: 19 errors, 22 warnings, 1340 lines checked After: total: 17 errors, 22 warnings, 1333 lines checked Signed-off-by: Nick Andrew Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cd3a1b8562d28490b334a61d5eb05df3d722d91e Author: Jan Kiszka Date: Mon May 12 21:21:04 2008 +0200 printk: don't prefer unsuited consoles on registration console election: If some console happens to be registered first which does not provide a tty binding (!console->device), it prevents that more suited consoles which are registered later on can enter the candidate pool for console_device(). This is observable with KGDB's console which may already be registered (and exploited!) during early debugger connections, that is before any regular console registration. This patch fixes the issue by postponing the final, automated preferred_console selection until someone with a non-NULL device handler comes around. Signed-off-by: Jan Kiszka Cc: Jason Wessel Cc: Gerd Hoffmann Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3b8945e8d40645eecdb7d2357ca531f9b4dd9f71 Author: Tejun Heo Date: Mon May 12 21:21:04 2008 +0200 printk: clean up recursion check related static variables Make printk_recursion_bug_msg static and drop printk prefix from recursion variables. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 42fdfa238a23643226910acf922ea930b3286032 Author: Thomas Gleixner Date: Sat May 24 23:14:51 2008 +0200 namespacecheck: more kernel/printk.c fixes [ Stephen Rothwell : build fix ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7f6f3a39d258adf51f0fb1fe0dab52272a1c61a4 Author: Thomas Gleixner Date: Sat May 24 23:12:18 2008 +0200 namespacecheck: fix kernel printk.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3711ccb07b7f0a13f4f1aa16a8fdca9c930f21ca Author: Thomas Gleixner Date: Sat May 24 17:24:34 2008 +0200 x86: fixup the fallout of the bitops changes Signed-off-by: Thomas Gleixner commit ec42418f1973e1f77da1fcca3be59c0acb878a9d Author: Thomas Gleixner Date: Sat May 24 15:59:58 2008 +0200 x86: rename the i8259_32/64.c leftovers to irqinit_32/64.c The leftovers of the i8259 unification have nothing to do with i8259 at all. They contain interrupt init code and the i8259_xx name is just misleading now. Rename them to irqinit_32/64.c Signed-off-by: Thomas Gleixner commit d23b200a75f78e62744c3c25d078855eec8a689b Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: make init_ISA_irqs() static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 680afbf989d697b9ba1382017a73c8cfa53b3f89 Author: Pavel Machek Date: Wed May 21 11:57:52 2008 +0200 x86: i8259: cleanup codingstyle Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 3e8631d27088f394b6788829e238a60bf07d47ab Author: Pavel Machek Date: Wed May 21 11:52:52 2008 +0200 x86: i8259.c: remove trivial ifdefs Remove #ifdefs where the only difference is formatting of comments. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 15d613cb25efd978dd55592d011a6ffc487b3432 Author: Pavel Machek Date: Wed May 21 11:47:24 2008 +0200 x86: i8259.c: remove #ifdefs around includes Remove #ifdefs around includes; including too much should be always safe. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 21fd5132b223a10bdf17713dd0bf321cbd6471d2 Author: Pavel Machek Date: Wed May 21 11:44:02 2008 +0200 x86: automatical unification of i8259.c Make conversion of i8259 very mechanical -- i8259 was generated by diff -D, with too different parts left in i8259_32 and i8259_64.c. Only "by hand" changes were removal of #ifdef from middle of the comment (prevented compilation) and removal of one static to allow splitting into files. Of course, it will need some cleanups now, and those will follow. Signed-of-by: Pavel Machek commit fce39665abb71d01d74ac74eb13dd69a799dfc2f Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: make init_ISA_irqs() static Moved to i8259 branch to avoid conflicts. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f20b11e716936f85850654c49e06a1f955b9e5fc Author: Thomas Gleixner Date: Sat May 24 15:59:58 2008 +0200 x86: rename the i8259_32/64.c leftovers to initirq_32/64.c The leftovers of the i8259 unification have nothing to do with i8259 at all. They contain interrupt init code and the i8259_xx name is just misleading now. Rename them to initirq_32/64.c Signed-off-by: Thomas Gleixner commit 4d9a6e6128dd8ada0d2feed2a9bb6506043e4655 Author: Pavel Machek Date: Wed May 21 11:57:52 2008 +0200 x86: i8259: cleanup codingstyle Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 4f6f3bac18c80ff6cf072d90796755c69cc4c748 Author: Pavel Machek Date: Wed May 21 11:52:52 2008 +0200 x86: i8259.c: remove trivial ifdefs Remove #ifdefs where the only difference is formatting of comments. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 6b4d3afbe722ee71b8da346c2c4393938440c471 Author: Pavel Machek Date: Wed May 21 11:47:24 2008 +0200 x86: i8259.c: remove #ifdefs around includes Remove #ifdefs around includes; including too much should be always safe. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 40bd21740012132afb62d78ac3e6b82372b2fbc2 Author: Pavel Machek Date: Wed May 21 11:44:02 2008 +0200 x86: automatical unification of i8259.c Make conversion of i8259 very mechanical -- i8259 was generated by commit 4d2df795f0c3eb91f97a666f47716121a2f166ed Author: Thomas Gleixner Date: Sat May 24 15:00:46 2008 +0200 sysprof: make it depend on X86 Signed-off-by: Thomas Gleixner commit 790e2a290b499b0400254e6870ec27969065d122 Author: Pekka Paalanen Date: Mon May 12 21:21:14 2008 +0200 x86 mmiotrace: page level is unsigned Fixes some sparse warnings. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit a50445d76c22a34ae149704ea5adaef171c8acb7 Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 mmiotrace: rename kmmio_probe::user_data to :private. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit dee310d0adf41019aca476052ac3085ff286d9be Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 x86 mmiotrace: use resource_size_t for phys addresses Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 87e547fe41a8b57d6d80afc67a0031fbe477eb0d Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 x86 mmiotrace: fix page-unaligned ioremaps mmiotrace_ioremap() expects to receive the original unaligned map phys address and size. Also fix {un,}register_kmmio_probe() to deal properly with unaligned size. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 970e6fa03885f32cc43e42cb08c73a5f54cd8bd9 Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 mmiotrace: code style cleanups From c2da03771e29159627c5c7b9509ec70bce9f91ee Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Mon, 28 Apr 2008 21:25:22 +0300 Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 6f6f394d9ca61fcc73ecfd2f2bf58e92dc1ab269 Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 doc: update mmiotrace doc to current status Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit e0fd5c2fa188311667267c02a702ae699a9fc2bd Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 mmiotrace: do not print bogus pid for maps either Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 2039238b79b51a50f8477f53f33750e1c3fc146a Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 mmiotrace: print overrun counts Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit d0a7e8ca5b996d36219e6fc002907291c8ee677b Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 mmiotrace: print header using the read hook. Now the header is printed only for `trace_pipe' file. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 7423d1115f18627666d475fccc7c62394406ff8c Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 x86 mmiotrace: dynamically disable non-boot CPUs From 8979ee55cb6a429c4edd72ebec2244b849f6a79a Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sat, 12 Apr 2008 00:18:57 +0300 Mmiotrace is not reliable with multiple CPUs and may miss events. Drop to single CPU when mmiotrace is activated. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 37b3619257d3190f47f233d7ed626d4b9916462c Author: Randy Dunlap Date: Mon May 12 21:20:59 2008 +0200 x86/mmiotrace: uses/depends on PCI Don't try to build mmiotrace when CONFIG_PCI=n. next-20080416/kernel/trace/trace_mmiotrace.c: In function 'mmio_print_pcidev': next-20080416/kernel/trace/trace_mmiotrace.c:62: error: implicit declaration of function 'pci_dev_driver' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0663bb6cd9a457fbd8ca95c627bb762d07321a39 Author: Randy Dunlap Date: Mon May 12 21:20:59 2008 +0200 mmiotrace: fix printk format Fix gcc printk format warnings: next-20080415/arch/x86/mm/mmio-mod.c: In function 'print_pte': next-20080415/arch/x86/mm/mmio-mod.c:154: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'pteval_t' next-20080415/arch/x86/mm/mmio-mod.c:154: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'pteval_t' next-20080415/arch/x86/mm/mmio-mod.c: At top level: next-20080415/arch/x86/mm/mmio-mod.c:403: warning: 'downed_cpus' defined but not used Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6c67c1afcce71335b18ed8769b1165c468bfb03 Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 mmiotrace: add user documentation Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 736ca61fa81874b3fee205a593251b1869d0bcf1 Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 x86 mmiotrace: Do not print bogus pid Non-zero pid indicates the MMIO access originated in user space. We do not catch that kind of accesses yet, so always print zero for now. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4b37ee68609037ffcaa2fcfae47cd31a605bb9e Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 x86 mmiotrace: remove ISA_trace parameter. This had become a no-op. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff3a3e9ba5e4273a8bc10570adab4a390fb90757 Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 x86 mmiotrace: move files into arch/x86/mm/. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 49023168261a7f9a2fd4a1ca1adbfea922556015 Author: Ingo Molnar Date: Mon May 12 21:20:58 2008 +0200 mmiotrace: cleanup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 801a175bf601f9a9d5e86e92dee9adeeb6625da8 Author: Ingo Molnar Date: Mon May 12 21:20:58 2008 +0200 mmiotrace: ftrace fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 138295373ccf7625fcb0218dfea114837983bc39 Author: Pekka Paalanen Date: Mon May 12 21:20:58 2008 +0200 ftrace: mmiotrace update, #2 another weekend, another patch. This should apply on top of my previous patch from March 23rd. Summary of changes: - Print PCI device list in output header - work around recursive probe hits on SMP - refactor dis/arm_kmmio_fault_page() and add check for page levels - remove un/reference_kmmio(), the die notifier hook is registered permanently into the list - explicitly check for single stepping in die notifier callback I have tested this version on my UP Athlon64 desktop with Nouveau, and SMP Core 2 Duo laptop with the proprietary nvidia driver. Both systems are 64-bit. One previously unknown bug crept into daylight: the ftrace framework's output routines print the first entry last after buffer has wrapped around. The most important regressions compared to non-ftrace mmiotrace at this time are: - failure of trace_pipe file - illegal lines in output file - unaware of losing data due to buffer full Personally I'd like to see these three solved before submitting to mainline. Other issues may come up once we know when we lose events. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bd8ac686c73c7e925fcfe0b02dc4e7b947127864 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 ftrace: mmiotrace, updates here is a patch that makes mmiotrace work almost well within the tracing framework. The patch applies on top of my previous patch. I have my own output formatting in place now. Summary of changes: - fix the NULL dereference that was due to not calling tracing_reset() - add print_line() callback into struct tracer - implement print_line() for mmiotrace, producing up-to-spec text - add my output header, but that is not really called in the right place - rewrote the main structs in mmiotrace - added two new trace entry types: TRACE_MMIO_RW and TRACE_MMIO_MAP - made some functions in trace.c non-static - check current==NULL in tracing_generic_entry_update() - fix(?) comparison in trace_seq_printf() Things seem to work fine except a few issues. Markers (text lines injected into mmiotrace log) are missing, I did not feel hacking them in before we have variable length entries. My output header is printed only for 'trace' file, but not 'trace_pipe'. For some reason, despite my quick fix, iter->trace is NULL in print_trace_line() when called from 'trace_pipe' file, which means I don't get proper output formatting. I only tried by loading nouveau.ko, which just detects the card, and that is traced fine. I didn't try further. Map, two reads and unmap. Works perfectly. I am missing the information about overflows, I'd prefer to have a counter for lost events. I didn't try, but I guess currently there is no way of knowning when it overflows? So, not too far from being fully operational, it seems :-) And looking at the diffstat, there also is some 700-900 lines of user space code that just became obsolete. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f984b51e0779a6dd30feedc41404013ca54e5d05 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 ftrace: add mmiotrace plugin On Sat, 22 Mar 2008 13:07:47 +0100 Ingo Molnar wrote: > > > i'd suggest the following: pull x86.git and sched-devel.git into a > > > single tree [the two will combine without rejects]. Then try to add a > > > kernel/tracing/trace_mmiotrace.c ftrace plugin. The trace_sysprof.c > > > plugin might be a good example. > > > > I did this and now I have mmiotrace enabled/disabled via the tracing > > framework (what do we call this, since ftrace is one of the tracers?). > > cool! could you send the patches for that? (even if they are not fully > functional yet) Patch attached in the end. Nice to see how much code disappeared. I tried to mark all the features I had to break with XXX-comments. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d61fc44853f46fb002228b18aa5f30db21fcd4ac Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86: mmiotrace, preview 2 Kconfig.debug, Makefile and testmmiotrace.c style fixes. Use real mutex instead of mutex. Fix failure path in register probe func. kmmio: RCU read-locked over single stepping. Generate mapping id's. Make mmio-mod.c built-in and rewrite its locking. Add debugfs file to enable/disable mmiotracing. kmmio: use irqsave spinlocks. Lots of cleanups in mmio-mod.c Marker file moved from /proc into debugfs. Call mmiotrace entrypoints directly from ioremap.c. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0fd0e3da4557c479b820b9a4a7afa25b4637ddf2 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86: mmiotrace full patch, preview 1 kmmio.c handles the list of mmio probes with callbacks, list of traced pages, and attaching into the page fault handler and die notifier. It arms, traps and disarms the given pages, this is the core of mmiotrace. mmio-mod.c is a user interface, hooking into ioremap functions and registering the mmio probes. It also decodes the required information from trapped mmio accesses via the pre and post callbacks in each probe. Currently, hooking into ioremap functions works by redefining the symbols of the target (binary) kernel module, so that it calls the traced versions of the functions. The most notable changes done since the last discussion are: - kmmio.c is a built-in, not part of the module - direct call from fault.c to kmmio.c, removing all dynamic hooks - prepare for unregistering probes at any time - make kmmio re-initializable and accessible to more than one user - rewrite kmmio locking to remove all spinlocks from page fault path Can I abuse call_rcu() like I do in kmmio.c:unregister_kmmio_probe() or is there a better way? The function called via call_rcu() itself calls call_rcu() again, will this work or break? There I need a second grace period for RCU after the first grace period for page faults. Mmiotrace itself (mmio-mod.c) is still a module, I am going to attack that next. At some point I will start looking into how to make mmiotrace a tracer component of ftrace (thanks for the hint, Ingo). Ftrace should make the user space part of mmiotracing as simple as 'cat /debug/trace/mmio > dump.txt'. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f513638030ca384b0bace4df64f0b82f6ae1e4c6 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86 mmiotrace: Use percpu instead of arrays. Signed-off-by: Pekka Paalanen Cc: Eric Dumazet Cc: pq@iki.fi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 10c43d2eb50c9a5ad60388b9d3c41c31150049e6 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86: explicit call to mmiotrace in do_page_fault() The custom page fault handler list is replaced with a single function pointer. All related functions and variables are renamed for mmiotrace. Signed-off-by: Pekka Paalanen Cc: Christoph Hellwig Cc: Arjan van de Ven Cc: pq@iki.fi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 63ffa3e456c1a9884a3ebac997d91e3fdae18d78 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86 mmiotrace: comment about user space ABI Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fe1ffafa80f6673101c6560c2bacfe3df10372ee Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86 mmiotrace: fix relay-buffer-full flag for SMP Relay has per-cpu buffers, but mmiotrace was using only a single flag for detecting buffer full/not-full transitions. The new code makes this per-cpu and actually counts missed events. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75bb88350e0501b3cf5ac096a1008757844414a9 Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86 mmiotrace: use lookup_address() Use lookup_address() from pageattr.c instead of doing the same manually. Also had to EXPORT_SYMBOL_GPL(lookup_address) to make this work for modules. This also fixes "undefined symbol 'init_mm'" compile error for x86_32. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b7d89d02ef3c6a7c73d6596f28cea7632850af4 Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86: mmiotrace - trace memory mapped IO Mmiotrace is a tool for trapping memory mapped IO (MMIO) accesses within the kernel. It is used for debugging and especially for reverse engineering evil binary drivers. Mmiotrace works by wrapping the ioremap family of kernel functions and marking the returned pages as not present. Access to the IO memory triggers a page fault, which will be handled by mmiotrace's custom page fault handler. This will single-step the faulted instruction with the MMIO page marked as present. Access logs are directed to user space via relay and debug_fs. This page fault approach is necessary, because binary drivers have readl/writel etc. calls inlined and therefore extremely difficult to trap with with e.g. kprobes. This patch depends on the custom page fault handlers patch. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cf3271a73b612a03da00681ecd9bfefab37c74c9 Author: Soeren Sandmann Date: Mon May 12 05:28:50 2008 +0200 ftrace/sysprof: don't trace the user stack if we are a kernel thread. Check that current->mm is non-NULL before attempting to trace the user stack. Also take depth of the kernel stack into account when comparing against sample_max_depth. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8a9e94c1fbfdac45a3b6811b880777c4116aa309 Author: Ingo Molnar Date: Mon May 12 21:20:54 2008 +0200 sysprof: update copyrights Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cd2134b1dda92fd450e6a1e12b1c7960dd6a2178 Author: Soeren Sandmann Pedersen Date: Mon May 12 21:20:54 2008 +0200 sysprof: kernel trace add kernel backtracing to the sysprof tracer. change the format of the data, so that type=0 means beginning of stack trace, 1 means kernel address, 2 means user address, and 3 means end of trace. EIP addresses are no longer distinguished from return addresses, mostly because sysprof userspace doesn't make use of it. It may be worthwhile adding this back in though, just in case it becomes interesting. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5fc4511c756860149b81aead6eca5bdf5c438ea7 Author: Thomas Gleixner Date: Fri May 23 23:58:21 2008 +0200 ftrace: make it more available in the Kconfig Signed-off-by: Thomas Gleixner commit 9caee613d3b860ae81b79370eeae9ac967c07536 Author: Thomas Gleixner Date: Fri May 23 23:55:54 2008 +0200 ftrace: fix __trace_special() Signed-off-by: Thomas Gleixner commit ada6b835067dc022f11cdae1c313a3710d3d977c Author: Thomas Gleixner Date: Fri May 23 23:50:41 2008 +0200 ftrace: remove notrace Remove the notrace annotations. The build logic takes care of that. Signed-off-by: Thomas Gleixner commit d618b3e6e50970a6248ac857653fdd49bcd3c045 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: sysprof updates make the sample period configurable. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f6b4e3f4a24f2590f1c96f117fc45fbea9b0fa4 Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace: sysprof fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef4ab15ff34fd9c65e92bee70f58e7179da881c5 Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace: make sysprof dependent on x86 for now that's the only tested platform for now. If there's interest we can make it generic easily. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 842af315e8b0adad58fc642eaa5e6f53525e0534 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: sysprof plugin improvement add sample maximum depth. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a6dd24f8d00cbccb560b19a723e6fb9bdfb20799 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: sysprof-plugin, add self-tests Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 56a08bdcff20f0022bd9160c1093e56f763499aa Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: extend sysprof plugin some more Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0075fa80305f3231a2d5df97b00d7f55a48ea27e Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: extend sysprof plugin add per CPU hrtimers. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f06c38103ea9dbca27c3f4d77f444ddefb5477cd Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: add sysprof plugin very first baby version. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 677aa9f77e8de3791b481a0cec6c8b84d1eec626 Author: Steven Rostedt Date: Sat May 17 00:01:36 2008 -0400 ftrace: add have dynamic ftrace config for archs Now that ftrace is being ported to other architectures, it has become apparent that DYNAMIC_FTRACE is dependent on whether or not that architecture implements dynamic ftrace. FTRACE itself may be ported to an architecture without porting dynamic ftrace. This patch adds HAVE_DYNAMIC_FTRACE to allow architectures to port ftrace without having to also port the dynamic aspect as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7fa09f24b477ad41b821713eba757b3aa7a2864a Author: Steven Rostedt Date: Wed May 14 21:30:32 2008 -0400 ftrace: use the new kbuild CFLAGS_REMOVE for x86/kernel directory This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro in the x86/kernel directory. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 654e4787689faffdd2137fe91f59fd3ef3363ad2 Author: Steven Rostedt Date: Wed May 14 21:30:31 2008 -0400 ftrace: use the new kbuild CFLAGS_REMOVE for lib directory This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro in the lib directory. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6ec562328fda585be2d7f472cfac99d3b44d362a Author: Steven Rostedt Date: Wed May 14 21:30:30 2008 -0400 ftrace: use the new kbuild CFLAGS_REMOVE for kernel directory This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro in the kernel directory. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 656ee82cc855027b2e994ad218519b09fa652cc1 Author: Steven Rostedt Date: Wed May 14 21:30:29 2008 -0400 kbuild: create new CFLAGS_REMOVE_(basename).o option We currently have a way to add special CFLAGS to code, but we do not have a way to remove them if needed. With the case of ftrace, some files should simply not be profiled. Adding the -pg flag to these files is simply a waste, and adding "notrace" to each and every function is ugly. Currently we put in "Makefile turd" [1] to stop the compiler from adding -pg to certain files. This was clumsy and awkward. This patch now adds the revese of CFLAGS_(basename).o with CFLAGS_REMOVE_(basename).o. This allows developers to prevent certain CFLAGS from being used to compile files. For example, we can now do CFLAGS_REMOVE_string.o = -pg to remove the -pg option from the string.o file in the lib directory. Note: a space delimited list of options may be added to the REMOVE macro. [1] - what David Miller called the workaronud to remove -pg Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e491d14f2506b218d678935c25a7027b79178b1 Author: Steven Rostedt Date: Wed May 14 23:49:44 2008 -0400 ftrace: support for PowerPC This patch adds full support for ftrace for PowerPC (both 64 and 32 bit). This includes dynamic tracing and function filtering. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e0eca07badc023a675a61906020b397da20f07c3 Author: Steven Rostedt Date: Wed May 14 23:49:43 2008 -0400 ftrace, POWERPC: add irqs_disabled_flags to ppc PPC doesn't have the irqs_disabled_flags needed by ftrace. This patch adds it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 489f139614596cbc956a06f5e4bb41288e276fe3 Author: Ingo Molnar Date: Mon Feb 25 13:38:05 2008 +0100 ftrace: fix build bug Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d49dbf33f0bf8748ee3662b973eb57e60525d622 Author: Ingo Molnar Date: Fri May 16 10:41:53 2008 +0200 ftrace: fix include file dependency Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2d8b820b2e81954754277723379ae9ed5de316fa Author: Ingo Molnar Date: Sat Feb 23 16:55:50 2008 +0100 ftrace: cleanups factor out code and clean it up. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37135677e653537ffc6e7def679443272a1c03c3 Author: Ingo Molnar Date: Wed May 14 08:10:31 2008 +0200 ftrace: fix mcount export bug David S. Miller noticed the following bug: the -pg instrumentation function callback is named differently on each platform. On x86 it is mcount, on sparc it is _mcount. So the export does not make sense in kernel/trace/ftrace.c - move it to x86. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d05f5f9906740474eb768823004ffcd775b12ca6 Author: David Miller Date: Tue May 13 22:06:59 2008 -0700 sparc64: add ftrace support. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa5e5ceaf52a882a29d9b86531a20733f5116066 Author: David Miller Date: Tue May 13 22:06:56 2008 -0700 ftrace: remove packed attribute on ftrace_page. It causes unaligned access traps on platforms like sparc (ftrace_page may be marked packed, but once we return a dyn_ftrace sub-object from this array to another piece of code, the "packed" part of the typing information doesn't propagate). But also, it didn't serve any purpose either. Even if packed, on 64-bit or 32-bit, it didn't give us any more dyn_ftrace entries per-page. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 74f4e369fc5b52433ad824cef32d3bf1304549be Author: Ingo Molnar Date: Mon May 12 21:21:15 2008 +0200 ftrace: stacktrace fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b82a1b08a00b2adca3d9dd9777efff40b7aaaa1 Author: Mathieu Desnoyers Date: Mon May 12 21:21:10 2008 +0200 Port ftrace to markers Porting ftrace to the marker infrastructure. Don't need to chain to the wakeup tracer from the sched tracer, because markers support multiple probes connected. Signed-off-by: Mathieu Desnoyers CC: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0aa977f592f17004f9d1d545f2e1bb9ea71896c3 Author: Mathieu Desnoyers Date: Mon May 12 21:21:10 2008 +0200 Markers - define non optimized marker To support the forthcoming "immediate values" marker optimization, we must have a way to declare markers in few code paths that does not use instruction modification based enable. This will be the case of printk(), some traps and eventually lockdep instrumentation. Changelog : - Fix reversed boolean logic of "generic". Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dc102a8fae2d0d6bf5223fc549247f2e23959ae6 Author: Mathieu Desnoyers Date: Mon May 12 21:21:09 2008 +0200 Markers - remove extra format argument Denys Vlasenko : > Not in this patch, but I noticed: > > #define __trace_mark(name, call_private, format, args...) \ > do { \ > static const char __mstrtab_##name[] \ > __attribute__((section("__markers_strings"))) \ > = #name "\0" format; \ > static struct marker __mark_##name \ > __attribute__((section("__markers"), aligned(8))) = \ > { __mstrtab_##name, &__mstrtab_##name[sizeof(#name)], \ > 0, 0, marker_probe_cb, \ > { __mark_empty_function, NULL}, NULL }; \ > __mark_check_format(format, ## args); \ > if (unlikely(__mark_##name.state)) { \ > (*__mark_##name.call) \ > (&__mark_##name, call_private, \ > format, ## args); \ > } \ > } while (0) > > In this call: > > (*__mark_##name.call) \ > (&__mark_##name, call_private, \ > format, ## args); \ > > you make gcc allocate duplicate format string. You can use > &__mstrtab_##name[sizeof(#name)] instead since it holds the same string, > or drop ", format," above and "const char *fmt" from here: > > void (*call)(const struct marker *mdata, /* Probe wrapper */ > void *call_private, const char *fmt, ...); > > since mdata->format is the same and all callees which need it can take it there. Very good point. I actually thought about dropping it, since it would remove an unnecessary argument from the stack. And actually, since I now have the marker_probe_cb sitting between the marker site and the callbacks, there is no API change required. Thanks :) Mathieu Signed-off-by: Mathieu Desnoyers CC: Denys Vlasenko Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3eefae994d9224fb7771a3ddb683868363c23510 Author: Steven Rostedt Date: Mon May 12 21:21:04 2008 +0200 ftrace: limit trace entries Currently there is no protection from the root user to use up all of memory for trace buffers. If the root user allocates too many entries, the OOM killer might start kill off all tasks. This patch adds an algorith to check the following condition: pages_requested > (freeable_memory + current_trace_buffer_pages) / 4 If the above is met then the allocation fails. The above prevents more than 1/4th of freeable memory from being used by trace buffers. To determine the freeable_memory, I made determine_dirtyable_memory in mm/page-writeback.c global. Special thanks goes to Peter Zijlstra for suggesting the above calculation. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6c6c27969a4c6024e6c8838829546c02aaddca18 Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 ftrace: add readpos to struct trace_seq; add trace_seq_to_user() Refactor code from tracing_read_pipe() and create trace_seq_to_user(). Moved trace_seq_reset() call before iter->trace->read() call so that when all leftover data is returned, trace_seq is reset automatically. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2bb6f8d6389cbfadd657e7dc069f6986abf35e4f Author: Steven Rostedt Date: Mon May 12 21:21:02 2008 +0200 ftrace: use raw_smp_processor_id for mcount functions Due to debug hooks in the kernel that can change the way smp_processor_id works, use raw_smp_processor_id in mcount called functions (namely ftrace_record_ip). Currently we annotate most debug functions from calling mcount, but we should not rely on that to prevent kernel lockups. This patch uses the raw_smp_processor_id to prevent a recusive crash that can happen if a debug hook in smp_processor_id calls mcount. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a4feb8348b62fe76a63cdb5569f5c920f5283c06 Author: Ingo Molnar Date: Mon May 12 21:21:02 2008 +0200 ftrace: special stacktrace Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9fe068e92f6290e89e19adc521441661a1229f00 Author: Ingo Molnar Date: Mon May 12 21:21:02 2008 +0200 ftrace: trace faster Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4823ed7eadf35e4b57ce581327e21d39585f1f32 Author: Steven Rostedt Date: Mon May 12 21:21:01 2008 +0200 ftrace: fix setting of pos in read_pipe In resetting the iterator in read_pipe, the reset of pos was postitioned in the wrong location with respect to the memset operation. The current code sets pos, incorrectly, to zero. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f1dafe50cc4e58a239fd81bd47f87f32042a1ee Author: Pekka Paalanen Date: Mon May 12 21:21:01 2008 +0200 x86: fix SMP alternatives: use mutex instead of spinlock, text_poke is sleepable text_poke is sleepable. The original fix by Mathieu Desnoyers . Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 107bad8bef5ab2c3a3bff7648c18c9dc3abdc13b Author: Steven Rostedt Date: Mon May 12 21:21:01 2008 +0200 ftrace: add trace pipe header pluggin This patch adds a method for open_pipe and open_read to the pluggins so that they can add a header to the trace pipe call. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53d0aa773053ab18287781e25d52c5faf9e0e09e Author: Steven Rostedt Date: Mon May 12 21:21:01 2008 +0200 ftrace: add logic to record overruns This patch sets up the infrastructure to record overruns of the tracing buffer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72b59d67f80983f7bb587b086fb4cb1bc95263a4 Author: Pekka Paalanen Date: Mon May 12 21:21:01 2008 +0200 x86_64: fix kernel rodata NX setting Without CONFIG_DYNAMIC_FTRACE, mark_rodata_ro() would mark a wrong number of pages as no-execute. The bug was introduced in the patch "ftrace: dont write protect kernel text". The symptom was machine reboot after a CPU hotplug. Signed-off-by: Pekka Paalanen Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25b0b44a1c732ccfc58095cdd8438955a0a19fff Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: fix comm on function trace output In cleaning up of the sched_switch code, the function trace recording of task comms was removed. This patch adds back the recording of comms for function trace. The output of ftrace now has the task comm instead of <...>. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4fcdae83cebda24b519a89d3dd976081fff1ca80 Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: comment code This is first installment of adding documentation to the ftrace. Expect many more patches of this kind in the near future. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ab46428c6969d50ecf6f6e97b7a84abba6274368 Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: modulize the number of CPU buffers Currently ftrace allocates a trace buffer for every possible CPU. Work is being done to change it to only online CPUs and add hooks to hotplug CPUS. This patch lays out the infrastructure for such a change. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6caeeb142cd3a03c46107aac45c8effc02bbadb Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: replace simple_strtoul with strict_strtoul Andrew Morton suggested using strict_strtoul over simple_strtoul. This patch replaces them in ftrace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cffae437cdfbc8a5370d38cefbff1dfe34dad6ca Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: simple clean ups Andrew Morton mentioned some clean ups that should be done to ftrace. This patch does some of the simple clean ups. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit afc2abc0ae4265730a0fc48618012193a09a1d10 Author: Ingo Molnar Date: Mon May 12 21:21:00 2008 +0200 ftrace: cleanups no code changed. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 93dcc6ea096c51cc30ad0f6647ed05fead2439bf Author: Thomas Gleixner Date: Mon May 12 21:21:00 2008 +0200 ftrace: simplify hexprint simplify hex to ascii conversion. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bb065afb8ebd07a03155502dba29ebf0f6fe67e8 Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 lockdep: update lockdep_recursion on graph_lock With the introduction of ftrace, it is possible to recurse into the lockdep functions via the mcount call. To prevent possible lockups, updating the lockdep_recursion counter on grabbing the internal lockdep_lock should prevent deadlocks. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a98a3c3fde3ae7614f19758a043691b6f59dac53 Author: Steven Rostedt Date: Mon May 12 21:20:59 2008 +0200 ftrace: trace_entries to dynamically change trace buffer size This patch adds /debug/tracing/trace_entries that allows users to see as well as modify the number of trace entries the buffers hold. The number of entries only increments in ENTRIES_PER_PAGE which is calculated by the size of an entry with the number of entries that can fit in a page. The user does not need to use an exact size, but the entries will be rounded to one of the increments. Trying to set the entries to 0 will return with -EINVAL. To avoid race conditions, the modification of the buffer size can only be done when tracing is completely disabled (current_tracer == none). A info message will be printed if a user tries to modify the buffer size when not set to none. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 05bd68c514579e007b46e4fa0461b78416a3f4c2 Author: Steven Rostedt Date: Mon May 12 21:20:59 2008 +0200 ftrace: user proper API for setting RT prios in selftest The wakeup selftest used an internal API for setting the test task priority. This patch fixes it to use the proper API for performing such a task. Thanks goes to Randy Dunlap for pointing out this build failure. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2dc8f09571a61d9cb3dc47bba6608689dfe15d16 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: trace_pipe implement NONBLOCK This patch implements "NONBLOCK" for trace_pipe. If the trace_pipe is opened with O_NONBLOCK, then the trace_pipe read will not block when buffer is empty. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 845279972f1736c3463c9cebd1bad92a0a347176 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: return EOF in trace_pipe on change of tracer Break out of while loop with EOF when the current_trace changes. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b5685aede3b7b65e72ddc73b951aa1f70798a614 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: restore iterator trace in pipe read The trace iterator is reset in the read. We still need to restore the tracer that the trace_pipe was opened with. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8487c23765b6e0444ec6b5f1530766d63fe68e35 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: allow trace_pipe to block on all reads We expect things like "cat" to block on reads to trace_pipe. That's what trace_pipe is for. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d17d969160c18b631a19c2b34d260691402650f8 Author: Ankita Garg Date: Mon May 12 21:20:58 2008 +0200 ftrace: fix conversion of task state to char in latency tracer The conversion of task states to a character in the sched_switch tracer (part of latency tracer infrastructure), seems to be incorrect. We currently do it by indexing into the state_to_char array using the state value. The state values do not map directly into the array index and are thus incorrect. The following patch addresses this issue. This is also what is being done even in the show_task() routine in kernel/sched.c The patch has been compile and run tested. Signed-off-by: Ankita Garg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72829bc3d63cdc592d8f7dd86ad3b3fe8900fb74 Author: Thomas Gleixner Date: Fri May 23 21:37:28 2008 +0200 ftrace: move enums to ftrace.h and make helper function global picked from the mmiotracer patches to distangle the patch queues. Signed-off-by: Thomas Gleixner commit 86069782d62e731b4835a0cf8eb7d1d0e17cf306 Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86: add a list for custom page fault handlers. Provides kernel modules a way to register custom page fault handlers. On every page fault this will call a list of registered functions. The functions may handle the fault and force do_page_fault() to return immediately. This functionality is similar to the now removed page fault notifiers. Custom page fault handlers are used by debugging and reverse engineering tools. Mmiotrace is one such tool and a patch to add it into the tree will follow. The custom page fault handlers are called earlier in do_page_fault() than the page fault notifiers were. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f0f996e80b980fba07d11961d96a5fefb60976a Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: dont write protect kernel text Dynamic ftrace cant work when the kernel has its text write protected. This patch keeps the kernel from being write protected when dynamic ftrace is in place. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a56be3fe2f65f9f776e727bfd382e35db75911d6 Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: fix the fault label in updating code The fault label to jump to on fault of updating the code was misplaced preventing the fault from being recorded. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30afdcb1de0a37a2086145a82ca3febebe47d019 Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: selftest protect againt max flip There is a slight race condition in the selftest where the max update of the wakeup and irqs/preemption off tests can be doing a max update as the buffers are being tested. If this happens the system can crash with a GPF. This patch adds the max update spinlock around the checking of the buffers to prevent such a race. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d15f57f23eaba975309a153b23699cd0c0236974 Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: fix mutex unlock in trace output If the trace output changes on reading the trace files, there is a chance that the start function will return NULL. If the start function of a sequence returns NULL the stop equivalent is not called. In this case, all locks that are taken must be released even if they are released in the stop function. This patch fixes a case that a mutex was not released on return of NULL in the start sequence function. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 07a267cdd2fd7d1de9455b1e36a1635ace7276c7 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: add UNINTERRUPTIBLE state for kftraced on disable When dynamic ftrace fails and sets itself disabled, the ftraced daemon will go back to sleep everytime it wakes up. The setting of the ftraced state to UNINTERRUPTIBLE is skipped in this process, and the daemon takes up 100% of the CPU. This patch makes sure the ftraced daemon sets itself to UNINTERRUPTIBLE in that loop. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c1d2327b36f2261ffa8ff7227321ba900c7eee7f Author: Ingo Molnar Date: Mon May 12 21:20:55 2008 +0200 ftrace: restrict tracing to HAVE_FTRACE architectures Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d09daa55d2e9bab7e7d30f0d05e5a7bc60b2a4a Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: use Makefile to remove tracing from lockdep This patch removes the "notrace" annotation from lockdep and adds the debugging files in the kernel director to those that should not be compiled with "-pg" mcount tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d0a420b737f72d84fabebf29634d800cbf54538 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: remove function tracing from spinlock debug The debug functions in spin_lock debugging pollute the output of the function tracer. This patch adds the debug files in the lib director to those that should not be compiled with mcount tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92205c2343527a863d660360599a4bf8cede77b0 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: user raw_spin_lock in tracing Lock debugging enabled cause huge performance problems for tracing. Having the lock verification happening for every function that is called because mcount calls spin_lock can cripple the system. This patch converts the spin_locks used by ftrace into raw_spin_locks. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c5f888cae49dfe3e86d9d1e0dab2b63ceb057be3 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: irqsoff use raw_smp_processor_id This patch changes the use of __get_cpu_var to explicitly calling raw_smp_processor_id and using the per_cpu() macro. On some debug configurations, the use of __get_cpu_var may cause ftrace to trigger and this can cause problems with the irqsoff tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4d9493c90f8e6e1b164aede3814010a290161abb Author: Ingo Molnar Date: Mon May 12 21:20:54 2008 +0200 ftrace: remove add-hoc code Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d05cdb25d80f06f77aa6bddb53cd1390d4d91a0b Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: fix dynamic ftrace selftest With the adding of the configuration changes in the Makefile to prevent tracing of functions in the ftrace code, all tracing of all the ftrace code has been removed. Unfortunately, one of the selftests, relied on a function to be traced. With the new change, the function was no longer traced and the test failed. This patch separates out the test function into its own file so that we can add the "-pg" flag to the compilation of that function and the adding of the mcount call to that function. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 06fa75ab566c50e01bfd7b055bde85cf9b1bc98a Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: add TRACE_STACK and TRACE_SPECIAL to selftest validation The selftest validation code checks for valid entries in the trace buffer. TRACE_STACK and TRACE_SPECIAL have been added to the code but not to the validator. This patch adds the two to prevent them from flagging a failure in the selftest. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4fe8c3048cd8280a54256bca9cac2007bd546c33 Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: printk and trace irqsoff and wakeups printk called from wakeup critical timings and irqs off can cause deadlocks since printk might do a wakeup itself. If the call to printk happens with the runqueue lock held, it can deadlock. This patch protects the printk from being called in trace irqs off with a test to see if the runqueue for the current CPU is locked. If it is locked, the printk is skipped. The wakeup always holds the runqueue lock, so the printk is simply removed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f96da02c14d722ad9a3713cd7273ce28c9036ad Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: remove wakeup from function trace trace_function is called by mcount and calling wake_up from that can have unpredictable results. This patch removes the wakeup from trace_function. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 694379e9ed4f2f6babe111bf001c69e2e263338b Author: Ingo Molnar Date: Mon May 12 21:20:54 2008 +0200 ftrace: make it more available in the Kconfig Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5429db2d26a59903c81a4f6c6dae7eb9daaea5fc Author: Peter Zijlstra Date: Mon May 12 21:20:53 2008 +0200 ftrace: fix wakeup callback Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bac524d3f3dfeffa3a9d44f2c64035b88bcaacb4 Author: Peter Zijlstra Date: Mon May 12 21:20:53 2008 +0200 ftrace: trace next state Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88a4216c3ec4281fc7e6725cc3a3ccd01fb1aa14 Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: sched special Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36fc25a9f48deacd8aa08cd2d1c186a4e412604f Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: sched tree fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f29c73fe3404f8799ed57aaf48859e0b55fc071f Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: include cpu in stacktrace Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 442e544ce52d4415a024920b84fb95c5f9aa0855 Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: iter ctrl fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d9af56fbd8b37181bffaad060f74aa2e17382874 Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: fix cmdline tracing Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36dfe9252bd4c9b55e8454363fb7e444c92c5030 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: make use of tracing_cpumask Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c7078de1aaf562a31b20984409c38cc1b40fa8a3 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: add tracing_cpumask Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ac3ba41d372e3a9e420b36bc43589662b188a14 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: trace scheduler rbtree Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a3c3034336320554a3342572dae98d69e054fc7 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: fix __trace_special() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 017730c11241e26577673eb9d957cfc66172ea91 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: fix wakeups Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 24cd5d111e8c713e62cda7ca1d01232402e3d3c9 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: trace curr/next tasks Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e65551905fb0300ae7e667cbaa41ee2e3f29a13 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: sched tracer, trace full rbtree Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c1f4d4f0175129934d5dbc19a39296430937a05 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: make nostacktrace the default Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8ac0fca4ccb355ce50471d7aa3f10f5900b28b95 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: sched tracer fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 86387f7ee5d3273ff4859e2c64ce656639b6ca65 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: add stack tracing Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 57422797dc009fc83766bcf230d29dbe6e08e21e Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: add wakeup events to sched tracer Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e309b41dd65aa953f86765eeeecc941d8e1e8b8f Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: remove notrace now that we have a kbuild method for notrace, no need to pollute the C code with the annotations. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b53dde9d34f2df396540988ebc65c33400f57b04 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: disable -pg for the tracer itself Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3594136ad67a54d77bcb2547e70011754a2f91d5 Author: Steven Rostedt Date: Mon May 12 21:20:50 2008 +0200 ftrace: do not profile lib/string.o Most archs define the string and memory compare functions in assembly. Some do not. But these functions may be used in some archs at early boot up. Since most archs define this code in assembly and they are not usually traced, there's no need to trace them when they are not defined in assembly. This patch removes the -pg from the CFLAGS for lib/string.o. This prevents the string functions use in either vdso or early bootup from crashing the system. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit caf8cdebfb6c1cff50ea8077f1a07c2333d6d1fd Author: Steven Rostedt Date: Mon May 12 21:20:50 2008 +0200 ftrace: remove address of function names PowerPC is very fragile when it comes to use of function names and function addresses. ftrace needs to either use all function addresses or function names (i.e. my_func as suppose to &my_func). This patch chooses to use the names and not the addresses, and makes ftrace consistent. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9ff9cdb2d3b0971f89e899b3420aadd91bddc215 Author: Ingo Molnar Date: Mon May 12 21:20:50 2008 +0200 ftrace: cleanups clean up recent code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6fb44b717c10ecf37beaaebd312f3afa93fed714 Author: Steven Rostedt Date: Mon May 12 21:20:49 2008 +0200 ftrace: add trace_function api for other tracers to use A new check was added in the ftrace function that wont trace if the CPU trace buffer is disabled. Unfortunately, other tracers used ftrace() to write to the buffer after they disabled it. The new disable check makes these calls into a nop. This patch changes the __ftrace that is called without the check into a new api for the other tracers to use, called "trace_function". The other tracers use this interface instead when the trace CPU buffer is already disabled. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2a2cc8f7c4d0dfd75720867f7dc58d24f075edfc Author: Soeren Sandmann Pedersen Date: Mon May 12 21:20:49 2008 +0200 ftrace: allow the event pipe to be polled Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aeaee8a2c9cb4489f166ca0e39c568e8254faaa6 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: build fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2577046740fe6d77864128c6187c11125c2449ea Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: build fix no need to backmerge, only affects ftrace-enabled kernels. (which is not the default) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5e3ca0ec76fce92daa4eed0d02de9c79b1fe3920 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: introduce the "hex" output method Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2e0f57618529a2739a5e1570e6c445c9c966b595 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: build fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0fd9e0dac9026df09986a4b201518ae015814aef Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace: use cpu clock again Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 26994ead1fc8cced63f17e9848edc1771036664e Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace: enabled tracing by default This patch is the correct way to have tracing enabled by default. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4eebcc81a33fbc45e28542b50197ed7b3c486d90 Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace: disable tracing on failure Since ftrace touches practically every function. If we detect any anomaly, we want to fully disable ftrace. This patch adds code to try shutdown ftrace as much as possible without doing any more harm is something is detected not quite correct. This only kills ftrace, this patch does have checks for other parts of the tracer (irqsoff, wakeup, etc.). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37ad508419f0fdfda7b378756eb1f35cfd26d96d Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace - fix dynamic ftrace memory leak The ftrace dynamic function update allocates a record to store the instruction pointers that are being modified. If the modified instruction pointer fails to update, then the record is marked as failed and nothing more is done. Worse, if the modification fails, but the record ip function is still called, it will allocate a new record and try again. In just a matter of time, will this cause a serious memory leak and crash the system. This patch plugs this memory leak. When a record fails, it is included back into the pool of records to be used. Now a record may fail over and over again, but the number of allocated records will not increase. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 088b1e427dbba2af93cb6a7d39258c10ff58dd27 Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace: pipe fixes Some fixes for better output with the trace pipe. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dcb6308f2b56720599f6b9d5a01c33e67e69bde4 Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace, locking fix should be an irq-safe lock ... Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f0a920d5752e1788c0cba2add103076bcc0f7a49 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: add trace_special() for ad-hoc tracing. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb0f12aae8d085140d37ada351aa5a8e76c3f9b0 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: bin-output Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9896bf30928922a3913a3810a4ab7908da6cfe7 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: add raw output Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c523a9d82dbc4f3f7d972df8c0f1eacd83d0d55 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: clean-up-pipe-iteration Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cdd31cd2d7a0dcbec2cce3974f7129dd4fc8c879 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: remove-idx-sync remove idx syncing - it's expensive on SMP. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53c37c17aafcf50f7c6fddaf01dda8f9d7e31ddf Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: fast, scalable, synchronized timestamps implement globally synchronized, fast and scalable time source for tracing. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 750ed1a40783432d0dcb0e6c2e813a12615d7664 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: timestamp syncing, prepare rename and uninline now() to ftrace_now(). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4bf39a9411a4ce8712954e03a9bd1592ee345919 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: cleanups no code changed. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d4c5a2f5870939d837293de87b41dda0012a4572 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: fix locking we can hold all cpu trace buffer locks at once - put each into a separate lock class. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b3806b4316306dc9c542eff6c23d7d42918f3504 Author: Steven Rostedt Date: Mon May 12 21:20:46 2008 +0200 ftrace: user run time file reading This patch creates a file called trace_pipe in the tracing debug directory. This file is a consumer of the trace buffers. This means that reads of this file consumes the entries from the trace buffers so that they will not be read a second time, as contrast to the static buffers latency_trace and trace. Reading from the trace_pipe will remove the entries from trace and latency_trace too. The advantage that trace_pipe has is that it can record live traces. It will block when there is nothing in the buffer, and read the entries as they are entered. An EOF happens when tracing is disabled (tracing_enabled = 0). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 214023c3d13a71525e463b5e54e360b926b4dc90 Author: Steven Rostedt Date: Mon May 12 21:20:46 2008 +0200 ftrace: add a buffer for output Later patches will need to print the same things as the seq output does. But those outputs will not use the seq utility. This patch adds a buffer to the iterator, that can be used by either the seq utility or other output. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 93a588f459da134be6ab17c4104e28441beb0d22 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: change buffers to producer consumer This patch changes the way the CPU trace buffers are handled. Instead of always starting from the trace page head, the logic is changed to a producer consumer logic. This allows for the buffers to be drained while they are alive. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d4db00a5e30c7b8f8dc2a1b19e886fd942be143 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: reset selftests The tests may leave stuff in the buffers. This resets the buffers after each test is run. If a test fails, it does not reset the buffer to avoid touching a buffer that is corrupted. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 08bafa0efcf29fe18ec39c2147077b597368b018 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: disable all tracers on corrupted buffer If the trace buffer is detected to be corrupted, then we disable all tracers. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e3c3333f3bd7eedfd21b1155b3c7cd24fc7f754 Author: Ingo Molnar Date: Mon May 12 21:20:45 2008 +0200 ftrace: fix time offset fix time offset calculations and ordering, plus make code more consistent. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 77a2b37d227483fe52aead242652aee406c25bf0 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: startup tester on dynamic tracing. This patch adds a startup self test on dynamic code modification and filters. The test filters on a specific function, makes sure that no other function is traced, exectutes the function, then makes sure that the function is traced. This patch also fixes a slight bug with the ftrace selftest, where tracer_enabled was not being set. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7bd2f24c2f769e3f8f1d4fc8b9fddf689825f6a7 Author: Ingo Molnar Date: Mon May 12 21:20:45 2008 +0200 ftrace: add README make it easier for newbies to find their way around. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c7aafc549766b87819285d3480648fc652a47bc4 Author: Ingo Molnar Date: Mon May 12 21:20:45 2008 +0200 ftrace: cleanups factor out code and clean it up. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 60a11774b38fef1ab90b18c5353bd1c7c4d311c8 Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: add self-tests Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e1c08bdd9fa73e44096e5a82c0d5928b04ab02c8 Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: force recording Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 57f50be14d57b0dbf88dd019e7bb0ff3a3dc7b81 Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: fix max latency Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 89b2f97819dd074297bbe3e19eaa4afcc98845ad Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: fix updates to max trace This patch fixes some bugs to the updating of the max trace that was caused by implementing the new buffering. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 18cef379d30f5ded20cc31d7f2d342639d39919d Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: don't use raw_local_irq_save/restore Using raw_local_irq_save/restore confuses lockdep. It's fine to use the normal ones. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0764d23cf066c52de42b653144605b481d3fbdbc Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: lockdep notrace annotations Add notrace annotations to lockdep to keep ftrace from causing recursive problems with lock tracing and debugging. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 361943ad0ba3f16e66859e30a408915e008ba91e Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: irqs off smp_processor_id() fix The irqsoff function tracer did a __get_cpu_var to determine if it should trace the function or not. The problem is that __get_cpu_var can preempt between getting the CPU and reading the cpu variable. This means that the cpu variable that is being read is not from the cpu being run on. At worst, this can give a false positive, where we trace the function when we should not. It will never give a false negative since we only want to trace when interrupts are disabled and we never preempt when they are. This fix adds a check after reading the irq flags to only trace if the interrupts are actually disabled. It also changes the reading of the cpu variable to use a raw_smp_processor_id since we now don't care if we preempt. We still catch that fact. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5568b139f4d196273958ae2947a736fdf1ffeece Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: debug smp_processor_id, use notrace preempt disable The debug smp_processor_id caused a recursive fault in debugging the irqsoff tracer. The tracer used a smp_processor_id in the ftrace callback, and this function called preempt_disable which also is traced. This caused a recursive fault (stack overload). Since using smp_processor_id without debugging on does not cause faults with the tracer (even when the tracer is wrong), the debug version should not cause a system reboot. This changes the debug_smp_processor_id to use the notrace versions of preempt_disable and enable. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f43fdad8627fec2d21df92799b254dceb66c9c3c Author: Ingo Molnar Date: Mon May 12 21:20:43 2008 +0200 ftrace: fix kexec disable the tracer while kexec pulls the rug from under the old kernel. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c11d7aed389375253b59e2b1865eec96663c65d Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: convert single large buffer into single pages. Allocating large buffers for the tracer may fail easily. This patch converts the buffer from a large ordered allocation to single pages. It uses the struct page LRU field to link the pages together. Later patches may also implement dynamic increasing and decreasing of the trace buffers. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5072c59fd45e9976d02ee6f18c7336ef97623cbc Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: add filter select functions to trace This patch adds two files to the debugfs system: /debugfs/tracing/available_filter_functions and /debugfs/tracing/set_ftrace_filter The available_filter_functions lists all functions that has been recorded by the ftraced that has called the ftrace_record_ip function. This is to allow users to see what functions have been converted to nops and can be enabled for tracing. To enable functions, simply echo the names (whitespace delimited) into set_ftrace_filter. Simple wildcards are also allowed. echo 'scheduler' > /debugfs/tracing/set_ftrace_filter Will have only the scheduler be activated when tracing is enabled. echo 'sched_*' > /debugfs/tracing/set_ftrace_filter Will have only the functions starting with 'sched_' be activated. echo '*lock' > /debugfs/tracing/set_ftrace_filter Will have only functions ending with 'lock' be activated. echo '*lock*' > /debugfs/tracing/set_ftrace_filter Will have only functions with 'lock' in its name be activated. Note: 'sched*lock' will not work. The only wildcards that are allowed is an asterisk and the beginning and or end of the string passed in. Multiple names can be passed in with whitespace delimited: echo 'scheduler *lock *acpi*' > /debugfs/tracing/set_ftrace_filter is also the same as: echo 'scheduler' > /debugfs/tracing/set_ftrace_filter echo '*lock' >> /debugfs/tracing/set_ftrace_filter echo '*acpi*' >> /debugfs/tracing/set_ftrace_filter Appending does just that. It appends to the list. To disable all filters simply echo an empty line in: echo > /debugfs/tracing/set_ftrace_filter Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d61f82d06672f57fca410da6f7fffd15867db622 Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: use dynamic patching for updating mcount calls This patch replaces the indirect call to the mcount function pointer with a direct call that will be patched by the dynamic ftrace routines. On boot up, the mcount function calls the ftace_stub function. When the dynamic ftrace code is initialized, the ftrace_stub is replaced with a call to the ftrace_record_ip, which records the instruction pointers of the locations that call it. Later, the ftraced daemon will call kstop_machine and patch all the locations to nops. When a ftrace is enabled, the original calls to mcount will now be set top call ftrace_caller, which will do a direct call to the registered ftrace function. This direct call is also patched when the function that should be called is updated. All patching is performed by a kstop_machine routine to prevent any type of race conditions that is associated with modifying code on the fly. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c1720f00bb619302ba19d55986ab565e74d06db Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: move memory management out of arch code This patch moves the memory management of the ftrace records out of the arch code and into the generic code making the arch code simpler. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dfa60aba04dae7833d75b2e2be124bb7cfb8239f Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: use nops instead of jmp This patch patches the call to mcount with nops instead of a jmp over the mcount call. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b0fc494fae96a7089f3651cb451f461c7291244c Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: add ftrace_enabled sysctl to disable mcount function This patch adds back the sysctl ftrace_enabled. This time it is defaulted to on, if DYNAMIC_FTRACE is configured. When ftrace_enabled is disabled, the ftrace function is set to the stub return. If DYNAMIC_FTRACE is also configured, on ftrace_enabled = 0, the registered ftrace functions will all be set to jmps, but no more new calls to ftrace recording (used to find the ftrace calling sites) will be called. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3d0833953e1b98b79ddf491dd49229eef9baeac1 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: dynamic enabling/disabling of function calls This patch adds a feature to dynamically replace the ftrace code with the jmps to allow a kernel with ftrace configured to run as fast as it can without it configured. The way this works, is on bootup (if ftrace is enabled), a ftrace function is registered to record the instruction pointer of all places that call the function. Later, if there's still any code to patch, a kthread is awoken (rate limited to at most once a second) that performs a stop_machine, and replaces all the code that was called with a jmp over the call to ftrace. It only replaces what was found the previous time. Typically the system reaches equilibrium quickly after bootup and there's no code patching needed at all. e.g. call ftrace /* 5 bytes */ is replaced with jmp 3f /* jmp is 2 bytes and we jump 3 forward */ 3: When we want to enable ftrace for function tracing, the IP recording is removed, and stop_machine is called again to replace all the locations of that were recorded back to the call of ftrace. When it is disabled, we replace the code back to the jmp. Allocation is done by the kthread. If the ftrace recording function is called, and we don't have any record slots available, then we simply skip that call. Once a second a new page (if needed) is allocated for recording new ftrace function calls. A large batch is allocated at boot up to get most of the calls there. Because we do this via stop_machine, we don't have to worry about another CPU executing a ftrace call as we modify it. But we do need to worry about NMI's so all functions that might be called via nmi must be annotated with notrace_nmi. When this code is configured in, the NMI code will not call notrace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6cd8a4bb2f97527a9ceb30bc77ea4e959c6a95e3 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: trace preempt off critical timings Add preempt off timings. A lot of kernel core code is taken from the RT patch latency trace that was written by Ingo Molnar. This adds "preemptoff" and "preemptirqsoff" to /debugfs/tracing/available_tracers Now instead of just tracing irqs off, preemption off can be selected to be recorded. When this is selected, it shares the same files as irqs off timings. One can either trace preemption off, irqs off, or one or the other off. By echoing "preemptoff" into /debugfs/tracing/current_tracer, recording of preempt off only is performed. "irqsoff" will only record the time irqs are disabled, but "preemptirqsoff" will take the total time irqs or preemption are disabled. Runtime switching of these options is now supported by simpling echoing in the appropriate trace name into /debugfs/tracing/current_tracer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 81d68a96a39844853b37f20cc8282d9b65b78ef3 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: trace irq disabled critical timings This patch adds latency tracing for critical timings (how long interrupts are disabled for). "irqsoff" is added to /debugfs/tracing/available_tracers Note: tracing_max_latency also holds the max latency for irqsoff (in usecs). (default to large number so one must start latency tracing) tracing_thresh threshold (in usecs) to always print out if irqs off is detected to be longer than stated here. If irq_thresh is non-zero, then max_irq_latency is ignored. Here's an example of a trace with ftrace_enabled = 0 ======= preemption latency trace v1.1.5 on 2.6.24-rc7 Signed-off-by: Ingo Molnar -------------------------------------------------------------------- latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- => started at: _spin_lock_irqsave+0x2a/0xb7 => ended at: _spin_unlock_irqrestore+0x32/0x5f _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / swapper-0 1d.s3 0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000]) swapper-0 1d.s3 100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000]) swapper-0 1d.s3 100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f) vim:ft=help ======= And this is a trace with ftrace_enabled == 1 ======= preemption latency trace v1.1.5 on 2.6.24-rc7 -------------------------------------------------------------------- latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- => started at: _spin_lock_irqsave+0x2a/0xb7 => ended at: _spin_unlock_irqrestore+0x32/0x5f _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / swapper-0 1dNs3 0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000]) swapper-0 1dNs3 46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000]) swapper-0 1dNs3 46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000]) swapper-0 1dNs3 46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000]) swapper-0 1dNs3 47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000]) swapper-0 1dNs3 47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47) swapper-0 1dNs3 97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50) swapper-0 1dNs3 98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000]) swapper-0 1dNs3 99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000]) swapper-0 1dNs3 101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000]) swapper-0 1dNs3 102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000]) swapper-0 1dNs3 102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f) vim:ft=help ======= Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 352ad25aa4a189c667cb2af333948d34692a2d27 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: tracer for scheduler wakeup latency This patch adds the tracer that tracks the wakeup latency of the highest priority waking task. "wakeup" is added to /debugfs/tracing/available_tracers Also added to /debugfs/tracing tracing_max_latency holds the current max latency for the wakeup wakeup_thresh if set to other than zero, a log will be recorded for every wakeup that takes longer than the number entered in here (usecs for all counters) (deletes previous trace) Examples: (with ftrace_enabled = 0) ============ preemption latency trace v1.1.5 on 2.6.24-rc8 Signed-off-by: Ingo Molnar -------------------------------------------------------------------- latency: 26 us, #2/2, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: migration/0-3 (uid:0 nice:-5 policy:1 rt_prio:99) ----------------- _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / quilt-8551 0d..3 0us+: wake_up_process+0x15/0x17 (sched_exec+0xc9/0x100 ) quilt-8551 0d..4 26us : sched_switch_callback+0x73/0x81 (schedule+0x483/0x6d5 ) vim:ft=help ============ (with ftrace_enabled = 1) ============ preemption latency trace v1.1.5 on 2.6.24-rc8 -------------------------------------------------------------------- latency: 36 us, #45/45, CPU#0 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: migration/1-5 (uid:0 nice:-5 policy:1 rt_prio:99) ----------------- _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / bash-10653 1d..3 0us : wake_up_process+0x15/0x17 (sched_exec+0xc9/0x100 ) bash-10653 1d..3 1us : try_to_wake_up+0x271/0x2e7 (sub_preempt_count+0xc/0x7a ) bash-10653 1d..2 2us : try_to_wake_up+0x296/0x2e7 (update_rq_clock+0x9/0x20 ) bash-10653 1d..2 2us : update_rq_clock+0x1e/0x20 (__update_rq_clock+0xc/0x90 ) bash-10653 1d..2 3us : __update_rq_clock+0x1b/0x90 (sched_clock+0x9/0x29 ) bash-10653 1d..2 4us : try_to_wake_up+0x2a6/0x2e7 (activate_task+0xc/0x3f ) bash-10653 1d..2 4us : activate_task+0x2d/0x3f (enqueue_task+0xe/0x66 ) bash-10653 1d..2 5us : enqueue_task+0x5b/0x66 (enqueue_task_rt+0x9/0x3c ) bash-10653 1d..2 6us : try_to_wake_up+0x2ba/0x2e7 (check_preempt_wakeup+0x12/0x99 ) [...] bash-10653 1d..5 33us : tracing_record_cmdline+0xcf/0xd4 (_spin_unlock+0x9/0x33 ) bash-10653 1d..5 34us : _spin_unlock+0x19/0x33 (sub_preempt_count+0xc/0x7a ) bash-10653 1d..4 35us : wakeup_sched_switch+0x65/0x2ff (_spin_lock_irqsave+0xc/0xa9 ) bash-10653 1d..4 35us : _spin_lock_irqsave+0x19/0xa9 (add_preempt_count+0xe/0x77 ) bash-10653 1d..4 36us : sched_switch_callback+0x73/0x81 (schedule+0x483/0x6d5 ) vim:ft=help ============ The [...] was added here to not waste your email box space. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 35e8e302e5d6e32675df2fc1dd3a53dfa6630dc1 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: add tracing of context switches This patch adds context switch tracing, of the format of: _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | pid:prio:state \ / ||||| \ | / swapper-0 1d..3 137us+: 0:140:R --> 2912:120 sshd-2912 1d..3 216us+: 2912:120:S --> 0:140 swapper-0 1d..3 261us+: 0:140:R --> 2912:120 bash-2920 0d..3 267us+: 2920:120:S --> 0:140 sshd-2912 1d..3 330us!: 2912:120:S --> 0:140 swapper-0 1d..3 2389us+: 0:140:R --> 2847:120 yum-upda-2847 1d..3 2411us!: 2847:120:S --> 0:140 swapper-0 0d..3 11089us+: 0:140:R --> 3139:120 gdm-bina-3139 0d..3 11113us!: 3139:120:S --> 0:140 swapper-0 1d..3 102328us+: 0:140:R --> 2847:120 yum-upda-2847 1d..3 102348us!: 2847:120:S --> 0:140 "sched_switch" is added to /debugfs/tracing/available_tracers [ Eugene Teo Cc: Mathieu Desnoyers Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1b29b01887e6032dcaf818c14999c7a39593b4e7 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: function tracer This is a simple trace that uses the ftrace infrastructure. It is designed to be fast and small, and easy to use. It is useful to record things that happen over a very short period of time, and not to analyze the system in general. Updates: available_tracers "function" is added to this file. current_tracer To enable the function tracer: echo function > /debugfs/tracing/current_tracer To disable the tracer: echo disable > /debugfs/tracing/current_tracer The output of the function_trace file is as follows "echo noverbose > /debugfs/tracing/iter_ctrl" preemption latency trace v1.1.5 on 2.6.24-rc7-tst Signed-off-by: Ingo Molnar -------------------------------------------------------------------- latency: 0 us, #419428/4361791, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4) ----------------- | task: -0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / swapper-0 0d.h. 1595128us+: set_normalized_timespec+0x8/0x2d (ktime_get_ts+0x4a/0x4e ) swapper-0 0d.h. 1595131us+: _spin_lock+0x8/0x18 (hrtimer_interrupt+0x6e/0x1b0 ) Or with verbose turned on: "echo verbose > /debugfs/tracing/iter_ctrl" preemption latency trace v1.1.5 on 2.6.24-rc7-tst -------------------------------------------------------------------- latency: 0 us, #419428/4361791, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4) ----------------- | task: -0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- swapper 0 0 9 00000000 00000000 [f3675f41] 1595.128ms (+0.003ms): set_normalized_timespec+0x8/0x2d (ktime_get_ts+0x4a/0x4e ) swapper 0 0 9 00000000 00000001 [f3675f45] 1595.131ms (+0.003ms): _spin_lock+0x8/0x18 (hrtimer_interrupt+0x6e/0x1b0 ) swapper 0 0 9 00000000 00000002 [f3675f48] 1595.135ms (+0.003ms): _spin_lock+0x8/0x18 (hrtimer_interrupt+0x6e/0x1b0 ) The "trace" file is not affected by the verbose mode, but is by the symonly. echo "nosymonly" > /debugfs/tracing/iter_ctrl tracer: [ 81.479967] CPU 0: bash:3154 register_ftrace_function+0x5f/0x66 <-- _spin_unlock_irqrestore+0xe/0x5a [ 81.479967] CPU 0: bash:3154 _spin_unlock_irqrestore+0x3e/0x5a <-- sub_preempt_count+0xc/0x7a [ 81.479968] CPU 0: bash:3154 sub_preempt_count+0x30/0x7a <-- in_lock_functions+0x9/0x24 [ 81.479968] CPU 0: bash:3154 vfs_write+0x11d/0x155 <-- dnotify_parent+0x12/0x78 [ 81.479968] CPU 0: bash:3154 dnotify_parent+0x2d/0x78 <-- _spin_lock+0xe/0x70 [ 81.479969] CPU 0: bash:3154 _spin_lock+0x1b/0x70 <-- add_preempt_count+0xe/0x77 [ 81.479969] CPU 0: bash:3154 add_preempt_count+0x3e/0x77 <-- in_lock_functions+0x9/0x24 echo "symonly" > /debugfs/tracing/iter_ctrl tracer: [ 81.479913] CPU 0: bash:3154 register_ftrace_function+0x5f/0x66 <-- _spin_unlock_irqrestore+0xe/0x5a [ 81.479913] CPU 0: bash:3154 _spin_unlock_irqrestore+0x3e/0x5a <-- sub_preempt_count+0xc/0x7a [ 81.479913] CPU 0: bash:3154 sub_preempt_count+0x30/0x7a <-- in_lock_functions+0x9/0x24 [ 81.479914] CPU 0: bash:3154 vfs_write+0x11d/0x155 <-- dnotify_parent+0x12/0x78 [ 81.479914] CPU 0: bash:3154 dnotify_parent+0x2d/0x78 <-- _spin_lock+0xe/0x70 [ 81.479914] CPU 0: bash:3154 _spin_lock+0x1b/0x70 <-- add_preempt_count+0xe/0x77 [ 81.479914] CPU 0: bash:3154 add_preempt_count+0x3e/0x77 <-- in_lock_functions+0x9/0x24 Signed-off-by: Steven Rostedt Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc0c38d139ec7fcd5c030aea16b008f3732e42ac Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: latency tracer infrastructure This patch adds the latency tracer infrastructure. This patch does not add anything that will select and turn it on, but will be used by later patches. If it were to be compiled, it would add the following files to the debugfs: The root tracing directory: /debugfs/tracing/ This patch also adds the following files: available_tracers list of available tracers. Currently no tracers are available. Looking into this file only shows "none" which is used to unregister all tracers. current_tracer The trace that is currently active. Empty on start up. To switch to a tracer simply echo one of the tracers that are listed in available_tracers: example: (used with later patches) echo function > /debugfs/tracing/current_tracer To disable the tracer: echo disable > /debugfs/tracing/current_tracer tracing_enabled echoing "1" into this file starts the ftrace function tracing (if sysctl kernel.ftrace_enabled=1) echoing "0" turns it off. latency_trace This file is readonly and holds the result of the trace. trace This file outputs a easier to read version of the trace. iter_ctrl Controls the way the output of traces look. So far there's two controls: echoing in "symonly" will only show the kallsyms variables without the addresses (if kallsyms was configured) echoing in "verbose" will change the output to show a lot more data, but not very easy to understand by humans. echoing in "nosymonly" turns off symonly. echoing in "noverbose" turns off verbose. Signed-off-by: Steven Rostedt Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16444a8a40d4c7b4f6de34af0cae1f76a4f6c901 Author: Arnaldo Carvalho de Melo Date: Mon May 12 21:20:42 2008 +0200 ftrace: add basic support for gcc profiler instrumentation If CONFIG_FTRACE is selected and /proc/sys/kernel/ftrace_enabled is set to a non-zero value the ftrace routine will be called everytime we enter a kernel function that is not marked with the "notrace" attribute. The ftrace routine will then call a registered function if a function happens to be registered. [ This code has been highly hacked by Steven Rostedt and Ingo Molnar, so don't blame Arnaldo for all of this ;-) ] Update: It is now possible to register more than one ftrace function. If only one ftrace function is registered, that will be the function that ftrace calls directly. If more than one function is registered, then ftrace will call a function that will loop through the functions to call. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e766410c4babd37bc7cd5e25009c179781742c8 Author: Arnaldo Carvalho de Melo Date: Mon May 12 21:20:41 2008 +0200 ftrace: annotate core code that should not be traced Mark with "notrace" functions in core code that should not be traced. The "notrace" attribute will prevent gcc from adding a call to ftrace on the annotated funtions. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23adec554a7648f99c8acc0caf49c66320cd2b84 Author: Steven Rostedt Date: Mon May 12 21:20:41 2008 +0200 x86: add notrace annotations to vsyscall. Add the notrace annotations to the vsyscall functions - there we are not in kernel context yet, so the tracer function cannot (and must not) be called. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ffdc1a09ae7e2cbd714a446ee38a27f625b5f1c8 Author: Ingo Molnar Date: Mon May 12 21:20:41 2008 +0200 tracing: add notrace to linkage.h notrace signals that a function should not be traced. Most of the time this is used by tracers to annotate code that cannot be traced - it's in a volatile state (such as in user vdso context or NMI context) or it's in the tracer internals. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 502825282e6f79c975a644afc124432ec1744de4 Author: Steven Rostedt Date: Mon May 12 21:20:41 2008 +0200 ftrace: add preempt_enable/disable notrace macros The tracer may need to call preempt_enable and disable functions for time keeping and such. The trace gets ugly when we see these functions show up for all traces. To make the output cleaner this patch adds preempt_enable_notrace and preempt_disable_notrace to be used by tracer (and debugging) functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c731e0a495e25e79dc1e9e68772a67a55721a65 Author: Steven Rostedt Date: Mon May 12 21:20:41 2008 +0200 ftrace: make the task state char-string visible to all The tracer wants to be able to convert the state number into a user visible character. This patch pulls that conversion string out the scheduler into the header. This way if it were to ever change, other parts of the kernel will know. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bd3bff9e20f454b242d979ec2f9a4dca0d5fa06f Author: Ingo Molnar Date: Mon May 12 21:20:41 2008 +0200 sched: add latency tracer callbacks to the scheduler add 3 lightweight callbacks to the tracer backend. zero impact if tracing is turned off. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c3ed64295f0fed9131b42122234b1ce4a4a266cf Author: Mike Travis Date: Fri May 16 10:44:39 2008 -0700 x86: change maximum NR_CPUS to 4096 and MAX_NUMNODES to 512 * Change the range of NR_CPUS from 2-255 to 2-4096 and change the range of MAX_NUMNODES (NODES_SHIFT) from 1-32768 to 1-512. * Alter comment about how much each increment of NR_CPUS consumes. (This was found by configuring for 256 cpus and then 512 cpus and dividing the difference by 256.) Signed-off-by: Mike Travis Cc: Andrew Morton Cc: Dave Jones Signed-off-by: Thomas Gleixner commit 873b274a41c0cfe58b2eb0a7722424eb367b905b Author: Dave Jones Date: Thu May 22 13:02:23 2008 -0400 x86: Add Centaur and Transmeta CPUs to PAT whitelist Unconditionally enable PAT support on Centaur and Transmeta CPUs. All known models that advertise PAT have no known errata. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit b478458aeebfc55fe409abec43794ac72a623c79 Author: Jan Beulich Date: Mon May 12 15:44:39 2008 +0200 x86: avoid re-loading LDT in unrelated address spaces Performance optimization. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3843fc2575e3389f4f0ad0420a720240a5746a5d Author: Jeremy Fitzhardinge Date: Fri May 9 12:05:57 2008 +0100 xen: remove support for non-PAE 32-bit Non-PAE operation has been deprecated in Xen for a while, and is rarely tested or used. xen-unstable has now officially dropped non-PAE support. Since Xen/pvops' non-PAE support has also been broken for a while, we may as well completely drop it altogether. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0748aca6f0af917591dcfd70dccac770a25d4f71 Author: Thomas Gleixner Date: Tue May 13 10:34:20 2008 +0200 x86: remove useless static current_tsc_khz variable current_tsc_khz is just written by the init code and never used again. Remove it. Signed-off-by: Thomas Gleixner commit bedd78ca786c1d18c2a2785c7e40593dc9c9870f Author: Russell King Date: Sun Apr 20 12:31:29 2008 +0100 [RTC] remove old ARM rtc library code Now that all drivers using it are gone, remove the old ARM RTC library. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 797276ec9e4d2ee210e11068a2ce815394fe8c58 Author: Russell King Date: Sun Apr 20 12:30:41 2008 +0100 [RTC] rtc-sa1100: remove dependence on asm/rtc.h Move the two functions rtc-sa1100 wants from the old ARM RTC library into the rtc-sa1100 driver. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 7da285b626860eb6d35e08ae33eba90f0e83ad58 Author: Russell King Date: Sun Apr 20 12:26:48 2008 +0100 [RTC] remove unused asm/rtc.h includes from ARM RTC drivers On ARM, asm/rtc.h only contains definitions for the predecessor to the RTC class support. RTC class drivers should not be including this include. Build tested on at91sam9rl and s3c2410 configurations. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit a190901c6b5f1f4a31681e8c69d811a4f9426e2b Author: Russell King Date: Sun Apr 20 12:08:36 2008 +0100 [RTC] rtc-pl030: add driver, remove old non-rtc lib driver Convert Integrator PL030 RTC driver to use the RTC class interfaces. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 2dba8518b7761aee3ba757b298efa15dd34eff18 Author: Russell King Date: Sun Apr 20 12:08:04 2008 +0100 [RTC] rtc-pl031: use proper resources, use proper apis, clean up includes Clean up PL031 RTC includes, make driver use proper resource checking, and use amba bus specific accessors. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit f70c5253b41444fd2779e1f76bfe25811d9b8c23 Author: Russell King Date: Sun Apr 20 12:22:36 2008 +0100 [RTC] remove references to asm/mach/time.h asm/mach/time.h is the ARM header file for setting up kernel ticker timekeeping (be that the old jiffy interrupt or the new clocksource.) RTC drivers have no business using this header file, and in fact do not require it. Build tested on at91sam9rl, omap and s3c2410 configurations. Acked-by: Alessandro Zummo Acked-by: Andrew Victor Signed-off-by: Russell King commit 0abbc78a0137fee60ef092f0b20a3d3d7e7e0cc2 Author: Pavel Machek Date: Tue May 20 16:27:17 2008 +0200 x86, aperture_64: use symbolic constants Factor-out common aperture_valid code. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aea3bfbcfb0453217c8da6cfdc1b2394d214bee5 Author: Clemens Ladisch Date: Tue May 20 14:22:44 2008 +0200 [ALSA] ice1724: fix MIDI The VT1724 MIDI port is not MPU-401 compatible; remove the hacks that try to make the MPU-401 library work with it, and just use some simple device-specific code. Signed-off-by: Clemens Ladisch Tested-by: Pavel Hofman commit 84d6bd0e272e6eace1e7e4c501f32bddfb665bb2 Author: Andy Whitcroft Date: Tue May 20 11:01:19 2008 +0100 x86: cope with no remap space being allocated for a numa node When allocating the pgdat's for numa nodes on x86_32 we attempt to place them in the numa remap space for that node. However should the node not have any remap space allocated (such as due to having non-ram pages in the remap location in the node) then we will incorrectly place the pgdat at zero. Check we have remap available, falling back to node 0 memory where we do not. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Ingo Molnar commit b9ada4281c48076bdb252813be24ddb57e17cade Author: Andy Whitcroft Date: Tue May 20 11:01:08 2008 +0100 x86: reinstate numa remap for SPARSEMEM on x86 NUMA systems Recent kernels have been panic'ing trying to allocate memory early in boot, in __alloc_pages: BUG: unable to handle kernel paging request at 00001568 IP: [] __alloc_pages+0x33/0x2cc *pdpt = 00000000013a5001 *pde = 0000000000000000 Oops: 0000 [#1] SMP Modules linked in: Pid: 1, comm: swapper Not tainted (2.6.25 #78) EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at __alloc_pages+0x33/0x2cc EAX: 00001564 EBX: 000412d0 ECX: 00001564 EDX: 000005c3 ESI: f78012a0 EDI: 00000001 EBP: 00001564 ESP: f7871e50 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 1, ti=f7870000 task=f786f670 task.ti=f7870000) Stack: 00000000 f786f670 00000010 00000000 0000b700 000412d0 f78012a0 00000001 00000000 c105b64d 00000000 000412d0 f78012a0 f7803120 00000000 c105c1c5 00000010 f7803144 000412d0 00000001 f7803130 f7803120 f78012a0 00000001 Call Trace: [] kmem_getpages+0x94/0x129 [] cache_grow+0x8f/0x123 [] ____cache_alloc_node+0xb9/0xe4 [] kmem_cache_alloc_node+0x92/0xd2 [] build_sched_domains+0x536/0x70d [] do_flush_tlb_all+0x0/0x3f [] do_flush_tlb_all+0x0/0x3f [] interleave_nodes+0x23/0x5a [] alternate_node_alloc+0x43/0x5b [] arch_init_sched_domains+0x46/0x51 [] kernel_init+0x0/0x82 [] sched_init_smp+0x10/0xbb [] kernel_init+0x43/0x82 [] kernel_thread_helper+0x7/0x10 Debugging this showed that the NODE_DATA() for nodes other than node 0 were all NULL. Tracing this back showed that the NODE_DATA() pointers were being initialised to each nodes remap space. However under SPARSEMEM remap is disabled which leads to the pgdat's being placed incorrectly at kernel virtual address 0. Leading to the panic when attempting to allocate memory from these nodes. Numa remap was disabled in the commit below. This occured while fixing problems triggered when attempting to boot x86_32 NUMA SPARSEMEM kernels on non-numa hardware. x86: make NUMA work on 32-bit commit 1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed The real problem is believed to be related to other alignment issues in the regions blocked out from the bootmem allocator for small memory systems, and has been fixed separately. Therefore re-enable remap for SPARSMEM, which fixes pgdat allocation issues. Testing confirms that SPARSMEM NUMA kernels will boot correctly with this part of the change reverted. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Ingo Molnar commit 33e5b22285f63ede858c00456f3ffbc2ea79d6cf Author: Werner Almesberger Date: Mon Apr 14 14:26:44 2008 +0200 [ALSA] soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled When timer ticks are disabled when calling sound/soc/s3c24xx/s3c24xx-i2s.c:s3c24xx_snd_lrsync and the LR signal never happens, we loop forever. This has been observed in the following call chain: snd_pcm_common_ioctl1 -> snd_pcm_action_lock_irq -> snd_pcm_action_single -> snd_pcm_do_resume -> soc_pcm_trigger -> s3c24xx_i2s_trigger The patch below changes the timeout mechanism to use udelay, which doesn't need timer ticks. Signed-off-by: Werner Almesberger Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a65f0568f6cc8433877fb71dd7d36b551854b0bc Author: Mark Brown Date: Tue May 13 14:54:43 2008 +0200 [ALSA] soc - Convert Wolfson codec drivers to use bulk DAPM registration Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3ff3f64ba04b3e5a86dce5239b10268798f68ad7 Author: Mark Brown Date: Mon May 19 12:32:25 2008 +0200 [ALSA] ASoC: core checkpatch cleanups Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0be9898adb6f58fee44f0fec0bbc0eac997ea9eb Author: Mark Brown Date: Mon May 19 12:31:28 2008 +0200 [ALSA] ASoC: Clarify API for bias configuration Currently the ASoC core configures the bias levels in the system using a callback on codecs and machines called 'dapm_event', passing it PCI style power levels as SNDRV_CTL_POWER_ constants. This is more obscure than it needs to be and has caused confusion to driver authors, especially given that DAPM is also performing power management. Address this by renaming the callback function to 'set_bias_level' and using constants explicitly representing the off, standby, pre-on and on states which DAPM transitions through. Also unexport the API for setting bias level: there are currently no in-tree users of this API other than the core itself and it is likely that the core would need to be extended to cater for any users. Signed-off-by: Mark Brown Cc: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 284d115ec9b70d7c38752d10ad393a198db07a4b Author: Russell King Date: Sun Apr 20 17:32:16 2008 +0100 [ARM] pxa: separate PXA25x and PXA27x UDC register definitions The PXA25x and PXA27x USB device controller register definitions are different. Currently, they live side by side in pxa-regs.h, but only one set is available depending on the setting of PXA25x or PXA27x. This means that if we build to support both PXA25x and PXA27x, the PXA27x definitions are unavailable, even to PXA27x specific code. Remove these definitions from pxa-regs.h, and place them in separate files. Include these files where appropriate. Note: according to the dependencies in drivers/usb/gadget/Kconfig, we do not support the UDC on PXA27x nor PXA3xx CPUs, so remove the platform devices from pxa27x.c and pxa3xx.c. Signed-off-by: Russell King commit 02a8e76979f9b439642e67955edb865c112926f6 Author: Russell King Date: Sun Apr 20 17:15:32 2008 +0100 [ARM] pxa: corgibl_limit_intensity build errors If CONFIG_BACKLIGHT_CORGI is not selected, then corgibl_limit_intensity() is not present. However, both corgi_pm.c and sharp_pm.c reference this symbol, resulting in a link error. Wrap the references with the relevant ifdefs, and avoid the resulting NULL pointer dereference by making the code in sharpsl_pm.c also conditional on the config symbol. Signed-off-by: Russell King commit 75540c1ac3c7bd72ac8e092058f9714875239995 Author: eric miao Date: Sun Apr 13 21:44:04 2008 +0100 [ARM] pxa: Add PXA support for PWM API Patch mainly from Eric Miao, with minor edits by rmk. Note: PWM0 and PWM2 share the same register I/O space and clock gating on pxa{27x, 3xx}, thus PWM2 is treated in the driver as a child PWM of PWM0. And this is also true for PWM1/3. Signed-off-by: eric miao Signed-off-by: Russell King commit 1a189b97190d3f0f8cf0379a799d3555b2d648bb Author: Russell King Date: Sun Apr 13 21:41:55 2008 +0100 [ARM] pxa: Add bare bones PWM API Signed-off-by: Russell King commit 1ef6ab75c7deef931d6308af282ed7d8e480e77f Author: Mark Brown Date: Mon May 19 12:31:55 2008 +0200 [ALSA] ASoC: Make CPU and codec DAI operations have same type The CPU and codec DAI operations differ only in the presence of the digital mute operation for the codec so they may as well be the same type. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b2efbbfba24efc8456d68d5af42d082ab1c2febc Author: Mark Brown Date: Mon May 19 12:30:58 2008 +0200 [ALSA] ASoC: Remove in-code changelogs The overwhelming majority just say 'initial version' anyway. Signed-off-by: Mark Brown Acked-by: Ben Dooks Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9ad593f6d326e7a4664e3856520f6c042f82a37f Author: Takashi Iwai Date: Fri May 16 12:34:47 2008 +0200 [ALSA] hda - Fix DMA position inaccuracy Many HD-audio controllers seem inaccurate about the IRQ timing of PCM period updates. This has caused problems on audio quality; e.g. JACK doesn't work with two periods. This patch fixes the problem by checking the current DMA position at IRQ handler and delays the period-update via a workq if it's inaccurate. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 02330fbaaded5b603cba112e4bbf62cdadec159a Author: Andreas Mohr Date: Fri May 16 12:18:29 2008 +0200 [ALSA] PCI168 snd-azt3328 Linux driver: another huge update - figured out 'Digital(ly) Enhanced Game Port' functionality, implemented support for it (eliminating gameport polling overhead) - removed optional joystick activation, gameport now enabled unconditionally, since we now support it via the PCI I/O space, not via conflict-prone legacy I/O (which I was thus able to DISABLE now)! - fix playback bug (a muted wave output would get unmuted upon start of playback, of course this is not what we want, thus remember mute state) - implement partial power management: when idle, lower clock rate and disable codec (reduced noise!), and disable gameport circuit when unused - instantiate OPL3 timer, too - much better implementation of snd_azf3328_mixer_write_volume_gradually() - slightly optimized interrupt handling - lots of cleanup This time, I also found a way to verify proper OPL3 operation via MIDI file playback (emulation via synth hardware). Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f99a633a151686a599413bef758253dfd04887d1 Author: Jarkko Nikula Date: Thu May 15 11:01:36 2008 +0200 [ALSA] ASoC: Convert N810 machine driver to use gpiolib Use gpiolib since it is now available for OMAPs. Change also references to HW version RX44 to product name N810. Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1a2505988ea650b61bd07722e99080a40ff27653 Author: Mark Brown Date: Tue May 13 14:58:57 2008 +0200 [ALSA] soc - n810 - Update for bulk DAPM registration APIs Signed-off-by: Mark Brown Cc: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit acf497f996aa08f03c62a3150abd7939ae23de4c Author: Mark Brown Date: Tue May 13 14:58:30 2008 +0200 [ALSA] soc - davinci-evm - Update for bulk DAPM registration APIs Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8f3112d7a847c2933a42ce29f17899f585d09106 Author: Mark Brown Date: Tue May 13 14:58:03 2008 +0200 [ALSA] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs Signed-off-by: Mark Brown Cc: Graeme Gregory Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 51e6a8411a9440f0fdba6cdd7d779e74f89debc4 Author: Mark Brown Date: Tue May 13 14:57:37 2008 +0200 [ALSA] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration Signed-off-by: Mark Brown Cc: Frank Mandarino Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 25191c45aec54cd01b53391bb0b0e1e60377a5fc Author: Mark Brown Date: Tue May 13 14:55:48 2008 +0200 [ALSA] soc - Zaurus - Convert to bulk DAPM registration APIs Signed-off-by: Mark Brown Cc: Richard Purdie Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d0cc0d3a95cc3c022ee118072d243d3670ec1663 Author: Mark Brown Date: Tue May 13 14:55:22 2008 +0200 [ALSA] soc - tlv320aic3x - Convert to use bulk registration APIs Signed-off-by: Mark Brown Cc: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 105f1c28442301237d20b05a3d52d9987614016f Author: Mark Brown Date: Tue May 13 14:52:19 2008 +0200 [ALSA] soc - DAPM - Bulk route registration ASoC codecs and machine drivers that use DAPM routes all cut'n'paste a loop iterating over a null terminated array of routes. Factor out this into a bulk registration function, improving the error reporting for most users, and deprecate the old API to help out of tree users pick up the changes. Signed-off-by: Mark Brown Cc: Graeme Gregory Cc: Frank Mandarino Cc: Jarkko Nikula Cc: Richard Purdie Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4ba1327ab8ce179c40862f3dedb4ebaaa491d737 Author: Mark Brown Date: Tue May 13 14:51:19 2008 +0200 [ALSA] soc - DAPM - Add bulk control registration Most SoC drivers cut'n'paste a loop iterating over an array to register their DAPM controls. Provide a function they can call instead. Signed-off-by: Mark Brown Cc: Graeme Gregory Cc: Frank Mandarino Cc: Jarkko Nikula Cc: Richard Purdie Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ca1f30ad6c3f002d1d9b9355a53b8bbf2fe70588 Author: Clemens Ladisch Date: Tue May 13 09:26:01 2008 +0200 [ALSA] virtuoso: restrict period time to less than 10 s Add a constraint for the period time so that there are less than ten seconds between interrupts so that ALSA does not assume that the device is dead. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d55d7a1cbbd069f8368ec5c67480d319e7b227b9 Author: Clemens Ladisch Date: Tue May 13 09:25:39 2008 +0200 [ALSA] oxygen: add symbols for buffer/period size constraints Introduce symbols for the buffer/period size constraints so that their limits and relationships become clearer. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 4a4bc53bc52978dd6c918531921da925fd047d95 Author: Clemens Ladisch Date: Tue May 13 09:24:39 2008 +0200 [ALSA] oxygen: add PM support Add suspend/resume support. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 92215f3a178080bd9d7c65879499e9474e54d55c Author: Clemens Ladisch Date: Tue May 13 09:23:02 2008 +0200 [ALSA] virtuoso: add xonar_enable_output() Move the setting of the output enable GPIO bit to a separate function. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 75146fc0f9368ea41419792ac8bfdd19273b4473 Author: Clemens Ladisch Date: Tue May 13 09:22:43 2008 +0200 [ALSA] oxygen: separate out hardware initialization code Create separate functions for the code that initializes the hardware, as opposed to initializing internal driver state, so that they can be reused for resume support. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit bbbfb5526650cb9d01c5c230a4e3cbbc18474c41 Author: Clemens Ladisch Date: Tue May 13 09:21:48 2008 +0200 [ALSA] oxygen: simplify DAC volume initialization When initializing the DAC volume registers, we can just use the generic volume update functions instead of setting the registers manually. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit e58aee95806c9d2bbcfc84cb85ce958e360165ef Author: Clemens Ladisch Date: Tue May 13 09:20:51 2008 +0200 [ALSA] oxygen: save register writes Save the written values of all CMI8788 and AC97 registers and of some of the DAC/ADC registers so that it is possible to restore the register state later. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c13650079ba3bed1c0bdd9bf4a13274be7676ff6 Author: Clemens Ladisch Date: Tue May 13 09:19:53 2008 +0200 [ALSA] oxygen: add symbol for I/O space size Remove another magic number - add a symbol for the size of the PCI I/O range. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d023dc0aa25d6a4f7dd0d109179a2077d22a7ad2 Author: Clemens Ladisch Date: Tue May 13 09:18:27 2008 +0200 [ALSA] oxygen: fix version in MODULE_LICENSE Adjust the MODULE_LICENSE strings to properly reflect the actual license. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c17cf06bfc4417a79d452c266e819c510f6a8344 Author: Takashi Iwai Date: Fri May 9 12:45:56 2008 +0200 [ALSA] Remove unneeded ugly hack for i386 in memalloc.c The hack for dma_alloc_coherent() is no longer needed on 2.6.26 since the base code was improved. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f3e9d5d1fd6a164611043c053de585a35d76d6a9 Author: Daniel Mack Date: Thu May 8 15:42:15 2008 +0200 [ALSA] snd_usb_caiaq: add support for 'Session I/O' interface This patch adds suport for Native Instruments new 'Guitar Rig Session I/O' audio hardware. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 48008b598bb9cfffbd871512f49d84eb5b885a00 Author: Harvey Harrison Date: Thu May 8 13:01:32 2008 +0200 [ALSA] i2c: cs8427.c use put_unaligned helper Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87af38dafe4f930921b9217c21ec6d72cad56bcc Author: Daniel Jacobowitz Date: Wed May 7 12:05:10 2008 +0200 [ALSA] ac97 - Add virtual master control to VT1616/VT1617A codec. Enable VMASTER for VT1616 / VT1617A codec. Signed-off-by: Daniel Jacobowitz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1894c59fdb63692f5ba2576875cc558b856935ca Author: Tim Niemeyer Date: Mon May 5 14:16:12 2008 +0200 [ALSA] soc - Patch to add debug messages to the neo1973_wm8753 (GTA01) sound driver Signed-off-by: Tim Niemeyer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 650f6b13318bce6a8d59bfa48fe15b5832623cbc Author: Stephen Rothwell Date: Thu May 1 10:49:18 2008 +0200 [ALSA] sound: fix export symbol typo Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eeec12bf7b7d80d1c9cae5aae0dff7e2f928c64b Author: Graeme Gregory Date: Wed Apr 30 19:27:40 2008 +0200 [ALSA] soc - DAPM - add hook to read state of DAPM widget This adds a hook to read the power state of a DAPM widget, I use this in the gta02 driver to expose certain DAPM widgets in the mixer for ease of audio routing. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 54e7e6167d29a4a98207884b2fbd28b0b3fe91f6 Author: Daniel Mack Date: Wed Apr 30 16:20:52 2008 +0200 [ALSA] soc - tlv320aic3x - add GPIO support This patch adds support for AIC3x GPIO lines. They can be configured for many possible functions as well as be driven manually. I also introduced i2c read functionality since the GPIO state register has to be read from hardware every time and can not be served from cache. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4f9c16ccfa26691dbb9a5d9e7d5098eb934ccdbe Author: Daniel Mack Date: Wed Apr 30 16:20:19 2008 +0200 [ALSA] soc - tlv320aic3x - revisit clock setup This patch cleans up the clocking setup for aic3x codecs. It drops the dividers table and determines the PLL control values programatically. Under certain conditions, the PLL is disabled entirely which could save some power. Signed-off-by: Daniel Mack Acked-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a8ac1ae3a2a8ceb5bc1d334a502d42f59b91379c Merge: b4ef290... b8291ad... Author: Ingo Molnar Date: Mon May 19 09:23:07 2008 +0200 Merge branch 'linus' into x86/pat commit 0bec0bba7a507bdaf07312fcabdc00b5576abb32 Author: Jonathan Corbet Date: Thu May 15 09:25:03 2008 -0600 pcmcia: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 0911810755fc9f15659cc3cb43912633b90027a0 Author: Jonathan Corbet Date: Thu May 15 09:21:33 2008 -0600 cosa: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 3db633ee352bfe20d4a2b0c3c8a46ce31a6c7149 Author: Jonathan Corbet Date: Thu May 15 09:21:02 2008 -0600 i2c: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 5119e92efc733d730b34f9605a5ae61fdc4bf649 Author: Jonathan Corbet Date: Thu May 15 09:12:01 2008 -0600 x86: cdev lock_kernel() pushdown Push the cdev lock_kernel() call down into the x86 msr and cpuid drivers. Signed-off-by: Jonathan Corbet commit 1fa984b583a809423ddb1d88fa46484071f85f80 Author: Jonathan Corbet Date: Thu May 15 09:11:26 2008 -0600 sh: cdev lock_kernel() pushdown Push the cdev lock_kernel() call down into the sh gio driver. Signed-off-by: Jonathan Corbet commit 7558da942e51933b5e6aa5e851d4da1df0cd6752 Author: Jonathan Corbet Date: Thu May 15 09:10:50 2008 -0600 mips: cdev lock_kernel() pushdown Push the cdev lock_kernel() call into MIPS-specific drivers. Signed-off-by: Jonathan Corbet commit 0c401df37ef9f45f35390a5574e24cbf3f916acf Author: Jonathan Corbet Date: Thu May 15 09:10:18 2008 -0600 cris: cdev lock_kernel() pushdown Push the cdev lock_kernel() call into cris drivers. Signed-off-by: Jonathan Corbet commit 75bd2ef1457998791cfc89cd59927574488fc22a Author: Jonathan Corbet Date: Thu May 15 09:09:23 2008 -0600 bsg: cdev lock_kernel() pushdown Push the cdev lock_kernel call into bsg_open(). Signed-off-by: Jonathan Corbet commit b4ef290d7c3abd1bf8cefcf8def359537fda7f31 Merge: 77b52b4... f26a398... Author: Thomas Gleixner Date: Sun May 18 11:54:43 2008 +0200 Merge branch 'linus' into x86/pat commit 538f0fd0f210c2ce5c585799f18d0e5c7cf6155e Merge: 3bb6fbf... f26a398... Author: Thomas Gleixner Date: Sat May 17 17:12:24 2008 +0200 Merge branch 'linus' into x86/gart commit dedd4915af40cff6614707c50dcae43d17beadec Author: Ingo Molnar Date: Sat May 17 08:28:33 2008 +0200 bitops: fix build in struct thread_info we can move flags from u32 to natural size - assembly code uses offsetof. Signed-off-by: Ingo Molnar commit 493d35863dbb692c38c1415fd83d88dfb902ae37 Author: Jeremy Kerr Date: Wed May 14 16:22:58 2008 -0700 mutex-debug: check mutex magic before owner Currently, the mutex debug code checks the lock->owner before lock->magic, so a corrupt mutex will most likely result in failing the owner check, rather than the magic check. This change to debug_mutex_unlock does the magic check first, so we have a better idea of what breaks. Signed-off-by: Jeremy Kerr Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 0327318445d55808991a63137cfb698a90ab6adf Author: Yinghai Lu Date: Fri Apr 18 17:49:15 2008 -0700 x86_64: simplify the memtest parameter setting use CONFIG_MEMTEST only. if it is set, will have memtest=0 (disabled) need to have memtest=4 in command line to test more patterns. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 205f93288093df69f9ab5f6981aef27b91088b28 Author: Dave Jones Date: Mon May 5 17:52:52 2008 -0400 x86: add new cache descriptor The latest rev of Intel doc AP-485 details a new cache descriptor that we don't yet support. A 6MB 24-way assoc L2 cache. Signed-off-by: Dave Jones Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5cb04df8d3f03e37a19f2502591a84156be71772 Author: Ingo Molnar Date: Sun May 4 19:49:04 2008 +0200 x86: defconfig updates refresh 32-bit defconfig too, and update the 64-bit configs as well, the defconfig should be much more useful by default, so most of the updates are the enabling of various options. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b5d958ea66ac11b1190c24f042f517adf9229a98 Author: Auke Kok Date: Wed Apr 9 13:17:39 2008 -0700 e1000e: set CONFIG_E1000E=y in x86 defconfigs This adds to the already default CONFIG_E1000=y in these files. Signed-off-by: Auke Kok Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 622e3f28e50fe30cc199c735440cd7c75e0033b0 Author: Cyrill Gorcunov Date: Sun May 4 19:57:19 2008 +0400 x86: 64-bit defconfig remake The current x86_64_defconfig contains a number of nonexistent symbols. Lets fix it. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f59a9310b97879159ef4d25227bc270278f1ee71 Author: Hiroshi Shimamoto Date: Fri May 2 16:44:52 2008 -0700 x86: nmi and irq counters are unsigned in nmi_64.c __nmi_count, apic_timer_irqs and irq0_irqs are unsigned. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f784946ded3e734524d1f48a6a8286b8a152c3b9 Author: Hiroshi Shimamoto Date: Fri May 2 16:45:08 2008 -0700 x86: use per_cpu data in nmi_32 use per_cpu for per CPU data. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3bb6fbf9969a8bbe4892968659239273d092e78a Author: Pavel Machek Date: Tue Apr 15 12:43:57 2008 +0200 x86 gart: factor out common code Cleanup gart handling on amd64 a bit: move common code into enable_gart_translation , and use symbolic register names where appropriate. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 330fce23dab6e6a3d1979e55f27aba4c0c301331 Author: Yinghai Lu Date: Sat Apr 19 01:31:45 2008 -0700 x86: reserve dma32 early for gart fix we can use free_bootmem() directly. Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 55c0d721df80dcc505dc888e85d4ca51ea150ce9 Author: Yinghai Lu Date: Sat Apr 19 01:31:11 2008 -0700 x86: clean up aperture_64.c 1. use symbolic register names where appropriate. 2. num to bus or slot changing 3. handle for new opteron for bus other than 0 Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7677b2ef6c0c4fddc84f6473f3863f40eb71821b Author: Yinghai Lu Date: Mon Apr 14 20:40:37 2008 -0700 x86_64: allocate gart aperture from 512M because we try to reserve dma32 early, so we have chance to get aperture from 64M. with some sequence aperture allocated from RAM, could become E820_RESERVED. and then if doing a kexec with a big kernel that uncompressed size is above 64M we could have a range conflict with still using gart. So allocate gart aperture from 512M instead. Also change the fallback_aper_order to 5, because we don't have chance to get 2G or 4G aperture. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c9fd91a0dc503f085169d44f4360be025f75224 Author: Yinghai Lu Date: Sun Apr 13 18:42:31 2008 -0700 x86: checking aperture size order some systems are using 32M for gart and agp when memory is less than 4G. Kernel will reject and try to allcate another 64M that is not needed, and we will waste 64M of perfectly good RAM. this patch adds a workaround by checking aper_base/order between NB and agp bridge. If they are the same, and memory size is less than 4G, it will allow it. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1edc1ab3f68168ec6815e6d630f38948a6da005a Author: Yinghai Lu Date: Sun Apr 13 01:11:41 2008 -0700 x86: agp_gart size checking for buggy device while looking at Rafael J. Wysocki's system boot log, I found a funny printout: Node 0: aperture @ de000000 size 32 MB Aperture too small (32 MB) AGP bridge at 00:04:00 Aperture from AGP @ de000000 size 4096 MB (APSIZE 0) Aperture too small (0 MB) Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Mapping aperture over 65536 KB of RAM @ 4000000 ... agpgart: Detected AGP bridge 20 agpgart: Aperture pointing to RAM agpgart: Aperture from AGP @ de000000 size 4096 MB agpgart: Aperture too small (0 MB) agpgart: No usable aperture found. agpgart: Consider rebooting with iommu=memaper=2 to get a good aperture. it means BIOS allocated the correct gart on the NB and AGP bridge, but because a bug in the silicon (the agp bridge reports the wrong order, it wants 4G instead) the kernel will reject that allocation. Also, because the size is only 32MB, and we try to get another 64M for gart, late fix_northbridge can not revert that change because it still reads the wrong size from agp bridge. So try to double check the order value from the agp bridge, before calling aperture_valid(). [ mingo@elte.hu: 32-bit fix. ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa134f1b09df6beaa4d031a50d5fda1f3cebce6c Author: Pavel Machek Date: Tue Apr 8 10:49:03 2008 +0200 x86: iommu: use symbolic constants, not hardcoded numbers Move symbolic constants into gart.h, and use them instead of hardcoded constant. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f8096f92b87d81c55ed63964d27baa9ce5ffe508 Author: Jan Beulich Date: Tue Apr 22 16:27:29 2008 +0100 x86: separate cmpxchg8b checking from PAE checking .. allowing the former to be use in non-PAE kernels, too. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 77b52b4c5c66175553ee59eb43f74366f1e54bde Author: Venki Pallipadi Date: Mon May 5 19:09:10 2008 -0700 x86: add "debugpat" boot option enable debug messages by a boot option "debugpat". Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 988f7b5789ccf5cfed14c72e28573a49f0cb4809 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:22 2008 -0700 x86: PAT export resource_wc in pci sysfs For the ranges with IORESOURCE_PREFETCH, export a new resource_wc interface in pci /sysfs along with resource (which is uncached). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 403d8efc94cd02ae36e7db13c4edf1d06d7b7fac Author: Thomas Gleixner Date: Mon May 5 18:13:50 2008 +0200 x86: irq_32 move 4kstacks code to one place Move the 4KSTACKS related code to one place. This allows to un#ifdef do_IRQ() and share the executed on stack for the stack overflow printk and the softirq call. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit de9b10af1287bf25b9c0433de53a2e95ef611aa7 Author: Thomas Gleixner Date: Mon May 5 15:58:15 2008 +0200 x86: janitor stack overflow warning patch Add KERN_WARNING to the printk as this could not be done in the original patch, which allegedly only moves code around. Un#ifdef do_IRQ. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 04b361abfdc522239e3a071f3afdebf5787d9f03 Author: Andi Kleen Date: Mon May 5 12:36:38 2008 +0200 i386: Execute stack overflow warning on interrupt stack v2 Previously the reporting printk would run on the process stack, which risks overflow an already low stack. Instead execute it on the interrupt stack. This makes it more likely for the printk to make it actually out. It adds one not taken test/branch more to the interrupt path when stack overflow checking is enabled. We could avoid that by duplicating more code, but that seemed not worth it. Based on an observation by Eric Sandeen. v2: Fix warnings in some configs Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ce17833183bf0a08ce3d174a2088eff0a06f2080 Author: Alan Mayer Date: Wed Apr 16 15:17:20 2008 -0500 x86: change FIRST_SYSTEM_VECTOR to a variable, fix Fixes the build error introduced by my FIRST_SYSTEM_VECTOR patch Signed-off-by: Alan Mayer Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 305b92a2323eeaa4b481f409d54f778dd7e21a46 Author: Alan Mayer Date: Tue Apr 15 15:36:56 2008 -0500 x86: change FIRST_SYSTEM_VECTOR to a variable The SGI UV system needs several more system vectors than a vanilla x86_64 system. Rather than burden the other archs with extra system vectors that they don't use, change FIRST_SYSTEM_VECTOR to a variable, so that it can be dynamic. Signed-off-by: Alan Mayer Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a331957efd214fc3a84f70956dfaec65e70c031 Author: Thomas Gleixner Date: Sat May 3 00:30:50 2008 +0200 x86: move eisa_set_level_irq declaration to header Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 88a83350bc1955fa9d8fca059e19bc360fcef2ba Author: Thomas Gleixner Date: Fri May 2 23:19:26 2008 +0200 x86: declare setup_apic_routing Global functions need a prototype. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 22067d4501bfb47c8ca34144f68fad734178914d Author: Thomas Gleixner Date: Fri May 2 22:14:44 2008 +0200 x86: unify irq.h Not much difference in those files. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 22dc12d1f694b9af88e616ab758ff90c69d0fc83 Author: Thomas Gleixner Date: Fri May 2 22:10:39 2008 +0200 x86: unify hwirq.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 97e7b6f54c0d66586a658e985630cd63040311fb Author: Thomas Gleixner Date: Fri May 2 22:02:25 2008 +0200 x86: unify apic interrupt function declarations Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0bc471d93051a19545257909bc2ed2ad3b389b54 Author: Thomas Gleixner Date: Fri May 2 21:55:12 2008 +0200 x86: move BUILD_IRQ macro magic to i8259_64.c i8259_64.c is the only place which uses those macros. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9b7dc567d03d74a1fbae84e88949b6a60d922d82 Author: Thomas Gleixner Date: Fri May 2 20:10:09 2008 +0200 x86: unify interrupt vector defines The interrupt vector defines are copied 4 times around with minimal differences. Move them all into asm-x86/irq_vectors.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2e0884362d1fe36ef2d673d763d6ce35e2044e66 Author: Thomas Gleixner Date: Fri May 2 19:00:30 2008 +0200 x86: move common declarations to hw_irq.h Move the common declarations from hw_irq_32/64 into hw_irq.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6859a8402945cf1d74af75a2e1aa4e327a506ab4 Author: Alan Mayer Date: Wed Mar 26 16:11:31 2008 -0500 x86: resize NR_IRQS for large machines On machines with very large numbers of cpus, tables that are dimensioned by NR_IRQS get very large, especially the irq_desc table. They are also very sparsely used. When the cpu count is > MAX_IO_APICS, use MAX_IO_APICS to set NR_IRQS, otherwise use NR_CPUS. Signed-off-by: Alan Mayer Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 41b3eae669fb1ef6ae4acaa937b4e4617a1aa078 Author: Jan Beulich Date: Tue Apr 22 16:29:26 2008 +0100 x86: minor polishing to top-level arch Makefile Use build target when creating compatibility link, and use $(boot) where possible. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 8a6c160a2a13d82c75a50af7282b906cce948df5 Author: Ingo Molnar Date: Wed Apr 30 22:13:44 2008 +0200 x86: redo thread_info.h change redo Roland's "signals: x86 TS_RESTORE_SIGMASK" ontop of the unified thread_info.h file. Signed-off-by: Ingo Molnar commit b84200b3a0fafa167185201319940d8df62a8c7b Author: Christoph Lameter Date: Mon Apr 28 18:52:40 2008 -0700 x86: thread_info: merge thread_info allocation Make them similar so that both use THREAD_ORDER and THREAD_FLAGS and have a THREAD_SIZE definition that is setup in asm/page_xx.h Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 00c1bb133cf351fa3904b00a48a9cf535d018de6 Author: Christoph Lameter Date: Mon Apr 28 18:52:39 2008 -0700 x86: thread_info: merge tif masks The TIF masks are basically the same. x86_32 also has _TIF_SYSCALL_EMU which is zero for the 64 bit case. The tif masks become the same. x86_64 has an additional _TIF_DONOTIFY_MASK. Does not hurt for the 32 bit case since it is only used in x86_64 arch code. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e57549b017552f7a493b366f5ccd4781801083e4 Author: Christoph Lameter Date: Mon Apr 28 18:52:38 2008 -0700 x86: thread_info: merge TIF_ flags. Both TIF lists are essentially the same. x86_32 also has TIF_SYSCALL_EMU which must be undefined for the 64 bit case. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 24e2de6e28a453cd114b06215df2f9931cd0c342 Author: Christoph Lameter Date: Mon Apr 28 18:52:37 2008 -0700 x86: thread_info: PREEMPT_ACTIVE Same for both 32 and 64 bit so simply put it in to the common area. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3351cc03c0762353225a79507e38db4c1e656d52 Author: Christoph Lameter Date: Mon Apr 28 18:52:36 2008 -0700 x86: threadinfo: merge INIT_THREAD_INFO Both definitions are the same. So move to common x86 area. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 006c484bb3d9547e82a33a09668c9b54b912c8fb Author: Christoph Lameter Date: Mon Apr 28 18:52:35 2008 -0700 x86: common thread_info definitions Merge the thread_info definition into one structure definition for both arches. The __u32 is equal to unsigned long for 32 bit. sysenter_return is used both for the IA32 emulation for 64 and x86_32. Avoid complicated #ifdef by simply always including it. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f2ea3b1d4d7ab66d86da57899993282f3deb1f74 Author: Christoph Lameter Date: Mon Apr 28 18:52:34 2008 -0700 x86: threadinfo: merge thread sync state definitions Merge both. x86_64 has an additional TS_COMPAT that is harmless for 32 bit. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12a638e13c68bbe187782518dab375f4fa800fc4 Author: Christoph Lameter Date: Mon Apr 28 18:52:33 2008 -0700 x86: threadinfo: common include files Move shared includes to a common area in thread_info.h Adds asm/types.h for x86_64 and linux/compiler.h for x86_32. Not needed but we can avoid some ifdeffing and it simplifies later joining. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2052e8d40ad58b1d364f900e70edfda62caa0874 Author: Christoph Lameter Date: Mon May 12 15:43:41 2008 +0200 x86: merge thread_info.h Simple merge of both thread_info_32.h and thread_info_64.h into thread_info.h. Comments for #ifndef __ASM_THREAD_INFO_H and #ifdef __KERNEL__ are the same. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar commit 1c7d06d419dbe82c76fbb4d3e1fa61b2da2dc00b Author: Ingo Molnar Date: Wed Apr 30 22:12:05 2008 +0200 revert: thread_info.h change temporarily revert parts of "signals: x86 TS_RESTORE_SIGMASK". Signed-off-by: Ingo Molnar commit 8edc5cc5ec880c96de8e6686fb0d7a5231e91c05 Author: Venki Pallipadi Date: Mon May 12 15:43:34 2008 +0200 x86: remove 6 bank limitation in 64 bit MCE reporting code Eliminate the 6 bank restriction in 64 bit mce reporting code. This restriction is artificial (due to static creation of sysfs files) and 32 bit code does not have any such restriction. This change helps in reporting the details of machine checks on a machine check exception with errors in bank 6 and above on CPUs that support those banks. Without the patch, machine check errors in those banks are not reported. We still have 128 (MCE_EXTENDED_BANK) bank restriction instead of max 256 supported in hardware. That is not changed in the patch below as it will have some user level mcelog utility dependency, with bank 128 being used for thermal reporting currently. The patch below does not create sysfs control (bankNctl) for banks higher than 6 as well. That needs some pre-cleanup in /sysfs mce layout, removal of per cpu /sysfs entries for bankctl as they are really global system level control today. That change will follow. This basic change is critical to report the detailed errors on banks higher than 6. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 7c4728f4a865067d96fb84f1d9c65e0ccd1f355d Author: Thomas Gleixner Date: Sat May 10 21:42:14 2008 +0200 x86: print info about available HPET quirk We have a lot of HPET quirks available which might force enable HPET even when the BIOS does not enable it. Some of those quirks depend on the command line option "hpet=force". Andrew pointed out that hoping that the user will find out about this boot option is not really helpful. Emit a kernel info which informs the user about the "hpet=force" boot option when we enter a quirk which depends on this option and the user did not provide it. Signed-off-by: Thomas Gleixner commit e8aa4667baf74dfd85fbaab86861465acb811085 Author: Andreas Herrmann Date: Fri May 9 11:49:11 2008 +0200 x86: enable hpet=force for AMD SB400 Add quirk to allow forced usage of HPET on ATI SB400. I stumbled over machines where HPET is enabled but not reported by BIOS. This patch configures the HPET base address and makes it known to the OS. Signed-off-by: Andreas Herrmann Signed-off-by: Thomas Gleixner commit 6fd592daae2182adc47f405e20d07f34f52d07dd Author: Carlos R. Mafra Date: Mon May 5 20:11:22 2008 -0300 x86: clean up computation of HPET .mult variables While reading through the HPET code I realized that the computation of .mult variables could be done with less lines of code, resulting in a 1.6% text size saving for hpet.o So I propose the following patch, which applies against today's Linus -git tree. >From 0c6507e400e9ca5f7f14331e18f8c12baf75a9d3 Mon Sep 17 00:00:00 2001 From: Carlos R. Mafra Date: Mon, 5 May 2008 19:38:53 -0300 The computation of clocksource_hpet.mult tmp = (u64)hpet_period << HPET_SHIFT; do_div(tmp, FSEC_PER_NSEC); clocksource_hpet.mult = (u32)tmp; can be streamlined if we note that it is equal to clocksource_hpet.mult = div_sc(hpet_period, FSEC_PER_NSEC, HPET_SHIFT); Furthermore, the computation of hpet_clockevent.mult uint64_t hpet_freq; hpet_freq = 1000000000000000ULL; do_div(hpet_freq, hpet_period); hpet_clockevent.mult = div_sc((unsigned long) hpet_freq, NSEC_PER_SEC, hpet_clockevent.shift); can also be streamlined with the observation that hpet_period and hpet_freq are inverse to each other (in proper units). So instead of computing hpet_freq and using (schematically) div_sc(hpet_freq, 10^9, shift) we use the trick of calling with the arguments in reverse order, div_sc(10^6, hpet_period, shift). The different power of ten is due to frequency being in Hertz (1/sec) and the period being in units of femtosecond. Explicitly, mult = (hpet_freq * 2^shift)/10^9 (before) mult = (10^6 * 2^shift)/hpet_period (after) because hpet_freq = 10^15/hpet_period. The comments in the code are also updated to reflect the changes. As a result, text data bss dec hex filename 2957 425 92 3474 d92 arch/x86/kernel/hpet.o 3006 425 92 3523 dc3 arch/x86/kernel/hpet.o.old a 1.6% reduction in text size. Signed-off-by: Carlos R. Mafra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 150c9173031d43746d70582a17931350f3da8932 Author: Russell King Date: Mon May 12 17:37:21 2008 +0100 dyntick: remove deferences from SH SH does not have a configuration option for NO_IDLE_HZ their Kconfig files, yet their defconfig files lists them. Remove those references. Signed-off-by: Russell King commit ee9c578527a93c66becb526c4a122c5358a959c5 Author: Russell King Date: Sun Apr 20 13:59:33 2008 +0100 dyntick: Remove last reminants of dyntick support Remove the last reminants of dyntick support from the generic kernel. Signed-off-by: Russell King commit 205bee6ad804d7034773b5978c74dde495df2301 Author: Russell King Date: Sun Apr 20 13:57:26 2008 +0100 [ARM] dyntick: Remove obsolete and unused ARM dyntick support dyntick is superseded by the clocksource/clockevent infrastructure, using the NO_HZ configuration option. No one implements dyntick on ARM anymore, so it's pointless keeping it around. Remove dyntick support. Signed-off-by: Russell King commit e055d5bff318845f99c0fbf93245767fab8dce88 Author: Adrian Bunk Date: Tue Apr 22 01:43:27 2008 +0100 [ARM] 5015/1: arm: remove ARCH_CO285 Trying to compile a kerel for ARCH_CO285 fails with the following error: <-- snip --> ... CC arch/arm/mach-footbridge/dc21285.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c: In function 'dc21285_base_address': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:54: error: 'PCICFG0_BASE' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:54: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:54: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:57: error: 'PCICFG1_BASE' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c: In function 'dc21285_scan_bus': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:286: error: implicit declaration of function 'pci_scan_bus' ... make[2]: *** [arch/arm/mach-footbridge/dc21285.o] Error 1 <-- snip --> This does not seem to be a recent breakage. The ARCH_CO285 support is old - kernel 2.2.0 contains first traces of it, an it seems to have been pretty complete in later 2.2 kernels. Since it seems to be completely dead code now this patch therefore removes it. Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit 7e36e2f5355ab87f8946041d044b34cda01e2077 Author: Rod Whitby Date: Tue Apr 1 10:53:23 2008 +0100 [ARM] 4874/2: ixp4xx: Add support for the Freecom FSG-3 board The Freecom-FSG3 is a small network-attached-storage device with the following feature set: * Intel IXP422 * 4MB Flash (ixp4xx flash driver) * 64MB RAM * 4 USB 2.0 host ports (ehci and ohci drivers) * 1 WAN (eth1) and 3 LAN (eth0) ethernet ports * Supported by the open source ixp4xx ethernet driver * Via VT6421 disk controller (libata and sata-via drivers) * Internal hard disk (PATA supported, SATA not yet supported) * External SATA port (not yet supported) * ISL1208 RTC chip * Winbond 83782 temp sensor and fan controller * MiniPCI slot The ixp4xx_defconfig is also updated to support this device (the leds-fsg driver is to be submitted separately via the leds tree after this initial support is merged, as it depends on header gpio defines). Signed-off-by: Rod Whitby Signed-off-by: Russell King