summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] PCI: clean up dynamic pci id logicGreg Kroah-Hartman2005-07-011-1/+1
| | | | | | | | | | | | | | | | | The dynamic pci id logic has been bothering me for a while, and now that I started to look into how to move some of this to the driver core, I thought it was time to clean it all up. It ends up making the code smaller, and easier to follow, and fixes a few bugs at the same time (dynamic ids were not being matched everywhere, and so could be missed on some call paths for new devices, semaphore not needed to be grabbed when adding a new id and calling the driver core, etc.) I also renamed the function pci_match_device() to pci_match_id() as that's what it really does. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] PCI: pci_assign_unassigned_resources() on x86Ivan Kokshaysky2005-07-012-3/+9
| | | | | | | | | | | | | | | | - Add sanity check for io[port,mem]_resource in setup-bus.c. These resources look like "free" as they have no parents, but obviously we must not touch them. - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be allocated for some reason, then clear its flags. This prevents any child allocations in this range, so the setup-bus code will work with a clean resource sub-tree. - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks only resources 0-5, which looks like a clear bug to me. I suspect it might break hotplug as well in some cases. From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] alpha smp fixIvan Kokshaysky2005-06-301-1/+1
| | | | | | | | | | | | As usual, the reason of this breakage is quite silly: in do_entIF, we are checking for PS == 0 to see whether it was a kernel BUG() or userspace trap. It works, unless BUG() happens in interrupt - PS is not 0 in kernel mode due to non-zero IPL, and the things get messed up horribly then. In this particular case it was BUG_ON(!irqs_disabled()) triggered in run_posix_cpu_timers(), so we ended up shooting "current" with the bursts of one SIGTRAP and three SIGILLs on every timer tick. ;-)
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-06-305-50/+47
|\
| * [PATCH] ARM: 2779/1: Fix the V bit setting for the ARM1020x CPUsCatalin Marinas2005-06-302-4/+4
| | | | | | | | | | | | | | | | | | | | | | Patch from Catalin Marinas This patch fixes the V bit setting for the ARM1020x processors. At reset, this bit is automatically set to the value of the HIVECSINIT input signal which just happened to be 1 but it is not mandatory. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [PATCH] ARM: 2778/1: Add -mno-thumb-interwork to CFLAGS_ABICatalin Marinas2005-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Catalin Marinas The new EABI gcc adds -mthumb-interwork by default, even if -mabi=apcs-gnu is passed. This causes a warning for every compiled C file when -march=armv4 is used. The patch adds -mno-thumb-interwork if the option is supported. This is also useful since we don't need any ARM/Thumb interworking in the kernel Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [PATCH] ARM: 2777/1: Fix broken comment arch/arm/mm/proc-arm1020.SCatalin Marinas2005-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | Patch from Catalin Marinas This patch fixes a broken comment in the proc-arm1020.S file which prevents the file compilation Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [PATCH] ARM: Don't try to send a signal to pid0Russell King2005-06-302-45/+42
| | | | | | | | | | | | | | | | | | If we receive an unrecognised abort during boot, don't try to send a signal to pid0, but instead report the current state. This leads to less confusing debug reports. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6Linus Torvalds2005-06-3016-518/+285
|\ \
| * | [PATCH] ppc64: Replace custom locking code with a spinlockMichael Ellerman2005-06-301-36/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hvlpevent_queue (formally ItLpQueue) has a member called xInUseWord which is used for serialising access to the queue. Because it's a word (ie. 32 bit) there's a custom 32-bit version of test_and_set_bit() or thereabouts in ItLpQueue.c. The xInUseWord is not shared with they hypervisor, so we can replace it with a spinlock and remove the custom code. There is also another locking mechanism (ItLpQueueInProcess). This is redundant because it's only manipulated while the lock's held. Remove it. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Formatting cleanups in arch/ppc64/kernel/ItLpQueue.cMichael Ellerman2005-06-301-31/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just formatting cleanups: * rename some "nextLpEvent" variables to just "event" * make code fit in 80 columns * use brackets around if/else * use a temporary to make hvlpevent_clear_valid clearer Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Cleanup whitespace in arch/ppc64/kernel/ItLpQueue.cMichael Ellerman2005-06-301-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | Just cleanup white space. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Cleanup proc printing of event typesMichael Ellerman2005-06-301-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code that prints event counts by type uses a hand-coded number of tabs to get the alignment right. Instead use a printf alignment which will allow allow us to use the event_type strings elsewhere in the future. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Simplify counting of lpevents, remove lpevent_count from pacaMichael Ellerman2005-06-301-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there's a per-cpu count of lpevents processed, a per-queue (ie. global) total count, and a count by event type. Replace all that with a count by event for each cpu. We only need to add it up int the proc code. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Don't count number of events processed for callerMichael Ellerman2005-06-304-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we count the number of lpevents processed in 3 seperate places. One of these counters is never read, so just remove it. This means hvlpevent_queue_process() no longer needs to return the number of events processed. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Rename ItLpQueue_* functions to hvlpevent_queue_*Michael Ellerman2005-06-305-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we've renamed the xItLpQueue structure, rename the functions that operate on it also. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Rename xItLpQueue to hvlpevent_queueMichael Ellerman2005-06-302-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | The xItLpQueue is a queue of HvLpEvents that we're given by the Hypervisor. Rename xItLpQueue to hvlpevent_queue and make the type struct hvlpevent_queue. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Move definition of xItLpQueueMichael Ellerman2005-06-302-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | The xItLpQueue is declared in LparData.c, move it into ItLpQueue.c. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Make two ItLpQueue related functions staticMichael Ellerman2005-06-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | External parties don't need to use ItLpQueue_getNextLpEvent() or ItLpQueue_clearValid(), they're internal to ItLpQueue.c Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Move xItLpQueue proc code into ItLpQueue.cMichael Ellerman2005-06-302-48/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move the code that displays xItLpQueue values in /proc into ItLpQueue.c. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Move initialisation of xItLpQueue into ItLpQueue.cMichael Ellerman2005-06-302-20/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | The xItLpQueue is initalised manually in iSeries_setup_arch(). Move this code into ItLpQueue.c for a cleaner separation. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Don't pass the pointers to xItLpQueue aroundMichael Ellerman2005-06-305-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | Because there's only one ItLpQueue and we know where it is, ie. xItLpQueue, there's no point passing pointers to it it around all over the place. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Reorganise the paca initialisation macrosMichael Ellerman2005-06-301-146/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the macros that initialise the paca to remove the lpq parameter. It also rearranges them a bit with the hope of making them a bit clearer. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Move set_spread_lpevents() into ItLpQueue.cMichael Ellerman2005-06-302-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only code outside ItLpQueue.c that refers to spread_lpevents is in set_apread_lpevents(), so move it inside ItLpQueue.c and make spread_lpevents static. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Spread lpevents by default on iSeriesMichael Ellerman2005-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the previous patch in place, spreading lpevents by default becomes a one liner. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: Remove lpqueue pointer from the paca on iSeriesMichael Ellerman2005-06-307-26/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The iSeries code keeps a pointer to the ItLpQueue in its paca struct. But all these pointers end up pointing to the one place, ie. xItLpQueue. So remove the pointer from the paca struct and just refer to xItLpQueue directly where needed. The only complication is that the spread_lpevents logic was implemented by having a NULL lpqueue pointer in the paca on CPUs that weren't supposed to process events. Instead we just compare the spread_lpevents value to the processor id to get the same behaviour. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] remove duplicate printf in arch/ppc64/boot/main.cOlaf Hering2005-06-281-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | initrd size is printed as hex, add a missing 0x remove a duplicate printf when initrd is used. remove use of kernel type to access the first bytes of the initrd memarea. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] remove printk usage in arch/ppc64/boot/prom.cOlaf Hering2005-06-282-15/+2
| | | | | | | | | | | | | | | | | | | | | remove the printk usage in the zImage. we are not there, yet. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] remove unused arch/ppc64/boot/mknote.cOlaf Hering2005-06-281-43/+0
| | | | | | | | | | | | | | | | | | | | | mknote is not called in arch/ppc64/boot/Makefile Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] remove unused arch/ppc64/boot/piggyback.cOlaf Hering2005-06-282-87/+1
| | | | | | | | | | | | | | | | | | | | | piggyback is not called in arch/ppc64/boot/Makefile Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: don't create spurious symlinks under node0 sysdevNathan Lynch2005-06-281-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On partitioned systems we can wind up creating spurious symlinks in /sys/devices/system/node/node0 to non-present cpus. The symlinks are not broken; the problem is that we're potentially misinforming userspace that there is a relationship between node0 and cpus which are to be added later. There's no guarantee at all that a cpu which is added later will belong to node 0. Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] ppc64: simplify nvram partition scanning codeArnd Bergmann2005-06-281-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Convert nvram_create_os_partition to use list_for_each_entry instead of list_for_each, as this reduces the code size by two lines. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] xtensa: Fix asm macroChris Zankel2005-06-301-90/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Removed dead code in arch/xtensa/kernel/pci.c and use the pci_name() macro. Fixed an error in the delay asm macro: '1' is an invalid immediate value. Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] xtensa: Removed local copy of zlib and fixed O= supportChris Zankel2005-06-309-2671/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed an unnecessary local copy of zlib (sorry for the add'l traffic). Fixed 'O=' support (thanks to Jan Dittmer for pointing it out). Some minor clean-ups in the make files. Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] xtensa: Added mm/Kconfig to get a flat memory layoutChris Zankel2005-06-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Added 'mm/Kconfig' to the xtensa Kconfig file to get a flat memory layout. Fixed a typo in one of the help texts (thanks Geert for pointing it out) Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] xtensa: use valid_signal()Jesper Juhl2005-06-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xtensa should use valid_signal() instead of testing _NSIG directly like everyone else. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Cc: Chris Zankel <chris@zankel.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] x86: i8253/i8259A lock cleanupIngo Molnar2005-06-309-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | Introduce proper declarations for i8253_lock and i8259A_lock. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] ppc32: Fix pointer check for MPC8540 ADS deviceKumar Gala2005-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Editor snafu in which the call to ppc_sys_get_pdata got inside the if check instead of before it. Oops. 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] ppc32: use correct register names in arch/ppc/kernel/relocate_kernel.SOlaf Hering2005-06-301-2/+2
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | CONFIG_KEXEC=y doesnt work: arch/ppc/kernel/relocate_kernel.S:37: Error: unsupported relocation against SRR1 arch/ppc/kernel/relocate_kernel.S:39: Error: unsupported relocation against SRR0 Signed-off-by: Olaf Hering <olh@suse.de> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6Linus Torvalds2005-06-2919-311/+549
|\ \
| * | [IA64] Update zx1_defconfigTony Luck2005-06-291-44/+122
| | | | | | | | | | | | Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] Update tiger_defconfigTony Luck2005-06-291-8/+31
| | | | | | | | | | | | Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | Auto merge with /home/aegl/GIT/linusTony Luck2005-06-2922-142/+554
| |\ \
| * | | [IA64] Fix another IA64 preemption problemPeter Chubb2005-06-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's another problem shown up by Ingo's recent patch to make smp_processor_id() complain if it's called with preemption enabled. local_finish_flush_tlb_mm() calls activate_context() in a situation where it could be rescheduled to another processor. This patch disables preemption around the call. Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64] Replace stale KDB-code with useful MAGIC_SYSRQ code in simserial.cDavid Mosberger-Tang2005-06-281-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch makes it possible to use the "F4" function key to do magic sysrq in the HP Ski simulator. Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64-SGI] Altix patch to tiocx, add subsys_initcallBruce Losure2005-06-281-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes an ordering issue between the init code for the tiocx bus driver and tiocx-related device drivers. Also adds a new brick to the list of known FPGA bricks. Signed-off-by: Bruce Losure <blosure@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64] sparse cleanup of TIOCA filesPrarit Bhargava2005-06-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a sparse compile cleanup of tioca_provider.c, sn_hwperf.h, and tioca_provider.h. Each of these files had sparse warnings when compiled. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64-SGI] - new macros for SGI SN simulator Jack Steiner2005-06-282-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes some macros that are used when running kernel on the SGI simulator. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64] sparse cleanup of shub_mmr.hPrarit Bhargava2005-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a sparse compile cleanup of shub_mmr.h using both the defconfig and the sn2_defconfig config files. The issue with this file was the missing usage of __IA64_UL_CONST wrapper. This wrapper is defined in include/asm-ia64/types.h and wraps a long constant definition with UL or with nothing depending on its usage in the kernel. The missing wrapper caused many sparse compile errors like warning: constant 0x0x0000000010000380 so big it is long Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64] Speed up lfetch.fault [NULL]David Mosberger-Tang2005-06-281-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch greatly speeds up the handling of lfetch.fault instructions which result in NaT consumption. Due to the NaT-page mapped at address 0, this is guaranteed to happen when lfetch.fault'ing a NULL pointer. With this patch in place, we can even define prefetch()/prefetchw() as lfetch.fault without significant performance degradation. More importantly, it allows compilers to be more aggressive with using lfetch.fault on pointers that might be NULL. Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
OpenPOWER on IntegriCloud