[PATCH] x86-64 merge
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
Showing
arch/x86_64/ia32/vsyscall.S
0 → 100644
Please register or sign in to comment