Paul Mackerras [Tue, 23 Oct 2007 12:20:51 +0000 (22:20 +1000)]
Merge branch 'for-2.6.24' of /linux/kernel/git/jwboyer/powerpc-4xx into merge
Marcelo Tosatti [Mon, 10 Sep 2007 22:46:01 +0000 (18:46 -0400)]
[POWERPC] Add Vitaly Bordug as PPC8xx maintainer
Vitaly has been doing most of the 8xx maintenance work.
Signed-off-by: Marcelo Tosatti <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
Randy Dunlap [Mon, 22 Oct 2007 04:00:10 +0000 (21:00 -0700)]
procfs: fix kernel-doc param warnings
Fix mnt_flush_task() misplaced kernel-doc.
Fix typos in some of the doc text.
Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'mnt'
Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'pid'
Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'tgid'
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Randy Dunlap [Mon, 22 Oct 2007 03:59:53 +0000 (20:59 -0700)]
auditsc: fix kernel-doc param warnings
Fix kernel-doc for auditsc parameter changes.
Warning(linux-2.6.23-git17//kernel/auditsc.c:1623): No description found for parameter 'dentry'
Warning(linux-2.6.23-git17//kernel/auditsc.c:1666): No description found for parameter 'dentry'
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
David Miller [Mon, 22 Oct 2007 09:09:00 +0000 (02:09 -0700)]
Expand hwif->host_flags so that it fits new flags.
Commit
238e4f142c33bb34440cc64029dde7b9fbc4e65f ("ide: add
IDE_HFLAG_NO_LBA48 and IDE_HFLAG_NO_LBA48_DMA host flags") caused a
regression because the host_flags in struct hwif_s wasn't expanded to
cope with the fact that the host flags no longer fit in 16 bits.
Signed-off-by: David S. Miller <[email protected]>
[ I hate having to add good commit descriptions. - Linus ]
Signed-off-by: Linus Torvalds <[email protected]>
Linus Torvalds [Tue, 23 Oct 2007 02:29:58 +0000 (19:29 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: appletouch - apply idle reset logic to all touchpads
Input: usbtouchscreen - add support for GoTop tablet devices
Input: bf54x-keys - return real error when request_irq() fails
Input: i8042 - export i8042_command()
Linus Torvalds [Tue, 23 Oct 2007 02:29:05 +0000 (19:29 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
Blackfin arch: use KBUILD_CFLAGS and KBUILD_AFLAGS in Makefile
Blackfin arch: Javier Herrer writes: fix building when icache and dcache is disabled
Linus Torvalds [Tue, 23 Oct 2007 02:24:17 +0000 (19:24 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/avi/kvm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
KVM: Use new smp_call_function_mask() in kvm_flush_remote_tlbs()
sched: don't clear PF_VCPU in scheduler
KVM: Improve local apic timer wraparound handling
KVM: Fix local apic timer divide by zero
KVM: Move kvm_guest_exit() after local_irq_enable()
KVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3
KVM: VMX: Force vm86 mode if setting flags during real mode
KVM: x86 emulator: implement 'movnti mem, reg'
KVM: VMX: Reset mmu context when entering real mode
KVM: VMX: Handle NMIs before enabling interrupts and preemption
KVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte()
KVM: x86 emulator: fix repne/repnz decoding
KVM: x86 emulator: fix merge screwup due to emulator split
Linus Torvalds [Tue, 23 Oct 2007 02:23:34 +0000 (19:23 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] 4level-fixup cleanup
[S390] Cleanup page table definitions.
[S390] Introduce follow_table in uaccess_pt.c
[S390] Remove unused user_seg from thread structure.
[S390] tlb flush fix.
[S390] kernel: Fix dump on panic for DASDs under LPAR.
[S390] struct class_device -> struct device conversion.
[S390] cio: Fix incomplete commit for uevent suppression.
[S390] cio: Use to_channelpath() for device to channel path conversion.
[S390] Add per-cpu idle time / idle count sysfs attributes.
[S390] Update default configuration.
Linus Torvalds [Tue, 23 Oct 2007 02:22:56 +0000 (19:22 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: ARRAY_SIZE() cleanup
[SPARC64]: small Makefile cleanups
[SPARC64]: Stop using __do_IRQ().
[SPARC64]: Update defconfig.
Linus Torvalds [Tue, 23 Oct 2007 02:22:33 +0000 (19:22 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
[IPSEC] IPV6: Fix to add tunnel mode SA correctly.
[NET]: Cut off the queue_mapping field from sk_buff
[NET]: Hide the queue_mapping field inside netif_subqueue_stopped
[NET]: Make and use skb_get_queue_mapping
[NET]: Use the skb_set_queue_mapping where appropriate
[INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible.
[INET]: Let inet_diag and friends autoload
[NIU]: Cleanup PAGE_SIZE checks a bit
[NET]: Fix SKB_WITH_OVERHEAD calculation
[ATM]: Fix clip module reload crash.
[TG3]: Update version to 3.85
[TG3]: PCI command adjustment
[TG3]: Add management FW version to ethtool report
[TG3]: Add 5723 support
[Bluetooth] Convert RFCOMM to use kthread API
[Bluetooth] Add constant for Bluetooth socket options level
[Bluetooth] Add support for handling simple eSCO links
[Bluetooth] Add address and channel attribute to RFCOMM TTY device
[Bluetooth] Fix wrong argument in debug code of HIDP
[Bluetooth] Add generic driver for Bluetooth USB devices
...
Linus Torvalds [Tue, 23 Oct 2007 02:21:54 +0000 (19:21 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Enable restart support for lite5200 board
[POWERPC] Add restart support for mpc52xx based platforms
[POWERPC] Update device tree binding for mpc5200 gpt
[POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions
[POWERPC] bestcomm: Restrict bus prefetch bugfix to original mpc5200 silicon.
Linus Torvalds [Tue, 23 Oct 2007 02:21:08 +0000 (19:21 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] time: Make c0_compare_int_usable more bullet proof
[MIPS] Kbuild: Use the new cc-cross-prefix feature.
[MIPS] Fix include wrapper symbol to something sane.
[MIPS] Malta: Delete dead code.
[MIPS] time: Add GT641xx timer0 clockevent driver
[MIPS] time: SMP-proofing of Sibyte clockevent/clocksource code.
[MIPS] time: SMP/NUMA-proofing of IP27 HUB RT timer code.
[MIPS] time: Fix calculation in clockevent_set_clock()
Linus Torvalds [Tue, 23 Oct 2007 02:20:52 +0000 (19:20 -0700)]
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6:
apm_power: calculate to_full/to_empty time using energy
apm_power: improve battery finding algorithm
apm_power: fix obviously wrong logic for time reporting
Linus Torvalds [Tue, 23 Oct 2007 02:20:22 +0000 (19:20 -0700)]
Merge branch 'master' of ssh:///linux/kernel/git/mchehab/v4l-dvb
* 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (37 commits)
V4L/DVB (6382): saa7134: fix NULL dereference at suspend time for cards without IR receiver
V4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option
V4L/DVB (6379): patch which improves GotView Saa7135 remote control
V4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt
V4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt
V4L/DVB (6378): DiB0700-device: Using 1.10 firmware
V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking
V4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation
V4L/DVB (6352): ir-kbd-i2c: Missing break statement
V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc
V4L/DVB (6348): ivtv: undo video mute when closing the radio
V4L/DVB (6347): ivtv: fix video mute when radio is used
V4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded
V4L/DVB (6345): ivtvfb: YUV handling of an image which is not visible in the display area
V4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer
V4L/DVB (6342): ivtv: fix circular locking (bug 9037)
V4L/DVB (6341): ivtv: fix resizing MPEG1 streams
V4L/DVB (6340): ivtvfb: screen mode change sometimes goes wrong
V4L/DVB (6339): ivtv: set the video color to black instead of green when capturing from the radio
V4L/DVB (6338): ivtv: fix incorrect EBUSY return
...
Grant Likely [Mon, 22 Oct 2007 22:38:32 +0000 (16:38 -0600)]
ppc: fix AT_VECTOR_SIZE on arch/ppc
Commit
4f9a58d75bfe82ab2b8ba5b8506dfb190a267834 ("increase
AT_VECTOR_SIZE to terminate saved_auxv properly") changes the size of
AT_VECTOR_SIZE from hard coded '44' to a calculation based on the value
of AT_VECTOR_SIZE_ARCH and AT_VECTOR_SIZE_BASE.
The change works for arch/powerpc, but it breaks arch/ppc because the
needed AT_VECTOR_SIZE_ARCH is not present in include/asm-ppc/system.h
and a default value of 0 is used instead. This results in
AT_VECTOR_SIZE being too small and it causes a kernel crash on loading
init.
Signed-off-by: Grant Likely <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Linus Torvalds [Tue, 23 Oct 2007 02:16:17 +0000 (19:16 -0700)]
Merge ssh:///pub/scm/linux/kernel/git/sam/kbuild
* ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
kbuild: cc-cross-prefix spelling
kbuild: allow depmod in cross builds again
kbuild: fix modules_install after a 'make vmlinux'
Eric W. Biederman [Mon, 22 Oct 2007 18:55:36 +0000 (12:55 -0600)]
Fix appletalk sysctl entry name
Gabriel C reported that modprobing appletalk on current git gives a
warning in dmesg :
"sysctl table check failed: /net/appletalk .3.7 procname does not match binary path procname"
Oops. My apologies it appears I made a mistake when creating my table
to check up on sysctl values.
Signed-off-by: "Eric W. Biederman" <[email protected]>
Tested-by: Gabriel C <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Linus Torvalds [Tue, 23 Oct 2007 02:14:05 +0000 (19:14 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
firewire: fw-ohci: shut up a superfluous compiler warning
firewire: fw-ohci: log a note about unsupported features
Linus Torvalds [Tue, 23 Oct 2007 02:11:06 +0000 (19:11 -0700)]
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block
* 'sg' of git://git.kernel.dk/linux-2.6-block:
Add CONFIG_DEBUG_SG sg validation
Change table chaining layout
Update arch/ to use sg helpers
Update swiotlb to use sg helpers
Update net/ to use sg helpers
Update fs/ to use sg helpers
[SG] Update drivers to use sg helpers
[SG] Update crypto/ to sg helpers
[SG] Update block layer to use sg helpers
[SG] Add helpers for manipulating SG entries
Alejandro Martinez Ruiz [Tue, 23 Oct 2007 00:24:19 +0000 (17:24 -0700)]
[SPARC64]: ARRAY_SIZE() cleanup
Signed-off-by: Alejandro Martinez Ruiz <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Paul Mackerras [Mon, 22 Oct 2007 22:45:23 +0000 (08:45 +1000)]
Merge branch 'for-2.6.24' of git://git.secretlab.ca/git/linux-2.6-mpc52xx
Atsushi Nemoto [Mon, 22 Oct 2007 16:14:06 +0000 (01:14 +0900)]
[MIPS] time: Make c0_compare_int_usable more bullet proof
Use write_c0_compare(read_c0_count()) to clear interrupt.
Signed-off-by: Atsushi Nemoto <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
Ralf Baechle [Mon, 22 Oct 2007 18:10:57 +0000 (19:10 +0100)]
[MIPS] Kbuild: Use the new cc-cross-prefix feature.
Signed-off-by: Ralf Baechle <[email protected]>
Ralf Baechle [Mon, 22 Oct 2007 14:17:39 +0000 (15:17 +0100)]
[MIPS] Fix include wrapper symbol to something sane.
And why are there i8253.h and 8253pit.h ...
Signed-off-by: Ralf Baechle <[email protected]>
Ralf Baechle [Mon, 22 Oct 2007 14:13:22 +0000 (15:13 +0100)]
[MIPS] Malta: Delete dead code.
Signed-off-by: Ralf Baechle <[email protected]>
Yoichi Yuasa [Mon, 22 Oct 2007 10:43:15 +0000 (19:43 +0900)]
[MIPS] time: Add GT641xx timer0 clockevent driver
And make use of it for Cobalt. A few others such as the Malta could make
use of it as well.
Signed-off-by: Yoichi Yuasa <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
Ralf Baechle [Mon, 22 Oct 2007 09:38:44 +0000 (10:38 +0100)]
[MIPS] time: SMP-proofing of Sibyte clockevent/clocksource code.
The BCM148 has 4 cores but there are also just 4 generic timers available
so use the ZBbus cycle counter instead of it. In addition the ZBbus
counter also offers a much higher resolution and 64-bit counting so I'm
considering a later complete conversion to it once I figure out if all
members of the Sibyte SOC family support it - the docs seem to agree but
the headers files seem to disagree ...
Signed-off-by: Ralf Baechle <[email protected]>
Ralf Baechle [Mon, 22 Oct 2007 09:34:13 +0000 (10:34 +0100)]
[MIPS] time: SMP/NUMA-proofing of IP27 HUB RT timer code.
Signed-off-by: Ralf Baechle <[email protected]>
Atsushi Nemoto [Fri, 19 Oct 2007 15:28:33 +0000 (00:28 +0900)]
[MIPS] time: Fix calculation in clockevent_set_clock()
Signed-off-by: Atsushi Nemoto <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 18:01:06 +0000 (20:01 +0200)]
Add CONFIG_DEBUG_SG sg validation
Add a Kconfig entry which will toggle some sanity checks on the sg
entry and tables.
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 17:57:20 +0000 (19:57 +0200)]
Change table chaining layout
Change the page member of the scatterlist structure to be an unsigned
long, and encode more stuff in the lower bits:
- Bits 0 and 1 zero: this is a normal sg entry. Next sg entry is located
at sg + 1.
- Bit 0 set: this is a chain entry, the next real entry is at ->page_link
with the two low bits masked off.
- Bit 1 set: this is the final entry in the sg entry. sg_next() will return
NULL when passed such an entry.
It's thus important that sg table users use the proper accessors to get
and set the page member.
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 18:02:46 +0000 (20:02 +0200)]
Update arch/ to use sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 17:44:53 +0000 (19:44 +0200)]
Update swiotlb to use sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 17:44:26 +0000 (19:44 +0200)]
Update net/ to use sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 17:43:30 +0000 (19:43 +0200)]
Update fs/ to use sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 19:19:53 +0000 (21:19 +0200)]
[SG] Update drivers to use sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Geert Uytterhoeven [Sun, 21 Oct 2007 17:55:00 +0000 (19:55 +0200)]
kbuild: cc-cross-prefix spelling
Spelling fixes for cc-cross-prefix documentation
Signed-off-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Sam Ravnborg <[email protected]>
Sam Ravnborg [Mon, 22 Oct 2007 09:30:45 +0000 (11:30 +0200)]
kbuild: allow depmod in cross builds again
depmod from module-init-tools 3.3-pre2 are reported
to work fine in cross build.
depmod from module-init-tools 3.1-pre5 are known to SEGV
Do not workaround older module-init-tools bugs here.
The right fix is for users to upgrade module-init-tools.
Signed-off-by: Sam Ravnborg <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Sam Ravnborg [Mon, 22 Oct 2007 09:23:07 +0000 (11:23 +0200)]
kbuild: fix modules_install after a 'make vmlinux'
make vmlinux would delete the content of $(MODVERDIR)
equals .tmp_versions. This caused a subsequent
make modules_install to fail.
Fix it so we clean the directory only for the
modules build - but we still unconditionally create it so
we can do:
make dir/file.ko
without a preceeding make modules.
Reported by David Miller <
[email protected]>
Signed-off-by: Sam Ravnborg <[email protected]>
Cc: David Miller <[email protected]>
Stefan Richter [Sun, 21 Oct 2007 09:20:07 +0000 (11:20 +0200)]
firewire: fw-ohci: shut up a superfluous compiler warning
New warning since commit
ab88ca488b8af66c3defa165874e81e695319a19,
"firewire: fw-ohci: missing dma_unmap_single":
drivers/firewire/fw-ohci.c: In function 'at_context_transmit':
drivers/firewire/fw-ohci.c:609: warning: 'payload_bus' may be used
uninitialized in this function
Access to payload_bus is conditional on packet->payload_length > 0,
and that won't change while in at_context_queue_packet.
Signed-off-by: Stefan Richter <[email protected]>
Stefan Richter [Sun, 21 Oct 2007 08:43:11 +0000 (10:43 +0200)]
firewire: fw-ohci: log a note about unsupported features
because there seems to be more time needed to implement this.
Also, change related error return values to more appropriate ones.
Signed-off-by: Stefan Richter <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 17:40:16 +0000 (19:40 +0200)]
[SG] Update crypto/ to sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 17:39:33 +0000 (19:39 +0200)]
[SG] Update block layer to use sg helpers
Signed-off-by: Jens Axboe <[email protected]>
Laurent Vivier [Mon, 22 Oct 2007 14:33:07 +0000 (16:33 +0200)]
KVM: Use new smp_call_function_mask() in kvm_flush_remote_tlbs()
In kvm_flush_remote_tlbs(), replace a loop using smp_call_function_single()
by a single call to smp_call_function_mask() (which is new for x86_64).
Signed-off-by: Laurent Vivier <[email protected]>
Signed-off-by: Avi Kivity <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:19 +0000 (16:42 -0700)]
exportfs: update documentation
Update documentation to the current state of affairs. Remove duplicated
method descruptions in exportfs.h and point to Documentation/filesystems/
Exporting instead. Add a little file header comment in expfs.c describing
what's going on and mentioning Neils and my copyright [1].
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Cc: David Chinner <[email protected]>
Cc: Timothy Shimmin <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Cc: "Vladimir V. Saveliev" <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Cc: Mark Fasheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:17 +0000 (16:42 -0700)]
exportfs: make struct export_operations const
Now that nfsd has stopped writing to the find_exported_dentry member we an
mark the export_operations const
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Cc: David Chinner <[email protected]>
Cc: Timothy Shimmin <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Cc: "Vladimir V. Saveliev" <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Cc: Mark Fasheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:16 +0000 (16:42 -0700)]
exportfs: remove old methods
Now that all filesystems are converted remove support for the old methods.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Cc: David Chinner <[email protected]>
Cc: Timothy Shimmin <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Cc: "Vladimir V. Saveliev" <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Cc: Mark Fasheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:15 +0000 (16:42 -0700)]
ocfs2: new export ops
OCFS2 has it's own 64bit-firendly filehandle format so we can't use the
generic helpers here. I'll add a struct for the types later.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Mark Fasheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:14 +0000 (16:42 -0700)]
gfs2: new export ops
Convert gfs2 to the new ops. Uses a similar structure to the generic helpers,
but gfs2 has it's own file handle formats.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:13 +0000 (16:42 -0700)]
reiserfs: new export ops
Another nice little cleanup by using the new methods.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Cc: "Vladimir V. Saveliev" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:13 +0000 (16:42 -0700)]
shmem: new export ops
I'm not sure what people were thinking when adding support to export tmpfs,
but here's the conversion anyway:
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Hugh Dickins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:12 +0000 (16:42 -0700)]
isofs: new export ops
Nice little cleanup by consolidating things a little and using a structure for
the special file handle format.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:11 +0000 (16:42 -0700)]
fat: new export ops
Very little changes here, fat had a mostly no op decode_fh before and does not
store any parent information.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:11 +0000 (16:42 -0700)]
xfs: new export ops
This one is a lot more complicated than the previous ones. XFS already had a
very clever scheme for supporting 64bit inode numbers in filehandles, and I've
reworked this to be some kind of a prototype for the generic 64bit inode
filehandle support.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: David Chinner <[email protected]>
Cc: Timothy Shimmin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:10 +0000 (16:42 -0700)]
ntfs: new export ops
Trivial switch over to the new generic helpers.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:09 +0000 (16:42 -0700)]
jfs: new export ops
Trivial switch over to the new generic helpers.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:09 +0000 (16:42 -0700)]
efs: new export ops
Trivial switch over to the new generic helpers.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:08 +0000 (16:42 -0700)]
ext4: new export ops
Trivial switch over to the new generic helpers.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:07 +0000 (16:42 -0700)]
ext3: new export ops
Trivial switch over to the new generic helpers.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:07 +0000 (16:42 -0700)]
ext2: new export ops
Trivial switch over to the new generic helpers.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:05 +0000 (16:42 -0700)]
exportfs: add new methods
Add the guts for the new filesystem API to exportfs.
There's now a fh_to_dentry method that returns a dentry for the object looked
for given a filehandle fragment, and a fh_to_parent operation that returns the
dentry for the encoded parent directory in case the file handle contains it.
There are default implementations for these methods that only take a callback
for an nfs-enhanced iget variant and implement the rest of the semantics.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Cc: David Chinner <[email protected]>
Cc: Timothy Shimmin <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Cc: "Vladimir V. Saveliev" <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Cc: Mark Fasheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Christoph Hellwig [Sun, 21 Oct 2007 23:42:03 +0000 (16:42 -0700)]
exportfs: add fid type
This patchset is a medium scale rewrite of the export operations interface.
The goal is to make the interface less complex, and easier to understand from
the filesystem side, aswell as preparing generic support for exporting of
64bit inode numbers.
This touches all nfs exporting filesystems, and I've done testing on all of
the filesystems I have here locally (xfs, ext2, ext3, reiserfs, jfs)
This patch:
Add a structured fid type so that we don't have to pass an array of u32 values
around everywhere. It's a union of possible layouts.
As a start there's only the u32 array and the traditional 32bit inode format,
but there will be more in one of my next patchset when I start to document the
various filehandle formats we have in lowlevel filesystems better.
Also add an enum that gives the various filehandle types human- readable
names.
Note: Some people might think the struct containing an anonymous union is
ugly, but I didn't want to pass around a raw union type.
Signed-off-by: Christoph Hellwig <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Cc: David Chinner <[email protected]>
Cc: Timothy Shimmin <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Cc: "Vladimir V. Saveliev" <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Cc: Mark Fasheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Bernhard Walle [Sun, 21 Oct 2007 23:42:01 +0000 (16:42 -0700)]
kexec: add BSS to resource tree
Add the BSS to the resource tree just as kernel text and kernel data are in
the resource tree. The main reason behind this is to avoid crashkernel
reservation in that area.
While it's not strictly necessary to have the BSS in the resource tree (the
actual collision detection is done in the reserve_bootmem() function before),
the usage of the BSS resource should be presented to the user in /proc/iomem
just as Kernel data and Kernel code.
Note: The patch currently is only implemented for x86 and ia64 (because
efi_initialize_iomem_resources() has the same signature on i386 and ia64).
[
[email protected]: coding-style fixes]
Signed-off-by: Bernhard Walle <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: Vivek Goyal <[email protected]>
Cc: <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
FUJITA Tomonori [Sun, 21 Oct 2007 23:42:00 +0000 (16:42 -0700)]
intel-iommu sg chaining support
x86_64 defines ARCH_HAS_SG_CHAIN. So if IOMMU implementations don't
support sg chaining, we will get data corruption.
Signed-off-by: FUJITA Tomonori <[email protected]>
Acked-by: Anil S Keshavamurthy <[email protected]>
Cc: Jens Axboe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:59 +0000 (16:41 -0700)]
intel-iommu: fix for IOMMU early crash
pci_dev's->sysdata is highly overloaded and currently IOMMU is broken due
to IOMMU code depending on this field.
This patch introduces new field in pci_dev's dev.archdata struct to hold
IOMMU specific per device IOMMU private data.
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Acked-by: Benjamin Herrenschmidt <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Jeff Garzik <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:58 +0000 (16:41 -0700)]
intel-iommu: optimize sg map/unmap calls
This patch adds PageSelectiveInvalidation support replacing existing
DomainSelectiveInvalidation for intel_{map/unmap}_sg() calls and also
enables to mapping one big contiguous DMA virtual address which is mapped
to discontiguous physical address for SG map/unmap calls.
"Doamin selective invalidations" wipes out the IOMMU address translation
cache based on domain ID where as "Page selective invalidations" wipes out
the IOMMU address translation cache for that address mask range which is
more cache friendly when compared to Domain selective invalidations.
Here is how it is done.
1) changes to iova.c
alloc_iova() now takes a bool size_aligned argument, which
when when set, returns the io virtual address that is
naturally aligned to 2 ^ x, where x is the order
of the size requested.
Returning this io vitual address which is naturally
aligned helps iommu to do the "page selective
invalidations" which is IOMMU cache friendly
over "domain selective invalidations".
2) Changes to driver/pci/intel-iommu.c
Clean up intel_{map/unmap}_{single/sg} () calls so that
s/g map/unamp calls is no more dependent on
intel_{map/unmap}_single()
intel_map_sg() now computes the total DMA virtual address
required and allocates the size aligned total DMA virtual address
and maps the discontiguous physical address to the allocated
contiguous DMA virtual address.
In the intel_unmap_sg() case since the DMA virtual address
is contiguous and size_aligned, PageSelectiveInvalidation
is used replacing earlier DomainSelectiveInvalidations.
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: Suresh B <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:57 +0000 (16:41 -0700)]
Intel IOMMU: Iommu floppy workaround
This config option (DMAR_FLPY_WA) sets up 1:1 mapping for the floppy device so
that the floppy device which does not use DMA api's will continue to work.
Once the floppy driver starts using DMA api's this config option can be turn
off or this patch can be yanked out of kernel at that time.
[
[email protected]: cleanups, rename things, build fix]
[
[email protected]: Kconfig fixes]
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Jan Engelhardt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:55 +0000 (16:41 -0700)]
Intel IOMMU: Iommu Gfx workaround
When we fix all the opensource gfx drivers to use the DMA api's, at that time
we can yank this config options out.
[
[email protected]: Kconfig fixes]
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Jan Engelhardt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:54 +0000 (16:41 -0700)]
Intel IOMMU: DMAR fault handling support
MSI interrupt handler registrations and fault handling support for Intel-IOMMU
hadrware.
This patch enables the MSI interrupts for the DMA remapping units and in the
interrupt handler read the fault cause and outputs the same on to the console.
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:53 +0000 (16:41 -0700)]
Intel IOMMU: Intel iommu cmdline option - forcedac
Introduce intel_iommu=forcedac commandline option. This option is helpful to
verify the pci device capability of handling physical dma'able address greater
than 4G.
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:52 +0000 (16:41 -0700)]
Intel IOMMU: Avoid memory allocation failures in dma map api calls
Intel IOMMU driver needs memory during DMA map calls to setup its internal
page tables and for other data structures. As we all know that these DMA map
calls are mostly called in the interrupt context or with the spinlock held by
the upper level drivers(network/storage drivers), so in order to avoid any
memory allocation failure due to low memory issues, this patch makes memory
allocation by temporarily setting PF_MEMALLOC flags for the current task
before making memory allocation calls.
We evaluated mempools as a backup when kmem_cache_alloc() fails
and found that mempools are really not useful here because
1) We don't know for sure how much to reserve in advance
2) And mempools are not useful for GFP_ATOMIC case (as we call
memory alloc functions with GFP_ATOMIC)
(akpm: point 2 is wrong...)
With PF_MEMALLOC flag set in the current->flags, the VM subsystem avoids any
watermark checks before allocating memory thus guarantee'ing the memory till
the last free page. Further, looking at the code in mm/page_alloc.c in
__alloc_pages() function, looks like this flag is useful only in the
non-interrupt context.
If we are in the interrupt context and memory allocation in IOMMU driver fails
for some reason, then the DMA map api's will return failure and it is up to
the higher level drivers to retry. Suppose, if upper level driver programs
the controller with the buggy DMA virtual address, the IOMMU will block that
DMA transaction when that happens thus preventing any corruption to main
memory.
So far in our test scenario, we were unable to create any memory allocation
failure inside dma map api calls.
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:49 +0000 (16:41 -0700)]
Intel IOMMU: Intel IOMMU driver
Actual intel IOMMU driver. Hardware spec can be found at:
http://www.intel.com/technology/virtualization
This driver sets X86_64 'dma_ops', so hook into standard DMA APIs. In this
way, PCI driver will get virtual DMA address. This change is transparent to
PCI drivers.
[
[email protected]: remove unneeded cast]
[
[email protected]: build fix]
[
[email protected]: fix duplicate CONFIG_DMAR Makefile line]
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Adrian Bunk <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:48 +0000 (16:41 -0700)]
Intel IOMMU: IOVA allocation and management routines
This code implements a generic IOVA allocation and management. As per Dave's
suggestion we are now allocating IO virtual address from Higher DMA limit
address rather than lower end address and this eliminated the need to preserve
the IO virtual address for multiple devices sharing the same domain virtual
address.
Also this code uses red black trees to store the allocated and reserved iova
nodes. This showed a good performance improvements over previous linear
linked list.
[
[email protected]: remove inlines]
[
[email protected]: coding style fixes]
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:47 +0000 (16:41 -0700)]
Intel IOMMU: clflush_cache_range now takes size param
Introduce the size param for clflush_cache_range().
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:46 +0000 (16:41 -0700)]
Intel IOMMU: PCI generic helper function
When devices are under a p2p bridge, upstream transactions get replaced by the
device id of the bridge as it owns the PCIE transaction. Hence its necessary
to setup translations on behalf of the bridge as well. Due to this limitation
all devices under a p2p share the same domain in a DMAR.
We just cache the type of device, if its a native PCIe device
or not for later use.
[
[email protected]: BUG_ON -> WARN_ON+recover]
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Keshavamurthy, Anil S [Sun, 21 Oct 2007 23:41:41 +0000 (16:41 -0700)]
Intel IOMMU: DMAR detection and parsing logic
This patch supports the upcomming Intel IOMMU hardware a.k.a. Intel(R)
Virtualization Technology for Directed I/O Architecture and the hardware spec
for the same can be found here
http://www.intel.com/technology/virtualization/index.htm
FAQ! (questions from akpm, answers from ak)
> So... what's all this code for?
>
> I assume that the intent here is to speed things up under Xen, etc?
Yes in some cases, but not this code. That would be the Xen version of this
code that could potentially assign whole devices to guests. I expect this to
be only useful in some special cases though because most hardware is not
virtualizable and you typically want an own instance for each guest.
Ok at some point KVM might implement this too; i likely would use this code
for this.
> Do we
> have any benchmark results to help us to decide whether a merge would be
> justified?
The main advantage for doing it in the normal kernel is not performance, but
more safety. Broken devices won't be able to corrupt memory by doing random
DMA.
Unfortunately that doesn't work for graphics yet, for that need user space
interfaces for the X server are needed.
There are some potential performance benefits too:
- When you have a device that cannot address the complete address range an
IOMMU can remap its memory instead of bounce buffering. Remapping is likely
cheaper than copying.
- The IOMMU can merge sg lists into a single virtual block. This could
potentially speed up SG IO when the device is slow walking SG lists. [I
long ago benchmarked 5% on some block benchmark with an old MPT Fusion; but
it probably depends a lot on the HBA]
And you get better driver debugging because unexpected memory accesses from
the devices will cause a trappable event.
>
> Does it slow anything down?
It adds more overhead to each IO so yes.
This patch:
Add support for early detection and parsing of DMAR's (DMA Remapping) reported
to OS via ACPI tables.
DMA remapping(DMAR) devices support enables independent address translations
for Direct Memory Access(DMA) from Devices. These DMA remapping devices are
reported via ACPI tables and includes pci device scope covered by these DMA
remapping device.
For detailed info on the specification of "Intel(R) Virtualization Technology
for Directed I/O Architecture" please see
http://www.intel.com/technology/virtualization/index.htm
Signed-off-by: Anil S Keshavamurthy <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Muli Ben-Yehuda <[email protected]>
Cc: "Siddha, Suresh B" <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Ashok Raj <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Len Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Jan Kara [Sun, 21 Oct 2007 23:41:40 +0000 (16:41 -0700)]
ext2: avoid rec_len overflow with 64KB block size
With 64KB blocksize, a directory entry can have size 64KB which does not
fit into 16 bits we have for entry length. So we store 0xffff instead and
convert the value when read from / written to disk.
[
[email protected]: coding-style fixes]
Signed-off-by: Jan Kara <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
J. Bruce Fields [Sun, 21 Oct 2007 23:41:38 +0000 (16:41 -0700)]
dcache: don't expose uninitialized memory in /proc/<pid>/fd/<fd>
Well, it's not especially important that target->d_iname get the contents
of dentry->d_iname, but it's important that it get initialized with
*something*, otherwise we're just exposing some random piece of memory to
anyone who reads the link at /proc/<pid>/fd/<fd> for the deleted file, when
it's still held open by someone.
I've run a test program that copies a short (<36 character) name ontop of a
long (>=36 character) name and see that the first time I run it, without
this patch, I get unpredicatable results out of /proc/<pid>/fd/<fd>.
Signed-off-by: J. Bruce Fields <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Serge E. Hallyn [Sun, 21 Oct 2007 23:41:38 +0000 (16:41 -0700)]
capabilities: clean up file capability reading
Simplify the vfs_cap_data structure.
Also fix get_file_caps which was declaring
__le32 v1caps[XATTR_CAPS_SZ] on the stack, but
XATTR_CAPS_SZ is already * sizeof(__le32).
[
[email protected]: coding-style fixes]
Signed-off-by: Serge E. Hallyn <[email protected]>
Cc: Andrew Morgan <[email protected]>
Cc: Chris Wright <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Yasunori Goto [Sun, 21 Oct 2007 23:41:37 +0000 (16:41 -0700)]
memory hotplug: make kmem_cache_node for SLUB on memory online avoid panic
Fix a panic due to access NULL pointer of kmem_cache_node at discard_slab()
after memory online.
When memory online is called, kmem_cache_nodes are created for all SLUBs
for new node whose memory are available.
slab_mem_going_online_callback() is called to make kmem_cache_node() in
callback of memory online event. If it (or other callbacks) fails, then
slab_mem_offline_callback() is called for rollback.
In memory offline, slab_mem_going_offline_callback() is called to shrink
all slub cache, then slab_mem_offline_callback() is called later.
[
[email protected]: coding-style fixes]
[
[email protected]: locking fix]
[
[email protected]: build fix]
Signed-off-by: Yasunori Goto <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Yasunori Goto [Sun, 21 Oct 2007 23:41:36 +0000 (16:41 -0700)]
memory hotplug: rearrange memory hotplug notifier
Current memory notifier has some defects yet. (Fortunately, nothing uses
it.) This patch is to fix and rearrange for them.
- Add information of start_pfn, nr_pages, and node id if node status is
changes from/to memoryless node for callback functions.
Callbacks can't do anything without those information.
- Add notification going-online status.
It is necessary for creating per node structure before the node's
pages are available.
- Move GOING_OFFLINE status notification after page isolation.
It is good place for return memory like cache for callback,
because returned page is not used again.
- Make CANCEL events for rollingback when error occurs.
- Delete MEM_MAPPING_INVALID notification. It will be not used.
- Fix compile error of (un)register_memory_notifier().
Signed-off-by: Yasunori Goto <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Yasunori Goto [Sun, 21 Oct 2007 23:41:36 +0000 (16:41 -0700)]
memory hotplug: document the memory hotplug notifier
Add description about event notification callback routine to the document
Signed-off-by: Yasunori Goto <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Rusty Russell [Sun, 21 Oct 2007 23:41:35 +0000 (16:41 -0700)]
i386: paravirt boot sequence
This patch uses the updated boot protocol to do paravirtualized boot.
If the boot version is >= 2.07, then it will do two things:
1. Check the bootparams loadflags to see if we should reload the
segment registers and clear interrupts. This is appropriate
for normal native boot and some paravirtualized environments, but
inapproprate for others.
2. Check the hardware architecture, and dispatch to the appropriate
kernel entrypoint. If the bootloader doesn't set this, then we
simply do the normal boot sequence.
Signed-off-by: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: Rusty Russell <[email protected]>
Acked-by: H. Peter Anvin <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: Vivek Goyal <[email protected]>
Cc: James Bottomley <[email protected]>
Cc: Zachary Amsden <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Rusty Russell [Sun, 21 Oct 2007 23:41:34 +0000 (16:41 -0700)]
add WEAK() for creating weak asm labels
Signed-off-by: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: Rusty Russell <[email protected]>
Acked-by: H. Peter Anvin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Rusty Russell [Sun, 21 Oct 2007 23:41:33 +0000 (16:41 -0700)]
update boot spec to 2.07
Updates for version 2.07 of the boot protocol. This includes:
load_flags.KEEP_SEGMENTS- flag to request/inhibit segment reloads
hardware_subarch - what subarchitecture we're booting under
hardware_subarch_data - per-architecture data
The intention of these changes is to make booting a paravirtualized
kernel work via the normal Linux boot protocol.
Signed-off-by: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: Rusty Russell <[email protected]>
Acked-by: H. Peter Anvin <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: Vivek Goyal <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Jens Axboe [Mon, 22 Oct 2007 15:07:37 +0000 (17:07 +0200)]
[SG] Add helpers for manipulating SG entries
We can then transition drivers without changing the generated code.
Signed-off-by: Jens Axboe <[email protected]>
Matthias Schwarzott [Thu, 18 Oct 2007 17:58:11 +0000 (14:58 -0300)]
V4L/DVB (6382): saa7134: fix NULL dereference at suspend time for cards without IR receiver
Calling saa7134_ir_stop at suspend is no good idea
for saa7134 cards without remote control.
Signed-off-by: Matthias Schwarzott <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Ian Armstrong [Wed, 17 Oct 2007 18:09:56 +0000 (15:09 -0300)]
V4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option
Due to changes in the core ivtv driver as of release 1.0, the osd_compat
module option has been rendered obsolete. This patch removes the option and
all code associated with it.
Signed-off-by: Ian Armstrong <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Pedro [Wed, 17 Oct 2007 20:58:40 +0000 (17:58 -0300)]
V4L/DVB (6379): patch which improves GotView Saa7135 remote control
improve GoTView PCI7135 remote control working under linux.
Acked-by: Hermann Pitton <[email protected]>
Acked-by: Nickolay V. Shmyrev <[email protected]>
Signed-off-by: Eugene M. Roginskii <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Mauro Carvalho Chehab [Wed, 17 Oct 2007 17:32:36 +0000 (15:32 -0200)]
V4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Mauro Carvalho Chehab [Wed, 17 Oct 2007 17:11:23 +0000 (15:11 -0200)]
V4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Patrick Boettcher [Thu, 11 Oct 2007 17:06:37 +0000 (14:06 -0300)]
V4L/DVB (6378): DiB0700-device: Using 1.10 firmware
As for most of the users the 1.10 firmware is an improvement we should
use this firmware always now.
Signed-off-by: Patrick Boettcher <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Mike Isely [Sun, 14 Oct 2007 21:18:12 +0000 (18:18 -0300)]
V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking
This is a minor change to help with tracking the viability of the
encoder chip within the PVR USB2 device.
Signed-off-by: Mike Isely <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Marco Schluessler [Tue, 16 Oct 2007 11:25:42 +0000 (08:25 -0300)]
V4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation
Signed-off-by: Marco Schluessler <[email protected]>
Signed-off-by: Oliver Endriss <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Trent Piepho [Mon, 15 Oct 2007 23:39:25 +0000 (20:39 -0300)]
V4L/DVB (6352): ir-kbd-i2c: Missing break statement
Someone added a new case without adding a break to the one before it.
Thanks to Margus <b-berski at mbox200 dot swipnet dot se> for spotting this.
Signed-off-by: Trent Piepho <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Florin Malita [Mon, 15 Oct 2007 15:59:18 +0000 (12:59 -0300)]
V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc
Coverity (CID 1929) spotted the following: if a transfer buffer
allocation fails, the last allocated urb is leaked (it hasn't been
stored in dev->urb[] yet so em28xx_uninit_isoc misses it). The patch
also includes a small typo fix.
Signed-off-by: Florin Malita <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Hans Verkuil [Sun, 14 Oct 2007 20:27:56 +0000 (17:27 -0300)]
V4L/DVB (6348): ivtv: undo video mute when closing the radio
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Hans Verkuil [Sun, 14 Oct 2007 20:19:37 +0000 (17:19 -0300)]
V4L/DVB (6347): ivtv: fix video mute when radio is used
When the radio is active the video should be muted when a capture
starts. However, this was done at the wrong time and the mute settings
were overwritten when cx2341x_update was called.
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Ian Armstrong [Sun, 14 Oct 2007 16:12:28 +0000 (13:12 -0300)]
V4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded
If the ivtvfb module isn't loaded, the valid YUV output area should be set to
full-screen. This patch fixes the case where the valid output area was not
reset when the output broadcast format was changed from NTSC to PAL. This
resulted in output being limited to the top 480 lines of the display.
Signed-off-by: Ian Armstrong <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>