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 tha