1. Jun 08, 2011
  2. Jun 07, 2011
  3. 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