1. 25 11月, 2010 5 次提交
    • A
      arm: omap1: make some functions static · e6f16821
      Aaro Koskinen 提交于
      Make some functions static to get rid of the following sparse warnings:
      
      arch/arm/mach-omap1/mcbsp.c:177:12: warning: symbol 'omap1_mcbsp_init' was not declared. Should it be static?
      arch/arm/mach-omap1/mux.c:346:22: warning: symbol 'omap1_cfg_reg' was not declared. Should it be static?
      arch/arm/plat-omap/dma.c:177:5: warning: symbol 'omap_dma_in_1510_mode' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:273:12: warning: symbol 'omap1_sram_init' was not declared. Should it be static?
      Signed-off-by: NAaro Koskinen <aaro.koskinen@nokia.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e6f16821
    • A
      arm: omap1: add missing includes · 706afdda
      Aaro Koskinen 提交于
      Add missing includes to get rid of the following sparse warnings:
      
      arch/arm/mach-omap1/devices.c:225:13: warning: symbol 'omap1_camera_init' was not declared. Should it be static?
      arch/arm/mach-omap1/flash.c:15:6: warning: symbol 'omap1_set_vpp' was not declared. Should it be static?
      arch/arm/mach-omap1/serial.c:190:6: warning: symbol 'omap_serial_wake_trigger' was not declared. Should it be static?
      arch/arm/mach-omap1/time.c:252:18: warning: symbol 'omap_timer' was not declared. Should it be static?
      Signed-off-by: NAaro Koskinen <aaro.koskinen@nokia.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      706afdda
    • A
      arch/x86/include/asm/fixmap.h: mark __set_fixmap_offset as __always_inline · 91d95fda
      Andrew Morton 提交于
      When compiling arch/x86/kernel/early_printk_mrst.c with i386
      allmodconfig, gcc-4.1.0 generates an out-of-line copy of
      __set_fixmap_offset() which contains a reference to
      __this_fixmap_does_not_exist which the compiler cannot elide.
      
      Marking __set_fixmap_offset() as __always_inline prevents this.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Feng Tang <feng.tang@intel.com>
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      91d95fda
    • W
      uml: disable winch irq before freeing handler data · 69e83dad
      Will Newton 提交于
      Disable the winch irq early to make sure we don't take an interrupt part
      way through the freeing of the handler data, resulting in a crash on
      shutdown:
      
        winch_interrupt : read failed, errno = 9
        fd 13 is losing SIGWINCH support
        ------------[ cut here ]------------
        WARNING: at lib/list_debug.c:48 list_del+0xc6/0x100()
        list_del corruption, next is LIST_POISON1 (00100100)
        082578c8:  [<081fd77f>] dump_stack+0x22/0x24
        082578e0:  [<0807a18a>] warn_slowpath_common+0x5a/0x80
        08257908:  [<0807a23e>] warn_slowpath_fmt+0x2e/0x30
        08257920:  [<08172196>] list_del+0xc6/0x100
        08257940:  [<08060244>] free_winch+0x14/0x80
        08257958:  [<080606fb>] winch_interrupt+0xdb/0xe0
        08257978:  [<080a65b5>] handle_IRQ_event+0x35/0xe0
        08257998:  [<080a8717>] handle_edge_irq+0xb7/0x170
        082579bc:  [<08059bc4>] do_IRQ+0x34/0x50
        082579d4:  [<08059e1b>] sigio_handler+0x5b/0x80
        082579ec:  [<0806a374>] sig_handler_common+0x44/0xb0
        08257a68:  [<0806a538>] sig_handler+0x38/0x50
        08257a78:  [<0806a77c>] handle_signal+0x5c/0xa0
        08257a9c:  [<0806be28>] hard_handler+0x18/0x20
        08257aac:  [<00c14400>] 0xc14400
      Signed-off-by: NWill Newton <will.newton@gmail.com>
      Acked-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      69e83dad
    • J
      ARM: 6482/2: Fix find_next_zero_bit and related assembly · 0e91ec0c
      James Jones 提交于
      The find_next_bit, find_first_bit, find_next_zero_bit
      and find_first_zero_bit functions were not properly
      clamping to the maxbit argument at the bit level. They
      were instead only checking maxbit at the byte level.
      To fix this, add a compare and a conditional move
      instruction to the end of the common bit-within-the-
      byte code used by all the functions and be sure not to
      clobber the maxbit argument before it is used.
      
      Cc: <stable@kernel.org>
      Reviewed-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Tested-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NJames Jones <jajones@nvidia.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      0e91ec0c
  2. 24 11月, 2010 2 次提交
  3. 23 11月, 2010 1 次提交
    • K
      xen: set IO permission early (before early_cpu_init()) · ec35a69c
      Konrad Rzeszutek Wilk 提交于
      This patch is based off "xen dom0: Set up basic IO permissions for dom0."
      by Juan Quintela <quintela@redhat.com>.
      
      On AMD machines when we boot the kernel as Domain 0 we get this nasty:
      
      mapping kernel into physical memory
      Xen: setup ISA identity maps
      about to get started...
      (XEN) traps.c:475:d0 Unhandled general protection fault fault/trap [#13] on VCPU 0 [ec=0000]
      (XEN) domain_crash_sync called from entry.S
      (XEN) Domain 0 (vcpu#0) crashed on cpu#0:
      (XEN) ----[ Xen-4.1-101116  x86_64  debug=y  Not tainted ]----
      (XEN) CPU:    0
      (XEN) RIP:    e033:[<ffffffff8130271b>]
      (XEN) RFLAGS: 0000000000000282   EM: 1   CONTEXT: pv guest
      (XEN) rax: 000000008000c068   rbx: ffffffff8186c680   rcx: 0000000000000068
      (XEN) rdx: 0000000000000cf8   rsi: 000000000000c000   rdi: 0000000000000000
      (XEN) rbp: ffffffff81801e98   rsp: ffffffff81801e50   r8:  ffffffff81801eac
      (XEN) r9:  ffffffff81801ea8   r10: ffffffff81801eb4   r11: 00000000ffffffff
      (XEN) r12: ffffffff8186c694   r13: ffffffff81801f90   r14: ffffffffffffffff
      (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000006f0
      (XEN) cr3: 0000000221803000   cr2: 0000000000000000
      (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
      (XEN) Guest stack trace from rsp=ffffffff81801e50:
      
      RIP points to read_pci_config() function.
      
      The issue is that we don't set IO permissions for the Linux kernel early enough.
      
      The call sequence used to be:
      
          xen_start_kernel()
      	x86_init.oem.arch_setup = xen_setup_arch;
              setup_arch:
                 - early_cpu_init
                     - early_init_amd
                        - read_pci_config
                 - x86_init.oem.arch_setup [ xen_arch_setup ]
                     - set IO permissions.
      
      We need to set the IO permissions earlier on, which this patch does.
      Acked-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      ec35a69c
  4. 22 11月, 2010 5 次提交
  5. 21 11月, 2010 1 次提交
  6. 20 11月, 2010 1 次提交
  7. 18 11月, 2010 14 次提交
    • G
      sh: Use GCC __builtin_prefetch() to implement prefetch(). · d53e4307
      Giuseppe CAVALLARO 提交于
      GCC's __builtin_prefetch() was introduced a long time ago, all
      supported GCC versions have it. So this patch is to use it for
      implementing the prefetch on SH2A and SH4.
      
      The current  prefetch implementation is almost equivalent with
      __builtin_prefetch.
      The third parameter in the __builtin_prefetch is the locality
      that it's not supported on SH architectures.  It has been set
      to three and it should be verified if it's suitable for SH2A
      as well. I didn't test on this architecture.
      
      The builtin usage should be more efficient that an __asm__
      because less barriers, and because the compiler doesn't see the
      inst as a "black box" allowing better code generation.
      
      This has been already done on other architectures (see the commit:
      0453fb3c).
      
      Many thanks to Christian Bruel <christain.bruel@st.com> for his
      support on evaluate the impact of the gcc built-in on SH4 arch.
      
      No regressions found while testing with LMbench on STLinux targets.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NStuart Menefy <stuart.menefy@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d53e4307
    • A
      powerpc: Update a BKL related comment · 0f6b77ca
      Alessio Igor Bogani 提交于
      The commit 5e3d20a6 remove bkl from startup code so setup_arch() it isn't called
      with bkl held anymore. Update the comment on top of that function.
      Fix also a typo.
      
      This work was supported by a hardware donation from the CE Linux Forum.
      Signed-off-by: NAlessio Igor Bogani <abogani@texware.it>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0f6b77ca
    • K
      powerpc/mm: Fix module instruction tlb fault handling on Book-E 64 · 82ae5eaf
      Kumar Gala 提交于
      We were seeing oops like the following when we did an rmmod on a module:
      
      Unable to handle kernel paging request for instruction fetch
      Faulting instruction address: 0x8000000000008010
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=2 P5020 DS
      last sysfs file: /sys/devices/qman-portals.2/qman-pool.9/uevent
      Modules linked in: qman_tester(-)
      NIP: 8000000000008010 LR: c000000000074858 CTR: 8000000000008010
      REGS: c00000002e29bab0 TRAP: 0400   Not tainted
      (2.6.34.6-00744-g2d21f14)
      MSR: 0000000080029000 <EE,ME,CE>  CR: 24000448  XER: 00000000
      TASK = c00000007a8be600[4987] 'rmmod' THREAD: c00000002e298000 CPU: 1
      GPR00: 8000000000008010 c00000002e29bd30 8000000000012798 c00000000035fb28
      GPR04: 0000000000000002 0000000000000002 0000000024022428 c000000000009108
      GPR08: fffffffffffffffe 800000000000a618 c0000000003c13c8 0000000000000000
      GPR12: 0000000022000444 c00000000fffed00 0000000000000000 0000000000000000
      GPR16: 00000000100c0000 0000000000000000 00000000100dabc8 0000000010099688
      GPR20: 0000000000000000 00000000100cfc28 0000000000000000 0000000010011a44
      GPR24: 00000000100017b2 0000000000000000 0000000000000000 0000000000000880
      GPR28: c00000000035fb28 800000000000a7b8 c000000000376d80 c0000000003cce50
      NIP [8000000000008010] .test_exit+0x0/0x10 [qman_tester]
      LR [c000000000074858] .SyS_delete_module+0x1f8/0x2f0
      Call Trace:
      [c00000002e29bd30] [c0000000000748b4] .SyS_delete_module+0x254/0x2f0 (unreliable)
      [c00000002e29be30] [c000000000000580] syscall_exit+0x0/0x2c
      Instruction dump:
      XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      38600000 4e800020 60000000 60000000 <4e800020> 60000000 60000000 60000000
      ---[ end trace 4f57124939a84dc8 ]---
      
      This appears to be due to checking the wrong permission bits in the
      instruction_tlb_miss handling if the address that faulted was in vmalloc
      space.  We need to look at the supervisor execute (_PAGE_BAP_SX) bit and
      not the user bit (_PAGE_BAP_UX/_PAGE_EXEC).
      
      Also removed a branch level since it did not appear to be used.
      Reported-by: NJeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      82ae5eaf
    • M
      powerpc: Fix call to subpage_protection() · 1c2c25c7
      Michael Neuling 提交于
      In:
        powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT
        commit d28513bc
        Author: David Gibson <david@gibson.dropbear.id.au>
      
      subpage_protection() was changed to to take an mm rather a pgdir but it
      didn't change calling site in hashpage_preload().  The change wasn't
      noticed at compile time since hashpage_preload() used a void* as the
      parameter to subpage_protection().
      
      This is obviously wrong and can trigger the following crash when
      CONFIG_SLAB, CONFIG_DEBUG_SLAB, CONFIG_PPC_64K_PAGES
      CONFIG_PPC_SUBPAGE_PROT are enabled.
      
      Freeing unused kernel memory: 704k freed
      Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6c49b7
      Faulting instruction address: 0xc0000000000410f4
      cpu 0x2: Vector: 300 (Data Access) at [c00000004233f590]
          pc: c0000000000410f4: .hash_preload+0x258/0x338
          lr: c000000000041054: .hash_preload+0x1b8/0x338
          sp: c00000004233f810
         msr: 8000000000009032
         dar: 6b6b6b6b6b6c49b7
       dsisr: 40000000
        current = 0xc00000007e2c0070
        paca    = 0xc000000007fe0500
          pid   = 1, comm = init
      enter ? for help
      [c00000004233f810] c000000000041020 .hash_preload+0x184/0x338 (unreliable)
      [c00000004233f8f0] c00000000003ed98 .update_mmu_cache+0xb0/0xd0
      [c00000004233f990] c000000000157754 .__do_fault+0x48c/0x5dc
      [c00000004233faa0] c000000000158fd0 .handle_mm_fault+0x508/0xa8c
      [c00000004233fb90] c0000000006acdd4 .do_page_fault+0x428/0x6ac
      [c00000004233fe30] c000000000005260 handle_page_fault+0x20/0x74
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      1c2c25c7
    • K
      powerpc: Set CONFIG_32BIT on ppc32 · 234a71a7
      kerstin jonsson 提交于
      commit ffe8018c of the -mm tree
      fixes the initramfs size calculation for e.g. s390 but breaks it
      for 32bit architectures which do not define CONFIG_32BIT.
      
      This patch fix the problem for PPC32 which will elsewise end up
      with a __initramfs_size of 0.
      Signed-off-by: NKerstin Jonsson <kerstin.jonsson@ericsson.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      234a71a7
    • K
      powerpc/mm: Fix build error in setup_initial_memory_limit · 4a89261b
      Kumar Gala 提交于
      arch/powerpc/mm/tlb_nohash.c: In function 'setup_initial_memory_limit':
      arch/powerpc/mm/tlb_nohash.c:588:29: error: 'ppc64_memblock_base' undeclared (first use in this function)
      arch/powerpc/mm/tlb_nohash.c:588:29: note: each undeclared identifier is reported only once for each function it appears in
      
      Due to a copy/paste typo with the following commit:
      
      	commit cd3db0c4
      	Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      	Date:   Tue Jul 6 15:39:02 2010 -0700
      
      	    memblock: Remove rmo_size, burry it in arch/powerpc where it belongs
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4a89261b
    • N
      powerpc/pseries: Don't override CONFIG_PPC_PSERIES_DEBUG · 01cf6fe8
      Nishanth Aravamudan 提交于
      EEH and pci_dlpar #undef DEBUG, but I think they were added before the
      ability to control this from Kconfig. It's really annoying to only get
      some of the debug messages from these files. Leave the lpar.c #undef
      alone as it produces so much output as to make the kernel unusable.
      Update the Kconfig text to indicate this particular quirk :)
      Signed-off-by: NNishanth Aravamudan <nacc@us.ibm.com>
      Acked-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      01cf6fe8
    • B
      powerpc: Fix div64 in bootloader · acbfd58e
      Benjamin Herrenschmidt 提交于
      The code is missing a fix that went into the main kernel variant
      (we should try to share that code again at some stage)
      Reported-by: NAlbert Cahalan <acahalan@gmail.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      acbfd58e
    • A
      KVM: VMX: Fix host userspace gsbase corruption · c8770e7b
      Avi Kivity 提交于
      We now use load_gs_index() to load gs safely; unfortunately this also
      changes MSR_KERNEL_GS_BASE, which we managed separately.  This resulted
      in confusion and breakage running 32-bit host userspace on a 64-bit kernel.
      
      Fix by
      - saving guest MSR_KERNEL_GS_BASE before we we reload the host's gs
      - doing the host save/load unconditionally, instead of only when in guest
        long mode
      
      Things can be cleaned up further, but this is the minmal fix for now.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      c8770e7b
    • A
      KVM: Correct ordering of ldt reload wrt fs/gs reload · 0a77fe4c
      Avi Kivity 提交于
      If fs or gs refer to the ldt, they must be reloaded after the ldt.  Reorder
      the code to that effect.
      
      Userspace code that uses the ldt with kvm is nonexistent, so this doesn't fix
      a user-visible bug.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      0a77fe4c
    • D
      kgdb,ppc: Fix regression in evr register handling · e3839ed8
      Dongdong Deng 提交于
      Commit ff10b88b (kgdb,ppc: Individual
      register get/set for ppc) introduced a problem where memcpy was used
      incorrectly to read and write the evr registers with a kernel that
      has:
      
      CONFIG_FSL_BOOKE=y
      CONFIG_SPE=y
      CONFIG_KGDB=y
      
      This patch also fixes the following compilation problems:
      
      arch/powerpc/kernel/kgdb.c: In function 'dbg_get_reg':
      arch/powerpc/kernel/kgdb.c:341: error: passing argument 2 of 'memcpy' makes pointer from integer without a cast
      arch/powerpc/kernel/kgdb.c: In function 'dbg_set_reg':
      arch/powerpc/kernel/kgdb.c:366: error: passing argument 1 of 'memcpy' makes pointer from integer without a cast
      
      [jason.wessel@windriver.com: Remove void * casts and fix patch header]
      Reported-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NDongdong Deng <dongdong.deng@windriver.com>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      CC: linuxppc-dev@lists.ozlabs.org
      e3839ed8
    • J
      kgdb,x86: fix regression in detach handling · 10a6e676
      Jason Wessel 提交于
      The fix from ba773f7c
      (x86,kgdb: Fix hw breakpoint regression) was not entirely complete.
      
      The kgdb_remove_all_hw_break() function also needs to call the
      hw_break_release_slot() or else a breakpoint can get activated again
      after the debugger has detached.
      
      The kgdb test suite exposes the behavior in the form of either a hang
      or repetitive failure.  The kernel config that exposes the problem
      contains all of the following:
      
      CONFIG_DEBUG_RODATA=y
      CONFIG_KGDB_TESTS=y
      CONFIG_KGDB_TESTS_ON_BOOT=y
      CONFIG_KGDB_TESTS_BOOT_STRING="V1F100"
      Reported-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Tested-by: NFrederic Weisbecker <fweisbec@gmail.com>
      10a6e676
    • C
      ASoC: davinci: fixes for multi-component · bedad0ca
      Chris Paulson-Ellis 提交于
      Multi-component commit f0fba2ad broke a few things which this patch should
      fix. Tested on the DM355 EVM. I've been as careful as I can, but it would be
      good if those with access to other Davinci boards could test.
      
      --
      
      The multi-component commit put the initialisation of
      snd_soc_dai.[capture|playback]_dma_data into snd_soc_dai_ops.hw_params of the
      McBSP, McASP & VCIF drivers (davinci-i2s.c, davinci-mcasp.c & davinci-vcif.c).
      The initialisation had to be moved from the probe function in these drivers
      because davinci_*_dai changed from snd_soc_dai to snd_soc_dai_driver.
      
      Unfortunately, the DMA params pointer is needed by davinci_pcm_open (in
      davinci-pcm.c) before hw_params is called. I have moved the initialisation to
      a new snd_soc_dai_ops.startup function in each of these drivers. This fix
      indicates that all platforms that use davinci-pcm must have been broken and
      need to test with this fix.
      
      --
      
      The multi-component commit also changed the McBSP driver name from
      "davinci-asp" to "davinci-i2s" in davinci-i2s.c without updating the board
      level references to the driver name. This change is understandable, as there
      is a similarly named "davinci-mcasp" driver in davinci-mcasp.c.
      
      There is probably no 'correct' name for this driver. The DM6446 datasheet
      calls it the "ASP" and describes it as a "specialised McBSP". The DM355
      datasheet calls it the "ASP" and describes it as a "specialised ASP". The
      DM365 datasheet calls it the "McBSP". Rather than fix this problem by
      reverting to "davinci-asp", I've elected to avoid future confusion with the
      "davinci-mcasp" driver by changing it to "davinci-mcbsp", which is also
      consistent with the names of the functions in the driver. There are other
      fixes required, so it was never going to be as simple as a revert anyway.
      
      --
      
      The DM365 only has one McBSP port (of the McBSP platforms, only the DM355 has
      2 ports), so I've changed the the id of the platform_device from 0 to -1.
      
      --
      
      In davinci-evm.c, the DM6446 EVM can no longer share a snd_soc_dai_link
      structure with the DM355 EVM as they use different cpu DAI names (the DM355
      has 2 ports and the EVM uses the second port, but the DM6446 only has 1 port).
      This also means that the 2 boards need different snd_soc_card structures.
      
      --
      
      The codec_name entries in davinci-evm.c didn't match the i2c ids in the board
      files. I have only checked and fixed the details of the names used for the
      McBSP based platforms. Someone with a McASP based platform (eg DA8xx) should
      check the others.
      Signed-off-by: NChris Paulson-Ellis <chris@edesix.com>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      bedad0ca
    • A
      BKL: remove extraneous #include <smp_lock.h> · 451a3c24
      Arnd Bergmann 提交于
      The big kernel lock has been removed from all these files at some point,
      leaving only the #include.
      
      Remove this too as a cleanup.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      451a3c24
  8. 17 11月, 2010 3 次提交
    • G
      sh: fix vsyscall compilation due to .eh_frame issue · 94ab115f
      Giuseppe CAVALLARO 提交于
      This patch fixes the following error obtained when
      compile the Kernel with the VSYSCALL support enabled:
      
        SYSCALL arch/sh/kernel/vsyscall/vsyscall-trapa.so
        sh4-linux/bin/ld: error in arch/sh/kernel/vsyscall/vsyscall-trapa.o(.eh_frame);
        no .eh_frame_hdr table will be created.
        AS      arch/sh/kernel/vsyscall/vsyscall-syscall.o
      
      Disassembling the vsyscall-trapa.o code, with this fix applied,
      we get the __kernel_vsyscall symbol defined; otherwise it was
      missing.
      
      Disassembly of section .text:
      
      00000000 <__kernel_vsyscall>:
         0:	10 00       	.word 0x0010
         2:	00 00       	.word 0x0000
      [snip]
      0000040 <__kernel_sigreturn>:
        40:	05 93       	mov.w	4e <__kernel_sigreturn+0xe>,r3	! 77
        42:	10 c3       	trapa	#16
      [snip]
      
      00000060 <__kernel_rt_sigreturn>:
        60:	05 93       	mov.w	6e <__kernel_rt_sigreturn+0xe>,r3	! ad
        62:	10 c3       	trapa	#16
      [snip]
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Reviewed-by: NCarmelo Amoroso <carmelo.amoroso@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      94ab115f
    • G
      sh: avoid to flush all cache in sys_cacheflush · a6786fda
      Giuseppe CAVALLARO 提交于
      Calling sys_cacheflush with ICACHE we can direclty flush
      the icache without invoking the flush_cache_all function.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NCarmelo Amoroso <carmelo.amoroso@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      a6786fda
    • J
      SCSI host lock push-down · f281233d
      Jeff Garzik 提交于
      Move the mid-layer's ->queuecommand() invocation from being locked
      with the host lock to being unlocked to facilitate speeding up the
      critical path for drivers who don't need this lock taken anyway.
      
      The patch below presents a simple SCSI host lock push-down as an
      equivalent transformation.  No locking or other behavior should change
      with this patch.  All existing bugs and locking orders are preserved.
      
      Additionally, add one parameter to queuecommand,
      	struct Scsi_Host *
      and remove one parameter from queuecommand,
      	void (*done)(struct scsi_cmnd *)
      
      Scsi_Host* is a convenient pointer that most host drivers need anyway,
      and 'done' is redundant to struct scsi_cmnd->scsi_done.
      
      Minimal code disturbance was attempted with this change.  Most drivers
      needed only two one-line modifications for their host lock push-down.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      Acked-by: NJames Bottomley <James.Bottomley@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f281233d
  9. 15 11月, 2010 7 次提交
  10. 13 11月, 2010 1 次提交