An error occurred fetching the project authors.
  1. 12 Apr, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] x86-64 update · 3dccf5d0
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      Current x86-64 patchkit for 2.6.5.
      
      - Add drivers/firmware/Kconfig
      
      - Clarify description of CONFIG_IOMMU_DEBUG
      
      - Use correct gcc option to optimize for Intel CPUs
      
      - Add EDD support (Matt Domsch)
      
      - Add workaround for broken IOMMU on VIA hardware.  Uses swiotlb there now.
      
      - Handle more than 8 local APICs (Suresh B Siddha) 
      
      - Delete obsolete mtrr Makefile
      
      - Add x86_cache_alignment and set it up properly for P4 (128 bytes instead
        of 64bytes).  Also report in /proc/cpuinfo
      
      - Minor cleanup in in_gate_area
      
      - Make asm-generic/dma-mapping.h compile with !CONFIG_PCI Just stub out all
        functions in this case.  This is mainly to work around sysfs.
      
      - More !CONFIG_PCI compile fixes
      
      - Make u64 sector_t unconditional
      3dccf5d0
  2. 15 Mar, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] generic 32 bit emulation for System-V IPC · 76a9bdec
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      Adds a generic implementation of 32 bit emulation for IPC system calls.  The
      code is based on the existing implementations for sparc64, ia64, mips, s390,
      ppc and x86_64, which can subsequently be converted to use this.
      76a9bdec
  3. 10 Mar, 2004 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge for 2.6.4 · 7abe2c67
      Andi Kleen authored
      The biggest new feature is fixed 32bit vsyscall (SYSCALL+SYSENTER)
      support, mostly from Jakub Jelinek.  This increases 32bit syscall
      performance greatly (latency halved and better).  The SYSENTER for Intel
      support required some infrastructure changes, but seems to work now too.
      
      The 64bit vsyscall vtime() just references xtime.tv_sec now.  This
      should make it a lot faster too.
      
      A fix for some Intel IA32e systems.  Also a few long standing bugs in
      NMI like exception handlers were fixed.
      
      And a lot of other bug fixes.
      
      Full changeLog:
       - Clean up 32bit address room limit handling, fix 3gb personality
       - Move memcpy_{from,to}io export to ksyms.c file. This seems to work
         around a toolchain bug (Andreas Gruenbacher)
       - Update defconfig
       - ACPI merges from i386 (SBF should work now, acpi=strict)
       - Implement mmconfig support based on i386 code (untested)
       - Fix i386/x86-64 pci source file sharing
       - Implement ptrace access for 32bit vsyscall page
       - Always initialize all 32bit SYSENTER/SYSCALL MSRs.
       - Export run time cache line size to generic kernel
       - Remove explicit CPUID in ia32 syscall code
       - Fill in most of boot_cpu_data early
       - Remove unused PER_LINUX32 setup
       - Fix syscall trace in fast 32bit calls (Suresh B. Siddha)
       - Tighten first line of the oops again.
       - Set up ptrace registers correctly for debug,ss,double fault exceptions
       - Fix 64bit bug in sys_time64
       - Optimize time syscall/vsyscall to only read xtime
       - Fix csum_partial_copy_nocheck
       - Remove last traces of FPU emulation
       - Check properly for rescheduling in exceptions with own stack
       - Harden exception stack entries (#SS,#NMI,#MC,#DF,#DB) against bogus GS
       - Use an exception stack for machine checks
       - Handle TIF_SINGLESTEP properly in kernel exit
       - Add exception stack for debug handler
       - Disable X86_HT for Opteron optimized builds because it pulls in ACPI_BOOT
       - Fix CONFIG_ACPI_BOOT compilation without CONFIG_ACPI
       - Fix eflags handling in SYSENTER path (Jakub Jelinek)
       - Use atomic counter for enable/disable_hlt
       - Support 32bit SYSENTER vsyscall too (Jakub Jelinek)
       - Don't redefine Dprintk
       - Change some cpu/apic id arrays to char
       - Support arbitary cpu<->apicid in hard_smp_processor_id (Surresh B Sidda)
       - Move K8 erratum #100 workaround into slow path of page fault handler.
       - Fix 32bit cdrom direct access ioctls (Jens Axboe)
       - Enable 32bit vsyscalls by default
       - Fix 32bit vsyscalls (Jakub Jelinek)
      7abe2c67
  4. 25 Feb, 2004 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge for 2.6.3 · 386eaf87
      Andi Kleen authored
      Bring the x86-64 port up to date. Lots of smaller bug fixes that have accumulated.
      Also fixes another nasty bug introduced by the IA32e changes that causes BUGs at
      boot for some people.
      
      Only changes x86-64 specific files. There are some other changes that I'm sending
      separately.
      
       - Some cleanup in NMI watchdog code
       - Fix HyperThreading CPU setup race (Suresh B. Siddha)
       - Update defconfig
       - Add a comment on why iommu_fullflush is disabled.
       - Export sys_ioctl again
       - Fix build with IA32_EMULATION=y and SYSVIPC=n
       - Remove noisy boot printks in the mptable scan.
       - Implement automatic NMI watchdog switching for real now
       - Remove redundant 32bit ioctl handlers for autofs
       - Remove CONFIG ifdefs around rtc 32bit ioctl handlers
       - Remove useless nfsctl ifdef in syscall.c (Al Viro)
       - Increase padding for prefetchw alternative
       - Check for NX bit early before setting up memory maps (Suresh B. Siddha)
       - Change Intel IA32e config description and fix help texts (Jun Nakajima)
       - Fix microcode driver build really now (Dave Jones)
       - Add nohpet option to disable HPET timer
       - Fix double semicolon in aperture.c
       - Add cmpxchg16b cpuid entry
       - Fix return value of read_pci_config_16 (Paul Menage)
       - Fix __KERNEL_COMPAT32_CS (Zachary Amsden)
       - Disable the infamous 30 minutes check in CMOS time setting
       - Update URLs in Kconfig (Petri T. Koistinen)
       - Fix ACPI interrupt source parsing for Nforce3 (Maciej W. Rozycki)
       - Fix 32bit ipc version parsing.
       - Run local APIC NMI watchdog only once a second (or less often on idle boxes)
       - Merge ACPI APIC SCI functions from i386
       - Add i8254 timer suspend code from i386
       - Merge with 2.6.2-rc3 + minor changes from i386
       - Fix empty_zero_page declaration (Greg Johnson)
       - Readd sysctls for exception/page fault trace and vsyscall32
       - Fix WCHAN
       - Fix STACK_TOP usage. Stack for 64bit processes should be at the
         top of memory now again. Also set it correctly for LINUX32_3GB.
       - Add warning fixes for gcc 3.4 and -Wdeclaration-after-statement
      386eaf87
  5. 18 Feb, 2004 3 commits
    • Andrew Morton's avatar
      [PATCH] early printk tweaks · 80c085f9
      Andrew Morton authored
      - Use __pa() around the VGA base address: more friendly for the 4g/4g split.
      
      - Use cpu_relax() rather than open-coding rep_nop().
      
      - Default to 9600 baud
      
      - Move documentation to Documentation/kernel-parameters.txt
      
      - Make CONFIG_EARLY_PRINTK disableable if CONFIG_EMBEDDED
      80c085f9
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] move CONFIG_HOTPLUG to init/Kconfig · 14810e1f
      Bartlomiej Zolnierkiewicz authored
      As a bonus: cris, h8300, m68k and sparc can use CONFIG_HOTPLUG now.
      14810e1f
    • Andi Kleen's avatar
      [PATCH] Intel x86-64 support merge · ca92c573
      Andi Kleen authored
      This has all the x86-64 specific changes for Intel Prescott/Nocona
      support.
      
      It requires a few minor changes outside arch/x86_64, which I am sending
      separately.
      
      This patch is needed to boot an 64bit kernel on a 64-bit capable
      Prescott machine.
      
      The ugliest part is probably the swiotlb code.  In fact the code for
      that is not even included, but just reused from IA64.  swiotlb
      implements the PCI DMA API using bounce buffering.  I don't like this at
      all, but there was no other way to support non DAC capable hardware
      (like IDE or USB) on machines with >3GB.  Please redirect all flames for
      that to the Intel chipset designers.
      
      ChangeLog:
      - Add Kconfig options for PSC
      - Add support to reuse microcode driver from i386 (Suresh B Siddha)
      - Try to optimize for the selected CPU
      - Fix early CPUID check for Intel CPUs (Suresh B Siddha)
      - Fix GDT to use the configured cache line size for padding
      - Support monitor/mwait idle loop
      - Support HyperThreading
      - Support Intel CPUID flags
      - Remove all 3dnow prefetches
      - Add alternative() for the prefetchw prefetch inline.
      - Include P4 driver in oprofile
      - Support Intel NOPs in alternative
      ca92c573
  6. 24 Jan, 2004 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · ab4a3042
      Andi Kleen authored
      Mainly lots of bug fixes and a few minor features. One change is that
      it uses drivers/Kconfig now like i386. This requires a few minor changes in
      outside Kconfig files which I am sending separately.
      
       - Tighten/fix some code in NUMA node discovery
       - Fix oopses in threaded 32bit coredumps and read correct registers.
       - Merge with 2.6.2rc1
       - Sync arch/x86_64/Kconfig with i386. Uses drivers/Kconfig now.
       - Remove bcopy export
       - Fix check for signal stack for 32bit signals
       - Fix bcopy and exit prototypes for gcc 3.4
       - Fix asm contraint in usercopy.c for gcc 3.4
       - Use rt_sigreturn, not sigreturn for rt sigreturns.
       - Pass si_fault address to 32bit
       - Truncate si_error to 16bit in 32bit emulation to match i386
       - Move IA32 flag switching for 32bit executables to flush_thread
         (code copied from ppc64/sparc64)
       - Print exception trace for strace too, share code.
       - Default to 3GB address space for a.out executables
       - Fix security hole in ptrace. Also fixes some problems with 32bit gdb.
       - Sync mmap address selection algorithm with mm/mmap.c version
       - Disable a.out coredumps completely
       - Fix bug in sigaltstack 32bit emulation. Kylix IDE now works.
       - Move errata 93/BIOS workaround into fault handler.  This should work
         around USB legacy BIOS bugs too, although not completely (we cannot fix
         faults injected by SMM into user space 64bit processes)
       - Quieten some unimplemented 32bit syscall warnings and avoid repeated
         warnings.
       - Set LDT segment limit correctly (fixes problems with some modify_ldt
         user)
       - Remove obsolete ldt rw lock.
       - Remove sys32_modify_ldt. The standard sys_modify_ldt is equivalent.
       - Remove traces of old kgdb support
       - Merge CFI changes from Jim Houston and some other smaller changes The
         kernel assembly functions are described with dwarf2 unwind
         information now, which makes it easier for debuggers to make sense of
         stack backtraces.  The code is only enabled with CONFIG_DEBUG_INFO.
         Note this implies that when you use CONFIG_DEBUG_INFO you may need
         an binutils update.
       - defconfig updated
       - Readd sleep support code (Pavel Machek)
       - Drop fusion and flush workarounds from IOMMU code
       - Add iommu=nofullflush option
       - Rewrite 32bit emulation for siginfo conversion (Joe Korty)
       - Allow remapping of scatterlists after unmap. This fixes some problems
         with the SCSI layer retrying previously mapped sg lists when iommu
         merging was enabled (it's disabled now by default)
       - Port HPET rtc device emulation code from i386
      ab4a3042
  7. 19 Jan, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] Kconfig: use range for NR_CPUS · f5ace166
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      The 2.6 Kconfig language allows to set the range for integer questions.
      
      The patch below adds a range line on all architectures that have a
      NR_CPUS question except ia64.
      
      The help text on ia64 didn't suggest any values. Could someone tell the 
      correct values for ia64 (and if it's only a minimum value of 2)?
      f5ace166
  8. 01 Jan, 2004 1 commit
    • Andi Kleen's avatar
      [PATCH] X86-64 merge · f73e9f0f
      Andi Kleen authored
      At least one of them is critical. It fixes an path in the IOMMU that
      I broke with the ealier "fullflush" workaround.
      
       - Check for ~/bin/installkernel like i386 (M. Bligh) 
       - Implement 32bit RTC_IRQ_SET correctly (Lutz Vieweg)
       - Disable some useless printks in 32bit emulation
       - Warning fixes for mixed C99 style declarations/statements.
       - Sync lAPIC power management with i386
       - Use topology sysfs like i386
       - Fix some serious bugs in the MCE handler. ECC should
         be decoded correctly now.
       - Add oops=panic option to panic on Oopses.
       - Fix hackish code in head.S
       - Add missing options in IOMMU
       - Fix _syscall6 (Olaf Hering)
       - Remove broken ACPI locking code. Port IA64 C version.
       - Make safe_smp_processor_id() more reliable
       - Read HPET in vsyscall code
       - Add workaround for BIOS that corrupt 64bit registers in HLT
       - Fix unaligned access in bitops.h
       - Remove broken ntp drift correction code for now
       - i386 merge in SCI setup
       - Fix wrong offset in callin.h (Jim Houston)
       - Minor comment fixes
      f73e9f0f
  9. 30 Dec, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] Fix 2.6.0's broken documentation references · 56d7e6f4
      Andrew Morton authored
      From: Hans Ulrich Niedermann <linux-kernel@n-dimensional.de>
      
      I've noted that 2.6.0 contains broken references to documentation.
      
      I got sufficiently annoyed chasing doc files in the wrong place
      that I wrote a script to check the references to documentation
      files.
      
      Some documentation files have moved (e.g.  Documentation/modules.txt to
      Documentation/kbuild/modules.txt).  I adapted the references with a script.
      56d7e6f4
  10. 29 Dec, 2003 2 commits
    • Andrew Morton's avatar
      [PATCH] Critical x86-64 IOMMU fixes for 2.6.0 · f2059100
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      Please consider applying this patch, I would consider it critical for x86-64.
      
      The 2.6.0 x86-64 IOMMU code unfortunately had a few problems, leading
      to non booting systems and in a few cases to data corruption.
      
      It fixes a two serious bugs in handling special kinds of scatter gather
      lists in pci_map_sg.
      
      AGP was completely broken with IOMMU because of a wrong #ifdef.
      Fix that.
      
      One TLB flush optimization I did a long time ago seems to break on
      some 3ware boards (who require IOMMU because they don't support 64bit
      addresses).  The breakage lead to data corruption. This patch diables
      the optimization for now and fixes a potential SMP race in the flush
      code too. The TLB flush is done in a slower, but more reliable way
      now too.
      
      This patch fixes them. Please consider applying, because some of these
      problems hit quite many people.
      
      This also disables the IOMMU_DEBUG in the defconfig. A lot of people 
      were using the IOMMU when they didn't need to, which multiplied the
      problems.
      
      IOMMU merge is disabled for now. This was an experimental optimization
      which helped with some block devices, but for production it seems to
      be better to disable it for now because there are some questionable
      corner cases when the IOMMU aperture fragments. The same is done
      for IOMMU SAC force, which was related to that. 
      
      i386 has quite broken semantics for pci_alloc_consistent(). It uses
      the standard device DMA mask instead of the consistent mask. Make us
      bug-to-bug compatible here. This fixes problems with some sound
      drivers that don't support full 32bit addressing.
      f2059100
    • Andrew Morton's avatar
      [PATCH] Add a.out support for x86-64 · b14a4258
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      Add 32bit a.out support for x86-64.
      
      Not exactly an important bug fix, but maybe it will help someone.  This
      should increase the current 98% compatibility to i386 to perhaps 98.1% @)
      
      I tested an old a.out SuSE 4.2 installation in chroot and it worked.  It
      also ran some very old linux binaries from '92 found on ftp.funet.fi.  The
      only program that didn't was the SuSE a.out GNU emacs, but I was too lazy
      to track that down.  Core dumps are not supported.
      b14a4258
  11. 06 Oct, 2003 2 commits
    • Andi Kleen's avatar
      [PATCH] cpufreq for x86-64 · 412f9e8b
      Andi Kleen authored
      Reuses the i386 cpufreq code and add an notifier to the x86-64
      timer code to track frequency changes.
      
      All previous criticism of earlier patches should be addressed:
       - it doesn't touch i386 now
       - Doesn't include the ACPI P states driver anymore following brodo's request.
      
      Also fix a typo in the last version.
      412f9e8b
    • Andi Kleen's avatar
      [PATCH] Remove outdated URLs from x86-64 Kconfig · fb0dc60d
      Andi Kleen authored
      Remove outdated URLs from the x86-64 Kconfig.
      
      Originally from the trivial patch monkey / Petri Koistinen <petri.koistinen@iki.fi>
      fb0dc60d
  12. 25 Sep, 2003 1 commit
  13. 23 Sep, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] make CONFIG_HUGETLB_PAGE mirror CONFIG_HUGETLBFS · 829d1232
      Andrew Morton authored
      At present you can set CONFIG_HUGETLB_PAGE and not CONFIG_HUGETLBFS, which
      give the kernel low-level hugepage support, but no userspace API with which
      to access it.
      
      And with the recent hugetlbfs-accounting fix, the low-level code needs
      functions which are in hugetlbfs, so CONFIG_HUGETLBFS=n,
      CONFIG_HUGETLB_PAGE=y doesn't even link.
      
      So we flip things around: CONFIG_HUGETLB_PAGE is set if CONFIG_HUGETLBFS is
      set and CONFIG_HUGETLB_PAGE is unset if CONFIG_HUGETLBFS is unset.  The
      CONFIG_HUGETLB_PAGE option hence disappears from the per-arch configuration
      menus.
      829d1232
  14. 07 Sep, 2003 1 commit
    • Matthew Wilcox's avatar
      [PATCH] CONFIG_64BIT · 2b0c1a2b
      Matthew Wilcox authored
      This adds CONFIG_64BIT to allow us to disable non-64-bit safe drivers on
      64-bit platforms and converts the I2O driver to use it.
      2b0c1a2b
  15. 31 Aug, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] kill CONFIG_KCORE_AOUT · e23a1220
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      Remove CONFIG_KCORE_AOUT: the ability to present /proc/kcore in a.out
      format.
      
      I've checked with various arch maintainers.  It won't be missed.
      e23a1220
  16. 02 Aug, 2003 1 commit
  17. 10 Jul, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] make CONFIG_KALLSYMS default to "on" · f3eee922
      Andrew Morton authored
      From: Diego Calleja Garcia <diegocg@teleline.es>
      
      Move CONFIG_KALLSYMS out of the arch directory and into init/.
      
      It defaults to "on" unless the user explicitly turns it off in the
      "embedded systems" menu.
      f3eee922
  18. 26 Jun, 2003 1 commit
  19. 21 Jun, 2003 1 commit
    • Sam Ravnborg's avatar
      kbuild: Added CONFIG_DEBUG_INFO · a06f9f6d
      Sam Ravnborg authored
      When CONFIG_DEBUG_INFO is set to Y, -g will be added to CFLAGS.
      Several architectures already put -g in CFLAGS, often via a patch
      to the top-level makefile.
      This option is put in the kernel hacking menu, guarded by CONFIG_DEBUG_KERNEL.
      
      Added CONFIG_DEBUG_INFO in Kconfig for the architectures that
      already had CONFIG_DEBUG_KERNEL
      a06f9f6d
  20. 19 Jun, 2003 1 commit
  21. 17 Jun, 2003 1 commit
  22. 14 Jun, 2003 1 commit
  23. 13 Jun, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · 3ef076bb
      Andi Kleen authored
      This brings the x86-64 port uptodate.  Only architecture specific
      changes.
      
      The biggest change is the forward port of the 2.4 timing code with full
      HPET support.  This should improve timing stability on some Opteron
      boxes considerably.
      
      Also add the optimized low level functions from 2.4 (clear_page,
      copy_page, memcpy, csum_copy etc.) They were supposed to be merged
      earlier, but got dropped due to some SNAFU.  Especially the clear_page
      changes should improve performance considerably, because the old version
      used write combining writes which put all the new process data out of
      cache.  New version serves cache hot.
      
      Also some other bugfixes.
      
      Full changelog:
      - Re-add some lost patches: improved copy_page, clear_page, memset, memcpy,
        csum_copy from 2.4.
      - New timing code from 2.4 (Bryan O'Sullivan, John Stultz, Vojtech Pavlik)
      - Use correct MSR to write northbridge MCE configuration
      - Fix and reenable simics check in APIC timer calibration
      - Check if BIOS enabled APIC and don't use APIC mode if not.
      - Remove some obsolete code in APIC handling.
      - Fix potential races in the IOMMU code.
      - Don't print backtrace twice on oops.
      - Fix compilation of swsuspend (Pavel Machek)
      - Add oops locking to kernel page faults.
      - Use prefetcht0 for C level kernel prefetches.
      3ef076bb
  24. 03 Jun, 2003 1 commit
  25. 23 May, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · 47e4079c
      Andi Kleen authored
      Lots of changes that have accumulated over the last weeks.
      
      This makes it compile and boot again, Lots of bug fixes, including
      security fixes.  Several speedups.
      
      Only changes x86-64 specific files.
      
       - Use private copy of siginfo.h (for si_band)
       - Align 32bit vsyscall coredump (from Roland McGrath)
       - First steps towards 64bit vsyscall coredump (not working yet)
       - Use in kernel trampoline for signals
       - Merge APIC pm update from Pavel/Mikael
       - Security fix for ioperm (from i386)
       - Reenable vsyscall dumping for 32bit coredumps
       - Fix bugs in 32bit coredump that could lead to oopses.
       - Fix 64bit vsyscalls
       - Revert change in pci-gart.c: pci_alloc_consistent must use an
         0xffffffff mask hardcoded.
       - Fix bug in noexec= option handling
       - Export fake_node
       - Cleanups from Pavel
       - Disable 32bit vsyscall coredump again.  Still has some problems.
       - Implement new noexec= and noexec32= options to give a wide choice
         of support for non executable mappings for 32bit and 64bit processes.
         The default is now to honor PROT_EXEC, but mark stack and heap
         PROT_EXEC.
       - 32bit emulation changes from Pavel: use compat_* types.
       - (2.4) Use physical address for GART register.
       - Convert debugreg array to individual members and clean up ptrace
         access.  This saves 16 byte per task.
       - (2.4) Use new streamlined context switch code.  This avoids a
         pipeline stall and pushes the register saving to C code.
       - Save flags register in context switch
       - Clean up SMP early bootup.  Remove some unnecessary code.
       - (2.4) Process numa= option early
       - (2.4) Merge 2.4 clear_page, copy_*_user, copy_page, memcpy, memset.
         These are much faster.  clear/copy_page don't force the new page out
         of memory now which should speed up user processes.  Also full
         workaround for errata #91.
       - Some cleanup in pageattr.c code.
       - Fix warning in i387.h
       - Fix wrong PAGE_KERNEL_LARGE define.  This fixes a security hole and
         makes AGP work again.
       - Fix wrong segment exception handler to not crash.
       - Fix incorrect swapgs handling in bad iret exception handling
       - Clean up some boot printks
       - Micro optimize exception handling preamble.
       - New reboot handling.  Supports warm reboot and BIOS reboot vector
         reboot now.
       - (2.4) Use MTRRs by default in vesafb
       - Fix bug in put_dirty_page: use correct page permissions for the stack
       - Fix type of si_band in asm-generic/siginfo.h to match POSIX/glibc
         (needs checking with other architecture maintainers)
       - (2.4) Define ARCH_HAS_NMI_WATCHDOG
       - Minor cleanup in calling.h
       - IOMMU tuning: only flush the GART TLB when the IOMMU aperture area
         allocation wraps.  Also don't clear entries until needed.  This
         should increase IO performance for IOMMU devices greatly.  Still a
         bit experimental, handle with care.
       - Unmap the IOMMU aperture from kernel mapping to prevent unwanted CPU
         prefetches.
       - Make IOMMU_LEAK_TRACE depend on IOMMU_DEBUG
       - Fix minor bug in pci_alloc_consistent - always check against the dma
         mask of the device, not 0xffffffff.
       - Remove streamining mapping delayed flush in IOMMU: not needed anymore
         and didn't work correctly in 2.5 anyways.
       - Fix the bad pte warnings caused by the SMP/APIC bootup.
       - Forward port 2.4 fix: ioperm was changing the wrong io ports in some
         cases.
       - Minor cleanups
       - Some cleanups in pageattr.c (still buggy)
       - Fix some bugs in the AGP driver.
       - Forward port from 2.4: mask all reserved bits in debug register in
         ptrace.  Previously gdb could crash the kernel by passing invalid
         values.
       - Security fix: make sure FPU is in a defined state after an
         FXSAVE/FXRSTOR exception occurred.
       - Eats keys on panic (works around a buggy KVM)
       - Make user.h user includeable.
       - Disable sign compare warnings for gcc 3.3-hammer
       - Use DSO for 32bit vsyscalls and dump it in core dumps.  Add dwarf2
         information for the vsyscalls.
         Thanks to Richard Henderson for helping me with the nasty parts of
         it.  I had to do some changes over his patch and it's currently only
         lightly tested.  Handle with care.  This only affects 32bit programs
         that use a glibc 3.2 with sysenter support.
       - Security fixes for the 32bit ioctl handlers.  Also some simplications
         and speedups.
       - gcc 3.3-hammer compile fixes for inline assembly
       - Remove acpi.c file corpse.
       - Lots of warning fixes
       - Disable some Dprintks to make the bootup quieter again
       - Clean up ptrace a bit (together with warning fixes)
       - Merge with i386 (handle ACPI dynamic irq entries properly)
       - Disable change_page_attr in pci-gart for now.  Strictly that's
         incorrect, need to do more testing for the root cause of the current
         IOMMU problems.
       - Update defconfig
       - Disable first prefetch in copy_user that is likely to trigger Opteron
         Errata #91
       - More irqreturn_t fixes
       - Add pte_user and fix the vsyscall ptrace hack in generic code.
         It's still partly broken
       - Port verbose MCE handler from 2.4
      47e4079c
  26. 23 Apr, 2003 1 commit
    • Pavel Machek's avatar
      [PATCH] Fix SWSUSP & !SWAP · cfdffa91
      Pavel Machek authored
      Swsusp without swap makes no sense, and leads to compilation
      failure.  So make the dependency clear in the config files.
      cfdffa91
  27. 25 Mar, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 updates · b4f6270e
      Andi Kleen authored
      Lots of x86-64 updates. Merge with 2.4 and NUMA works now. Also reenabled
      the preemptive kernel. And some other bug fixes.
      IOMMU disabled by default now because it has problems.
      
       - Add more CONFIG options for device driver debugging and iommu
         force/debug.  (don't enable iommu force currently)
       - Some S3/ACPI fixes/cleanups from Pavel.
       - Set MSG_COMPAT_* in msg_flags for networking 32bit emulation.
         This unfortunately still doesn't fix the fd passing problems.
       - Sync PCI IOMMU code with 2.4 (minor fixes, flush less often)
       - Really fix UP compilation (Pavel)
       - Reenable preempt
       - Fix CONFIG_DISCONTIGMEM bootup and enable.  Still needs more tuning.
       - Fix some bugs in topology discovery and clean code up.
       - Don't put unwind tables into object files
       - Some kernel debugging hooks
       - Move CPU detection into early real mode code to better interact with
         vesafb consoles
       - Initialize mode in real mode character output
       - New 32bit FPU signal save/restore
       - Various fixes in FPU handling in ptrace
       - Fix security holes in ptrace (32bit and 64bit)
       - Fix serial ioctl (including security hole)
       - Add bluetooth ioctls to 32bit emu (from sparc64)
       - Correctly enable si_val in queued signals in 32bit emulation
       - Rework SEM_STAT emulation.  LTP still fails unfortunately.
       - Fix error case in msg* emulation
       - Fix debug register access from ptrace (Michal Ludvig, me)
       - Fix handling of NULL arguments in 32bit execve
       - Fix some error cases for 32bit readv/writev (LTP still complains)
       - Remove rate control from unimplemented syscall warnings
       - Fix error message for missing aperture
       - Turn some APIC printks into Dprintk to make the bootup more quiet
       - Some fixes for no APIC (probably still broken), add disableapic
         option (untested)
       - Sync K8 MCE handler with 2.4.  Should work a lot better now.
       - Remove never used KDB hooks
       - Fix buffer overflow in command line copying
       - Merge from i386: use separate status word for lazy FPU state
       - Don't force the IOMMU for dma masks < 4GB.
       - Print backtrace in Sysrq-T (from Andrea)
       - Merge from i386: fix FPU race in fork.
       - Disable NX mode by default for now
       - Rewrite dump_pagetable
       - Fix off by one bug in ioremap (i386 merge)
       - Merge from i386: handle VIA pci bridge bugs
       - Disable NUMA ACPI support (no SRAT support yet)
       - Fix aio 32bit emulation
       - Increase 32bit address space to nearly 4GB
       - Add exit_group syscall
       - Fix TLS setting in clone (Ulrich Drepper)
      b4f6270e
  28. 08 Mar, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] move CONFIG_SWAP around · fc60971f
      Andrew Morton authored
      Patch from Tom Rini <trini@kernel.crashing.org>
      
      Take CONFIG_SWAP out of the top-level menu into the general setup menu.  Make
      it dependent on CONFIG_MMU and common to all architectures.
      fc60971f
  29. 22 Feb, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update for 2.5.62-bk4 · b5f3160f
      Andi Kleen authored
      This still has a few problems; e.g. posix-timers.c seems to be miscompiled
      by many x86-64 compilers when compiled with -O1. But overall it is better
      than before.
      
       - Disable numa again that was enabled by mistake
       - Fix CPU detection in early boot. Force SSE when needed.
       - Hack for nested NMIs.
       - Fix typo in vsyscall code that lead to broken time reporting
       - Merge with 2.5.62-bk4 (new switch_to, printk cleanups, new timer calls etc.)
       - Fix bug in strace - don't assume syscall_trace doesn't clobber %rcx
       - Fix gs load workaround
       - Fix return value of ioperm (found by new LTP test)
       - Remove some unecessary boot output
       - Remove some obsolete code in setup.c
       - Report more in /proc/cpuinfo, fix extended cpu family computation
       - Fix thread_info access from interrupt/exception stacks - this
         fixes many problems that especially showed on SMP (lost reschedule
         interrupts etc.)
       - Fix UP compilation
       - Symlink hugetlbpage.c from i386
       - Fix buggy lazy fpu handling
      b5f3160f
  30. 11 Feb, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · d8f19f2c
      Andi Kleen authored
      This brings the x86-64 port uptodate in 2.5.60. Unfortunately I cannot
      test too much because i constantly get deadlocks in exit/wait in initscripts
      on SMP bootup. The kernel seems to still lose a lot of SIGCHLD. 2.5.59/SMP
      had the same problem. Uniprocessor and SMP kernel on UP seems to work.
      
      This patch only touches x86-64 specific files. It requires a few simple
      changes to arch independent files that I will send separately.
      
       - Fixed a lot of obsolete/misleading configure help texts.
       - Remove old bootblock disk loader and support fdimage target for syslinux
         instead (H. Peter Anvin)
       - Fix potential fpu signal restore problem on 32bit emulation.
       - Merge with 2.5.60 i386 (hugetlbfs, acpi etc.)
       - Some fixes for local apic disabled modus.
       - Beginngs of S3 ACPI wakeup from real-mode (not working yet, don't use)
       - Beginnings of NUMA/CONFIG_DISCONTIGMEM support for AMD K8 (work in progress,
         port from 2.4): clean up memory mapping at bootup, generalize bootmem etc.
       - Fix 64bit GS base reload problem and reenable (Karsten Keil)
       - Fix race with vmalloc accesses from interrupt handlers disturbing page fault/
         similar race for the debug handler (thanks to Andrew Morton)
       - Merge cpu access primitives with i386
       - Revert to private module list for now because putting modules
         nto vmlist triggered too many problems.
       - Some cleanups, removal of unneeded code.
       - Let early __get_free_pages see consistent pda
       - Preempt disabled for now because it is too broken right now
       - Signal handler fixes
       - Fix do_gettimeofday to be completely lockless and reenable vsyscalls
       - Optimize context switch path a bit (should be ported to i386)
       - Get thread_info via stack for better code
       - Don't leak pmd pages
       - Clean up hardcoded task stack sizes.
      d8f19f2c
  31. 09 Feb, 2003 1 commit
  32. 16 Jan, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86_64 update · cf34d923
      Andi Kleen authored
      x86-64 updates for 2.5.58. Changes only x86-64 specific files.
      
       - Rewrote module allocation. Lots of bugs fixed. Module loading
         should work now again.
       - Kconfig help fixes from Randy Dunlap
       - Makefile cleanups from Pavel Machek and Sam Ravnborg
       - Assembly cleanups from Pavel
       - defconfig update
       - Better strlen_user/strnlen_user
       - Merge with i386: new ptrace commands, 32bit vsyscall signal trampolines
      		new deactivate_mm, add asm/bug.h
       - Make sure initramfs is freed after booting (thanks to Kai for the hint)
       - User per cpu data for profile counters (Ravikiran Thirumalai)
       - 32bit compat_* updates from Stephen Rothwell
       - Fix race in context switch. The exception handler for bogus segment
         loads in __switch_to needs to keep interrupts disabled, otherwise an
         interrupt can deadlock on scheduler locks.  Also make sure they don't
         printk or set oops_in_progress during printk because printk does a
         wake_up too.
       - Disable 64bit GS base changes for processes.  I cannot get it to work
         reliably.
       - Clear IOPL on kernel entry
      cf34d923
  33. 02 Jan, 2003 1 commit
  34. 28 Dec, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update · 1e1144fd
      Andi Kleen authored
       - Optimize __copy*user a bit.
       - Merge with 2.5.53/i386
       - Fix broken 32bit signal handling.
       - Implement AT_SYSINFO and a vsyscall page for 32bit programs.
       - Fix 32bit SYSCALL entry point to handle 6 arguments and restart correctly.
       - Add oprofile support (Vojtech Pavlik, with changes by me)
         This is shared code with i386.
      1e1144fd
  35. 20 Dec, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · f3081f5b
      Andi Kleen authored
      This patch depends on the i386 MTRR driver cleanup I sent earlier.
      
       - Support non executable mappings for x86-64. data/heap are non executable
         by default now.
       - Beginnings of software suspend from Pavel (not working yet)
       - Support generic compat functions and remove some shared code
         in the 32bit emulation (Stephen Rothwell)
       - Support hugetlbfs
       - Some makefile updates
       - Make sure all 32bit emulation functions return long, not int.
         This fixes some problems with ERESTARTNOSYS.et.al. leaking to userspace.
       - Add new system calls.
       - Fix long standing fs/gs context switch bugs (thanks to Karsten Keil
         for helping to fix that mess). Also make sure the gs selector is
         set to 0 after an exec.
       - Simplify TLS switching
       - Paranoid CPUID check at bootup
       - Reorder scatterlist to be more space efficient (Jes Soerensen)
       - Enlarge 32bit address space to full 4GB.
       - Beginnings of 32bit SYSCALL support (not completely working yet
         and vsyscall page miss yet)
       - Various merges from i386
       - New module loader
       - Support threaded core dump (XMM saving for 32bit programs doesn't
         work, but it appears to be broken on i386 too)
       - Fix bug in signal stack rounding
       - Remove DRM 32bit emulation.
       - Use MTRR driver from i386
       - Use bootflag.c from i386
       - Various other fixes and cleanups.
      f3081f5b
  36. 18 Nov, 2002 1 commit
    • Rusty Russell's avatar
      [PATCH] kallsyms for new modules · a5508ddc
      Rusty Russell authored
      Since I believe kallsyms is important, this reimplements it sanely,
      using the current module infrastructure, and not using an external
      kallsyms script.
      
      FYI, the previous interface was:
      
      int kallsyms_symbol_to_address(
      	const char       *name,			/* Name to lookup */
      	unsigned long    *token,		/* Which module to start with */
      	const char      **mod_name,		/* Set to module name or "kernel" */
      	unsigned long    *mod_start,		/* Set to start address of module */
      	unsigned long    *mod_end,		/* Set to end address of module */
      	const char      **sec_name,		/* Set to section name */
      	unsigned long    *sec_start,		/* Set to start address of section */
      	unsigned long    *sec_end,		/* Set to end address of section */
      	const char      **sym_name,		/* Set to full symbol name */
      	unsigned long    *sym_start,		/* Set to start address of symbol */
      	unsigned long    *sym_end		/* Set to end address of symbol */
      	);
      
      The new one is:
      /* Lookup an address.  modname is set to NULL if it's in the kernel. */
      const char *kallsyms_lookup(unsigned long addr,
      			    unsigned long *symbolsize,
      			    unsigned long *offset,
      			    char **modname);
      a5508ddc