An error occurred fetching the project authors.
  1. 27 Aug, 2004 1 commit
    • William Lee Irwin III's avatar
      [PATCH] O(1) proc_pid_statm() · 6ac0a8d7
      William Lee Irwin III authored
      Merely removing down_read(&mm->mmap_sem) from task_vsize() is too
      half-assed to let stand. The following patch removes the vma iteration
      as well as the down_read(&mm->mmap_sem) from both task_mem() and
      task_statm() and callers for the CONFIG_MMU=y case in favor of
      accounting the various stats reported at the times of vma creation,
      destruction, and modification. Unlike the 2.4.x patches of the same
      name, this has no per-pte-modification overhead whatsoever.
      
      This patch quashes end user complaints of top(1) being slow as well as
      kernel hacker complaints of per-pte accounting overhead simultaneously.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6ac0a8d7
  2. 24 Aug, 2004 1 commit
    • 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
  3. 22 May, 2004 4 commits
    • Andrew Morton's avatar
      [PATCH] rmap 33 install_arg_page vma · 114c71ee
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      anon_vma will need to pass vma to put_dirty_page, so change it and its
      various callers (setup_arg_pages and its 32-on-64-bit arch variants); and
      please, let's rename it to install_arg_page.
      
      Earlier attempt to do this (rmap 26 __setup_arg_pages) tried to clean up
      those callers instead, but failed to boot: so now apply rmap 27's memset
      initialization of vmas to these callers too; which relieves them from
      needing the recently included linux/mempolicy.h.
      
      While there, moved install_arg_page's flush_dcache_page up before
      page_table_lock - doesn't in fact matter at all, just saves one worry when
      researching flush_dcache_page locking constraints.
      114c71ee
    • Andrew Morton's avatar
      [PATCH] rmap 19: arch prio_tree · afd81431
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      The previous patches of this prio_tree batch have been to generic only.  Now
      the arm and parisc __flush_dcache_page are converted to using
      vma_prio_tree_next, and benefit from its selection of relevant vmas.  They're
      still accessing the tree without i_shared_lock or any other, that's not
      forgotten but still under investigation.  Include pagemap.h for the definition
      of PAGE_CACHE_SHIFT.  s390 and x86_64 no longer initialize vma's shared field
      (whose type has changed), done later.
      afd81431
    • Andrew Morton's avatar
      [PATCH] small numa api fixups · e52c02f7
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      - don't include mempolicy.h in sched.h and mm.h when a forward delcaration
        is enough.  Andi argued against that in the past, but I'd really hate to add
        another header to two of the includes used in basically every driver when we
        can include it in the six files actually needing it instead (that number is
        for my ppc32 system, maybe other arches need more include in their
        directories)
      
      - make numa api fields in tast_struct conditional on CONFIG_NUMA, this gives
        us a few ugly ifdefs but avoids wasting memory on non-NUMA systems.
      e52c02f7
    • Andrew Morton's avatar
      [PATCH] numa api: Add VMA hooks for policy · c78b023f
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      NUMA API adds a policy to each VMA.  During VMA creattion, merging and
      splitting these policies must be handled properly.  This patch adds the calls
      to this. 
      
      It is a nop when CONFIG_NUMA is not defined.
      c78b023f
  4. 12 Apr, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] Non-Exec stack support · 01cc53b2
      Andrew Morton authored
      From: Kurt Garloff <garloff@suse.de>
      
      A patch to parse the elf binaries for a PT_GNU_STACK section to set the stack
      non-executable if possible.  Most parts have been shamelessly stolen from
      Ingo Molnar's more ambitious stackshield
      http://people.redhat.com/mingo/exec-shield/exec-shield-2.6.4-C9
      
      The toolchain has meanwhile support for marking the binaries with a
      PT_GNU_STACK section wwithout x bit as needed.
      
      If no such section is found, we leave the stack to whatever the arch defaults
      to.  If there is one, we explicitly disabled the VM_EXEC bit if no x bit is
      found, otherwise explicitly enable.
      01cc53b2
  5. 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
  6. 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
  7. 23 Feb, 2004 1 commit
    • Alexander Viro's avatar
      [PATCH] removal of bogus CONFIG_BINFMT_ELF uses · e5bf4651
      Alexander Viro authored
      	We never use CONFIG_BINFTM_ELF and CONFIG_BINFMT_ELF_MODULE
      anywhere in the source (they are used in makefiles, obviously).
      32bit-emulation binfmt_elf_... in arch/* still define those guys
      even though it hadn't been needed for years.
      
      	Junk removed.
      
      PS: BTW, CONFIG_BINFMT_ELF32 _is_ used in several places in arch/mips and it
      looks like they really want
      #if defined(CONFIG_BINFMT_ELF32) || defined(CONFIG_BINFMT_ELF32_MODULE)
      in these ifdefs, but that's a separate story...
      e5bf4651
  8. 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
  9. 05 Oct, 2003 1 commit
  10. 03 Oct, 2003 1 commit
    • Roland McGrath's avatar
      [PATCH] fix vsyscall page in core dumps · fb16cbc2
      Roland McGrath authored
      My change to core dumps that was included with the vsyscall DSO
      implementation had a bug (braino on my part).  Core dumps don't include the
      full page of the vsyscall DSO, and so don't accurately represent the whole
      memory image of the process.  This patch fixes it.  I have tested it on
      x86, but not tested the same change to 32-bit core dumps on AMD64 (haven't
      even compiled on AMD64).
      
      I've also included the corresponding change for the IA64 code that was
      copied blindly from the x86 vsyscall implementation, which looks like more
      change than it is since I preserved the formatting of the copied code
      instead of arbitrarily diddling it along with the trivial symbol name
      changes.  I haven't compiled or tested on ia64.
      fb16cbc2
  11. 13 Aug, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge for 2.6.0test3 · 8b49c803
      Andi Kleen authored
      Without these changes an x86-64 NUMA kernel won't boot in many
      configurations.
      
      The main change is the improved IOMMU code which supports merging of
      mappings and has various bugfixes.
      
       - Update defconfig
       - Use argument ptregs in 32bit elf_core_copy_task_fpregs
       - Harden aperture fixup code: read aperture from the AGP bridge if needed,
         better error checking.
       - Support nmi_watchdog=panic to panic on watchdog trigger
       - IOMMU: Support panic on IOMMU overflow (iommu=panic)
       - IOMMU: Force SAC for mappings >40bits when iommu=force is active
         (this can potentially give better performance)
       - IOMMU: Cache northbridges for faster TLB flush
       - IOMMU: Fix SMP race in TLB flush
       - IOMMU: Merge pci_alloc_consistent and pci_map_single
       - IOMMU: Clean up leak tracing
       - IOMMU: Rewrite pci_map_sg, support merging of mappings
         On overflow fall back to piece-by-piece mapping.
       - IOMMU: Tell block layer to assume merging when iommu force is active
         (this gives better performance with MTP fusion, drawback is that the
         overflow/fragmentation handling of the IOMMU area is still a big
         dubious with that)
       - Fix/clean up per cpu data
       - Add 64bit clean time(2)
       - Export cpu_callout_map for IPv6
       - Handle nodes with no own memory in NUMA discovery.
         This fixes boot on various newer Opteron motherboards where the memory
         is only connected to a single CPU.
       - Fix fallback path for failed NUMA discovery. numnodes has to be reset.
       - Check for enabled nodes in NUMA discovery (Eric Biederman)
       - Remove NUMA emunodes support. Has badly bitrotted.
       - Add __clear_bit_string for IOMMU code
       - Add new 32bit system calls to ia32_unistd.h
       - Remove duplicate default_do_nmi prototype
       - Make PCI_DMA_BUS_IS_PHYS dependent on no_iommu
       - Fix padding length of siginfo_t to match glibc
       - More pci direct access functions.
      8b49c803
  12. 31 Jul, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · 98194f08
      Andi Kleen authored
      Only bug fixes and making it compile again and a few minor features.
      Also one security fix that got lost earlier
      
      - Document boot options
      - Better cpu local data
      - Emulate FIOQSIZE
      - Fix return value of 32bit ipccall
      - Various minor style fixes
      - Save some memory in apic tables
      - Merge with 2.6.0test2/i386
      - Readd ioport fix
      - Sort exception tables at boot time
      - Add local.h
      - Fix for_each_cpu on UP
      - Add utimes and tgkill system calls for 64bit
      - Update defconfig
      98194f08
  13. 02 Jul, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] Security hook for vm_enough_memory · bc75ac4f
      Andrew Morton authored
      From: Stephen Smalley <sds@epoch.ncsc.mil>
      
      This patch against 2.5.73 replaces vm_enough_memory with a security hook
      per Alan Cox's suggestion so that security modules can completely replace
      the logic if desired.
      
      Note that the patch changes the interface to follow the convention of the
      other security hooks, i.e.  return 0 if ok or -errno on failure (-ENOMEM in
      this case) rather than returning a boolean.  It also exports various
      variables and functions required for the vm_enough_memory logic.
      bc75ac4f
  14. 26 Jun, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge for 2.5.73 · 2d893d8a
      Andi Kleen authored
      Bring the x86-64 architecture code uptodate for 2.5.73.
      
      One problem is that CONFIG_IDE_TASKFILE corrupts file systems on AMD 8111. It
      may be worth to disable it in the configuration.
      
       - Disable 32bit vsyscalls for now until all bugs can be fixed
       - Fix warnings
       - Fix NULL pointer reference in 32bit ptrace
       - Timing fixes from John Stultz
       - Sync show_stack prototype
       - Sync nmi and floppy.h code (Mikael P.)
       - Set proper defines for AGP
       - Make Simics work again
       - Scale unit in 32bit sysinfo (originally from ppc64)
      2d893d8a
  15. 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
  16. 15 May, 2003 1 commit
  17. 05 Apr, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · 2ba74897
      Andi Kleen authored
      Make it compile again and various cleanups and a few bug fixes.  Only
      changes x86-64 specific files.
      
      Most of it are S3 suspend changes from Pavel and comment spelling fixes
      from Steven Cole.
      
      - Remove now obsolete check_cpu function
      - Fix sys_ioctl prototype
      - Small optimization - use SYSCALL for 32bit signal handling.
      - Fix S3 suspend handling and split into individual files like i386 (Pavel)
      - Merge from i386 (pci fixes etc.)
      - Set correct paging attributes for IOMMU aperture
      - Fix disable apic option
      2ba74897
  18. 18 Mar, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] Pass the load address into ELF_PLAT_INIT() · 544db1a2
      Andrew Morton authored
      Patch from Anton Blanchard <anton@samba.org>
      
      With ppc64 64bit dynamic executables we have to relocate the contents of the
      function descriptor.  Passing in the load address to ELF_PLAT_INIT allows us
      to do this.
      
      The patch allows ppc64 to run 64-bit executables and is a no-op for other
      architectures.
      544db1a2
  19. 05 Jan, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 updates for 2.5.54 · 717db2f9
      Andi Kleen authored
      More x86-64 updates for 2.5.54.  Most noticeable change is that the
      64bit X server works again.
      
      This only changes x86-64 specific files.  It requires some AGP driver
      changes I'm sending separately.
      
       - Some Makefile cleanups from Sam Ravnborg
       - Make sure extended registers in 32bit processes are zeroed and not
         accessible/changeable from ptrace.  This is to avoid potential
         security bugs with non 64bit clean 32bit emulation functions (they
         often are overflow prone etc.)
       - Some 32bit emulation cleanups from Stephen Rothwell
       - Make copy_*_user source const to fix warnings.
       - Set fs/gs to dummy values when the 64bit segment base is set to not
         confuse the context switch (Karsten Keil, me)
      	* still one mysterious bug in this area unfortunately.
       - Make MAP_32BIT for 64bit processes only map in the first 31bit,
         because it is usually used to map small model code.  This fixes the X
         server crashes.  Some cleanups in this area.
       - Don't set O_LARGEFILE for 32bit open
       - Handle ptregs calls from 32bit syscall correctly.
       - Implement aio io_getevents for 32bit.
       - Remove buggy unused command handler in nfsd 32bit emulation.
       - Convert timespec in semtimedop (thanks to Anton for telling me about
         this)
       - Ignore long mode flag from 32bit modify_ldt.  This fixes Wine, which
         left it uninitialized (bug found by Karsten Keil)
       - Merge with i386
       - Handle new kallsyms
       - Remove some superfluous bootup printks
      717db2f9
  20. 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
  21. 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
  22. 18 Oct, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 updates for 2.5.43 · 3428c8d1
      Andi Kleen authored
      This fixes a few files that got lost with the last merge and merges
      with 2.5.43/i386.  Only changes architecture specific files.
      
      It depends on one other patch (for linux/ioctl32.h) which I'm sending
      separately.
      
      Changes:
      - Include missing files (pageattr.c) and Makefile changes
      - Update IA32 subsystem. Various small fixes and a big merge
        with sparc64.
      - Change HZ to 1000
      - Merge some of the 2.5.43/i386 profiling changes. No full oprofile yet.
      - Fix many warnings
      - Update defconfig
      - Various other smaller cleanups and bugfixes.
      3428c8d1
  23. 12 Oct, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 IA32 emulation updates · 0e97e2a2
      Andi Kleen authored
      Some bugfixes for the 32bit emulation for x86-64 and make it all compile
      again.
      
      Has rewritten ioctl registration code and some other updates.  New
      system calls are supported.
      
      It unfortunately broke some time ago by binfmt_elf changes for all
      shared linked libraries.  Will fix that later.
      0e97e2a2
  24. 28 Aug, 2002 1 commit
    • Matthew Wilcox's avatar
      [PATCH] More support for upward growing stacks · ea3bc13f
      Matthew Wilcox authored
       - remove elf_caddr_t. It's positively dangerous to #define this since
         elf_caddr_t foo, bar; creates variables of different types (foo is
         char *, bar is char).
       - rewrite large chunks of create_elf_tables(), it needed cleaning anyway.
       - add upwards-growing stack support to create_elf_tables.
       - redefine the ARCH_DLINFO stuff on powerpc -- it's tested, works.
       - add upwards-growing-stack support to exec.c too.
      ea3bc13f
  25. 20 Apr, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 architecture specific sync for 2.5.8 · 88e4bc32
      Andi Kleen authored
      This patch brings 2.5.8 in sync with the x86-64 2.4 development tree again
      (excluding device drivers)
      
      It has lots of bug fixes and enhancements. It only touches architecture
      specific files.
      
      - Sync with 2.5.8
      - SMP/APIC supported now.
      - Module loading works now.
      - Time keeping bugs fixed.
      - entry.S streamlined and some bugs fixed.
      - modify_ldt works now
      - mostly rewritten FPU support (including FXRSTOR for initial FPU
        initialization based on the initial state)
      - 32bit emulation enhanced and bugs fixed.
      - rewrote mm initialization and lots of cleanups in the page table handling
        __PAGE_OFFSET is now moved to 0x10000000000 and some vmalloc/ioremap
        problems have been fixed. They have an own PML4 slot now.
      - WCHAN reporting support for RIP (but not RSP)
      - Lots of various other bug fixes and cleanups.
      
      Currently broken:
      - ACPI
      - MTRR
      
      It needs some other bugfixes outside architecture specific code. I sent
      them all in separate mail.
      88e4bc32
  26. 26 Feb, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update for 2.5.5 · 3d614679
      Andi Kleen authored
      This patch makes x86-64 compile in 2.5.5 and syncs it with changes in the i386
      port. It also fixes some bugs that were discovered in recent testing:
      - enhance 32bit emulation and fix bugs.
      - fix security hole in vmalloc handling
      - Do not use lockless gettimeofday for now because it is buggy.
      The patch only changes x86_64 specific files.
      
      -Andi
      3d614679
  27. 13 Feb, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86_64 merge: arch + asm · 0457d99a
      Andi Kleen authored
      This adds the x86_64 arch and asm directories and a Documentation/x86_64.
      
      It took a bit longer because I first had to make preemption and thread_info
      work and also found some other bugs while doing this. The port has been
      tested for a long time on UP.
      
      I'm not sure what I should describe.  A lot is based on i386 with
      a lot of cleanups. I wrote a paper about it for last year's OLS that describes
      most of the changes (ftp://ftp.firstfloor.org/pub/ak/x86_64.ps.gz). It is
      a bit outdated now, but should give a good overview.
      
      It currently has a completely cut'n'pasted from others+hacked 32bit
      emulation. I hope to clean that up in the future by merging the generic
      core of this with other 64bit archs.
      
      Thanks,
      -Andi
      0457d99a