aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] x86_64: Rewrite exception stack backtracingAndi Kleen2005-04-161-68/+79
| | | | | | | | | | | | | | | Exceptions and hardware interrupts can, to a certain degree, nest, so when attempting to follow the sequence of stacks used in order to dump their contents this has to be accounted for. Also, IST stacks have their tops stored in the TSS, so there's no need to add the stack size to get to their ends. Minor changes from AK. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Final support for AMD dual coreAndi Kleen2005-04-163-44/+53
| | | | | | | | | | | | | Clean up the code greatly. Now uses the infrastructure from the Intel dual core patch Should fix a final bug noticed by Tyan of not detecting the nodes correctly in some corner cases. Patch for x86-64 and i386 Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: add support for Intel dual-core detection and displayingAndi Kleen2005-04-1610-32/+163
| | | | | | | | | | | | | | | | | | | | | Appended patch adds the support for Intel dual-core detection and displaying the core related information in /proc/cpuinfo. It adds two new fields "core id" and "cpu cores" to x86 /proc/cpuinfo and the "core id" field for x86_64("cpu cores" field is already present in x86_64). Number of processor cores in a die is detected using cpuid(4) and this is documented in IA-32 Intel Architecture Software Developer's Manual (vol 2a) (http://developer.intel.com/design/pentium4/manuals/index_new.htm#sdm_vol2a) This patch also adds cpu_core_map similar to cpu_sibling_map. Slightly hacked by AK. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Remove duplicated syscall entry.Andi Kleen2005-04-161-2/+0
| | | | | | | Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Keep only a single debug notifier chainAndi Kleen2005-04-162-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling a notifier three times in the debug handler does not make much sense, because a debugger can figure out the various conditions by itself. Remove the additional calls to DIE_DEBUG and DIE_DEBUGSTEP completely. This matches what i386 does now. This also makes sure interrupts are always still disabled when calling a debugger, which prevents: BUG: using smp_processor_id() in preemptible [00000001] code: tpopf/1470 caller is post_kprobe_handler+0x9/0x70 Call Trace:<ffffffff8024f10f>{smp_processor_id+191} <ffffffff80120e69>{post_kpro be_handler+9} <ffffffff80120f7a>{kprobe_exceptions_notify+58} <ffffffff80144fc0>{notifier_call_chain+32} <ffffffff80110daf>{do_debug+335} <ffffffff8010f513>{debug+127} <EOE> on preemptible debug kernels with kprobes when single stepping in user space. This was probably a bug even on non preempt kernels, this function was supposed to be running with interrupts off according to a comment there. Note to third part debugger maintainers: please double check your debugger can still single step. Cc: <prasanna@in.ibm.com> Cc: <jbeulich@novell.com> Cc: <kaos@sgi.com> Cc: <jim.houston@ccur.com> Cc: <jfv@bluesong.net> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Use the e820 hole to map the IOMMU/AGP apertureAndi Kleen2005-04-161-11/+30
| | | | | | | | This might save memory on some Opteron systems without AGP bridge. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Port over e820 gap detection from i386Andi Kleen2005-04-163-11/+61
| | | | | | | | | | | Look for gaps in the e820 memory map to put PCI resources in. This hopefully fixes problems with the PCI code assigning 32bit BARs MMIO resources which are >32bit. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64-always-use-cpuid-80000008-to-figure-out-mtrr fixSiddha, Suresh B2005-04-161-2/+4
| | | | | | | | | We need to use the size_and_mask in set_mtrr_var_ranges(which is called while programming MTRR's for AP's Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Always use CPUID 80000008 to figure out MTRR address space sizeAndi Kleen2005-04-161-34/+15
| | | | | | | | | | | | | It doesn't make sense to only do this only for AMD K8. This would support future CPUs with extended address spaces properly. For i386 and x86-64 Cc: <davej@redhat.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Remove excessive stack allocation in MCE code with large NR_CPUSAndi Kleen2005-04-161-1/+7
| | | | | | | | Remove excessive stack allocation in MCE code with large NR_CPUS Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Use the extended RIP MSR for machine check reporting if ↵Andi Kleen2005-04-161-8/+22
| | | | | | | | | | | | | | | | available. They are rumoured to be much more reliable than the RIP in the stack frame on P4s. This is a borderline case because the code is very simple. Please note there are no plans to add support for all the MCE register MSRs. Cc: <venkatesh.pallipadi@intel.com> Cc: <racing.guo@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Correct wrong comment in local.hAndi Kleen2005-04-161-1/+2
| | | | | | | | | local_t is actually a win over atomic_t because it does not need lock prefixes. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Don't assume future AMD CPUs have K8 compatible performance ↵Andi Kleen2005-04-161-1/+1
| | | | | | | | | | counters The NMI watchdog code did this incorrectly Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Make kernel math errors a die() nowAndi Kleen2005-04-161-8/+2
| | | | | | | | | | | There were no reports about the previous warning for FPU exceptions in the kernel, so make it a die() now. Also improve the error messages slightly. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Support constantly ticking TSCsAndi Kleen2005-04-163-3/+8
| | | | | | | | | | | | On Intel Noconas the TSC ticks with a constant frequency. Don't scale the factor used by udelay when cpufreq changes the frequency. This generalizes an earlier patch by Intel for this. Cc: <venkatesh.pallipadi@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Remove unused macro in preempt supportAndi Kleen2005-04-161-4/+1
| | | | | | | | Remove unused macro in preempt support Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Fix a small missing schedule raceAndi Kleen2005-04-161-1/+1
| | | | | | | | | | | | Could lead to a lost reschedule event when the process already rescheduled on exception exit, and needs it again while still being in the kernel. Unlikely case though. Also remove one redundant cli in another entry.S path. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Regularize exception stack handlingAndi Kleen2005-04-162-51/+55
| | | | | | | | | | | | This fixes various issues in the return path for "paranoid" handlers (= running on a private exception stack that act like NMIs). Generalize previous hack to switch back to process stack for scheduling/signal handling purposes. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Call do_notify_resume unconditionally in entry.SAndi Kleen2005-04-161-18/+8
| | | | | | | | | | | | | This removes some unnecessary code in the assembly files. Matches i386 behaviour. In addition don't clear the work check mask after work has been done. This fixes some theoretical signal/other event losses. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Minor microoptimization in syscall entry slow pathAndi Kleen2005-04-161-3/+1
| | | | | | | | Minor microoptimization in syscall entry slow path Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Fix interaction of single stepping with debuggersAndi Kleen2005-04-161-0/+12
| | | | | | | | | | | Ported from i386/Linus Fix another TF corner case. Need to do the special TF handling for all signals to make debuggers happy Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Dump stack and prevent recursion on early faultAndi Kleen2005-04-161-0/+8
| | | | | | Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Use a common function to find code segment basesAndi Kleen2005-04-162-7/+10
| | | | | | | | To avoid some code duplication. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Handle programs that set TF in user space using popf while ↵Andi Kleen2005-04-161-0/+88
| | | | | | | | | | | | | | single stepping Ported from i386/Linus Still won't handle other TF changing instructions like IRET or LAHF. Prefix handling must be double checked... Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Some fixes for single step handlingAndi Kleen2005-04-162-16/+12
| | | | | | | | | | Ported from i386/Linus Be more careful with TF handling to fix some copy protection codes in Wine Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: clean up ptrace single-steppingAndi Kleen2005-04-161-29/+50
| | | | | | | | | | | | | Ported from i386 (originally from Linus) clean up ptrace single-stepping, make PT_DTRACE exact. (This makes the naming of "DTRACE" purely historical, since on x86 it now means "single step in progress"). Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on ↵Andi Kleen2005-04-163-10/+6
| | | | | | | | | | CONFIG_ISA This allows to use them on x86-64 Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Use a VMA for the 32bit vsyscallAndi Kleen2005-04-165-75/+61
| | | | | | | | | | | | | Use a real VMA to map the 32bit vsyscall page This interacts better with Hugh's upcomming VMA walk optimization Also removes some ugly special cases. Code roughly modelled after the ppc64 vdso version from Ben Herrenschmidt. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64 show_stack(): call touch_nmi_watchdogakpm@osdl.org2005-04-161-0/+2
| | | | | | | | I had strange NMI watchdog timeouts running sysrq-T across 9600-baud serial. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64 genapic updateJason Davis2005-04-162-0/+20
| | | | | | | | | | | | | | | | | | x86_64 genapic mechanism should be aware of machines that use physical APIC mode regardless of how many clusters/processors are detected. ACPI 3.0 FADT makes this determination very simple by providing a feature flag "force_apic_physical_destination_mode" to state whether the machine unconditionally uses physical APIC mode. Unisys' next generation x86_64 ES7000 will need to utilize this FADT feature flag in order to boot the x86_64 kernel in the correct APIC mode. This patch has been tested on both x86_64 commodity and ES7000 boxes. Signed-off-by: Jason Davis <jason.davis@unisys.com> Acked-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: disable interrupts during SMP bogomips checkingAndi Kleen2005-04-161-4/+0
| | | | | | | | | | | | | Port over a i386 kludge from rusty to x86-64 I don't think it is a full solution, but the upcomming smp bootup rewrite will solve it. This fixes BUGs at bootup on bigger x86-64 systems. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86-64: Fix BUG()Andi Kleen2005-04-161-1/+1
| | | | | | | | Use the correct file name in BUG() Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86-64/i386: Revert cpuinfo siblings behaviour back to 2.6.10Andi Kleen2005-04-162-4/+11
| | | | | | | | | | | | | | | Only display physical id/siblings when there are siblings or dual core. In 2.6.11 I accidentially broke it and it was always displaying these fields But for compatibility to all these /proc parsers around it is better to do it in the old way again. Noticed by Suresh Siddha Cc: <Suresh.b.siddha@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86-64: i386 vDSO: add PT_NOTE segmentRoland McGrath2005-04-161-0/+3
| | | | | | | | Use the i386 PT_NOTE segment in x86_64 as well. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] i386 vDSO: add PT_NOTE segmentRoland McGrath2005-04-163-3/+31
| | | | | | | | | | | This patch adds an ELF note to the vDSO giving the LINUX_VERSION_CODE value. Having this in the vDSO lets the dynamic linker avoid the `uname' syscall it now always does at startup to ascertain the kernel ABI available. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] i386: Use loaddebug macro consistentlyRoland McGrath2005-04-164-13/+9
| | | | | | | | | | | | | | | | This moves the macro loaddebug from asm-i386/suspend.h to asm-i386/processor.h, which is the place that makes sense for it to be defined, removes the extra copy of the same macro in arch/i386/kernel/process.c, and makes arch/i386/kernel/signal.c use the macro in place of its expansion. This is a purely cosmetic cleanup for the normal i386 kernel. However, it is handy for Xen to be able to just redefine the loaddebug macro once instead of also changing the signal.c code. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] i2c-i801: I2C patch for Intel ESB2Jason Gaston2005-04-162-0/+3
| | | | | | | | | | This patch adds the Intel ESB2 DID's to the i2c-i801.c and Kconfig files for I2C support. Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ahci: AHCI mode SATA patch for Intel ESB2Jason Gaston2005-04-161-0/+6
| | | | | | | | | | This patch adds the Intel ESB2 DID's to the ahci.c file for AHCI mode SATA support. Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> Cc: <linux-scsi@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ata_piix: IDE mode SATA patch for Intel ESB2Jason Gaston2005-04-162-0/+15
| | | | | | | | | | This patch adds the Intel ESB2 DID's to the ata_piix.c and quirks.c file for IDE mode SATA support. Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] intel8x0: AC'97 audio patch for Intel ESB2Jason Gaston2005-04-161-0/+6
| | | | | | | | | This patch adds the Intel ESB2 DID's to the intel8x0.c file for AC'97 audio support. Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] piix: IDE PATA patch for Intel ESB2Jason Gaston2005-04-161-0/+4
| | | | | | | | This patch adds the Intel ESB2 DID's to the piix.c file for IDE PATA support. Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] irq and pci_ids: patch for Intel ESB2Jason Gaston2005-04-162-0/+32
| | | | | | | | This patch adds the Intel ESB2 DID's to the irq.c and pci_ids.h files. Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] mips: remove #include <linux/audit.h> two timesYoichi Yuasa2005-04-161-1/+0
| | | | | | | | | | This patch removes #include <linux/audit.h>. Because it includes it two times. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] mips: update VR41xx CPU-PCI bridge supportYoichi Yuasa2005-04-165-142/+181
| | | | | | | | | This patch updates NEC VR4100 series CPU-PCI bridge support. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] mips: remove obsolete VR41xx RTC function from vr41xx.hYoichi Yuasa2005-04-161-16/+0
| | | | | | | | | | This patch had removed obsolete VR41xx RTC function from vr41xx.h . I forgot to put this change in "update VR41xx RTC support". Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: no prefetch for NULL pointersOlof Johansson2005-04-161-0/+6
| | | | | | | | | | | | For prefetches of NULL (as when walking a short linked list), PPC64 will in some cases take a performance hit. The hardware needs to do the TLB walk, and said walk will always miss, which means (up to) two L2 misses as penalty. This seems to hurt overall performance, so for NULL pointers skip the prefetch alltogether. Signed-off-by: Olof Johansson <olof@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: remove -fno-omit-frame-pointerAnton Blanchard2005-04-161-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During some code inspection using gcc 4.0 I noticed a stack frame was being created for a number of functions that didnt require it. For example: c0000000000df944 <._spin_unlock>: c0000000000df944: fb e1 ff f0 std r31,-16(r1) c0000000000df948: f8 21 ff c1 stdu r1,-64(r1) c0000000000df94c: 7c 3f 0b 78 mr r31,r1 c0000000000df950: 7c 20 04 ac lwsync c0000000000df954: e8 21 00 00 ld r1,0(r1) c0000000000df958: 38 00 00 00 li r0,0 c0000000000df95c: 90 03 00 00 stw r0,0(r3) c0000000000df960: eb e1 ff f0 ld r31,-16(r1) c0000000000df964: 4e 80 00 20 blr It turns out we are adding -fno-omit-frame-pointer to ppc64 which is causing the above behaviour. Removing that flag results in much better code: c0000000000d5b30 <._spin_unlock>: c0000000000d5b30: 7c 20 04 ac lwsync c0000000000d5b34: 38 00 00 00 li r0,0 c0000000000d5b38: 90 03 00 00 stw r0,0(r3) c0000000000d5b3c: 4e 80 00 20 blr We dont require a frame pointer to debug on ppc64, so remove it. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: remove bogus f50 hack in prom.cBenjamin Herrenschmidt2005-04-161-6/+0
| | | | | | | | | | | | The code that parses the OF device tree contains an old bogus hack which was killed a long time ago on ppc32, but survived in ppc64. It was supposed to help with a problem on the f50 which is ... a 32 bits machine :) Additionally, that hack is causing problems, so let's just get rid of it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: Detect altivec via firmware on unknown CPUsBenjamin Herrenschmidt2005-04-163-3/+20
| | | | | | | | | | | | | | | | | This patch adds detection of the Altivec capability of the CPU via the firmware in addition to the cpu table. This allows newer CPUs that aren't in the table to still have working altivec support in the kernel. It also fixes a problem where if a CPU isn't recognized as having altivec features, and takes an altivec unavailable exception due to userland issuing altivec instructions, the kernel would happily enable it and context switch the registers ... but not all of them (it would basically forget vrsave). With this patch, the kernel will refuse to enable altivec when the feature isn't detected for the CPU (SIGILL). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: Improve mapping of vDSOBenjamin Herrenschmidt2005-04-163-19/+24
| | | | | | | | | | | | | | | | | | | | This patch reworks the way the ppc64 is mapped in user memory by the kernel to make it more robust against possible collisions with executable segments. Instead of just whacking a VMA at 1Mb, I now use get_unmapped_area() with a hint, and I moved the mapping of the vDSO to after the mapping of the various ELF segments and of the interpreter, so that conflicts get caught properly (it still has to be before create_elf_tables since the later will fill the AT_SYSINFO_EHDR with the proper address). While I was at it, I also changed the 32 and 64 bits vDSO's to link at their "natural" address of 1Mb instead of 0. This is the address where they are normally mapped in absence of conflict. By doing so, it should be possible to properly prelink one it's been verified to work on glibc. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>