Magnus Damm [Tue, 15 Jul 2008 12:55:03 +0000 (21:55 +0900)]
sh: Export sh7366 VPU, VEU(1), VEU(2) using uio_pdrv_genirq
This patch exports the VPU, VEU(1) and VEU(2) blocks of the sh7366
to user space using the uio_pdrv_genirq platform driver.
While at it, fix up the VEU(2) interrupt vector.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Tue, 15 Jul 2008 12:53:33 +0000 (21:53 +0900)]
sh: Export sh7723 VPU, VEU2H0, VEU2H1 using uio_pdrv_genirq
This patch exports the VPU, VEU2H0 and VEU2H1 blocks of the sh7723
to user space using the uio_pdrv_genirq platform driver.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Tue, 15 Jul 2008 12:52:19 +0000 (21:52 +0900)]
sh: Export sh7722 VPU and VEU using uio_pdrv_genirq
This patch exports the VPU and VEU blocks of the sh7722 to user space
using the uio_pdrv_genirq platform driver.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Tue, 15 Jul 2008 12:51:39 +0000 (21:51 +0900)]
sh: Export sh7343 VPU and VEU using uio_pdrv_genirq
This patch exports the VPU and VEU blocks of the sh7343 to user space
using the uio_pdrv_genirq platform driver.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Wed, 9 Jul 2008 16:20:03 +0000 (01:20 +0900)]
sh2(A) exception handler update
This patch is
By sh2
- Remove duplicate code
- Reduce stack usage
- Cleanup and little optimize
By sh2a
- Add missing handler(256 to 511)
- Use sh2a instructions handler
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshihiro Shimoda [Mon, 7 Jul 2008 12:11:54 +0000 (21:11 +0900)]
sh: update Solution Engine 7343
updated the following codes for Solution Endine 7343:
- fix compile error in arch/sh/boards/se/7343/irq.c
- add nor flash physmaps
- update defconfig
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshihiro Shimoda [Mon, 7 Jul 2008 12:11:51 +0000 (21:11 +0900)]
sh: update sh7343 code
updated the following codes for SH7343:
- add register_intc_controller()
- add EARLY_SCIF_CONSOLE_PORT
- add define of CPG register
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Sat, 5 Jul 2008 03:33:30 +0000 (12:33 +0900)]
sh: fix pg-sh4.c build breakage in linux-next
Remove inline from ptep_get_and_clean() to match with header file prototype.
Makes linux-next build.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Sat, 5 Jul 2008 03:32:44 +0000 (12:32 +0900)]
sh: enable I2C on the ap325rxa board
This patch enables I2C on the sh7723-based ap325rxa board.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Sat, 5 Jul 2008 03:32:23 +0000 (12:32 +0900)]
sh: add SuperH Mobile I2C platform data to sh7366
This patch adds platform data for the single I2C channel on sh7366.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Sat, 5 Jul 2008 03:32:06 +0000 (12:32 +0900)]
sh: add SuperH Mobile I2C platform data to sh7723
This patch adds platform data for the single I2C channel on sh7723.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Sat, 5 Jul 2008 03:31:46 +0000 (12:31 +0900)]
sh: add SuperH Mobile I2C platform data to sh7343
This patch adds platform data for two I2C channels to the sh7343.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshihiro Shimoda [Fri, 4 Jul 2008 03:37:12 +0000 (12:37 +0900)]
sh: add interrupt ack code to sh4a
This patch is based on interrupt acknowledge code for external
interrupt sources on sh3 processors and adds on sh4a processors.
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Fri, 4 Jul 2008 03:54:51 +0000 (12:54 +0900)]
sh: Fix up link error on SH-2 zImage with older binutils.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Wed, 2 Jul 2008 08:51:23 +0000 (17:51 +0900)]
sh: Conditionally re-enable IRQs in fault path.
The current kernel behaviour is to reenable interrupts unconditionally
when taking a page fault. This patch changes this to only enable them
if interrupts were previously enabled.
It also fixes a problem seen with this fix in place: the kernel previously
flushed the vsyscall page when handling a signal, which is not only
unncessary, but caused a possible sleep with interrupts disabled.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 2 Jul 2008 08:46:40 +0000 (17:46 +0900)]
sh: Record the major cut revision for probed SH-4A parts.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Chris Smith [Wed, 2 Jul 2008 06:17:11 +0000 (15:17 +0900)]
sh: Optimized flush_icache_range() implementation.
Add implementation of flush_icache_range() suitable for signal handler
and kprobes. Remove flush_cache_sigtramp() and change signal.c to use
flush_icache_range().
Signed-off-by: Chris Smith <chris.smith@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Wed, 2 Jul 2008 06:15:09 +0000 (15:15 +0900)]
sh: Stub in silicon cut in CPU info.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 2 Jul 2008 04:58:38 +0000 (13:58 +0900)]
sh: Tidy up the SH-3 exception vector table.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Wed, 2 Jul 2008 02:20:24 +0000 (22:20 -0400)]
SH7619 add ethernet controler support
- Add EtherC + PHY resource define.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Tue, 24 Jun 2008 04:00:52 +0000 (13:00 +0900)]
sh: Remove sh_pcic_io_xxx function from Solution Engine IO code
sh_pcic_io_xxx function are very old.
In linux-2.4, mrshpc_ss socket driver used this function.
But there is not this driver to the present kernel.
I deleted these cords and checked operation.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Thu, 19 Jun 2008 10:27:55 +0000 (19:27 +0900)]
sh: Fix Kconfig of AP-325RXA
The CPU of AP-325RXA is SH7723, but a CPU becomes selectable.
This patch fixes this problem.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Wed, 18 Jun 2008 09:32:03 +0000 (18:32 +0900)]
sh: Clean up code of Solution Engine 770x
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Wed, 18 Jun 2008 09:31:46 +0000 (18:31 +0900)]
sh: Update Solution Enginge 7712 defconfig
Enable SH-Ether support and NFS userland support.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Wed, 18 Jun 2008 09:29:06 +0000 (18:29 +0900)]
sh: Solution Enginge 7710/7712 SH-Ether support
Add support SH-Ether for Hitachi Solution Engine.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian Bunk [Wed, 18 Jun 2008 00:36:50 +0000 (03:36 +0300)]
sh/kernel/ cleanups
This patch contains the following cleanups:
- make the following needlessly global code static:
- cf-enabler.c: cf_init()
- cpu/clock.c: __clk_enable()
- cpu/clock.c: __clk_disable()
- process_32.c: default_idle()
- time_32.c: struct clocksource_sh
- timers/timer-tmu.c: struct tmu_timer_ops
- remove the following unused functions (no CONFIG_BLK_DEV_FD on sh):
- process_{32,64}.c: disable_hlt()
- process_{32,64}.c: enable_hlt()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian Bunk [Tue, 17 Jun 2008 22:33:40 +0000 (01:33 +0300)]
sh: make pcibios_max_latency static
This patch makes the needlessly global pcibios_max_latency static.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian Bunk [Tue, 17 Jun 2008 22:31:03 +0000 (01:31 +0300)]
sh: make EARLY_PCI_OP's static
This patch makes the needlessly global EARLY_PCI_OP's static.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian Bunk [Tue, 17 Jun 2008 22:30:57 +0000 (01:30 +0300)]
sh/boards/dreamcast/rtc.c: make 2 functions static
This patch makes the needlessly global aica_rtc_{get,set}timeofday()
static.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian McMenamin [Sun, 15 Jun 2008 19:48:09 +0000 (20:48 +0100)]
maple: tidy maple_driver code by removing redundant connect/disconnect
The connect and disconnect functions are unnecessary - everything they do can be
accomplished in the initial probe - so remove them.
Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Fri, 6 Jun 2008 08:04:56 +0000 (17:04 +0900)]
sh: Renesas Solutions SH7763RDP board support
This patch adds basic support for the SH7763RDP board.
This supports a basic stuff provided in SH7763, like SCIF,
NOR Flash and USB host.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Nobuhiro Iwamatsu [Fri, 6 Jun 2008 08:04:08 +0000 (17:04 +0900)]
sh: Add SCIF2 support for SH7763.
SH7763 has 3 SCIF device. Current code supports SCIF0 and 1.
SCIF0 and 1 are same register constitution, but only SCIF2 is different.
I added support of SCIF2.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yusuke Goda [Fri, 6 Jun 2008 08:03:23 +0000 (17:03 +0900)]
sh: Add support Renesas Solutions AP-325RXA board
This board is SH7723 base board.
This has SCIF, LCDC, USB Host controler, NOR/NAND Flash, Sound,
Ether and other.
This patch supports SCIF, NOR Flash.
Signed-off-by: Yusuke Goda <goda.yusuke@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 3 Jun 2008 11:05:39 +0000 (20:05 +0900)]
sh: Initial consolidation of the _32/_64 uaccess split.
This consolidates everything but the bare assembly routines, which we
will sync up in a follow-up patch.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 3 Jun 2008 10:38:22 +0000 (19:38 +0900)]
sh: Consolidate addr/access_ok across mmu/nommu on 32bit.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 3 Jun 2008 10:37:35 +0000 (19:37 +0900)]
sh: Use the common segment definitions for the _64 uaccess routines.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 3 Jun 2008 09:54:02 +0000 (18:54 +0900)]
sh: Add support for 16kB PAGE_SIZE.
16kB is a useful size on nommu, while 64kB still tends to be too big to
be useful. Newer MMUs are likely to support this as well, so plug it
in in anticipation of those, too.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 3 Jun 2008 09:52:11 +0000 (18:52 +0900)]
sh: Support variable page sizes on nommu.
PAGE_SIZE doesn't need to be fixed at 4096 on nommu, so stub in a !MMU
case for the various PAGE_SIZE Kconfig options.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 3 Jun 2008 09:48:54 +0000 (18:48 +0900)]
sh: Consolidate segment modifiers across mmu/nommu systems.
This moves get_fs/set_fs() and friends in to asm/segment.h. The
mm_segment_t definition is likewise consolidated from the _32/_64 split.
This is prepatory groundwork for using the generic address space limit
and verification routines across mmu/nommu configs.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 19 May 2008 07:47:56 +0000 (16:47 +0900)]
sh: RSK+ 7203 board support.
This adds initial support for the RTE RSK+ SH7203 board.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 19 May 2008 05:00:44 +0000 (14:00 +0900)]
sh: Make dump_task dependent on ELF core.
Currently this is only linked in for CONFIG_BINFMT_ELF, make it dependent
on CONFIG_ELF_CORE, so it's both selectable there and also linked in for
CONFIG_BINFMT_ELF_FDPIC.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 19 May 2008 04:40:12 +0000 (13:40 +0900)]
sh: Initial ELF FDPIC support.
This adds initial support for ELF FDPIC on MMU-less SH, as per version
0.2 of the ABI definition at:
http://www.codesourcery.com/public/docs/sh-fdpic/sh-fdpic-abi.txt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 19 May 2008 04:34:45 +0000 (13:34 +0900)]
binfmt_elf_fdpic: Magical stack pointer index, for NEW_AUX_ENT compat.
While implementing binfmt_elf_fdpic on SH it quickly became apparent
that SH was the first platform to support both binfmt_elf_fdpic and
binfmt_elf, as well as the only of the FDPIC platforms to make use of the
auxvt.
Currently binfmt_elf_fdpic uses a special version of NEW_AUX_ENT() where
the first argument is the entry displacement after csp has been adjusted,
being reset after each adjustment. As we have no ability to sort this out
through the platform's ARCH_DLINFO, this index needs to be managed
entirely in create_elf_fdpic_tables(). Presently none of the platforms
that set their own auxvt entries are able to do so through their
respective ARCH_DLINFOs when using binfmt_elf_fdpic.
In addition to this, binfmt_elf_fdpic has been looking at
DLINFO_ARCH_ITEMS for the number of architecture-specific entries in the
auxvt. This is legacy cruft, and is not defined by any platforms in-tree,
even those that make heavy use of the auxvt. AT_VECTOR_SIZE_ARCH is
always available, and contains the number that is of interest here, so we
switch to using that unconditionally as well.
As this has direct bearing on how much stack is used, platforms that have
configurable (or dynamically adjustable) NEW_AUX_ENT calls need to either
make AT_VECTOR_SIZE_ARCH more fine-grained, or leave it as a worst-case
and live with some lost stack space if those entries aren't pushed (some
platforms may also need to purposely sacrifice some space here for
alignment considerations, as noted in the code -- although not an issue
for any FDPIC-capable platform today).
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: David Howells <dhowells@redhat.com>
Adrian Bunk [Tue, 17 Jun 2008 22:30:53 +0000 (01:30 +0300)]
move arch/sh/lib/io.o to obj-y
EXPORT_SYMBOL's in lib-y considered harmful:
<-- snip -->
...
MODPOST 1837 modules
ERROR: "__raw_readsl" [drivers/ssb/ssb.ko] undefined!
ERROR: "__raw_writesl" [drivers/ssb/ssb.ko] undefined!
ERROR: "__raw_writesl" [drivers/net/smc91x.ko] undefined!
ERROR: "__raw_readsl" [drivers/net/smc91x.ko] undefined!
ERROR: "__raw_writesl" [drivers/net/3c59x.ko] undefined!
ERROR: "__raw_readsl" [drivers/net/3c59x.ko] undefined!
...
make[2]: *** [__modpost] Error 1
<-- snip -->
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian Bunk [Tue, 17 Jun 2008 22:30:40 +0000 (01:30 +0300)]
sh dreamcast: export board_pci_channels
This patch fixes the following build error:
<-- snip -->
...
MODPOST 1837 modules
ERROR: "board_pci_channels" [drivers/pcmcia/yenta_socket.ko] undefined!
...
make[2]: *** [__modpost] Error 1
<-- snip -->
I freely admit that it's a pathological configuration, but as long as
it is allowed it should build.
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian Bunk [Tue, 17 Jun 2008 22:30:24 +0000 (01:30 +0300)]
sh: export get_cpu_subtype
This patch fixes the following build error:
<-- snip -->
...
MODPOST 1837 modules
ERROR: "get_cpu_subtype" [arch/sh/oprofile/oprofile.ko] undefined!
...
make[2]: *** [__modpost] Error 1
<-- snip -->
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Khem Raj [Thu, 3 Jul 2008 10:02:41 +0000 (19:02 +0900)]
sh: Prevent leaking of CONFIG_SUPERH32 to userspace in asm/unistd.h.
CONFIG_SUPERH32 is currently trickling into userspace unistd.h. Attached
patch uses __SH5__ define in userspace.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Li Zefan [Tue, 24 Jun 2008 05:30:23 +0000 (13:30 +0800)]
sh: fix seq_file memory leak
When using single_open(), single_release() should be used instead
of seq_release(), otherwise there is a memory leak.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Linus Torvalds [Sun, 27 Jul 2008 23:47:55 +0000 (16:47 -0700)]
Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
* 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
nfs_remount oops when rebooting + possible fix
Linus Torvalds [Sun, 27 Jul 2008 23:46:51 +0000 (16:46 -0700)]
Merge branch 'x86/urgent' of git://git./linux/kernel/git/x86/linux-2.6-tip
* 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
x86: fix cpu hotplug on 32bit
Linus Torvalds [Sun, 27 Jul 2008 23:46:08 +0000 (16:46 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Fix shared mmap when more than two maps of the same file exist
[ARM] fix VIPT/VIVT macro optimisations, add comments
[ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_*
[ARM] update defconfig for eseries.
[ARM] PXA: squash warning in pxafb
[ARM] pxa: PXA25x UDC - Fix warning during build
[ARM] fix nwflash.c:
6ee8928d94841aa764aeaf645ad16daff811dc26
[ARM] fix IOP32x, IOP33x, MXC and Samsung builds
[ARM] pci: provide dummy pci_get_legacy_ide_irq()
[ARM] fix fls() for 64-bit arguments
[ARM] fix mode for board-yl-9200.c
[ARM] 5176/1: arm/Makefile: fix: ARM946T -> ARM946E
Andrea Righi [Sun, 27 Jul 2008 22:48:12 +0000 (00:48 +0200)]
task IO accounting: move all IO statistics in struct task_io_accounting
Simplify the code of include/linux/task_io_accounting.h.
It is also more reasonable to have all the task i/o-related statistics in a
single struct (task_io_accounting).
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Trond Myklebust [Sun, 27 Jul 2008 22:03:19 +0000 (18:03 -0400)]
NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
In order to avoid the "Busy inodes after unmount" error message, we need to
ensure that nfs_async_unlink_release() releases the super block after the
call to nfs_free_unlinkdata().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Marc Zyngier [Thu, 17 Jul 2008 11:21:55 +0000 (13:21 +0200)]
nfs_remount oops when rebooting + possible fix
Jeff, Trond,
The commit
48b605f83c920d8daa50e43fc2c7f718e04c7bfa (NFS: implement option checking
when remounting NFS filesystems (resend))
generate an Oops on my platform when rebooting while its root FS on
an NFS share (NFSv3, TCP) :
Unmounting local filesystems...done.
Unable to handle kernel NULL pointer dereference at virtual address
00000000
pgd =
c3d00000
[
00000000] *pgd=
a3d72031, *pte=
00000000, *ppte=
00000000
Internal error: Oops: 17 [#1]
Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
CPU: 0 Not tainted (
2.6.26-03414-g33af79d-dirty #15)
PC is at nfs_remount+0x40/0x264
LR is at do_remount_sb+0x158/0x194
pc : [<
c00bbf54>] lr : [<
c0076c40>] psr:
60000013
sp :
c2dd1e70 ip :
c2dd1e98 fp :
c2dd1e94
r10:
00000040 r9 :
c3d17000 r8 :
c3c3fc40
r7 :
00000000 r6 :
00000000 r5 :
c3d2b200 r4 :
00000000
r3 :
00000003 r2 :
00000000 r1 :
c2dd1e9c r0 :
c3c3fc00
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control:
0000397f Table:
a3d00000 DAC:
00000015
Process mount (pid: 1462, stack limit = 0xc2dd0270)
Stack: (0xc2dd1e70 to 0xc2dd2000)
1e60:
00000000 c3c3fc00 00000000 00000000
1e80:
c3c3fc40 c3d17000 c2dd1ebc c2dd1e98 c0076c40 c00bbf20 c01c61e4 00000001
1ea0:
c2dd1ebc 00000001 c3c3fc00 c2dd1ef0 c2dd1ee4 c2dd1ec0 c008c6d8 c0076af4
1ec0:
00000021 00000040 c2dd1ef0 c3d77000 c3eaa000 00000000 c2dd1f6c c2dd1ee8
1ee0:
c008d1bc c008c5f8 00000000 c2dd0000 c3c0c320 c3805b38 c002064c 0001f820
1f00:
0001f810 00000001 00000001 00000000 c2dd0000 00000000 c2dd1f34 c2dd1f28
1f20:
c005ead8 c005e6f8 c2dd1f44 c2dd1f38 c005eaf8 c005ead0 c2dd1f6c c2dd1f48
1f40:
c008ae3c 00000000 c3d77000 0001f810 c0ed0021 c0020ca8 c2dd0000 00000000
1f60:
c2dd1fa4 c2dd1f70 c008d2d4 c008d0bc 00000000 0001f810 c2dd1f9c c3eaa000
1f80:
c3d17000 00000000 00000000 be8b6aa8 be8b6ad0 00000015 00000000 c2dd1fa8
1fa0:
c0020b00 c008d254 00000000 be8b6aa8 0001f810 0001f820 0001f830 c0ed0021
1fc0:
00000000 be8b6aa8 be8b6ad0 00000015 00000000 be8b6ad0 0001f810 be8b6aa8
1fe0:
0001f810 be8b6964 0000aab8 40125124 60000010 0001f810 00000000 00000000
Backtrace:
[<
c00bbf14>] (nfs_remount+0x0/0x264) from [<
c0076c40>] (do_remount_sb+0x158/0x194)
r9:
c3d17000 r8:
c3c3fc40 r7:
00000000 r6:
00000000 r5:
c3c3fc00
r4:
00000000
[<
c0076ae8>] (do_remount_sb+0x0/0x194) from [<
c008c6d8>] (do_remount+0xec/0x118)
r6:
c2dd1ef0 r5:
c3c3fc00 r4:
00000001
[<
c008c5ec>] (do_remount+0x0/0x118) from [<
c008d1bc>] (do_mount+0x10c/0x198)
[<
c008d0b0>] (do_mount+0x0/0x198) from [<
c008d2d4>] (sys_mount+0x8c/0xd4)
[<
c008d248>] (sys_mount+0x0/0xd4) from [<
c0020b00>] (ret_fast_syscall+0x0/0x2c)
r7:
00000015 r6:
be8b6ad0 r5:
be8b6aa8 r4:
00000000
Code:
0a000086 ea000006 e3530003 8a000004 (
e5923000)
---[ end trace
55e1b689cf8c8a6a ]---
------------[ cut here ]------------
WARNING: at kernel/exit.c:966 do_exit+0x3c/0x628()
Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
[<
c0025168>] (dump_stack+0x0/0x14) from [<
c0032154>] (warn_on_slowpath+0x4c/0x68)
[<
c0032108>] (warn_on_slowpath+0x0/0x68) from [<
c003531c>] (do_exit+0x3c/0x628)
r6:
0000000b r5:
c3c3dc80 r4:
c2dd0000
[<
c00352e0>] (do_exit+0x0/0x628) from [<
c0025004>] (die+0x2b0/0x30c)
[<
c0024d54>] (die+0x0/0x30c) from [<
c00270bc>] (__do_kernel_fault+0x6c/0x80)
[<
c0027050>] (__do_kernel_fault+0x0/0x80) from [<
c00272e0>] (do_page_fault+0x210/0x230)
r7:
c3fa7118 r6:
c3c3dc80 r5:
c3d166a8 r4:
00010000
[<
c00270d0>] (do_page_fault+0x0/0x230) from [<
c00201ec>] (do_DataAbort+0x3c/0xa0)
[<
c00201b0>] (do_DataAbort+0x0/0xa0) from [<
c002064c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc2dd1e28 to 0xc2dd1e70)
1e20:
c3c3fc00 c2dd1e9c 00000000 00000003 00000000 c3d2b200
1e40:
00000000 00000000 c3c3fc40 c3d17000 00000040 c2dd1e94 c2dd1e98 c2dd1e70
1e60:
c0076c40 c00bbf54 60000013 ffffffff
r8:
c3c3fc40 r7:
00000000 r6:
00000000 r5:
c2dd1e5c r4:
ffffffff
[<
c00bbf14>] (nfs_remount+0x0/0x264) from [<
c0076c40>] (do_remount_sb+0x158/0x194)
r9:
c3d17000 r8:
c3c3fc40 r7:
00000000 r6:
00000000 r5:
c3c3fc00
r4:
00000000
[<
c0076ae8>] (do_remount_sb+0x0/0x194) from [<
c008c6d8>] (do_remount+0xec/0x118)
r6:
c2dd1ef0 r5:
c3c3fc00 r4:
00000001
[<
c008c5ec>] (do_remount+0x0/0x118) from [<
c008d1bc>] (do_mount+0x10c/0x198)
[<
c008d0b0>] (do_mount+0x0/0x198) from [<
c008d2d4>] (sys_mount+0x8c/0xd4)
[<
c008d248>] (sys_mount+0x0/0xd4) from [<
c0020b00>] (ret_fast_syscall+0x0/0x2c)
r7:
00000015 r6:
be8b6ad0 r5:
be8b6aa8 r4:
00000000
---[ end trace
55e1b689cf8c8a6a ]---
/etc/rc6.d/S60umountroot: line 17: 1462 Segmentation fault mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2> /dev/null
The new super.c:nfs_remount function doesn't check the validity of the
options/options4 pointers. Unfortunately, this seems to happend.
The obvious patch seems to check the pointers, and not to do anything if
the happend to be NULL.
Tested on an XScale PXA255 system, latest git.
Regards,
M.
Signed-off-by: Marc Zyngier <marc.zyngier@altran.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Thomas Gleixner [Sun, 27 Jul 2008 19:43:11 +0000 (21:43 +0200)]
x86: fix cpu hotplug on 32bit
commit
3e9704739daf46a8ba6593d749c67b5f7cd633d2 ("x86: boot secondary
cpus through initial_code") causes the kernel to crash when a CPU is
brought online after the read only sections have been write
protected. The write to initial_code in do_boot_cpu() fails.
Move inital_code to .cpuinit.data section.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Linus Torvalds [Sun, 27 Jul 2008 17:24:06 +0000 (10:24 -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: state userland requirements in Kconfig help
firewire: avoid memleak after phy config transmit failure
firewire: fw-ohci: TSB43AB22/A dualbuffer workaround
firewire: queue the right number of data
firewire: warn on unfinished transactions during card removal
firewire: small fw_fill_request cleanup
firewire: fully initialize fw_transaction before marking it pending
firewire: fix race of bus reset with request transmission
Linus Torvalds [Sun, 27 Jul 2008 17:04:52 +0000 (10:04 -0700)]
Merge git://git./linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (59 commits)
[SCSI] replace __FUNCTION__ with __func__
[SCSI] extend the last_sector_bug flag to cover more sectors
[SCSI] qla2xxx: Update version number to 8.02.01-k6.
[SCSI] qla2xxx: Additional NPIV corrections.
[SCSI] qla2xxx: suppress uninitialized-var warning
[SCSI] qla2xxx: use memory_read_from_buffer()
[SCSI] qla2xxx: Issue proper ISP callbacks during stop-firmware.
[SCSI] ch: fix ch_remove oops
[SCSI] 3w-9xxx: add MSI support and misc fixes
[SCSI] scsi_lib: use blk_rq_tagged in scsi_request_fn
[SCSI] ibmvfc: Update driver version to 1.0.1
[SCSI] ibmvfc: Add ADISC support
[SCSI] ibmvfc: Miscellaneous fixes
[SCSI] ibmvfc: Fix hang on module removal
[SCSI] ibmvfc: Target refcounting fixes
[SCSI] ibmvfc: Reduce unnecessary log noise
[SCSI] sym53c8xx: free luntbl in sym_hcb_free
[SCSI] scsi_scan.c: Release mutex in error handling code
[SCSI] scsi_eh_prep_cmnd should save scmd->underflow
[SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field
...
Linus Torvalds [Sun, 27 Jul 2008 17:03:00 +0000 (10:03 -0700)]
Merge git://git./linux/kernel/git/hskinnemoen/avr32-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
avr32: some mmc/sd cleanups
include/video/atmel_lcdc.h must #include <linux/workqueue.h>
avr32: allow system timer to share interrupt to make OProfile work
drivers/misc/atmel-ssc.c: Removed duplicated include
avr32: Add platform data for AC97C platform device
avr32: clean up mci platform code
fix avr32 build errors
Linus Torvalds [Sun, 27 Jul 2008 17:00:23 +0000 (10:00 -0700)]
Merge branch 'kvm-updates-2.6.27' of git://git./linux/kernel/git/avi/kvm
* 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
KVM: ppc: fix invalidation of large guest pages
KVM: s390: Fix possible host kernel bug on lctl(g) handling
KVM: s390: Fix instruction naming for lctlg
KVM: s390: Fix program check on interrupt delivery handling
KVM: s390: Change guestaddr type in gaccess
KVM: s390: Fix guest kconfig
KVM: s390: Advertise KVM_CAP_USER_MEMORY
KVM: ia64: Fix irq disabling leak in error handling code
KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko
KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter
KVM: task switch: translate guest segment limit to virt-extension byte granular field
KVM: Avoid instruction emulation when event delivery is pending
KVM: task switch: use seg regs provided by subarch instead of reading from GDT
KVM: task switch: segment base is linear address
KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module
Linus Torvalds [Sun, 27 Jul 2008 16:59:59 +0000 (09:59 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild-next
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)
setlocalversion: do not describe if there is nothing to describe
kconfig: fix typos: "Suport" -> "Support"
kconfig: make defconfig is no longer chatty
kconfig: make oldconfig is now less chatty
kconfig: speed up all*config + randconfig
kconfig: set all new symbols automatically
kconfig: add diffconfig utility
kbuild: remove Module.markers during mrproper
kbuild: sparse needs CF not CHECKFLAGS
kernel-doc: handle/strip __init
vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
init: fix URL of "The GNU Accounting Utilities"
kbuild: add arch/$ARCH/include to search path
kbuild: asm symlink support for arch/$ARCH/include
kbuild: support arch/$ARCH/include for tags, cscope
kbuild: prepare headers_* for arch/$ARCH/include
kbuild: install all headers when arch is changed
kbuild: make clean removes *.o.* as well
kbuild: optimize headers_* targets
kbuild: only one call for include/ in make headers_*
...
Linus Torvalds [Sun, 27 Jul 2008 16:59:24 +0000 (09:59 -0700)]
Merge git://git./linux/kernel/git/herbert/crypto-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: talitos - sparse fix
crypto: talitos - Stop leaking memory in error path
crypto: talitos - Fix GFP flag usage
crypto: talitos - Preempt overflow interrupts
crypto: talitos - Correct dst != src case handling
crypto: talitos - Remove calls to of_node_put
Linus Torvalds [Sun, 27 Jul 2008 16:58:59 +0000 (09:58 -0700)]
Merge git://git./linux/kernel/git/kkeil/ISDN-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6:
Fix namespace issue with Hisax
Stephen Rothwell [Sun, 27 Jul 2008 16:37:32 +0000 (02:37 +1000)]
isdn: mISDN HFC PCI support depends on virt_to_bus()
On powerpc (allyesconfig build) we get this error:
drivers/isdn/hardware/mISDN/hfcpci.c:1991: error: implicit declaration of function 'virt_to_bus'
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andrea Righi [Sun, 27 Jul 2008 15:29:15 +0000 (17:29 +0200)]
task IO accounting: improve code readability
Put all i/o statistics in struct proc_io_accounting and use inline functions to
initialize and increment statistics, removing a lot of single variable
assignments.
This also reduces the kernel size as following (with CONFIG_TASK_XACCT=y and
CONFIG_TASK_IO_ACCOUNTING=y).
text data bss dec hex filename
11651 0 0 11651 2d83 kernel/exit.o.before
11619 0 0 11619 2d63 kernel/exit.o.after
10886 132 136 11154 2b92 kernel/fork.o.before
10758 132 136 11026 2b12 kernel/fork.o.after
3082029 807968
4818600 8708597 84e1f5 vmlinux.o.before
3081869 807968
4818600 8708437 84e155 vmlinux.o.after
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andrea Righi [Sun, 27 Jul 2008 11:39:03 +0000 (13:39 +0200)]
tracing: remove unused variable
Remove the following warning with CONFIG_TRACING=y:
kernel/trace/trace.c: In function ‘s_next’:
kernel/trace/trace.c:1186: warning: unused variable ‘last_ent’
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sun, 27 Jul 2008 16:45:59 +0000 (09:45 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
ALSA: cs4232: fix crash during chip PNP detection
ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop
ALSA: make snd_ac97_add_vmaster() static
ALSA: sound/pci/azt3328.h: no variables for enums
ALSA: soc - wm9712 mono mixer
ALSA: hda - Add support of ASUS Eeepc P90*
ALSA: opti9xx: no isapnp param for !CONFIG_PNP
ALSA: opti93x - Fix NULL dereference
ALSA: hda - Added support for Asus V1Sn
ALSA: ASoC: Factor PGA DAPM handling into main
ALSA: ASoC: Refactor DAPM event handler
ALSA: ALSA: ens1370: communicate PCI device to AC97
ALSA: ens1370: SRC stands for Sample Rate Converter
ALSA: hda - Align BDL position adjustment parameter
ALSA: Au1xpsc: psc not disabled when TX is idle
ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name.
Al Viro [Sun, 27 Jul 2008 07:59:33 +0000 (08:59 +0100)]
missing bits of net-namespace / sysctl
Piss-poor sysctl registration API strikes again, film at 11...
What we really need is _pathname_ required to be present in already
registered table, so that kernel could warn about bad order. That's the
next target for sysctl stuff (and generally saner and more explicit
order of initialization of ipv[46] internals wouldn't hurt either).
For the time being, here are full fixups required by ..._rotable()
stuff; we make per-net sysctl sets descendents of "ro" one and make sure
that sufficient skeleton is there before we start registering per-net
sysctls.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Sun, 27 Jul 2008 05:31:22 +0000 (06:31 +0100)]
lost sysctl fix
try_attach() should walk into the matching subdirectory, not the first one...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: Valdis.Kletnieks@vt.edu
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Karsten Keil [Sun, 27 Jul 2008 16:32:50 +0000 (18:32 +0200)]
Fix namespace issue with Hisax
you can pull this git://git./linux/kernel/git/kkeil/ISDN-2.6 master
rename release_tei() to TEIrelease() because release_tei() was
already exported bei the old HiSax driver.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Harvey Harrison [Fri, 4 Jul 2008 06:47:27 +0000 (23:47 -0700)]
[SCSI] replace __FUNCTION__ with __func__
[jejb: fixed up a ton of missed conversions.
All of you are on notice this has happened, driver trees will now
need to be rebased]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: SCSI List <linux-scsi@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Alan Jenkins [Sun, 27 Jul 2008 08:38:42 +0000 (09:38 +0100)]
[SCSI] extend the last_sector_bug flag to cover more sectors
The last_sector_bug flag was added to work around a bug in certain usb
cardreaders, where they would crash if a multiple sector read included the
last sector. The original implementation avoids this by e.g. splitting an 8
sector read which includes the last sector into a 7 sector read, and a single
sector read for the last sector. The flag is enabled for all USB devices.
This revealed a second bug in other usb cardreaders, which crash when they
get a multiple sector read which stops 1 sector short of the last sector.
Affected hardware includes the Kingston "MobileLite" external USB cardreader
and the internal USB cardreader on the Asus EeePC.
Extend the last_sector_bug workaround to ensure that any access which touches
the last 8 hardware sectors of the device is a single sector long. Requests
are shrunk as necessary to meet this constraint.
This gives us a safety margin against potential unknown or future bugs
affecting multi-sector access to the end of the device. The two known bugs
only affect the last 2 sectors. However, they suggest that these devices
are prone to fencepost errors and that multi-sector access to the end of the
device is not well tested. Popular OS's use multi-sector accesses, but they
rarely read the last few sectors. Linux (with udev & vol_id) automatically
reads sectors from the end of the device on insertion. It is assumed that
single sector accesses are more thoroughly tested during development.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
David Brownell [Sun, 27 Jul 2008 09:34:45 +0000 (02:34 -0700)]
avr32: some mmc/sd cleanups
Minor cleanups for the MMC/SD support on avr32:
- Make at32_add_device_mci() properly initialize "missing"
platform data ... so boards like STK1002 won't try GPIO 0.
- Switch over to gpio_is_valid() instead of testing for only
one designated value.
- Provide STK1002 platform data for the unlikely case that
switches are set so first Ethernet controller isn't in use.
(That's the only way to get card detect and writeprotect
switch sensing on the STK1000.)
And get rid of one "unused variable" warning.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Haavard Skinnemoen [Sun, 27 Jul 2008 11:54:08 +0000 (13:54 +0200)]
Merge commit 'upstream/master'
Russell King [Sun, 27 Jul 2008 09:35:54 +0000 (10:35 +0100)]
[ARM] Fix shared mmap when more than two maps of the same file exist
The shared mmap code works fine for the test case, which only checked
for two shared maps of the same file. However, three shared maps
result in one mapping remaining cached, resulting in stale data being
visible via that mapping. Fix this.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 27 Jul 2008 09:10:58 +0000 (10:10 +0100)]
[ARM] fix VIPT/VIVT macro optimisations, add comments
cacheflush.h was doing:
... VIVT only stuff
... VIPT only stuff
... VIVT or VIPT stuff
which is clearly bogus - we would only ever use the "VIVT or VIPT" case
when both VIVT and VIPT are not selected. Fix this.
Add comments to each case, including noting the impossibility of
correctly detecting the cache type of ARM926 and ARMv6 cores from
the cache type register in the "VIVT or VIPT" case.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hollis Blanchard [Fri, 25 Jul 2008 18:54:50 +0000 (13:54 -0500)]
KVM: ppc: fix invalidation of large guest pages
When guest invalidates a large tlb map, there may be more than one
corresponding shadow tlb maps that need to be invalidated. Use eaddr and eend
to find these shadow tlb maps.
Signed-off-by: Liu Yu <yu.liu@freescale.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Dmitry Baryshkov [Sun, 27 Jul 2008 03:23:31 +0000 (04:23 +0100)]
[ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_*
IRQT_* and __IRQT_* were obsoleted long ago by patch [3692/1].
Remove them completely. Sed script for the reference:
s/__IRQT_RISEDGE/IRQ_TYPE_EDGE_RISING/g
s/__IRQT_FALEDGE/IRQ_TYPE_EDGE_FALLING/g
s/__IRQT_LOWLVL/IRQ_TYPE_LEVEL_LOW/g
s/__IRQT_HIGHLVL/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_RISING/IRQ_TYPE_EDGE_RISING/g
s/IRQT_FALLING/IRQ_TYPE_EDGE_FALLING/g
s/IRQT_BOTHEDGE/IRQ_TYPE_EDGE_BOTH/g
s/IRQT_LOW/IRQ_TYPE_LEVEL_LOW/g
s/IRQT_HIGH/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_PROBE/IRQ_TYPE_PROBE/g
s/IRQT_NOEDGE/IRQ_TYPE_NONE/g
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Christian Borntraeger [Fri, 25 Jul 2008 13:53:12 +0000 (15:53 +0200)]
KVM: s390: Fix possible host kernel bug on lctl(g) handling
The lctl(g) instructions require a specific alignment for the parameters.
The architecture requires a specification program check if these alignments
are not used. Enforcing this alignment also removes a possible host BUG,
since the get_guest functions check for proper alignment and emits a BUG.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Christian Borntraeger [Fri, 25 Jul 2008 13:52:44 +0000 (15:52 +0200)]
KVM: s390: Fix instruction naming for lctlg
Lets fix the name for the lctlg instruction...
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Christian Borntraeger [Fri, 25 Jul 2008 13:51:54 +0000 (15:51 +0200)]
KVM: s390: Fix program check on interrupt delivery handling
The current interrupt handling on s390 misbehaves on an error case. On s390
each cpu has the prefix area (lowcore) for interrupt delivery. This memory
must always be available. If we fail to access the prefix area for a guest
on interrupt delivery the configuration is completely unusable. There is no
point in sending another program interrupt to an inaccessible lowcore.
Furthermore, we should not bug the host kernel, because this can be triggered
by userspace. I think the guest kernel itself can not trigger the problem, as
SET PREFIX and SIGNAL PROCESSOR SET PREFIX both check that the memory is
available and sane. As this is a userspace bug (e.g. setting the wrong guest
offset, unmapping guest memory) we should kill the userspace process instead
of BUGing the host kernel.
In the long term we probably should notify the userspace process about this
problem.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Martin Schwidefsky [Fri, 25 Jul 2008 13:51:00 +0000 (15:51 +0200)]
KVM: s390: Change guestaddr type in gaccess
All registers are unsigned long types. This patch changes all occurences
of guestaddr in gaccess from u64 to unsigned long.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Christian Borntraeger [Fri, 25 Jul 2008 13:50:04 +0000 (15:50 +0200)]
KVM: s390: Fix guest kconfig
Cornelia Huck noticed that a modular virtio without kvm guest support
leads to a build error in the s390 virtio transport:
CONFIG_VIRTIO=m leads to
ERROR: "vmem_add_mapping" [drivers/s390/kvm/kvm_virtio.ko] undefined!
ERROR: "max_pfn" [drivers/s390/kvm/kvm_virtio.ko] undefined!
ERROR: "vmem_remove_mapping" [drivers/s390/kvm/kvm_virtio.ko] undefined!
The virtio transport only works with kvm guest support and only as a
builtin. Lets change the build process of drivers/s390/kvm/kvm_virtio.c
to depend on kvm guest support, which is also a bool.
CONFIG_S390_GUEST already selects CONFIG_VIRTIO, that should prevent
CONFIG_S390_GUEST=y CONFIG_VIRTIO=n situations.
CC: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Carsten Otte [Fri, 25 Jul 2008 13:49:13 +0000 (15:49 +0200)]
KVM: s390: Advertise KVM_CAP_USER_MEMORY
KVM_CAP_USER_MEMORY is used by s390, therefore, we should advertise it.
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Julia Lawall [Tue, 22 Jul 2008 19:38:18 +0000 (21:38 +0200)]
KVM: ia64: Fix irq disabling leak in error handling code
There is a call to local_irq_restore in the normal exit case, so it would
seem that there should be one on an error return as well.
The semantic patch that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
expression l;
expression E,E1,E2;
@@
local_irq_save(l);
... when != local_irq_restore(l)
when != spin_unlock_irqrestore(E,l)
when any
when strict
(
if (...) { ... when != local_irq_restore(l)
when != spin_unlock_irqrestore(E1,l)
+ local_irq_restore(l);
return ...;
}
|
if (...)
+ {local_irq_restore(l);
return ...;
+ }
|
spin_unlock_irqrestore(E2,l);
|
local_irq_restore(l);
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Sheng Yang [Wed, 16 Jul 2008 01:25:40 +0000 (09:25 +0800)]
KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko
As well as move set base/mask ptes to vmx_init().
Signed-off-by: Sheng Yang <sheng.yang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Sheng Yang [Wed, 16 Jul 2008 01:21:22 +0000 (09:21 +0800)]
KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter
Signed-off-by: Sheng Yang <sheng.yang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Marcelo Tosatti [Sat, 19 Jul 2008 22:08:07 +0000 (19:08 -0300)]
KVM: task switch: translate guest segment limit to virt-extension byte granular field
If 'g' is one then limit is 4kb granular.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Avi Kivity [Sat, 19 Jul 2008 05:57:05 +0000 (08:57 +0300)]
KVM: Avoid instruction emulation when event delivery is pending
When an event (such as an interrupt) is injected, and the stack is
shadowed (and therefore write protected), the guest will exit. The
current code will see that the stack is shadowed and emulate a few
instructions, each time postponing the injection. Eventually the
injection may succeed, but at that time the guest may be unwilling
to accept the interrupt (for example, the TPR may have changed).
This occurs every once in a while during a Windows 2008 boot.
Fix by unshadowing the fault address if the fault was due to an event
injection.
Signed-off-by: Avi Kivity <avi@qumranet.com>
Marcelo Tosatti [Wed, 16 Jul 2008 22:07:11 +0000 (19:07 -0300)]
KVM: task switch: use seg regs provided by subarch instead of reading from GDT
There is no guarantee that the old TSS descriptor in the GDT contains
the proper base address. This is the case for Windows installation's
reboot-via-triplefault.
Use guest registers instead. Also translate the address properly.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Marcelo Tosatti [Wed, 16 Jul 2008 22:07:10 +0000 (19:07 -0300)]
KVM: task switch: segment base is linear address
The segment base is always a linear address, so translate before
accessing guest memory.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Joerg Roedel [Mon, 14 Jul 2008 18:36:36 +0000 (20:36 +0200)]
KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module
If NPT is enabled after loading both KVM modules on AMD and it should be
disabled, both KVM modules must be reloaded. If only the architecture module is
reloaded the behavior is undefined. With this patch it is possible to disable
NPT only by reloading the kvm_amd module.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Nicolas Boichat [Mon, 21 Jul 2008 14:18:01 +0000 (22:18 +0800)]
ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
Currently, even if you pass model=intel-mac-v3 as a module parameter to
snd_hda_intel, the function patch_stac922x (patch_sigmatel.c) will still
try to auto-detect the model type. This is a problem on my MacBook Pro 1st
generation, which needs intel-mac-v3, but sometimes incorrectly reports
0x00000100 as subsystem id, which causes the switch in patch_stac922x to
select intel-mac-v4.
To fix this, I added a new model called intel-mac-auto, so in case no
module parameter is passed, and an Intel Mac board is detected, the
model will be automatically detected, while no detection will be done
if the model is forced to intel-mac-v3.
This problem has been around for quite a while, and I used to fix it
by moving the case statement for 0x00000100 in patch_stac922x so that
intel-mac-v3 is chosen.
Another way to fix the problem would be to check if a module parameter
was set directly in patch_stac922x, using something like this:
if (spec->board_config == STAC_INTEL_MAC_V3 &&
!codec->bus->modelname) {
But I think it is less elegant (if you prefer that way, I can prepare a
patch).
Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Krzysztof Helt [Wed, 23 Jul 2008 05:48:49 +0000 (07:48 +0200)]
ALSA: cs4232: fix crash during chip PNP detection
The acard->wss pointer is uninitialized in this function
which leads to crash during chip PNP detection.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Travis Place [Sun, 27 Jul 2008 08:13:26 +0000 (10:13 +0200)]
ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop
Make the Acer Aspire 5920G (1025:0121) select ALC883_ACER_ASPIRE
by default.
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Bunk [Tue, 22 Jul 2008 17:21:32 +0000 (20:21 +0300)]
ALSA: make snd_ac97_add_vmaster() static
This patch makes the needlessly global snd_ac97_add_vmaster() static.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Bunk [Tue, 22 Jul 2008 17:21:28 +0000 (20:21 +0300)]
ALSA: sound/pci/azt3328.h: no variables for enums
AZF_FREQUENCIES and AZF_GAME_CONFIGS were variables, and this doesn't
seem to have been intended.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Linus Torvalds [Sun, 27 Jul 2008 03:40:36 +0000 (20:40 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files
mlx4_core: Add VLAN tag field to WQE control segment struct
RDMA/nes: CM connection setup/teardown rework
IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG
IPoIB/cm: Connected mode is no longer EXPERIMENTAL
RDMA/ucm: BKL is not needed for ib_ucm_open()
RDMA/ucma: BKL is not needed for ucma_open()
Oliver Neukum [Sat, 26 Jul 2008 20:42:42 +0000 (22:42 +0200)]
fix for a memory leak in an error case introduced by fix for double free
The fix NULLed a pointer without freeing it.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Reported-by: Juha Motorsportcom <juha_motorsportcom@luukku.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sun, 27 Jul 2008 03:30:56 +0000 (20:30 -0700)]
Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (57 commits)
[MTD] [NAND] subpage read feature as a way to increase performance.
CPUFREQ: S3C24XX NAND driver frequency scaling support.
[MTD][NAND] au1550nd: remove unused variable
[MTD] jedec_probe: Fix SST 16-bit chip detection
[MTD][MTDPART] Fix a division by zero bug
[MTD][MTDPART] Cleanup and document the erase region handling
[MTD][MTDPART] Handle most checkpatch findings
[MTD][MTDPART] Seperate main loop from per-partition code in add_mtd_partition
[MTD] physmap: resume already suspended chips on failure to suspend
[MTD] physmap: Fix suspend/resume/shutdown bugs.
[MTD] [NOR] Fix -ETIMEO errors in CFI driver
[MTD] [NAND] fsl_elbc_nand: fix section mismatch with CONFIG_MTD_OF_PARTS=y
[JFFS2] Use .unlocked_ioctl
[MTD] Fix const assignment in the MTD command line partitioning driver
[MTD] [NOR] gen_probe: No debug message when debugging is disabled
[MTD] [NAND] remove __PPC__ hardcoded address from DiskOnChip drivers
[MTD] [MAPS] Remove the bast-flash driver.
[MTD] [NAND] fsl_elbc_nand: ecclayout cleanups
[MTD] [NAND] fsl_elbc_nand: implement support for flash-based BBT
[MTD] [NAND] fsl_elbc_nand: fix OOB workability for large page NAND chips
...
Linus Torvalds [Sun, 27 Jul 2008 03:29:39 +0000 (20:29 -0700)]
Merge branch 'tracehook' of git://git./linux/kernel/git/frob/linux-2.6-utrace
* 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace:
tracehook: comment fixes