summaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn/kernel
Commit message (Collapse)AuthorAgeFilesLines
* [IA64] don't report !sn2 or !summit hardware as an errorBjorn Helgaas2006-03-072-2/+2
| | | | | | | | This stuff is all in the generic ia64 kernel, and the new initcall error reporting complains about them. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] revert export sn_pcidev_info_getChristoph Hellwig2006-02-271-1/+0
| | | | | | | Christoph Hellwig <hch@infradead.org> pointed that there are no in-tree uses of this. So revert 9c65cb9be62ac4993a5b392304b82e4f04f010fd Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] ia64: simplify and fix udelay()hawkes@sgi.com2006-02-151-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | The original ia64 udelay() was simple, but flawed for platforms without synchronized ITCs: a preemption and migration to another CPU during the while-loop likely resulted in too-early termination or very, very lengthy looping. The first fix (now in 2.6.15) broke the delay loop into smaller, non-preemptible chunks, reenabling preemption between the chunks. This fix is flawed in that the total udelay is computed to be the sum of just the non-premptible while-loop pieces, i.e., not counting the time spent in the interim preemptible periods. If an interrupt or a migration occurs during one of these interim periods, then that time is invisible and only serves to lengthen the effective udelay(). This new fix backs out the current flawed fix and returns to a simple udelay(), fully preemptible and interruptible. It implements two simple alternative udelay() routines: one a default generic version that uses ia64_get_itc(), and the other an sn-specific version that uses that platform's RTC. Signed-off-by: John Hawkes <hawkes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] enforce proper ordering of callouts by XPCDean Nelson2006-02-152-10/+18
| | | | | | | | | Fix XPC so that it does not deliver any messages until the connected callout has returned, as well as, prevent the disconnected callout to occur before the disconnecting callout has returned. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] fix the size of __sn_cnodeid_to_nasidDean Roe2006-02-151-1/+1
| | | | | | | | | The __sn_cnodeid_to_nasid array was incorrectly sized at MAX_NUMNODES. On a large system, this array could overflow. The following patch corrects this by defining it to MAX_COMPACT_NODES. Signed-off-by: Dean Roe <roe@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] export sn_pcidev_info_getMark Maule2006-02-151-0/+1
| | | | | | | Export sn_pcidev_info_get. Signed-off-by Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] remove compile time warningJes Sorensen2006-02-151-0/+2
| | | | | | | This one falls into the "present for Andrew Morton" category to address his wishlist for a compiler warning free build ;-) Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] remove obsolete corporate addressJes Sorensen2006-02-151-6/+1
| | | | | | | Remove obsolete SGI address Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] sn2 minor fixes and cleanupsJes Sorensen2006-02-155-101/+81
| | | | | | | | | | | | | General SN2 code cleanup: - Do not initialize global variables to zero - Use kzalloc instead of kmalloc+memset - Check kmalloc return values - Do not obfuscate spin lock calls - Remove some unused code - Various formatting cleanups Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] Small cleanup for misuse of list_for_each to list_for_each_safe.Prarit Bhargava2006-02-091-4/+2
| | | | | | | Patch was suggested by Kenneth W. Chen here Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] Hotplug driver related fix in the SN ia64 code.Prarit Bhargava2006-02-092-1/+5
| | | | | | | | Remove an erroneous kfree, and unlink the pcidev_info struct from the pcidev_info list prior to free'ing the pcidev_info struct. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* Merge branch 'release' of ↵Linus Torvalds2006-02-083-16/+34
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
| * [IA64] prevent sn2 specific code to be run in generic kernelsJes Sorensen2006-02-082-3/+7
| | | | | | | | | | | | | | | | Prevent SN2 specific code to be executed on non SN2 platforms when running a generic kernel. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * [IA64] Fix CONFIG_PRINTK_TIMETony Luck2006-02-071-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two problems with enabling the PRINTK_TIME config option: 1) The first calls to printk() occur before per-cpu data virtual address is pinned into the TLB, so sched_clock() can fault. 2) sched_clock() is based on ar.itc, which may not be synchronized across cpus. Ken Chen started this patch, Tony Luck tinkered with it, and Jes Sorensen perfected it. Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [PATCH] drive_info removal outside of arch/i386Al Viro2006-02-071-14/+0
|/ | | | | | drive_info is used only by hd.c and that happens under #ifdef __i386__. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* [IA64-SGI] Shub2 BTE address fixRuss Anderson2006-02-061-11/+6
| | | | | | | | | | | After converting the cpu physical address to shub2 physical addressing, the address was run through TO_PHYS() which clobbered a high node offset bit causing the BTE to fail on shub2 nodes with large memory. This fix corrects that problem. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck <tony.luck@intel.com>
* Pull sn-recursive-flags-for-select-builds into release branchTony Luck2006-02-062-0/+4
|\
| * [IA64-SGI] Recursive flags do not work for selective buildsKeith Owens2006-01-262-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | arch/ia64/sn/Makefile sets CPPFLAGS, expecting that setting to propogate to all the subdirectories. For a normal build with its recursive descent it does work, but doing a selective build like 'make arch/ia64/sn/kernel/io_init.i' does not do a recursive descent, it goes directly to arch/ia64/sn/kernel/Makefile so the flags do not get set. To support selective builds, set the flags in all the subordinate Makefiles. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] Fix XPC code which sleeps with spin_lock_irqsave().Robin Holt2006-02-021-8/+11
| | | | | | | | | | | | | | | | | | During some testing, we got a warning about trying to allocate memory while holding a lock. This fixes that problem. Signed-off-by: Robin Holt <holt@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] sn2 housekeepingJes Sorensen2006-02-024-34/+35
| | | | | | | | | | | | | | | | | | | | | | Maintenance patch: - Add missing __init calls - Do not zero initialize global variables - No need to typecast function call returns to void - Some formatting Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] disable msi for all altix pci devicesMark Maule2006-02-021-0/+7
| | | | | | | | | | | | | | | | Temporary patch to make pci_enable_msi() fail gracefully on altix. Will be removed after 2.6.16 releases and the msi abstraction patches start flowing. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] fix smp_affinity redirection when using CONFIG_PCI_MSIMark Maule2006-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | Redirecting interrupts using smp_affinity on altix does not work on kernels built with CONFIG_PCI_MSI. The problem is that move_irq() turns into a noop if MSI is built in. This patch calls move_native_irq() instead of move_irq() to get around that. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | Pull update-tlbflush-sn into release branchTony Luck2006-02-021-121/+75
|\ \
| * | [IA64-SGI] Update TLB flushing code for SN platformJack Steiner2006-01-261-121/+75
| |/ | | | | | | | | | | | | | | | | | | | | This patch finishes support for SHUB2 (the new chipset). Most of the changes are performance related. A few changes are workarounds for "interesting" chipset features. Some temporary debugging code has also been deleted. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] Add PROM feature set for device flush listPrarit Bhargava2006-01-261-18/+18
| | | | | | | | | | | | | | Introduce PRF_DEVICE_FLUSH_LIST flag for older PROMs. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] XPC remove unnecessary GFP_DMA flagJes Sorensen2006-01-241-3/+3
|/ | | | | | | | Remove the GFP_DMA flag from XPC kmalloc() calls. Signed-off-by: Jes Sorensen <jes@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] sn2 mutex conversionJes Sorensen2006-01-174-39/+36
| | | | | | | | | Migrate sn2 code to use mutex and completion events rather than semaphores. Signed-off-by: Jes Sorensen <jes@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] Older PROM WAR for device flush codePrarit Bhargava2006-01-171-3/+51
| | | | | | | | | | | Work-around to temporarily support older PROMs with new flush device code. This code allows systems running older PROMs to continue to run on the new kernel base until a new official PROM is released. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Acked-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Cleanup of arch/ia64/sn and include/asm-ia64/snPrarit Bhargava2006-01-163-19/+19
| | | | | | | | Replace uintX_t declarations with uX declarations. Replace intX_t declarations with sX declarations. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2006-01-141-8/+8
|\
| * [PATCH] Add tiocx bus_type probe/remove methodsRussell King2006-01-131-8/+8
| | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | [IA64-SGI] Fix sn_flush_device_kernel & spinlock initializationPrarit Bhargava2006-01-131-41/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch separates the sn_flush_device_list struct into kernel and common (both kernel and PROM accessible) structures. As it was, if the size of a spinlock_t changed (due to additional CONFIG options, etc.) the sal call which populated the sn_flush_device_list structs would erroneously write data (and cause memory corruption and/or a panic). This patch does the following: 1. Removes sn_flush_device_list and adds sn_flush_device_common and sn_flush_device_kernel. 2. Adds a new SAL call to populate a sn_flush_device_common struct per device, not per widget as previously done. 3. Correctly initializes each device's sn_flush_device_kernel spinlock_t struct (before it was only doing each widget's first device). Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] Altix BTE error handling fixesRuss Anderson2006-01-132-14/+53
| | | | | | | | | | | | | | | | | | | | Altix (shub2) pushes the BTE clean-up into SAL. This patch correctly interfaces with the now implemented SAL call. It also fixes a bug when delaying clean-up to allow busy BTEs to complete (or error out). Signed-off-by: Russ Anderson <rja@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] move xpc.h to include/asm-ia64/sn (cleanup)Dean Nelson2006-01-133-6/+6
| | | | | | | | | | | | | | | | Cleanup a few items after moving xpc.h from arch/ia64/sn/kernel to include/asm-ia64/sn. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] move xpc.h to include/asm-ia64/snDean Nelson2006-01-131-1274/+0
| | | | | | | | | | | | | | Move xpc.h from arch/ia64/sn/kernel to include/asm-ia64/sn without change. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] move xpc_system_reboot()Dean Nelson2006-01-131-29/+29
| | | | | | | | | | | | | | | | Move xpc_system_reboot() to be closer to the file it calls for readability reasons (which are indeed subjective). Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] ignoring loss of heartbeat while XPC is in kdebugDean Nelson2006-01-131-1/+27
| | | | | | | | | | | | | | | | Allow for the loss of heartbeat while in kdebug to be ignored by remote partitions. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] XPC and unregistering from notifier listsDean Nelson2006-01-131-4/+6
| | | | | | | | | | | | | | Only unregister from notifier lists if XPC is unloading. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] cleanup XPC disengage related messagesDean Nelson2006-01-133-23/+68
| | | | | | | | | | | | | | Cleanup the XPC disengage related messages that are printed to the log. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] ensure XPC disengage request is processedDean Nelson2006-01-134-11/+16
|/ | | | | | | | | | | This patch fixes a problem in XPC disengage processing whereby it was not seeing the request to disengage from a remote partition, so the disengage wasn't happening. The disengagement is suppose to transpire during the time a XPC channel is disconnecting, and should be completed before the channel is declared to be disconnected. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [PATCH] capable/capability.h (arch/)Randy Dunlap2006-01-111-0/+1
| | | | | | | | arch: Use <linux/capability.h> where capable() is used. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] driver kill hotplug word from sn and others fixPaul Jackson2006-01-041-2/+2
| | | | | | | | | | | | | The first of these changes s/hotplug/uevent/ was needed to compile sn2_defconfig (ia64/sn). The other three files changed are blind changes of all remaining bus_type.hotplug references I could find to bus_type.uevent. This patch attempts to finish similar changes made in the gregkh-driver-kill-hotplug-word-from-driver-core Nov 22 patch. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [IA64-SGI] Missed TLB flushJack Steiner2005-12-161-1/+1
| | | | | | | | | | | | | | | | | | I see why the problem exists only on SN. SN uses a different hardware mechanism to purge TLB entries across nodes. It looks like there is a bug in the SN TLB flushing code. During context switch, kernel threads inherit the mm of the task that was previously running on the cpu. This confuses the code in sn2_global_tlb_purge(). The result is a missed TLB purge for the task that owns the "borrowed" mm. (I hit the problem running heavy stress where kswapd was purging code pages of a user task that woke kswapd. The user task took a SIGILL fault trying to execute code in the page that had been ripped out from underneath it). Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] Fix SN PTC deadlock recoveryJack Steiner2005-12-061-2/+6
| | | | | | | | | | | The patch that added support for a new platform chipset (shub2) broke PTC deadlock recovery on older versions of the chipset. (PTCs are the SN platform-specific method for doing a global TLB purge). This patch fixes deadlock recovery so that it works on both the old & new chipsets. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] altix: pci_window fixupJohn Keller2005-12-061-22/+131
| | | | | | | | | | | | | | Altix only patch to add fixup code that sets up pci_controller->window. This code is a temporary fix until ACPI support on Altix is added. Also, corrects the usage of pci_dev->sysdata, which had previously been used to reference platform specific device info, to now point to a pci_controller struct. Signed-off-by: John Keller <jpk@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] bte_copy nasid_index fixRuss Anderson2005-11-211-0/+1
| | | | | | | | The nasid_index was not being incremented if the pointer was null, causing an infinite loop. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] fix bug in sn/ia64 for sparse CPU numberinghawkes@sgi.com2005-11-211-1/+2
| | | | | | | | | | | The kernel's use of the for_each_*cpu(i) macros has allowed for sparse CPU numbering. When I hacked the kernel to test sparse cpu_present_map[] and cpu_possible_map[] cpumasks, I discovered one remaining spot, in sn_hwperf_ioctl() during sn initialization, that needs to be fixed. Signed-off-by: John Hawkes <hawkes@sgi.com> Signed-off-by: Dean Roe <roe@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Prevent sn2 ptc code from executing on all ia64 subarchesPrarit Bhargava2005-11-211-0/+3
| | | | | | | | Patch to prevent sn2_ptc_init code from attempting to load on non-sn2 systems when sn2_smp.c is built-in to generic kernel. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] set altix preferred consoleMark Maule2005-11-111-4/+153
| | | | | | | | | | | | | Fix default VGA console on SN platforms. Since SN firmware does not pass enough ACPI information to identify VGA cards and the associated legacy IO/MEM addresses, we rely on the EFI PCDP table. Since the linux pcdp driver is optional (and overridden if console= directives are used) SN duplicates a portion of the pcdp scan code to identify if there is a usable console VGA adapter. Additionally, dup necessary pcdp related structs to avoid dragging drivers/pcdp.h into a more public location. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] utilize notify_die() for XPC disengageDean Nelson2005-11-103-5/+107
| | | | | | | | | | | XPC (as in arch/ia64/sn/kernel/xp*) has a need to notify other partitions (SGI Altix) whenever a partition is going down in order to get them to disengage from accessing the halting partition's memory. If this is not done before the reset of the hardware, the other partitions can find themselves encountering MCAs that bring them down. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>