aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2006-10-04[PATCH] genirq: i386 irq: Dynamic irq supportEric W. Biederman1-0/+48
The current implementation of create_irq() is a hack but it is the current hack that msi.c uses, and unfortunately the ``generic'' apic msi ops depend on this hack. Thus we are stuck this hack of assuming irq == vector until the depencencies in the generic msi code are removed. Signed-off-by: Eric W. Biederman <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Rajesh Shah <[email protected]> Cc: Andi Kleen <[email protected]> Cc: "Protasevich, Natalie" <[email protected]> Cc: "Luck, Tony" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-04[PATCH] genirq: ia64 irq: Dynamic irq supportEric W. Biederman1-0/+20
[[email protected]: build fix] Signed-off-by: Eric W. Biederman <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Rajesh Shah <[email protected]> Cc: Andi Kleen <[email protected]> Cc: "Protasevich, Natalie" <[email protected]> Cc: "Luck, Tony" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-04[PATCH] genirq: msi: simplify the msi irq limit policyEric W. Biederman2-39/+0
Currently we attempt to predict how many irqs we will be able to allocate with msi using pci_vector_resources and some complicated accounting, and then we only allow each device as many irqs as we think are available on average. Only the s2io driver even takes advantage of this feature all other drivers have a fixed number of irqs they need and bail if they can't get them. pci_vector_resources is inaccurate if anyone ever frees an irq. The whole implmentation is racy. The current irq limit policy does not appear to make sense with current drivers. So I have simplified things. We can revisit this we we need a more sophisticated policy. Signed-off-by: Eric W. Biederman <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Rajesh Shah <[email protected]> Cc: Andi Kleen <[email protected]> Cc: "Protasevich, Natalie" <[email protected]> Cc: "Luck, Tony" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-04[PATCH] genirq: x86_64 irq: Reenable migrating irqs to other cpusEric W. Biederman1-3/+33
In the latest changes the code for migrating x86_64 irqs was dropped. This reads it in a fashion that will work even if we change the vector on level triggered irqs when we migrate them. [[email protected]: build fix] Signed-off-by: Eric W. Biederman <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Rajesh Shah <[email protected]> Cc: Andi Kleen <[email protected]> Cc: "Protasevich, Natalie" <[email protected]> Cc: "Luck, Tony" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-04[PATCH] genirq: convert the i386 architecture to irq-chipsIngo Molnar3-144/+80
This patch converts all the i386 PIC controllers (except VisWS and Voyager, which I could not test - but which should still work as old-style IRQ layers) to the new and simpler irq-chip interrupt handling layer. [[email protected]: build fix] [[email protected]: enable fasteoi handler for i386 level-triggered IO-APIC irqs] Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Roland Dreier <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-04[PATCH] genirq: convert the x86_64 architecture to irq-chipsIngo Molnar3-141/+44
This patch converts all the x86_64 PIC controllers layers to the new and simpler irq-chip interrupt handling layer. [[email protected]: The patch also enables the fasteoi handler for x86_64] Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Roland Dreier <[email protected]> Cc: Andi Kleen <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-04[PARISC] Kill wall_jiffies useAndrew Morton1-3/+0
wall_jiffies and jiffies are now equal, so this is a noop... Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Honour "panic_on_oops" sysctlHelge Deller1-0/+10
Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Export clear_user_page to modulesMatthew Wilcox1-2/+2
Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Fix CONFIG_DEBUG_SPINLOCKMatthew Wilcox1-3/+0
Joel Soete points out that we refer to pa_tlb_lock but only define it if CONFIG_SMP which breaks a uniprocessor build with CONFIG_DEBUG_SPINLOCK enabled. No module refers to pa_tlb_lock, so we can delete the export. Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Fix HPUX compat compile with current GCCMatthew Wilcox1-1/+1
GCC no longer allows a cast as lvalue; fix the same way fs/readdir.c was Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Fix iounmap compile warningMatthew Wilcox1-1/+1
iounmap's argument needs to be both const and volatile, otherwise we'll get warnings that we're discarding pointer qualifiers Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Add hardware found in the rp8400Matthew Wilcox1-0/+3
Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Allow nested interruptsJames Bottomley2-63/+89
Our prior mode of operation didn't allow nested interrupts because it makes the interrupt code much simpler. However, nested interrupts are better for latency. This code uses the EIEM register to simulate level interrupts and thus achieve nesting. Signed-off-by: James Bottomley <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Further updates to timer_interrupt()Grant Grundler1-62/+65
This version (relative to the current tree): o eliminates "while (ticks_elapsed)" loop. It's not needed. o drop "ticks_elapsed" completely from timer_interrupt(). o Estimates elapsed cycles (based on HZ) to see which kind of math we want to use to calculate "cycles_remainder". o Fixes a bug where we would loose a tick if we decided we wanted to skip one interrupt. Signed-off-by: Grant Grundler <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] remove halftick and copy clocktick to local var (gcc can optimize ↵Grant Grundler1-15/+31
usage) Signed-off-by: Grant Grundler <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Rewrite timer_interrupt() and gettimeoffset() using "unsigned" math.Grant Grundler1-44/+96
It's just a bit easier to follow and timer code is complex enough. So far, only tested on A500-5x (64-bit SMP), ie: gettimeoffset() code hasn't been tested at all. Signed-off-by: Grant Grundler <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Add new function to start local Interval Timer, start_cpu_itimer()Grant Grundler2-10/+14
I couldn't find where the itimer was getting started for slave CPUs. CPU 0 (master) itimer was started in time_init() (arch/parisc/kernel/time.c). start_cpu_itimer() code was striped from time_init(). Slaves now start their itimer in smp_cpu_init(). This is a first step towards making gettimeoffset() work for SMP. Next step will be to determine the CR16 (cycle counter) offsets for each CPU relative to the master (CPU 0). Signed-off-by: Grant Grundler <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Prevent processor_probe() from clobbering cpu_data[0]Grant Grundler1-2/+3
processor_probe() shouldn't clobber cpu_data[0] cpu_data[0].it_value (used by timer_interrupt()) is already set. Signed-off-by: Grant Grundler <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] [BUGFIX] nullify branch delay slot of the jump back toKyle McMartin1-1/+1
intr_restore in intr_do_preempt. This prevents the execution of an unwanted insn... Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Allow overriding personality with sys_personalityKyle McMartin2-2/+47
And now suddenly, linux32 works on parisc... Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Switch is_compat_task to use TIF_32BITKyle McMartin2-26/+3
Stop using PER_LINUX32 to designate processes needing compaterizing. Convert is_compat_task to use TIF_32BIT and set TIF_32BIT in binfmt_elf32.c Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] parisc specific kmap API implementation for pa8800James Bottomley1-1/+44
This patch fixes the pa8800 at a gross level (there are still other subtle incoherency issues which can still cause crashes and HPMCs). What it does is try to force eject inequivalent aliases before they become visible to the L2 cache (which is where we get the incoherence problems). A new function (parisc_requires_coherency) is introduced in asm/processor.h to identify the pa8x00 processors (8800 and 8900) which have the issue. Signed-off-by: James Bottomley <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Fix up parisc irq handling for genirq changesKyle McMartin1-1/+1
Clean up enough to get things compiling again in the interim. Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Abstract shift register left in .SKyle McMartin1-15/+4
Abstract existing shift register left macros as shift register right are. This lends itself to a nice clean up of some #ifdef blocks in entry.S Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] Remove variables decls duplicated from asm-generic/sections.hKyle McMartin1-13/+10
Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04[PARISC] PA7200 also supports prefetch for readKyle McMartin1-1/+1
It seems PA7200 processors also suppress traps on loads to %r0. This means we can prefetch for read on these cpus. Of course, we can't support prefetch for write, since that requires LOAD DOUBLEWORD which was added with PA2.0 Signed-off-by: Kyle McMartin <[email protected]>
2006-10-04Remove all inclusions of <linux/config.h>Dave Jones87-94/+3
kbuild explicitly includes this at build time. Signed-off-by: Dave Jones <[email protected]>
2006-10-04[POWERPC] Add support for the mpc832x mds boardKim Phillips3-0/+247
Add support for MPC832x MDS evaluation board. This patch depends on the 8360+QE lib patches by Leo. The MPC832x processors (MPC8323E, MPC8323, MPC8321E, MPC8321) sport the e300c2 core plus a QUICC Engine (QE). This patch adds support for the 832x MDS evaluation board. The 832x MDS dts and defconfig files are pending more tests. Signed-off-by: Kim Phillips <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Add initial support for the e300c2 coreKim Phillips1-2/+13
Add support for the Freescale e300c2 core found in the MPC832x processor line. As far as initial kernel support is concerned, the e300c2 core is identical to the e300c1 found in the mpc834x, except that it's had its floating point unit chopped off. Signed-off-by: Kim Phillips <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Add MPC8360EMDS default dts fileLi Yang1-0/+375
Add MPC8360EMDS default device-tree source file Signed-off-by: Li Yang <[email protected]> Signed-off-by: Jiang Bo <[email protected]> Signed-off-by: Kim Phillips <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Add MPC8360EMDS board supportLi Yang2-0/+1237
The patch adds MPC8360EMDS board support. Signed-off-by: Li Yang <[email protected]> Signed-off-by: Yin Olivia <[email protected]> Signed-off-by: Kim Phillips <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Add QUICC Engine (QE) infrastructureLi Yang11-0/+2342
Add QUICC Engine (QE) configuration, header files, and QE management and library code that are used by QE devices drivers. Includes Leo's modifications up to, and including, the platform_device to of_device adaptation: "The series of patches add generic QE infrastructure called qe_lib, and MPC8360EMDS board support. Qe_lib is used by QE device drivers such as ucc_geth driver. This version updates QE interrupt controller to use new irq mapping mechanism, addresses all the comments received with last submission and includes some style fixes. v2: Change to use device tree for BCSR and MURAM; Remove I/O port interrupt handling code as it is not generic enough. v3: Address comments from Kumar; Update definition of several device tree nodes; Copyright style change." In addition, the following changes have been made: o removed typedefs o uint -> u32 conversions o removed following defines: QE_SIZEOF_BD, BD_BUFFER_ARG, BD_BUFFER_CLEAR, BD_BUFFER, BD_STATUS_AND_LENGTH_SET, BD_STATUS_AND_LENGTH, and BD_BUFFER_SET because they hid sizeof/in_be32/out_be32 operations from the reader. o fixed qe_snums_init() serial num assignment to use a const array o made CONFIG_UCC_FAST select UCC_SLOW o reduced NR_QE_IC_INTS from 128 to 64 o remove _IO_BASE, etc. defines (not used) o removed irrelevant comments, added others to resemble removed BD_ defines o realigned struct definitions in headers o various other style fixes including things like pinMask -> pin_mask o fixed a ton of whitespace issues o marked ioregs as __be32/__be16 o removed platform_device code and redundant get_qe_base() o removed redundant comments o added cpu_relax() to qe_reset o uncasted all get_property() assignments o eliminated unneeded casts o eliminated immrbar_phys_to_virt (not used) Signed-off-by: Li Yang <[email protected]> Signed-off-by: Shlomi Gridish <[email protected]> Signed-off-by: Kim Phillips <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04Merge branch 'upstream' of ↵Paul Mackerras11-9/+1165
git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-PQ
2006-10-04Merge branch 'master' of git://oak/home/sfr/kernels/iseries/workPaul Mackerras10-74/+148
2006-10-04[POWERPC] Don't try to just continue if xmon has no input devicePaul Mackerras1-1/+1
Currently, if xmon has no input device (as is generally the case on G5 powermacs), and we drop into xmon as a result of a fatal exception, it will return 1, which die() interprets as "continue without causing an oops". This fixes it by making xmon() return 0 in the case where it has no input device. Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Fix a printk in pseries_mpic_init_IRQMichael Ellerman1-1/+1
This should probably say "mpic" to save confusion. Signed-off-by: Michael Ellerman <[email protected]> Acked-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Get default baud rate in udbg_sccBenjamin Herrenschmidt1-2/+12
On powermac, when open firmware is set to use the SCC for console, this causes the low level udbg early console to read back the speed and re-use it instead of hard coding 57600 bps. This doesn't (yet) pass the detected speed all the way to pmac_zilog though. Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Fix zImage.coff on oldworld PowerMacBenjamin Herrenschmidt1-0/+1
Recent changes to the PowerPC zImage wrapper broke zImage.coff due to the addition of new ELF sections that aren't very well converted to xcoff and not supported by old OpenFirmware. This fixes it by putting those sections in the xcoff .data. Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Fix xmon=off and cleanup xmon initialisationMichael Ellerman4-39/+39
My patch to make the early xmon logic work with earlier early param parsing (480f6f35a149802a94ad5c1a2673ed6ec8d2c158) breaks xmon=off. No one does this obviously as xmon rocks, but it should really work as documented. While fixing that it struck me that we could move the xmon param handling into xmon.c, and also consolidate the xmon_init()/do_early_xmon logic into xmon_setup(). This means xmon=early drops into xmon a little earlier on 32-bit, but it seems to work just fine. Tested on PSERIES and CLASSIC32. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-04[POWERPC] Cell interrupt reworkBenjamin Herrenschmidt4-122/+238
This patch reworks the cell iic interrupt handling so that: - Node ID is back in the interrupt number (only one IRQ host is created for all nodes). This allows interrupts from sources on another node to be routed non-locally. This will allow possibly one day to fix maxcpus=1 or 2 and still get interrupts from devices on BE 1. (A bit more fixing is needed for that) and it will allow us to implement actual affinity control of external interrupts. - Added handling of the IO exceptions interrupts (badly named, but I re-used the name initially used by STI). Those are the interrupts exposed by IIC_ISR and IIC_IRR, such as the IOC translation exception, performance monitor, etc... Those get their special numbers in the IRQ number space and are internally implemented as a cascade on unit 0xe, class 1 of each node. Signed-off-by: Benjamin Herrenschmidt <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-03[PATCH] i383 numa: fix numaq/summit apicid conflictKeith Mannthey1-1/+1
This allows numaq to properly align cpus to their given node during boot. Pass logical apicid to apicid_to_node and allow the summit sub-arch to use physical apicid (hard_smp_processor_id()). Tested against numaq and summit based systems with no issues. Signed-off-by: Keith Mannthey <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivialLinus Torvalds127-145/+141
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (39 commits) Add missing maintainer countries in CREDITS Fix bytes <-> kilobytes typo in Kconfig for ramdisk fix a typo in Documentation/pi-futex.txt BUG_ON conversion for fs/xfs/ BUG_ON() conversion in fs/nfsd/ BUG_ON conversion for fs/reiserfs BUG_ON cleanups in arch/i386 BUG_ON cleanup in drivers/net/tokenring/ BUG_ON cleanup for drivers/md/ kerneldoc-typo in led-class.c debugfs: spelling fix rcutorture: Fix incorrect description of default for nreaders parameter parport: Remove space in function calls Michal Wronski: update contact info Spelling fix: "control" instead of "cotrol" reboot parameter in Documentation/kernel-parameters.txt Fix copy&waste bug in comment in scripts/kernel-doc remove duplicate "until" from kernel/workqueue.c ite_gpio fix tabbage fix file specification in comments ... Fixed trivial path conflicts due to removed files: arch/mips/dec/boot/decstation.c, drivers/char/ite_gpio.c
2006-10-03BUG_ON cleanups in arch/i386Eric Sesterhenn4-8/+4
This changes a couple of if() BUG(); constructs to BUG_ON(); so it can be safely optimized away. Signed-off-by: Eric Sesterhenn <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03fix file specification in commentsUwe Zeisberger101-101/+101
Many files include the filename at the beginning, serveral used a wrong one. Signed-off-by: Uwe Zeisberger <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03Fix "can not" in Documentation and KconfigMatt LaPlante1-1/+1
Randy brought it to my attention that in proper english "can not" should always be written "cannot". I donot see any reason to argue, even if I mightnot understand why this rule exists. This patch fixes "can not" in several Documentation files as well as three Kconfigs. Signed-off-by: Matt LaPlante <[email protected]> Acked-by: Randy Dunlap <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03Still more typo fixesMatt LaPlante3-10/+10
Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03more misc typo fixesMatt LaPlante5-7/+7
Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03fix an arch/alpha/Kconfig typoMatt LaPlante1-1/+1
Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03Attack of "the the"s in archMatt LaPlante14-18/+18
The patch below corrects multiple occurances of "the the" typos across several files, both in source comments and KConfig files. There is no actual code changed, only text. Note this only affects the /arch directory, and I believe I could find many more elsewhere. :) Signed-off-by: Adrian Bunk <[email protected]>