• Andi Kleen's avatar
    [PATCH] New x86-64 merge · 1a87fc37
    Andi Kleen authored
    This fixes various issues in the previous update, in particular
    a kernel without CONFIG_GART_IOMMU should boot now again,
    
    The kernel discoverys PCI BUS<->CPU affinity on AMD systems
    now.  It is so far used by dma_alloc_coherent to allocate memory
    Experimental patches to add this to sysfs exist, but they're not
    included yet. On systems with no memory on a CPU this information may
    be wrong.
    
    It has a new experimental CONFIG_UNORDERED_IO option. When enabled
    it uses write combining for stores to device iomemory mapping. This
    may give better performance with some device drivers, but has a slight
    risk of breaking drivers (in general if a driver works on ia64,ppc64,sparc64
    it should also work). Based on some discussions with Grant Grundler.
    
    It requires the driver to use memory barriers properly. I would be interested 
    in feedback on any performance changes you're seeing. For a production system I
    would recommend to keep it turned off(although I run it on all my systems and 
    haven't run into any problems yet)
    
    ACPI and Centrino speedstep is enabled now for Nocona systems.
    
    The IOMMU code does lazy merging by default now, which should be safe
    and may increase performance on block IO.  It also avoids SAC force by default
    now.
    
    The machine check code has been improved again, hopefully it is good 
    now. It will log now machine check events from before the last reset.
    And various other fixes.
    
    The x86-64 parts are now gcc 3.5 clean.
    
    And various other fixes
    
    - Update defconfig
    - Reset lost ticks on lost time warning, print RIP.
    - Make TASK_SIZE test for 32bit (Arjan van de Ven) 
    - Work around bug in generic code that broke pcibus_to_cpumask
    - Actually fix dummy iommu code
    - Compile i386 acpi and speedstep-centrino cpufreq modules
    - Export cpu_khz
    - Fix compilation without GART_IOMMU
    - Optimize find_*_bit functions for small fields
    - Discover nodes near PCI busses on K8 (Travis Betak, changed by me) 
    - Optimize gart tlb flush slightly
    - Add experimental CONFIG_UNORDERED_IO for unordered IO stores
    - Add 32bit emulation for PTRACE_GETEVENTMSG
    - Fix kernel_fpu_{begin,end} for preemptive kernels (Alexander Nyberg)
    - Readd proper check for biomerge (got lost) 
    - Set up 32bit vsyscall page for ptrace early
    - Add 32bit emulation for lookup_dcookie() for oprofile
    - Export copy_page / clear_page
    - Use rex prefix in save_init_fpu fxsave (Jan Beulich)
    - Make it compile again
    - Fix handling of hwdev == NULL (= ISA/LPC devices) in swiotlb
    - Convert PCI DMA code to dma devices
    - Change IOMMU code to use dummy fallback device instead of hardcoded
      NULL tests everywhere.
    - Test iommu_sac_force instead of nommu for DAC supported macro
      (will cause more drivers to use DAC)
    - Harden non IOMMU dma_alloc_consistent code to fail less likely.
    - Remove use of strsep in option parsers
    - Remove duplicated exports (Arjan van der Ven) 
    - Fix EFAULT checking in ptrace (John Blackwood)
    - Update defconfig
    - Remove dead URL from boot/setup.S (R.J. Wysocki) 
    - Use compat_sigval_t instead of sigval_t32 (Al Viro)
    - Nanooptimization in 32bit ptregs calls
    - Fix gcc 3.5 compilation in mtrr.h 
    - Pass pt_regs as pointer to avoid illegal pass by reference (for gcc 3.5)
    - Make set_bit take int not long (Harald Dunkel)
    - Avoid panic on pci_map_sg and pci_alloc_consistent overflow in GART IOMMU
    - Handle large lost time delays in HPET code (Suresh B. Siddha)
    - Work around theoretical bugs in prefetch handling (suggested by Jamie Lokier)
    - Remove mtrr_strings declaration for gcc 3.5
    - Set KBUILD_IMAGE for make rpm (William Lee Irwin III)
    - Add iommu=noaperture to not touch the aperture
    - Clean up argument parsing for iommu= option
    - Export symbols for xchgadd based rwsems (still disabled)
    - Define iommu_bio_merge for !CONFIG_GART_IOMMU
    - Don't use backwards rep ; movsb for memmove
    - Out line bitmap search functions (saves 8k .text, from i386) 
    - Convert bitmap search functions to 64bit accesses and optimize them
      a bit.
    - Handle corrupted page tables in page fault handler
    - Set iommu_merge (without force) to on by default again.
    - Don't do bio merging by default for iommu=merge. This should make it
      safe to use again
    - Add iommu=biomerge option to enable BIO merging (like old iommu=merge)
    - Fix iommu=memaper=... parsing
    - More MCE fixes (based on a patch by Eric Morton, heavily changed by me)
    - Fix check for banks causing exceptions
    - Allow to reinit MCEs later even after mce=off, fix wrong
      use of __initdata
      to disable at boot, but reenable later.
    - Log left over machine checks after boot and resume
    - Fix missing prototype warning with CPU_FREQ on
    - Fix parsing of noexec=on (Ian Hastie)
    - Fix warning in ia32_binfmt.c
    - Resync time variable cpu frequency handling with i386
    - Resync msr.c with i386
    - Add 0x60 level 1 intel cache descriptor (from i386)
    - Remove duplicated 32bit ioctls (Arnd Bergmann)
    - Enable -msoft-float (from i386)
    - Use faster version of FPU hang fix - handle the exception
      * a bit experimental, if you see "kernel ... math error" events
        in the log please report.
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    1a87fc37
swiotlb.h 1.12 KB