01 Feb, 2008

16 commits


31 Jan, 2008

24 commits

  • * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (454 commits)
    [POWERPC] Cell IOMMU fixed mapping support
    [POWERPC] Split out the ioid fetching/checking logic
    [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows
    [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()
    [POWERPC] Split cell_iommu_setup_hardware() into two parts
    [POWERPC] Split out the logic that allocates struct iommus
    [POWERPC] Allocate the hash table under 1G on cell
    [POWERPC] Add set_dma_ops() to match get_dma_ops()
    [POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format.
    [POWERPC] 85xx: Only invalidate TLB0 and TLB1
    [POWERPC] 83xx: Fix typo in mpc837x compatible entries
    [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall
    [POWERPC] 83xx: rework platform Kconfig
    [POWERPC] 85xx: rework platform Kconfig
    [POWERPC] 86xx: Remove unused IRQ defines
    [POWERPC] QE: Explicitly set address-cells and size cells for muram
    [POWERPC] Convert StorCenter DTS file to /dts-v1/ format.
    [POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format.
    [PPC] Remove 85xx from arch/ppc
    [PPC] Remove 83xx from arch/ppc
    ...

    Linus Torvalds
     
  • This patch adds support for setting up a fixed IOMMU mapping on certain
    cell machines. For 64-bit devices this avoids the performance overhead of
    mapping and unmapping pages at runtime. 32-bit devices are unable to use
    the fixed mapping.

    The fixed mapping is established at boot, and maps all of physical memory
    1:1 into device space at some offset. On machines with < 30 GB of memory
    we setup the fixed mapping immediately above the normal IOMMU window.

    For example a machine with 4GB of memory would end up with the normal
    IOMMU window from 0-2GB and the fixed mapping window from 2GB to 6GB. In
    this case a 64-bit device wishing to DMA to 1GB would be told to DMA to
    3GB, plus any offset required by firmware. The firmware offset is encoded
    in the "dma-ranges" property.

    On machines with 30GB or more of memory, we are unable to place the fixed
    mapping above the normal IOMMU window as we would run out of address space.
    Instead we move the normal IOMMU window to coincide with the hash page
    table, this region does not need to be part of the fixed mapping as no
    device should ever be DMA'ing to it. We then setup the fixed mapping
    from 0 to 32GB.

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • Split out the ioid fetching and checking logic so we can use it elsewhere
    in a subsequent patch.

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • Add support to cell_iommu_setup_page_tables() for handling two windows,
    the dynamic window and the fixed window. A fixed window size of 0
    indicates that there is no fixed window at all.

    Currently there are no callers who pass a non-zero fixed window, but the
    upcoming fixed IOMMU mapping patch will change that.

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • Split the IOMMU logic out from cell_dma_dev_setup() into a separate
    function. If we're not using dma_direct_ops or dma_iommu_ops we don't
    know what the hell's going on, so BUG.

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • Split cell_iommu_setup_hardware() into two parts. Split the page table
    setup into cell_iommu_setup_page_tables() and the bits that kick the
    hardware into cell_iommu_enable_hardware().

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • Split out the logic that allocates a struct iommu into a separate
    function. This can fail however the calling code has never cared - so
    just return if we can't allocate an iommu.

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • In order to support the fixed IOMMU mapping (in a subsequent patch),
    we need the hash table to be inside the IOMMUs DMA window. This is
    usually 2G, but let's make sure the hash table is under 1G as that
    will satisfy the IOMMU requirements and also means the hash table will
    be on node 0.

    Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • Signed-off-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
    alpha: fix x86.git merge build error
    ia64: on UP percpu variables are not small memory model
    x86: fix arch/x86/kernel/test_nx.c modular build bug
    s390: use generic percpu linux-2.6.git
    POWERPC: use generic per cpu
    ia64: use generic percpu
    SPARC64: use generic percpu
    percpu: change Kconfig to HAVE_SETUP_PER_CPU_AREA
    modules: fold percpu_modcopy into module.c
    x86: export copy_from_user_ll_nocache[_nozero]
    x86: fix duplicated TIF on 64-bit

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (26 commits)
    firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins
    firewire: fw-sbp2: increase login orb reply timeout, fix "failed to login"
    firewire: replace subtraction with bitwise and
    firewire: fw-core: react on bus resets while the config ROM is being fetched
    firewire: enforce access order between generation and node ID, fix "giving up on config rom"
    firewire: fw-cdev: use device generation, not card generation
    firewire: fw-sbp2: use device generation, not card generation
    firewire: fw-sbp2: try to increase reconnect_hold (speed up reconnection)
    firewire: fw-sbp2: skip unnecessary logout
    firewire vs. ieee1394: clarify MAINTAINERS
    firewire: fw-ohci: Dynamically allocate buffers for DMA descriptors
    firewire: fw-ohci: CycleTooLong interrupt management
    firewire: Fix extraction of source node id
    firewire: fw-ohci: Bug fixes for packet-per-buffer support
    firewire: fw-ohci: Fix for dualbuffer three-or-more buffers
    firewire: fw-sbp2: remove unused misleading macro
    firewire: fw-sbp2: prepare for s/g chaining
    firewire: fw-sbp2: refactor workq and kref handling
    ieee1394: ohci1394: don't schedule IT tasklets on IR events
    ieee1394: sbp2: raise default transfer size limit
    ...

    Linus Torvalds
     
  • Paul Mackerras
     
  • Paul Mackerras
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG depends

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (27 commits)
    lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL
    lguest: Use explicit includes rateher than indirect
    lguest: get rid of lg variable assignments
    lguest: change gpte_addr header
    lguest: move changed bitmap to lg_cpu
    lguest: move last_pages to lg_cpu
    lguest: change last_guest to last_cpu
    lguest: change spte_addr header
    lguest: per-vcpu lguest pgdir management
    lguest: make pending notifications per-vcpu
    lguest: makes special fields be per-vcpu
    lguest: per-vcpu lguest task management
    lguest: replace lguest_arch with lg_cpu_arch.
    lguest: make registers per-vcpu
    lguest: make emulate_insn receive a vcpu struct.
    lguest: map_switcher_in_guest() per-vcpu
    lguest: per-vcpu interrupt processing.
    lguest: per-vcpu lguest timers
    lguest: make hypercalls use the vcpu struct
    lguest: make write() operation smp aware
    ...

    Manual conflict resolved (maybe even correctly, who knows) in
    drivers/lguest/x86/core.c

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
    security: compile capabilities by default
    selinux: make selinux_set_mnt_opts() static
    SELinux: Add warning messages on network denial due to error
    SELinux: Add network ingress and egress control permission checks
    NetLabel: Add auditing to the static labeling mechanism
    NetLabel: Introduce static network labels for unlabeled connections
    SELinux: Allow NetLabel to directly cache SIDs
    SELinux: Enable dynamic enable/disable of the network access checks
    SELinux: Better integration between peer labeling subsystems
    SELinux: Add a new peer class and permissions to the Flask definitions
    SELinux: Add a capabilities bitmap to SELinux policy version 22
    SELinux: Add a network node caching mechanism similar to the sel_netif_*() functions
    SELinux: Only store the network interface's ifindex
    SELinux: Convert the netif code to use ifindex values
    NetLabel: Add IP address family information to the netlbl_skbuff_getattr() function
    NetLabel: Add secid token support to the NetLabel secattr struct
    NetLabel: Consolidate the LSM domain mapping/hashing locks
    NetLabel: Cleanup the LSM domain hash functions
    NetLabel: Remove unneeded RCU read locks

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
    PPC: Fix powerpc vio_find_name to not use devices_subsys
    Driver core: add bus_find_device_by_name function
    Module: check to see if we have a built in module with the same name
    x86: fix runtime error in arch/x86/kernel/cpu/mcheck/mce_amd_64.c
    Driver core: Fix up build when CONFIG_BLOCK=N

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (249 commits)
    KVM: Move apic timer migration away from critical section
    KVM: Put kvm_para.h include outside __KERNEL__
    KVM: Fix unbounded preemption latency
    KVM: Initialize the mmu caches only after verifying cpu support
    KVM: MMU: Fix dirty page setting for pages removed from rmap
    KVM: Portability: Move kvm_fpu to asm-x86/kvm.h
    KVM: x86 emulator: Only allow VMCALL/VMMCALL trapped by #UD
    KVM: MMU: Merge shadow level check in FNAME(fetch)
    KVM: MMU: Move kvm_free_some_pages() into critical section
    KVM: MMU: Switch to mmu spinlock
    KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte()
    KVM: Add kvm_read_guest_atomic()
    KVM: MMU: Concurrent guest walkers
    KVM: Disable vapic support on Intel machines with FlexPriority
    KVM: Accelerated apic support
    KVM: local APIC TPR access reporting facility
    KVM: Print data for unimplemented wrmsr
    KVM: MMU: Add cache miss statistic
    KVM: MMU: Coalesce remote tlb flushes
    KVM: Expose ioapic to ia64 save/restore APIs
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: (21 commits)
    dlm: static initialization improvements
    dlm: clean ups
    dlm: Sanity check namelen before copying it
    dlm: keep cached master rsbs during recovery
    dlm: change error message to debug
    dlm: fix possible use-after-free
    dlm: limit dir lookup loop
    dlm: reject normal unlock when lock is waiting for lookup
    dlm: validate messages before processing
    dlm: reject messages from non-members
    dlm: another call to confirm_master in receive_request_reply
    dlm: recover locks waiting for overlap replies
    dlm: clear ast_type when removing from astqueue
    dlm: use fixed errno values in messages
    dlm: swap bytes for rcom lock reply
    dlm: align midcomms message buffer
    dlm: close othercons
    dlm: use dlm prefix on alloc and free functions
    dlm: don't print common non-errors
    dlm: proper prototypes
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (21 commits)
    [SCSI] Revert "[SCSI] aacraid: fib context lock for management ioctls"
    [SCSI] bsg: copy the cmd_type field to the subordinate request for bidi
    [SCSI] handle scsi_init_queue failure properly
    [SCSI] destroy scsi_bidi_sdb_cache in scsi_exit_queue
    [SCSI] scsi_debug: add XDWRITEREAD_10 support
    [SCSI] scsi_debug: add bidi data transfer support
    [SCSI] scsi_debug: add get_data_transfer_info helper function
    [SCSI] remove use_sg_chaining
    [SCSI] bidirectional: fix up for the new blk_end_request code
    [SCSI] bidirectional command support
    [SCSI] implement scsi_data_buffer
    [SCSI] tgt: use scsi_init_io instead of scsi_alloc_sgtable
    [SCSI] aic7xxx: fix warnings with CONFIG_PM disabled
    [SCSI] aic79xx: fix warnings with CONFIG_PM disabled
    [SCSI] aic7xxx: fix ahc_done check SCB_ACTIVE for tagged transactions
    [SCSI] sgiwd93: use cached memory access to make driver work on IP28
    [SCSI] zfcp: fix sense_buffer access bug
    [SCSI] ncr53c8xx: fix sense_buffer access bug
    [SCSI] aic79xx: fix sense_buffer access bug
    [SCSI] hptiop: fix sense_buffer access bug
    ...

    Linus Torvalds
     
  • Fix docbook fatal error:
    docproc: linux-2.6.24-git8/block/ll_rw_blk.c: No such file or directory

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix kernel-doc empty line warning:
    Warning(linux-2.6.24-git8//drivers/base/class.c:866): bad line:

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • a5a19c63f4e55e32dc0bc3d936d7f94793d8b380 removed the include of
    asm/pgalloc.h from asm-generic/tlb.h. That works fine on most
    architectures, but broke ALPHA.

    Fixup ALPHA by adding the include to asm-alpha/tlbflush.h

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • Tony says:

    | The CONFIG_SMP=n path in ia64 makes quite radical changes ... rather
    | than putting all the per-cpu stuff into the top 64K of address space
    | and providing a per-cpu TLB mapping for that range to a different
    | physical address ... it just makes all the per-cpu stuff link as ordinary
    | variables in .data.

    the new generic percpu code got confused about this as PER_CPU_ATTRIBUTES
    was defined even on UP, so it picked up that small memory model - which
    was not possible to get linked. The right fix is to only define that
    on SMP. This resolved the build failures in my cross-compiling environment.

    also link these variables into the .percpu section even on UP - some
    assembly code has offset dependencies. (such as GET_IA64_MCA_DATA() in
    arch/ia64/kernel/mca_asm.S)

    Signed-off-by: Ingo Molnar
    Acked-by: Tony Luck

    Ingo Molnar