Age | Commit message (Collapse) | Author | Files | Lines |
|
No functional change.
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: Michal Simek <[email protected]>
|
|
No functional change.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Greg Ungerer <[email protected]>
|
|
No functional change.
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: Tony Luck <[email protected]>
|
|
No functional change.
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: David Howells <[email protected]>
|
|
No functional change.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Mike Frysinger <[email protected]>
|
|
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Richard Henderson <[email protected]>
|
|
All architectures are finally converted. Remove the cruft.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Richard Henderson <[email protected]>
Cc: Mike Frysinger <[email protected]>
Cc: David Howells <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: Greg Ungerer <[email protected]>
Cc: Michal Simek <[email protected]>
Acked-by: David Howells <[email protected]>
Cc: Kyle McMartin <[email protected]>
Acked-by: Benjamin Herrenschmidt <[email protected]>
Cc: Chen Liqin <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Chris Metcalf <[email protected]>
Cc: Jeff Dike <[email protected]>
|
|
Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as
we have converted all irq_chip functions.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chip to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
The irq descriptors are already initialized by the generic
code. Remove the redundant init code and set the irq chip with the
proper accessor function.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as
we have converted all irq_chip functions. Fix the fallout in
show_interrupts().
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Mikael Starvik <[email protected]>
|
|
Convert the irq chip functions and install handle_simple_irq for each
interrupt to get rid of __do_IRQ()
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Mikael Starvik <[email protected]>
|
|
Convert the irq_chip functions and install handle_simple_irq for each
interrupt. This converts V10 to the flow handling and lets us remove
__do_IRQ().
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Mikael Starvik <[email protected]>
|
|
Use the wrapper around __do_IRQ() so we can convert V10 and V32
seperately.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Mikael Starvik <[email protected]>
|
|
Switch to the generic irq Kconfig. h8300 has all irq chips converted
to the new functions, so select the GENERIC_HARDIRQS_NO_DEPRECATED
switch as well. Fixup the resulting fallout in show_interrupts().
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
__do_IRQ is deprecated so h8300 needs to be converted to proper flow
handling. The irq chip is simple and does not required any
mask/ack/eoi functions, so we can use handle_simple_irq.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
No functional change, just straight forward conversion.
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Paul Mundt <[email protected]>
|
|
|
|
|
|
Don't say that enable timed out when it was disable, and
show which IRQ had the problem.
Signed-off-by: Scott Wood <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
Upcoming servers will include a Broadcom NIC, add to the defconfig to
increase testing coverage and make sure mainline builds come up with
networking.
Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
- Enable 64kB pages so it gets some regular testing.
- The largest POWER7 has 1024 threads so bump NR_CPUS it to match.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
IRQSOFF_TRACER and STACK_TRACER force the kernel to be built with -pg
which is a substantial overhead.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
The dts-installed variable is initialised using a wildcard path that
will be expanded relative to the build directory. Use the existing
variable dtstree to generate an absolute wildcard path that will work
when building in a separate directory.
Reported-by: Gerhard Pircher <[email protected]>
Signed-off-by: Ben Hutchings <[email protected]>
Tested-by: Gerhard Pircher <[email protected]> [against 2.6.32]
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
Decoding machine checks is CPU specific and so machine_check_generic doesn't
do the right thing on 64bit chips. Luckily we never call into this code
because we call ppc_md.machine_check_exception instead if available.
Since we check cur_cpu_spec->machine_check before calling it, we may as
well remove machine_check_generic from 64bit archs.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
The spec suggests we should first check the extended log flag before checking
the length field.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
The FWNMI code uses a global buffer without any locks to read the RTAS error
information. If two CPUs take a machine check at once then we will corrupt
this buffer.
Since most FWNMI rtas messages are not of the extended type, we can create a
64bit percpu buffer and use it where possible. If we do receive an extended
RTAS log then we fall back to the old behaviour of using the global buffer.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
Rework pseries machine check handler:
- If MSR_RI isn't set, we cannot recover even if the machine check was fully
recovered
- Rename nonfatal to recovered
- Handle RTAS_DISP_LIMITED_RECOVERY
- Use BUS_MCEERR_AR instead of BUS_ADRERR
- Don't check all the RTAS error log fields when receiving a synchronous
machine check. Recent versions of the pseries firmware do not fill them
in during a machine check and instead send a follow up error log with
the detailed information. If we see a synchronous machine check, and we
came from userspace then kill the task.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
If a machine check comes from userspace we send a SIGBUS to the task and
fail to printk anything.
If we are taking machine checks due to bad hardware we want to know about
it right away. Furthermore if we don't complain loudly then it will look
a lot like a bug in the userspace application, potentially causing a lot
of confusion.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
We are calling debugger_fault_handler twice in machine_check_exception.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
machine check
Newer versions of the System p firwmare send a partial RTAS error log in the
machine check handler with a more detailed response appearing sometime later
via check event.
This means at machine check time we do not have enough information to
ascertain exactly what went on. Furthermore, I have found the RTAS error
logs in the machine check handler contain no useful information, so halting on
them makes little sense. If we want to halt it would make more sense to do
it following the error log received sometime later via check event.
In light of this, never halt the error log in the pseries machine
check handler.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
We should never force MSR_RI on. If we take a machine check with MSR_RI off
then we have no chance of recovering safely.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
We were printing 64 bits of DSISR in show_regs even though it is 32 bit.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
We should disable ftrace during kexec, some of the tracers are very invasive
and we do not want them going off while doing the low level work of swapping
one kernel out for another. This mirrors what we do on x86.
Even though we cannot return from a kexec on powerpc (since we do not implement
CONFIG_KEXEC_JUMP), add the restore code in case we do one day.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
Use the crash handler hooks to run the SPU stop code, just like we do for
ehea and cell RAS code.
While I'm here I noticed "CPUSs reliabally"
so fix the spelling MISTAKESs reliabally.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
We check for a valid handler before calling ppc_md.machine_kexec_prepare
so we can just remove these empty handlers.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|
|
There's no need to initialise ppc_md.machine_kexec and
ppc_md.machine_kexec_prepare to the default handlers.
Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
|