An error occurred fetching the project authors.
- 05 Oct, 2004 1 commit
-
-
Linus Torvalds authored
More recent versions of sparse do not define the Linux-specific default defines, so we make the main Makefile default to the regular Linux preprocessor defines (__linux__, linux, __STDC__ and unix, __unix__). Also, sparse has long since fixed the default empty define to be "1" as in regular C, so remove the unnecessary "=1" from the architecture-specific sparse CHECKFLAGS.
-
- 06 Sep, 2004 1 commit
-
-
Linus Torvalds authored
Otherwise sparse will complain about constants that don't fit in "long" etc.
-
- 24 Aug, 2004 1 commit
-
-
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: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 23 Aug, 2004 1 commit
-
-
Sam Ravnborg authored
Searched through all architectures and utilised the cc-* functions when appropriate. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-
- 19 Aug, 2004 1 commit
-
-
Sam Ravnborg authored
Using separate assignment for CHECKFLAGS allows convenient redefinition of CHECK on the command line: make CHECK=~/bin64/sparse C=2 to use a special 64 bit version. Introduced usage in all archs that assined values to CHECK. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-
- 18 Jun, 2004 1 commit
-
-
Alexander Viro authored
- added define of __x86_64__ to sparse arguments on amd64 - switched amd64 uaccess.h to __chk_user_ptr()
-
- 12 Apr, 2004 1 commit
-
-
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
-
- 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)
-
- 01 Mar, 2004 1 commit
-
-
Andrew Morton authored
From: Andi Kleen <ak@suse.de> Fix a few issues on x86-64 for 2.6.4rc1. The 32bit emulation used 4GB/3 for the mmap break. This actually gave programs less sbrk space than with a standard 32bit kernel. Move the 32bit mmap break to 0xc5000000. Uses the correct gcc option to optimize for Prescott now (requires a very new mainline gcc) Also merge the i386 sched_clock(). I hope this will fix some interactivity problems with the scheduler. - Change initializer to new style (Arnd Bergmann) - Remove 2 sibling limit in HT support (from i386) - Always log RIP in MCE records even when not exact - Move 32bit program task break up to 0xc5000000 by default - Use -march=prescott for Prescott optimized kernel if possible - Don't divide by zero with report_lost_ticks on and HPET off - Merge preempt/smp/debug_pagealloc oops printing from i386 - Add pfn_to_nid() - Merge more accurate sched_clock from i386 - Remove traces of debugging code in mce.c - Update defconfig
-
- 25 Feb, 2004 1 commit
-
-
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@muc.de> The upcomming gcc 3.4 has a new compilation mode called unit-at-a-time. What it does is to first load the whole file into memory and then generate the output. This allows it to use a better inlining strategy, drop unused static functions and use -mregparm automatically for static functions. It does not seem to compile significantly slower. This is also available in some of the 3.3 based "hammer branch" compilers used in distributions (at least in SuSE and Mandrake) Some tests show impressive .text shrinkage from unit-at-a-time. e.g. here is the same kernel compiled with -fno-unit-at-a-time and -funit-at-a-time with a gcc 3.4 snapshot. The gains are really impressive: text data bss dec hex filename 4129346 708629 207240 5045215 4cfbdf vmlinux-nounitatatime 3999250 674853 207208 4881311 4a7b9f vmlinux-unitatatime .text shrinks by over 130KB!. And .data shrinks too. At first look the numbers look nearly too good to be true, but they have been verified with several configurations and seem to be real. It looks like we have a lot of stupid inlines or dead functions. I'm really not sure why it is that much better. But it's hard to argue with hard numbers. [A bloat-o-meter comparision between the two vmlinuxes can be found in http://www.firstfloor.org/~andi/unit-vs-no-unit.gz . It doesn't show any obvious candidates unfortunately, just lots of small changes] With the gcc 3.3-hammer from SuSE 9.0 the gains are a bit smaller, but still noticeable (>100KB on .text) This patch enables -funit-at-a-time on ia32 if the compiler is gcc-3.4 or later. We had several reports of gcc-3.3 producing very early lockups.
-
- 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
-
- 24 Jan, 2004 1 commit
-
-
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
-
- 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
-
- 23 Sep, 2003 1 commit
-
-
Andi Kleen authored
- Fix -funit-at-a-time compilation and enable it when possible - Remove -finline-limit as it should not be needed anymore. - Update defconfig - Fix Makefile bug that caused a recompilation of vsyscall.so on every make (thanks to Sam Ravnborg) - Add beginning of asm/dwarf2.h to support assembler CFI directives (not complete yet) - Remove old PDAREF macro from entry.S - Remove clever and buggy code in sys_ioperm/set_bitmap and replace it by simple and working code - Don't make acpi_disabled __initdata. It is referenced after boot. - Fix TLB size reporting in /proc/cpuinfo - Cleanup oops printing a bit - Add "executive summary" at end of oopses - Reenable interrupts on oopses before calling do_exit - Remove some unneeded prefetches. Just two are enough to kickstart the hardware prefetcher. - Add prefetch workaround (based on code from Richard Brunner) - Clean up signal checking in do_page_fault - Don't allow modify_ldt to set 64bit codesegments - Readd SIGEV_PAD_SIZE (Stephen Rothwell) - Add some likelys to uaccess.h (idea from Manfred Spraul)
-
- 07 Sep, 2003 1 commit
-
-
Andi Kleen authored
Nothing too exciting, just some minor new features and bug fixes. The IOMMU code should now not BUG again without CONFIG_IOMMU_DEBUG/iommu=force - Compiles now with -funit-at-a-time - Fix up ioctl 32bit tables following Andrew's change. - Fix __SI_POLL siginfo_t passing to user space - Add 32bit emulation for fadvise64_64 - Remove unneeded sys32_utimes - Various merges with i386 (ACPI, APIC etc.) - Port cpuid patching infrastructure from i386 - Use it to provide better copy_*_user/memcpy/memset/clear/copy_page for C stepping K8. String instructions are faster now that unrolled loops. - Don't try to merge unforced PCI mappings that don't exceed the device's DMA mask. - Discard .exit.data/.exit.text at runtime like i386 - Don't use NTI stores for clear_user - Convert bitops.h bitmap functions to use unsigned long * pointers instead of void * - Fix some warnings in kernel headers. - Fix PDA comments
-
- 25 Jul, 2003 1 commit
-
-
Sam Ravnborg authored
Update support for .incbin in /usr. No longer generate .S files from within the Makefile. Also deleted the assignment to LDFLAGS_BLOB for most architectures. I did not touch ARM and cris: arm: Russell told me they did not have a new as that could be used cris: Looked like it was used for more than just usr/
-
- 19 Jun, 2003 1 commit
-
-
Sam Ravnborg authored
Patch originally by HJ Lu. The filesystem was previously embedded in a .o file using ld. Embedding the filesystem using ld broke as a result ia64 and maybe more architectures. The better way to do this is to use the .incbin feature, as already used for vsyscall for i386. .incbin has the advantage that ELH header is correct, as required by ia64 - and maybe other archs. This change will break architectures relying on binutils older than 2.11.90.0.23 released on 2001-07-14. Most notably arm will break in some configurations due to this. The rationale behing introducing .incbin is that ia64 needs this change and the .incbin feature has been present in binutils for a number of years now. arm will thus have to catch up with binutils - or patch usr/Makefile to stay compatible with the 2.5 kernel. The definition of LDFLAGS_BLOB removed for all architectures - it was obsoleted by this change. Except for arm - that may require it due to the tool compatibility issue.
-
- 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)
-
- 07 Mar, 2003 1 commit
-
-
Sam Ravnborg authored
Introduced filechk for all architectures that previously used update-if-changed. No longer add asmoffsets.h.tmp to CLEAN_FILES. This is a private file to the filechk rule
-
- 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.
-
- 26 Jan, 2003 1 commit
-
-
Sam Ravnborg authored
Replace done for all archs except mips* and cris. These architectures are lacking too much behind that it made sense
-
- 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
-
- 05 Jan, 2003 1 commit
-
-
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
-
- 30 Dec, 2002 1 commit
-
-
Sam Ravnborg authored
Moved archhelp to arch/x86_64/Makefile Introduced usage of $(build) and $(clean) Use kbuild clean infrastructure
-
- 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.
-
- 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.
-
- 17 Sep, 2002 2 commits
-
-
Kai Germaschewski authored
Now that all archs use the same way to generate the link script, we can handle it from the common top-level Makefile instead of the individual arch/*/Makefile's.
-
Kai Germaschewski authored
For consistency reasons, generate arch/$(ARCH)/vmlinux.lds.s from arch/$(ARCH)/vmlinux.lds.S on all archs, even those which do not need preprocessing (yet).
-
- 16 Aug, 2002 1 commit
-
-
Kai Germaschewski authored
HPATH won't work with separate obj/src dirs, since it doesn't specify if we want to look at source or generated files. Fortunately, most uses in arch/*/Makefile were superfluous anyway, the others were converted to explicitly $(srctree) or $(objtree). Additionally, a bit more of srctree / objtree related cleanup.
-
- 20 Jun, 2002 3 commits
-
-
Kai Germaschewski authored
Again, don't just add flags into $(OBJCOPY), but use the variable $(OBJCOPYFLAGS) instead.
-
Kai Germaschewski authored
Everywhere else we use CFLAGS_<target> etc to designate special flags for an object, so handle vmlinux the same way.
-
Kai Germaschewski authored
Some arch Makefiles use LDFLAGS to keep special flags for the final vmlinux link. However, we'd rather use LDFLAGS along the lines of CFLAGS, AFLAGS etc, so get rid of these special cases.
-
- 18 Jun, 2002 1 commit
-
-
Andi Kleen authored
x86_64 core updates. - Make it compile again (switch_to macros etc., add dummy suspend.h) - reenable strength reduce optimization - Fix ramdisk (patch from Mikael Pettersson) - Some merges from i386 - Reimplement lazy iobitmap allocation. I reimplemented it based on bcrl's idea. - Fix IPC 32bit emulation to actually work and move into own file - New fixed mtrr.c from DaveJ ported from 2.4 and reenable it. - Move tlbstate into PDA. - Add some changes that got lost during the last merge. - new memset that seems to actually work. - Align signal handler stack frames to 16 bytes. - Some more minor bugfixes.
-
- 16 Jun, 2002 1 commit
-
-
Kai Germaschewski authored
Since we don't do dependencies up front anymore, archdep does not make too much sense anymore. It was mostly unused now anyway, move the remaining users to the "prepare" target, which is exactly what is wanted: Do some work before the actual build gets started.
-
- 15 Jun, 2002 1 commit
-
-
Kai Germaschewski authored
Switch to a new way of generating a header file defining the offsets into C structs for use in assembler code. This method will hopefully be shared by all archs in the future. The way to do handle things is taken from (or at least inspired by) Keith Owens' kbuild-2.5, so credit for this and the following patches goes to him ;)
-