summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] ppc32: Fix Kconfig mismergeKumar Gala2005-09-091-5/+5
| | | | | | | | Looks like the help comment for MPC834x got merged incorrectly. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86: MP_processor_info fixAndrew Morton2005-09-091-14/+10
| | | | | | | | | | | Remove the weird and apparently unnecessary logic in MP_processor_info() which assumes that the BSP is the first one to run MP_processor_info(). On one of my boxes that isn't true and cpu_possible_map gets the wrong value. Cc: Zwane Mwaikambo <zwane@arm.linux.org.uk> Cc: Alexander Nyberg <alexn@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/ppc64-2.6 Linus Torvalds2005-09-0924-207/+333
|\
| * Allow PCI config space syscalls to be used by 64-bit processes.Paul Mackerras2005-09-093-57/+64
| | | | | | | | | | | | | | | | | | | | The pciconfig_iobase, pciconfig_read and pciconfig_write system calls were only implemented for 32-bit processes; for 64-bit processes they returned an ENOSYS error. This allows them to be used by 64-bit processes as well. The X server uses pciconfig_iobase at least, and this change is necessary to allow a 64-bit X server to work on my G5. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: Big-endian I/O memory accessors.Arthur Othieno2005-09-091-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I/O memory accessors. Big-endian version. For those busses/devices that do export big-endian I/O memory. Of notable relevance/reference: http://lwn.net/Articles/132804/ http://ozlabs.org/pipermail/linuxppc-embedded/2005-August/019798.html http://ozlabs.org/pipermail/linuxppc-embedded/2005-August/019752.html Signed-Off-By: Arthur Othieno <a.othieno@bluewin.ch> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] Separate pci bits out of struct device_nodePaul Mackerras2005-09-0914-101/+151
| | | | | | | | | | | | | | | | | | | | | | This patch pulls the PCI-related junk out of struct device_node and puts it in a separate structure, struct pci_dn. The device_node now just has a void * pointer in it, which points to a struct pci_dn for nodes that represent PCI devices. It could potentially be used in future for device-specific data for other sorts of devices, such as virtual I/O devices. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] PPC64: large INITRD causes kernel not to bootMark Bellon2005-09-091-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In PPC64 there are number of problems in arch/ppc64/boot/main.c that prevent a kernel from making use of a large (greater than ~16MB) INITRD. This is 64 bit architecture and really large INITRD images should be possible. Simply put the existing code has a fixed reservation (claim) address and once the kernel plus initrd image are large enough to pass this address all sorts of bad things occur. The fix is the dynamically establish the first claim address above the loaded kernel plus initrd (plus some "padding" and rounding). If PROG_START is defined this will be used as the minimum safe address - currently known to be 0x01400000 for the firmwares tested so far. Signed-off-by: Mark Bellon <mbellon@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: makefile cleanupGeoff Levand2005-09-091-13/+15
| | | | | | | | | | | | | | This patch cleans up the output generated by ppc64 builds. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: zimage build fixGeoff Levand2005-09-092-16/+30
| | | | | | | | | | Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Make check_bugs() static inlinejdl@freescale.com2005-09-092-8/+0
| | | | | | | | | | | | | | | | Make check_bugs() static inline and remove it from syscalls.c. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: iSeries early printk breakageStephen Rothwell2005-09-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | The earlier commit 8d9273918635f0301368c01b56c03a6f339e8d51 (Consolidate early console and PPCDBG code) broke iSeries because it caused unregister_console(&udbg_console) to be called unconditionally. iSeries never registers the udbg_console. This just reverts part of the change. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: Fix oops for !CONFIG_NUMAMichael Ellerman2005-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The SPARSEMEM EXTREME code (802f192e4a600f7ef84ca25c8b818c8830acef5a) that went in yesterday broke PPC64 for !CONFIG_NUMA. The problem is that (free|reserve)_bootmem don't take a page number as their first argument, they take an address. Ruh roh. Booted on P5 LPAR, iSeries and G5. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: fix IPI on bpa_iicArnd Bergmann2005-09-091-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a severe bug in the bpa_iic driver that caused all sorts of problems. We had been using incorrect priority values for inter processor interrupts, which resulted in always doing CALL_FUNCTION instead of RESCHEDULE or DEBUGGER_BREAK. The symptoms cured by this patch include bad performance on SMP systems spurious kernel panics in the IPI code. Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] Fix misspelled i8259 typo in io_apic.cKarsten Wiese2005-09-092-4/+4
| | | | | | | | | | | | | | | | The legacy PIC's name is "i8259". Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] __user annotations for pointers in i386 sigframeviro@ZenIV.linux.org.uk2005-09-091-4/+4
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] uaccess.h annotations (uml)viro@ZenIV.linux.org.uk2005-09-092-14/+14
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] sparse on uml (infrastructure bits)viro@ZenIV.linux.org.uk2005-09-092-0/+6
| | | | | | | | | | | | | | | | Passes -m64 to sparse on uml/amd64, tells sparse to stay out of USER_OBJS. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] missing CHECKFLAGS on s390viro@ZenIV.linux.org.uk2005-09-091-0/+2
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] basic iomem annotations (ppc64)viro@ZenIV.linux.org.uk2005-09-091-6/+6
|/ | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: extract common timer code for 68EZ328 processorGreg Ungerer2005-09-081-59/+21
| | | | | | | | | Rework the 68x328 configuration and setup code. All 68x328 varients share the same timer hardware. So extract that into its own file, instead of keeping copies in each processors setup code. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: create common timer code for 68x328 processor varientsGreg Ungerer2005-09-081-0/+106
| | | | | | | Create common timer code for all 68x328 processor varients. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: register map setup for MOD5272 boardGreg Ungerer2005-09-081-3/+3
| | | | | | | | | The boot loader on the MOD5272 board doesn't set the register maping, so set it in the 5272 init code. There was code in there to support this, but we had never needed to use it before. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: add timer support for the 523x ColdFire processor familyGreg Ungerer2005-09-081-0/+1
| | | | | | | | Add timer support for the ColdFire 523x processor family. (It uses the ColdFire PIT timer hardware, so we just build that in). Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: extract common timer code for 68328 processorGreg Ungerer2005-09-081-73/+21
| | | | | | | | | Rework the 68x328 configuration and setup code. All 68x328 varient share the same timer hardware, so extract that into its own file, instead of keeping copies in each processors setup code. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: create common config code for all 68VZ328 platformsGreg Ungerer2005-09-081-0/+210
| | | | | | | | | Create common 68VZ328 config code. It is essentially the same for all boards that use this, so no point having a version of it for each. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: remove DrangonEngine2 specific config codeGreg Ungerer2005-09-081-191/+0
| | | | | | | | Remove DragonEngine2 specific config code. Use common 68VZ328 config code now. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: remove uCdimm specific config codeGreg Ungerer2005-09-081-117/+0
| | | | | | | Remove uCdimm specific config code. Use common 68VZ328 config code now. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: 523x ColdFire processor init/config MakefileGreg Ungerer2005-09-081-0/+19
| | | | | Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'release' of ↵Linus Torvalds2005-09-0814-24/+19
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6
| * [IA64] Manual merge fix for 3 filesTony Luck2005-09-08184-2311/+3374
| |\ | | | | | | | | | | | | | | | | | | | | | arch/ia64/Kconfig arch/ia64/kernel/acpi.c include/asm-ia64/irq.h Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] Increase max physical address for SN platformsJack Steiner2005-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | Increase the value for the maximum physical address on SN systems. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] ensure XPC and XPNET are loaded on sn2 platforms onlyDean Nelson2005-09-082-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | These are SN2 only drivers. They should have platform checks to prevent them from doing evil stuff in GENERIC kernels. Signed-off-by: Martin Hicks <mort@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] defconfig: turn off QLOGIC_FCMartin Hicks2005-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Turn off the QLOGIC_FC driver. Supposedly qla2xxx should support these devices. Do any ia64 machines have one of these devices as the boot device? Signed-off-by: Martin Hicks <mort@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] Minor cleanups - remove CONFIG_ACPI_DEALLOCATE_IRQKenji Kaneshige2005-09-078-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | The config option 'CONFIG_ACPI_DEALLOCATE_IRQ' is no longer needed. This patch removes it. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] minor performance tune-up in ia64_switch_toChen, Kenneth W2005-09-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reenabling of psr.ic should really belong to dtr mapping code block. It make the fall through code fast since it doesn't need to execute the predicated-off instruction. Logically make more sense as well since psr.ic was turned off in .map code block. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] make exception handler in copy_user more robustChen, Kenneth W2005-09-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The exception handler in copy user always expects fault occurs only on user space address and the fall back recovery code is written with that very assumption in mind. Recent source code inspection revealed that while it worked splendid and to the expectation under normal circumstances, It broke down under unexpected condition where some address calculation might go outside the legal address range the original copy_user was called for. This patch is to make copy_user exception handler more robust and to prevent potential memory corruption. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] page_not_present fault in region 5 is normalKiyoshi Ueda2005-09-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When copying data from user-space to kernel-space by __copy_user(), a page_not_present fault sometimes occurs at vmalloced kernel address because of VHPT pre-fetching. Ignore the page_not_present fault in ia64_do_page_fault() before jumping into exception handlers. Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq Linus Torvalds2005-09-083-13/+13
|\ \ \
| * | | [CPUFREQ] Remove trailing whitespace before \n's in printks.Dave Jones2005-09-012-3/+3
| | | | | | | | | | | | | | | | | | | | From: Denis Vlasenko <vda@ilport.com.ua> Signed-off-by: Dave Jones <davej@redhat.com>
| * | | [CPUFREQ] Remove extra arg from dprintk in cpufreq/speedstep-smi.cMika Kukkonen2005-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor fallout from my upcoming __attribute__((format(printf,x,y))) patches. The variable 'result' is untouched, so this patch just removes it. Signed-off-by: Mika Kukkonen <mikukkon@gmail.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * | | [CPUFREQ] dprintf format fixes in cpufreq/speedstep-centrino.cMika Kukkonen2005-08-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ho-hum, did not notice there was more printf fixes for cpufreq (you should see the amount I have for isdn and reiser ...). Sorry for noise. Signed-off-by: Mika Kukkonen <mikukkon@gmail.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * | | [CPUFREQ] speedstep-centrino: skip extract_clock logic for acpi based centrinoVenkatesh Pallipadi2005-08-311-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | speedstep_centrino.c:extract_clock() assumes the bus speed of 100MHz, which is not true with latest laptops. Due to this assumption and due to the encoded frequency check during initialization, speedstep-centrino driver fails even on systems that has proper ACPI information to do the P-state transition. The change below moves the centrino-speedstep detection to be used only when table based P-state transition is done. For ACPI based P-state transition, we skip the centrino_cpu identification, and as a result we don't use the bus speed assumption in extract_clock. This change makes speedstep-centrino work on Pentium-M based systems, which have more than 100MHz bus speed. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
* | | | Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 Linus Torvalds2005-09-0810-210/+84
|\ \ \ \
| * | | | [PATCH] Make sparc64 use setup-res.cDavid S. Miller2005-09-084-187/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were three changes necessary in order to allow sparc64 to use setup-res.c: 1) Sparc64 roots the PCI I/O and MEM address space using parent resources contained in the PCI controller structure. I'm actually surprised no other platforms do this, especially ones like Alpha and PPC{,64}. These resources get linked into the iomem/ioport tree when PCI controllers are probed. So the hierarchy looks like this: iomem --| PCI controller 1 MEM space --| device 1 device 2 etc. PCI controller 2 MEM space --| ... ioport --| PCI controller 1 IO space --| ... PCI controller 2 IO space --| ... You get the idea. The drivers/pci/setup-res.c code allocates using plain iomem_space and ioport_space as the root, so that wouldn't work with the above setup. So I added a pcibios_select_root() that is used to handle this. It uses the PCI controller struct's io_space and mem_space on sparc64, and io{port,mem}_resource on every other platform to keep current behavior. 2) quirk_io_region() is buggy. It takes in raw BUS view addresses and tries to use them as a PCI resource. pci_claim_resource() expects the resource to be fully formed when it gets called. The sparc64 implementation would do the translation but that's absolutely wrong, because if the same resource gets released then re-claimed we'll adjust things twice. So I fixed up quirk_io_region() to do the proper pcibios_bus_to_resource() conversion before passing it on to pci_claim_resource(). 3) I was mistakedly __init'ing the function methods the PCI controller drivers provide on sparc64 to implement some parts of these routines. This was, of course, easy to fix. So we end up with the following, and that nasty SPARC64 makefile ifdef in drivers/pci/Makefile is finally zapped. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | | [PATCH] PCI: restore BAR values after D3hot->D0 for devices that need itJohn W. Linville2005-09-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some PCI devices (e.g. 3c905B, 3c556B) lose all configuration (including BARs) when transitioning from D3hot->D0. This leaves such a device in an inaccessible state. The patch below causes the BARs to be restored when enabling such a device, so that its driver will be able to access it. The patch also adds pci_restore_bars as a new global symbol, and adds a correpsonding EXPORT_SYMBOL_GPL for that. Some firmware (e.g. Thinkpad T21) leaves devices in D3hot after a (re)boot. Most drivers call pci_enable_device very early, so devices left in D3hot that lose configuration during the D3hot->D0 transition will be inaccessible to their drivers. Drivers could be modified to account for this, but it would be difficult to know which drivers need modification. This is especially true since often many devices are covered by the same driver. It likely would be necessary to replicate code across dozens of drivers. The patch below should trigger only when transitioning from D3hot->D0 (or at boot), and only for devices that have the "no soft reset" bit cleared in the PM control register. I believe it is safe to include this patch as part of the PCI infrastructure. The cleanest implementation of pci_restore_bars was to call pci_update_resource. Unfortunately, that does not currently exist for the sparc64 architecture. The patch below includes a null implemenation of pci_update_resource for sparc64. Some have expressed interest in making general use of the the pci_restore_bars function, so that has been exported to GPL licensed modules. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | | [PATCH] arch/386/pci: remap_pfn_range -> io_remap_pfn_rangeMichael S. Tsirkin2005-09-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert i386/pci to use io_remap_pfn_range instead of remap_pfn_range. This is good for Xen which reuses i386/pci/i386.c for domain 0 code. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | | [PATCH] PCI: fix up pretty-names removal patchAndrew Morton2005-09-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | | [PATCH] PCI: remove CONFIG_PCI_NAMESAdrian Bunk2005-09-084-25/+17
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | This patch removes CONFIG_PCI_NAMES. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Linus Torvalds2005-09-083-83/+1
|\ \ \ \
| * | | | [SPARC64]: Inline membar()'s again.David S. Miller2005-09-083-83/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since GCC has to emit a call and a delay slot to the out-of-line "membar" routines in arch/sparc64/lib/mb.S it is much better to just do the necessary predicted branch inline instead as: ba,pt %xcc, 1f membar #whatever 1: instead of the current: call membar_foo dslot because this way GCC is not required to allocate a stack frame if the function can be a leaf function. This also makes this bug fix easier to backport to 2.4.x Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud