Skip to content
  1. Jun 27, 2011
  2. Jun 23, 2011
  3. Jun 20, 2011
  4. Jun 17, 2011
  5. Jun 08, 2011
    • David Howells's avatar
      MN10300: Add missing _sdata declaration · 40182373
      David Howells authored
      
      
      _sdata needs to be declared in the linker script now as of commit
      a2d063ac ("extable, core_kernel_data(): Make sure all archs define
      _sdata")
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40182373
    • David Howells's avatar
      MN10300: die_if_no_fixup() shouldn't use get_user() as it doesn't call set_fs() · db1c9dfa
      David Howells authored
      
      
      die_if_no_fixup() shouldn't use get_user() as it doesn't call set_fs() to
      indicate that it wants to probe a kernel address.  Instead it should use
      probe_kernel_read().
      
      This fixes the problem of gdb seeing SIGILL rather than SIGTRAP when hitting
      the KGDB special breakpoint upon SysRq+g being seen.  The problem was that
      die_if_no_fixup() was failing to read the opcode of the instruction that caused
      the exception, and thus not fixing up the exception.
      
      This caused gdb to get a S04 response to the $? request in its remote protocol
      rather than S05 - which would then cause it to continue with $C04 rather than
      $c in an attempt to pass the signal onto the inferior process.  The kernel,
      however, does not support $Cnn, and so objects by returning an E22 response,
      indicating an error.  gdb does not expect this and prints:
      
      	warning: Remote failure reply: E22
      
      and then returns to the gdb command prompt unable to continue.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      db1c9dfa
    • David Howells's avatar
      MN10300: Fix one of the kernel debugger cacheflush variants · 2e65d1f6
      David Howells authored
      
      
      One of the kernel debugger cacheflush variants escaped proper testing.  Two of
      the labels are wrong, being derived from the code that was copied to construct
      the variant.
      
      The first label results in the following assembler message:
      
          AS      arch/mn10300/mm/cache-dbg-flush-by-reg.o
        arch/mn10300/mm/cache-dbg-flush-by-reg.S: Assembler messages:
        arch/mn10300/mm/cache-dbg-flush-by-reg.S:123: Error: symbol `debugger_local_cache_flushinv_no_dcache' is already defined
      
      And the second label results in the following linker message:
      
        arch/mn10300/mm/built-in.o:(.text+0x1d39): undefined reference to `mn10300_local_icache_inv_range_reg_end'
        arch/mn10300/mm/built-in.o:(.text+0x1d39): relocation truncated to fit: R_MN10300_PCREL16 against undefined symbol `mn10300_local_icache_inv_range_reg_end'
      
      To test this file the following configuration pieces must be set:
      
      	CONFIG_AM34=y
      	CONFIG_MN10300_CACHE_WBACK=y
      	CONFIG_MN10300_DEBUGGER_CACHE_FLUSH_BY_REG=y
      	CONFIG_MN10300_CACHE_MANAGE_BY_REG=y
      	CONFIG_AM34_HAS_CACHE_SNOOP=n
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2e65d1f6
  6. Jun 07, 2011
    • Joerg Roedel's avatar
      x86/amd-iommu: Fix boot crash with hidden PCI devices · 26018874
      Joerg Roedel authored
      
      
      Some PCIe cards ship with a PCI-PCIe bridge which is not
      visible as a PCI device in Linux. But the device-id of the
      bridge is present in the IOMMU tables which causes a boot
      crash in the IOMMU driver.
      This patch fixes by removing these cards from the IOMMU
      handling. This is a pure -stable fix, a real fix to handle
      this situation appriatly will follow for the next merge
      window.
      
      Cc: stable@kernel.org	# > 2.6.32
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      26018874
  7. Jun 06, 2011
    • Joerg Roedel's avatar
      x86/amd-iommu: Use only per-device dma_ops · 27c2127a
      Joerg Roedel authored
      
      
      Unfortunatly there are systems where the AMD IOMMU does not
      cover all devices. This breaks with the current driver as it
      initializes the global dma_ops variable. This patch limits
      the AMD IOMMU to the devices listed in the IVRS table fixing
      DMA for devices not covered by the IOMMU.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      27c2127a
    • Joerg Roedel's avatar
      x86/amd-iommu: Fix 3 possible endless loops · 0de66d5b
      Joerg Roedel authored
      
      
      The driver contains several loops counting on an u16 value
      where the exit-condition is checked against variables that
      can have values up to 0xffff. In this case the loops will
      never exit. This patch fixed 3 such loops.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      0de66d5b
    • Martin Schwidefsky's avatar
      [S390] fix kvm defines for 31 bit compile · 6c61cfe9
      Martin Schwidefsky authored
      
      
      KVM is not available for 31 bit but the KVM defines cause warnings:
      
      arch/s390/include/asm/pgtable.h: In function 'ptep_test_and_clear_user_dirty':
      arch/s390/include/asm/pgtable.h:817: warning: integer constant is too large for 'unsigned long' type
      arch/s390/include/asm/pgtable.h:818: warning: integer constant is too large for 'unsigned long' type
      arch/s390/include/asm/pgtable.h: In function 'ptep_test_and_clear_user_young':
      arch/s390/include/asm/pgtable.h:837: warning: integer constant is too large for 'unsigned long' type
      arch/s390/include/asm/pgtable.h:838: warning: integer constant is too large for 'unsigned long' type
      
      Add 31 bit versions of the KVM defines to remove the warnings.
      
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      6c61cfe9
    • Martin Schwidefsky's avatar
      [S390] use generic RCU page-table freeing code · 36409f63
      Martin Schwidefsky authored
      
      
      Replace the s390 specific rcu page-table freeing code with the
      generic variant. This requires to duplicate the definition for the
      struct mmu_table_batch as s390 does not use the generic tlb flush
      code.
      
      While we are at it remove the restriction that page table fragments
      can not be reused after a single fragment has been freed with rcu
      and split out allocation and freeing of page tables with pgstes.
      
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      36409f63
Loading