summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* [IA64] Extract correct break number for break.bKeith Owens2005-06-081-0/+18
| | | | | | | | | break.b does not store the break number in cr.iim, instead it stores 0, which makes all break.b instructions look like BUG(). Extract the break number from the instruction itself. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Update comment to describe modes set in default control register.Tony Luck2005-06-081-1/+2
| | | | | | | | Christian Hildner pointed out that the comment did not match what the code does in cpu_init() when we set up the default control register. Patch based on suggestions from Ken Chen. Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Module gp must point to valid memoryKeith Owens2005-06-081-4/+6
| | | | | | | | | | | | | Some bits of the kernel assume that gp always points to valid memory, in particular PHYSICAL_MODE_ENTER() assumes that both gp and sp are valid virtual addresses with associated physical pages. The IA64 module loader puts gp well past the end of the module, with no physical backing. Offsets on gp are still valid, but physical mode addressing breaks for modules. Ensure that gp always falls within the module body. Also ensure that gp is 8 byte aligned. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Fill holes in FIXADDR_USER space with zero pages.David Mosberger-Tang2005-06-081-2/+17
| | | | | | | This fixes an oops reported by Jason Baron. Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* auto merge with /home/aegl/GIT/linusTony Luck2005-06-079-50/+112
|\
| * [PATCH] ppc32: Fix incorrect CPU_FTR fixup usage for unified cachesKumar Gala2005-06-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Runtime feature support for unified caches was testing a userland feature flag (PPC_FEATURE_UNIFIED_CACHE) instead of a cpu feature flag (CPU_FTR_SPLIT_ID_CACHE). Luckily the current defined bit mask for cpu features and userland features do not overlap so this only causes an issue on machines with a unified cache, which is extremely rare on PPC today. 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] s390: deadlock in appldataGerald Schaefer2005-06-054-35/+45
| | | | | | | | | | | | | | | | | | | | | | The system might hang when using appldata_mem with high I/O traffic and a large number of devices. The spinlocks bdev_lock and swaplock are acquired via calls to si_meminfo() and si_swapinfo() from a tasklet, i.e. interrupt context, which can lead to a deadlock. Replace tasklet with work queue. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] s390: in_interrupt vs. in_atomicMartin Schwidefsky2005-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The condition for no context in do_exception checks for hard and soft interrupts by using in_interrupt() but not for preemption. This is bad for the users of __copy_from/to_user_inatomic because the fault handler might call schedule although the preemption count is != 0. Use in_atomic() instead in_interrupt(). Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] s390: uml ptrace fixesBodo Stroesser2005-06-051-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make UML build and run on s390, I needed to do these two little changes: 1) UML includes some of the subarch's (s390) headers. I had to change one of them with the following one-liner, to make this compile. AFAICS, this change doesn't break compilation of s390 itself. 2) UML needs to intercept syscalls via ptrace to invalidate the syscall, read syscall's parameters and write the result with the result of UML's syscall processing. Also, UML needs to make sure, that the host does no syscall restart processing. On i386 for example, this can be done by writing -1 to orig_eax on the 2nd syscall interception (orig_eax is the syscall number, which after the interception is used as a "interrupt was a syscall" flag only. Unfortunately, s390 holds syscall number and syscall result in gpr2 and its "interrupt was a syscall" flag (trap) is unreachable via ptrace. So I changed the host to set trap to -1, if the syscall number is changed to an invalid value on the first syscall interception. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] s390: ptrace peek and pokeMartin Schwidefsky2005-06-051-5/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The special cases of peek and poke on acrs[15] and the fpc register are not handled correctly. A poke on acrs[15] will clobber the 4 bytes after the access registers in the thread_info structure. That happens to be the kernel stack pointer. A poke on the fpc with an invalid value is not caught by the validity check. On the next context switch the broken fpc value will cause a program check in the kernel. Improving the checks in peek and poke fixes this. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] prom_find_machine_type typo breaks pSeries lpar bootNathan Lynch2005-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | A typo in prom_find_machine_type from Ben's recent patch "ppc64: Fix result code handling in prom_init" prevents pSeries LPAR systems from booting. Tested on a pSeries 570 and OpenPower 720 (both Power5 LPAR). Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] m68knommu: fix scheduling and race problems in idle loopGreg Ungerer2005-06-031-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-work the m68knommu specific idle code according to suggestions from Nick Piggin <nickpiggin@yahoo.com.au>. A couple of rules that we need to follow: 1. Preempt should now disabled over idle routines. Should only be enabled to call schedule() then disabled again. 3. When cpu_idle finds (need_resched() == 'true'), it should call schedule(). It should not call schedule() otherwise. Also fix interrupt locking around the need_resched() and cpu stop state so that there is no race condition. Signed-off-by: Greg Ungerer <gerg@snapgear.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [IA64] fix setting of sn_hub_info->shub_1_1_foundDean Nelson2005-06-031-2/+2
|/ | | | | | | | Fix a bug in which shub_1_1_found is not being properly initialized or set, resulting in the improper setting of sn_hub_info->shub_1_1_found. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [PATCH] ppc64: remove decr_overclockAnton Blanchard2005-06-033-57/+24Star
| | | | | | | | | | | | | Now that we have HZ=1000 there is much less of a need for decr_overclock. Remove it. Leave spread_lpevents but move it into iSeries_setup.c. We should look at making event spreading the default some day. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: cleanup iseries runlight supportAnton Blanchard2005-06-035-28/+10Star
| | | | | | | | | | | | | | | | | | The iseries has a bar graph on the front panel that shows how busy it is. The operating system sets and clears a bit in the CTRL register to control it. Instead of going to the complexity of using a thread info bit, just set and clear it in the idle loop. Also create two helper functions, ppc64_runlatch_on and ppc64_runlatch_off. Finally don't use the short form of the SPR defines. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ppc64: Fix result code handling in prom_initBenjamin Herrenschmidt2005-06-021-41/+61
| | | | | | | | | | | prom_init(), the trampoline code that "talks" to Open Firmware during early boot, has various issues with managing OF result codes. Some of my recent fixups in fact made the problem worse on some platforms. This patch reworks it all. Tested on g5, Maple, POWER3 and POWER5. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6Linus Torvalds2005-06-022-3/+3
|\
| * [IA64] fix compilation warning in sys32_epoll_wait()Peter Chubb2005-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | This gets rid of an unused variable `error' in sys_ia32.c:sys32_epoll_wait() Getting rid of this one makes parsing the output of the kernecomp autobuild easier --- searching for `Error' to find a problem kept hitting this one, even though it's only a warning. Signed-off-by: Tony Luck <tony.luck@intel.com>
| * [IA64] Cleanup compile warnings for ski configPeter Chubb2005-06-021-2/+2
| | | | | | | | | | | | | | The attached patch cleans up a compilation warning when ACPI is turned off (i.e., when compiling for the Ski simulator). Signed-off-by: Tony Luck <tony.luck@intel.com>
* | Automatic merge of ↵Linus Torvalds2005-06-015-29/+85
|\ \ | |/ |/| | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
| * [SPARC64]: Refine PCI strbuf ctx-based flush.David S. Miller2005-06-011-5/+3Star
| | | | | | | | | | | | | | The initial peek read PIO of the match register is just a waste. Just do the flush writes first, as that is more efficient. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC64]: Fix streaming buffer flushing on PCI and SBUS.David S. Miller2005-06-015-29/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, if the direction is TODEVICE, then dirty data in the streaming cache is impossible so we can elide the flush-flag synchronization in that case. Next, the context allocator is broken. It is highly likely that contexts get used multiple times for different dma mappings, which confuses the strbuf flushing code and makes it run inefficiently. Signed-off-by: David S. Miller <davem@davemloft.net>
* | [PATCH] ppc32/ppc64: cleanup /proc/device-treeBenjamin Herrenschmidt2005-06-011-8/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up the /proc/device-tree representation of the Open Firmware device-tree on ppc and ppc64. It does the following things: - Workaround an issue in some Apple device-trees where a property may exist with the same name as a child node of the parent. We now simply "drop" the property instead of creating duplicate entries in /proc with random result... - Do not try to chop off the "@0" at the end of a node name whose unit address is 0. This is not useful, inconsistent, and the code was buggy and didn't always work anyway. - Do not create symlinks for the short name and unit address parts of a node. These were never really used, bloated the memory footprint of the device-tree with useless struct proc_dir_entry and their matching dentry and inode cache bloat. This results in smaller code, smaller memory footprint, and a more accurate view of the tree presented to userland. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ppc32: Apple device-tree bug fixBenjamin Herrenschmidt2005-06-011-0/+10
| | | | | | | | | | | | | | | | This is the ppc32 patch equivalent to the just posted ppc64 one working around a bug in Apple device-trees regarding the "cpus" nodes. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ppc64: Fix a device-tree bug on Apple'sBenjamin Herrenschmidt2005-06-011-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple's Open Firmware has a funny bug when creating the /cpus nodes where it leaves a dangling '\0' character in the CPU name which ends up appearing in the full path of the node. This is bogus and confuses /proc/device-tree badly. This patch strips those bogus zero's from the node full path when reading the device-tree from Open Firmware. The "name" property is not modified and still contains the spurrious 0 (it basically contains 0 tailing 0 instead of one) but that shouldn't be a problem. An equivalent patch for ppc32 will follow shortly Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [CPUFREQ] Typos.Dave Jones2005-06-011-3/+3
| | | | | | | | | | | | | | cpfureq developers cant spel. Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] longhaul - adjust transition latency.Dave Jones2005-06-011-1/+1
| | | | | | | | | | | | From patch by: Ken Staton <ken_staton@agilent.com> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] Longhaul: Magic timer frobbing.Dave Jones2005-06-011-2/+9
| | | | | | | | | | | | | | | | As mandated by the spec, disable timer around transitions. From code by : Ken Staton <ken_staton@agilent.com Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] longhaul - disable PCI mastering around transition.Dave Jones2005-06-011-4/+45
| | | | | | | | | | | | | | | | The spec states that we have to do this, which is *horrid*. Based on code from: Ken Staton <ken_staton@agilent.com> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] dual-core powernow-k8Dave Jones2005-06-012-37/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | With the release of the dual-core AMD Opterons last week, it's high time that cpufreq supported them. The attached patch applies cleanly to 2.6.12-rc3 and updates powernow-k8 to support the latest Athlon 64 and Opteron processors. Update the driver to version 1.40.0 and provide support for dual-core processors. Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] Recalibrate cpu_khz [2/2]Dave Jones2005-06-012-2/+24
| | | | | | | | | | | | | | | | | | | | Some cpufreq drivers (at that time, only powernow-k7) need to recalibrate the cpu_khz at runtime. Signed-off-by: Bruno Ducrot <ducrot@poupinou.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] Recalibrate cpu_khz [1/2]Dave Jones2005-06-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to recalibrate cpu_khz in order to use the current FID instead the max FID since some BIOS do not put the processor at maximum frequency at POST. Also, some BIOS will change the processor frequency at our back after cpu_khz was calibrate. Finally, this will fix a long standing bug when we do something like this: # rmmod powernow-k7 # modprobe powernow-k7 Signed-off-by: Bruno Ducrot <ducrot@poupinou.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] AMD Elan SC520 cpufreq driver.Dave Jones2005-06-013-1/+200
| | | | | | | | | | | | From: Sean Young <sean@mess.org> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] speedstep-smi: it works on at least one P4MDave Jones2005-06-011-0/+3
| | | | | | | | | | | | | | | | | | | | The speedstep-smi driver actually works on >=1 notebook with a Pentium 4-M CPU where all other cpufreq drivers fail. Therefore, allow speedstep-smi on P4Ms again, but warn users of likely failure Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] speedstep-centrino: Pentium 4 - M (HT) supportDave Jones2005-06-011-0/+6
| | | | | | | | | | | | | | | | | | | | The Pentium 4 - Ms (HT) with CPUID 0xF34 and 0xF41 seem to support centrino-like enhanced speedstep; however, no "table" support is possible. Therefore, put NULL entries into speedstep-centrino.c Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Dave Jones <davej@redhat.com>
* | [CPUFREQ] powernow-k7: don't print khz element of FSB.Dave Jones2005-06-011-1/+1
| | | | | | | | | | Signed-off-by: Dave Jones <davej@redhat.com>
* | [PATCH] ppc64: allow timer based profiling on iseriesAnton Blanchard2005-05-311-2/+0Star
| | | | | | | | | | | | | | | | | | | | We used to have an iseries specific profiler that used /proc/profile. Now thats gone we can use the generic timer based stuff. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] h8300 sleep problemNick Piggin2005-05-311-1/+1
| | | | | | | | | | | | | | h8300 appears to sleep (halt) when need_resched IS set. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] acpi build fix: x86 setup.cAlexander Nyberg2005-05-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a neverending story linux/acpi.h contains empty declarations for acpi_boot_init() & acpi_boot_table_init() but they are nested inside #ifdef CONFIG_ACPI. So we'll have to #ifdef in arch/i386/kernel/setup.c: setup_arch() Signed-off-by: Alexander Nyberg <alexn@telia.com> Cc: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] x86_64 CONFIG_ACPI=n build fixAndi Kleen2005-05-311-0/+1
| | | | | | | | | | | | | | | | Make CONFIG_X86_PM_TIMER dependent on CONFIG_ACPI 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: More fixes for compilation without CONFIG_ACPIAndi Kleen2005-05-313-0/+4
|/ | | | | | | | Suggested by Alexander Nyberg Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Automatic merge of ↵Linus Torvalds2005-05-318-32/+185
|\ | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
| * [IA64] Use "PER_CPU" form of EXPORT macroTony Luck2005-05-311-1/+1
| | | | | | | | | | | | I was gently reminded that there are per-cpu forms of the EXPORT_SYMBOL macros. Signed-off-by: Tony Luck <tony.luck@intel.com>
| * [IA64] sys_mmap doesn't follow posix.1 when parameter len=0Zhang Yanmin2005-05-261-7/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In IA64 kernel, sys_mmap calls do_mmap2 and do_mmap2 returns addr if len=0, which means the mmap sys call succeeds. Posix.1 says: The mmap() function shall fail if: [EINVAL] The value of len is zero. Here is a patch to fix it. Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com> Acked-by: David Mosberger <davidm@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * [IA64] initialize spinlock pfm_alt_install_checkTony Luck2005-05-191-1/+1
| | | | | | | | | | | | | | I applied the penultimate version of the perfmon patch, which didn't have the initialization of the new spinlock that was added. Signed-off-by: Tony Luck <tony.luck@intel.com>
| * Sync with Linus - ↵Tony Luck2005-05-192-1/+3
| |\ | | | | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
| * | [IA64] alternate perfmon handlerTony Luck2005-05-191-15/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Charles Spirakis Some linux customers want to optimize their applications on the latest hardware but are not yet willing to upgrade to the latest kernel. This patch provides a way to plug in an alternate, basic, and GPL'ed PMU subsystem to help with their monitoring needs or for specialty work. It can also be used in case of serious unexpected bugs in perfmon. Mutual exclusion between the two subsystems is guaranteed, hence no conflict can arise from both subsystem being present. Acked-by: Stephane Eranian <eranian@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IS64-SGI] Set Altix error handling featuresRuss Anderson2005-05-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The 2.6 kernel has CPE error thresholding. This patch lets SAL know of this error handling feature. The changes are SN specific. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64-SGI] cpe interrupts are not being enabled.Russ Anderson2005-05-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | acpi_request_vector() is called in ia64_mca_init() to get the cpe_vector. The problem is that acpi_request_vector() looks in platform_intr_list[] to get the vector, but platform_intr_list[] is not initialized with a valid vector until later (in sn_setup()). Without a valid vector the code defaults to polling mode. This patch moves the call to acpi_request_vector() from ia64_mca_init() to ia64_mca_late_init(), which is after platform_intr_list[] is initialized. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | [IA64] Correct convert_to_non_syscall()David Mosberger-Tang2005-05-171-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | convert_to_non_syscall() has the same problem that unwind_to_user() used to have. Fix it likewise. Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>