An error occurred fetching the project authors.
- 10 May, 2004 1 commit
-
-
Andrew Morton authored
From: Andi Kleen <ak@muc.de> Set up SMT for the domain scheduler on x86-64. This way the scheduling works better on HyperThreading aware systems; in particular it will use both physical CPUs before sharing two virtual CPUs on the same package. This improves performance considerably in some cases. Based on the i386 code and a previous patch from Suresh B. Siddha.
-
- 14 Apr, 2004 1 commit
-
-
Len Brown authored
-
- 22 Mar, 2004 1 commit
-
-
Len Brown authored
-
- 10 Mar, 2004 1 commit
-
-
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)
-
- 25 Feb, 2004 2 commits
-
-
Andi Kleen authored
This adds a new completely rewritten machine check handler for x86-64. The old one never worked on 2.6. The new handler has many improvements. It closely follows the Intel and AMD recommendations on MCE handlers now (the old one had many violations). It handles unrecoverable errors in user space better now - it will only kill the process now if possible instead of panicing. This one is CPU independent now - it should work on any CPU that supports the standard x86 MCA architecture. This new handler only logs fatal errors that lead to kernel panic to the console. Non fatal errors are logged race free into a new (non ring) buffer now and supplied to the user using a new character device. The old one could deadlock on console and printk locks. This also separates machine check errors from real kernel errors better. The new buffer has been also designed to be easily accessible from external debugging tools: it has a signature and could be even recovered after reboot. It is not organized as a ring buffer - this means the first errors are kept unless explicitely cleared. The new error formats can be parsed using ftp://ftp.suse.com/pub/people/ak/x86-64/mcelog.c The new character device for it can be created with mknod /dev/mcelog c 10 227 There is a new sysfs interface to configure the machine check handler. It has a "tolerant" parameter that defines the aggressiveness of the machine check: 0: always panic 1: panic if deadlock possible (e.g. MCE happened in the kernel) 2: try to avoid panic Default is 2 Despite of having more features the new handler is shorter.
-
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
-
- 19 Feb, 2004 1 commit
-
-
Andrew Morton authored
From: Andi Kleen <ak@suse.de> This fixes some more problems introduced by the IA32e merge on x86-64 - Make it compile on UP again. - Let the microcode driver build as a module
-
- 18 Feb, 2004 1 commit
-
-
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
-
- 01 Jan, 2004 1 commit
-
-
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
-
- 29 Dec, 2003 1 commit
-
-
Andrew Morton authored
From: Andi Kleen <ak@muc.de> A lot of people have run into this: the x86-64 cpuid driver didn't compile as module. Using a kludge suggested by Sam Ravnsborg.
-
- 06 Oct, 2003 1 commit
-
-
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.
-
- 26 Sep, 2003 1 commit
-
-
Andi Kleen authored
- Remove obsolete wrong do_magic prototype - Remove the dependency between ACPI_SLEEP and SOFTWARE_SUSPEND some people complained about. Works the same as i386 now. - Fix another gcc 3.3 warning in reboot.c - Default NMI watchdog to LOCAL_APIC because that works on more boxes
-
- 25 Sep, 2003 1 commit
-
-
Andi Kleen authored
This fixes a few x86-64 issues that have crept in and broke bootup. - Disable -funit-at-a-time. It breaks symbol exports with gcc 3.3.1-hammer. - Fix sched_clock to not access HPET. The new scheduler uses it more extensively and it is not mapped early enough. I opted to just disable the HPET access, because even a slightly non monotonous TSC should be accurate enough for scheduling purposes. - Fixes for separate objdirs by Arnd Bergmann - Fix two warnings that have crept in
-
- 13 Aug, 2003 1 commit
-
-
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.
-
- 05 Aug, 2003 1 commit
-
-
Kai Germaschewski authored
Currently, vmlinux.lds.s is generated by the top-level Makefile. Unfortunately, this causes the automatic CONFIG dependencies to not work correctly, the reason being that make caches the timestamps of include/config/* so even after split-include updated the timestamps, make still uses the cached stamps to decide whether to rebuild vmlinux.lds.s. The simple fix is to move generation of vmlinux.lds.s into the arch/$(ARCH)/kernel subdirectories, where we build other files for the final link (like head.o) anyway. This also means some special code in the top-level Makefile for preprocessing can go away, since we now just use the standard rules during the recursive phase. This patches fixes up all archs for this change (untested).
-
- 16 Jun, 2003 1 commit
-
-
Andi Kleen authored
Lots of small fixes and I merged the PCI subsystem with i386 again because it was mostly identical. This makes the patch quite big, but it only removes files. - Merge PCI subsystem with i386. This changes the initialization order of PCI and IOMMU slightly. It didn't see any problems yet, but it could cause some in theory. It re-adds some code that used to be removed, but it's only small stuff and it should hopefully cause less mainteance overhead longer term. - Fix warnings - Merge cpuid.c with i386.c - Sync msr.c with i386 - Consolidate externs in asm/proto.h - sysfs/sysdev fixes for apic/nmi (Bryan O'Sullivan) - Fix /proc/kcore access - Add real kern_addr_valid (used for above). - Support consistent dma_mask in IOMMU - Fix double print of AMD for CPU model. - Remove unused wakeup.S file. - Remove obsolete CONFIG_SIMNOW ifdef. - Support ptrace access for 32bit vsyscalls. - Fix warnings in 32bit boot code compilation.
-
- 23 May, 2003 1 commit
-
-
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
-
- 25 Mar, 2003 1 commit
-
-
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)
-
- 10 Mar, 2003 1 commit
-
-
Sam Ravnborg authored
EXTRA_TARGETS has been overloaded with functionality. This is now split in two: targets := list targets kbuild did not know of otherwise extra-y := list targets to be build when not building modules only. extra-y is mainly used to list .o files that is not to be included in the fnal built-in.o file for a directory.
-
- 18 Feb, 2003 1 commit
-
-
Andrew Morton authored
Patch from Nikita Danilov <Nikita@Namesys.COM> this moves functions from identical per-architecture arch/*/kernel/profile.c into generic kernel/profile.c. Also, identical {x86,parisc,ppc64,sparc64}_profile_hook()'s are all replaced by the single kernel/profile.c:profile_hook(), which is #defined to noop in include/linux/profile.h if CONFIG_PROFILING is not set.
-
- 11 Feb, 2003 1 commit
-
-
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.
-
- 03 Feb, 2003 1 commit
-
-
Kai Germaschewski authored
One of the goals of the whole new modversions implementation: export-objs is gone for good!
-
- 16 Jan, 2003 1 commit
-
-
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
-
- 28 Dec, 2002 1 commit
-
-
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.
-
- 20 Dec, 2002 1 commit
-
-
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.
-
- 15 Dec, 2002 1 commit
-
-
Brian Gerst authored
Makefiles no longer need to include Rules.make, which is currently an empty file. This patch removes it from the arch tree Makefiles.
-
- 30 Oct, 2002 1 commit
-
-
Andi Kleen authored
A few updates for x86-64 in 2.5.44. Some of the bugs fixed were serious. - Don't count ACPI mappings in end_pfn. This shrinks mem_map a lot on many setups. - Fix mem= option. Remove custom mapping support. - Revert per_cpu implementation to the generic version. The optimized one that used %gs directly triggered too many toolkit problems and was an constant source of bugs. - Make sure pgd_offset_k works correctly for vmalloc mappings. This makes modules work again properly. - Export pci dma symbols - Export other symbols to make more modules work - Don't drop physical address bits >32bit on iommu free. - Add more prototypes to fix warnings - Resync pci subsystem with i386 - Fix pci dma kernel option parsing. - Do PCI peer bus scanning after ACPI in case it missed some busses (that's a workaround - 2.5 ACPI seems to have some problems here that I need to investigate more closely) - Remove the .eh_frame on linking. This saves several hundred KB in the bzImage - Fix MTRR initialization. It works properly now on SMP again. - Fix kernel option parsing, it was broken by section name changes in init.h - A few other cleanups and fixes. - Fix nonatomic warning in ioport.c
-
- 18 Oct, 2002 1 commit
-
-
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.
-
- 12 Oct, 2002 1 commit
-
-
Andi Kleen authored
And here all the other x86-64 changes that have accumulated in my tree. It's various bugfixes and cleanups. Changes: - fix nmi watchdog - remove local timer spreading over CPUs - it's useless here and caused many problems - New offset.h computation from Kai - Lots of changes for the C99 initializer syntax - New MTRR driver from Dave & Mats - Bugfix: kernel threads don't start with interrupts disabled anymore, which fixes various boottime hangs (this was fixed a long time ago, but the bug crept in again by the backdoor) - Do %gs reload in context switch lockless - Fix device_not_available entry point race - New per CPU GDT layout following i386: the layot is not completely compatible with i386, which may problems with Wine in theory. Haven't seen any yet. - Support disableapic option - driverfs support removed for now because it caused crashes - Updates for new signal setup - Support for kallsyms - Port TLS clone flags/syscalls: unfortunately made the context switch even uglier than it already is. - Security fixes for ptrace - New in_interrupt()/atomic setup ported from i386 - New makefiles mostly from Kai - Various updates ported from i386
-
- 27 Jul, 2002 1 commit
-
-
Kai Germaschewski authored
This patch cleans up most of the Makefile's to list the correct files (i.e. the ones which do have "EXPORT_SYMBOL" in them) in $(export-objs) Contributed by "Lightweight patch manager"
-
- 11 Jun, 2002 1 commit
-
-
Andi Kleen authored
Here is the big 2.5.21 x86-64 sync patch. It only touches arch/x86_64 and include/asm-x86_64. It requires a few other changes that I'm sending in separate mail. Changes: - merge wit 2.5.21 - merge from 2.5.21/i386 (new PCI code, new LDT code etc.) - sync with 2.4-x86_64 tree. - minor updates to 32bit emulation - better early console; including serial support. - now set up dummy PDA for booting to avoid problems - Fix GS reloading in context switch one instruction race - Remove hardcoded names from mpparse code - Fix inline assembly for RAID-5 xor (similar change needed for i386) - Real per cpu data support based on PDA field - Cleanup of offset.c generation requested by Kai: it only puts structure offsets into offset.h now. - Fix i387 fxsave signal frame problems. - Add uname emulation via personality ("linux32") - New SSE optimized checksum-copy, copy*user, memcpy, clear_page, copy_page functions. Other tunings/cleanups in checksum and other user memory access function. - check if exception table is really sorted - Cleanups in page table handling in preparation of non executable pages support. - Cleanup PDA access to not require offset.h (thanks to kai for kicking me to this) - use long long for u64/s64 to avoid more warnings - remove CONFIG_ISA - fix various bugs and other cleanups
-
- 28 May, 2002 1 commit
-
-
Kai Germaschewski authored
Many Makefiles did a put an own rule in front of "include $(TOPDIR)/Rules.make" for no good reason at all, the only places where it made sense are converted to using EXTRA_TARGETS now.
-
- 20 May, 2002 1 commit
-
-
Kai Germaschewski authored
-
- 13 May, 2002 1 commit
-
-
Kai Germaschewski authored
-
- 20 Apr, 2002 1 commit
-
-
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.
-
- 13 Feb, 2002 1 commit
-
-
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
-