__cli on 4xx - MSR:CE?
From: Hollis Blanchard <hidden>
Date: 2002-07-30 18:46:54
Shouldn't __cli on 4xx disable the MSR CE bit as well as EE? -Hollis ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
7 messages, 4 authors, 2002-08-01 · open the first message on its own page
From: Hollis Blanchard <hidden>
Date: 2002-07-30 18:46:54
Shouldn't __cli on 4xx disable the MSR CE bit as well as EE? -Hollis ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: akuster <hidden>
Date: 2002-07-30 19:30:51
Hollis Blanchard wrote:
Shouldn't __cli on 4xx disable the MSR CE bit as well as EE? -Hollis
It should. Critical interrupts are currently not enabled in the kernel armin ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: David Gibson <hidden>
Date: 2002-07-31 00:52:44
On Tue, Jul 30, 2002 at 12:30:51PM -0700, akuster wrote:
Hollis Blanchard wrote:quoted
Shouldn't __cli on 4xx disable the MSR CE bit as well as EE? -HollisIt should. Critical interrupts are currently not enabled in the kernel armin
No, that isn't clear. As Armin says, (external) critical interrupts are not supported at the moment in the 4xx kernel, so at the moment this is irrelevant. However if someone ever did implement the use of critical external interrupts on a board, this would surely be because interrupts from the relevant hardwware are, well, critical, and require extremely low latency processing. It therefore seems sensible that such routines should run even when normal interrupts are disabled. Obvioulsy the critical interrupt handlers would have to be written very carefully to avoid interfering with interrupted code. If critical interrupts are disabled everywhere that normal interrupts are disabled, there seems little point in having them. I believe the interrupt handling code (head_4xx.S and entry.S) in 2.5 should be able to cope with critical external interrupts. When transferring to a critical interrupt handler critical interrupts will remain disabled until the handler has completed. -- David Gibson | For every complex problem there is a david@gibson.dropbear.id.au | solution which is simple, neat and | wrong. http://www.ozlabs.org/people/dgibson ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: David Blythe <hidden>
Date: 2002-07-31 01:11:57
Exactly. I hacked something up (badly) to use the watchdog critical interrupt as a low-overhead interrupt for kernel profiling including profiling normal interrupt routines. It would take a lot of mucking around to support critical interrupts well, but it would be nice support to have and should be independent of regular interrupts. When you say 2.5 should handle it, are you suggesting someone should make it so or asserting that it already does? david David Gibson wrote:
On Tue, Jul 30, 2002 at 12:30:51PM -0700, akuster wrote:quoted
Hollis Blanchard wrote:quoted
Shouldn't __cli on 4xx disable the MSR CE bit as well as EE? -HollisIt should. Critical interrupts are currently not enabled in the kernel arminNo, that isn't clear. As Armin says, (external) critical interrupts are not supported at the moment in the 4xx kernel, so at the moment this is irrelevant. However if someone ever did implement the use of critical external interrupts on a board, this would surely be because interrupts from the relevant hardwware are, well, critical, and require extremely low latency processing. It therefore seems sensible that such routines should run even when normal interrupts are disabled. Obvioulsy the critical interrupt handlers would have to be written very carefully to avoid interfering with interrupted code. If critical interrupts are disabled everywhere that normal interrupts are disabled, there seems little point in having them. I believe the interrupt handling code (head_4xx.S and entry.S) in 2.5 should be able to cope with critical external interrupts. When transferring to a critical interrupt handler critical interrupts will remain disabled until the handler has completed. -- David Gibson | For every complex problem there is a david@gibson.dropbear.id.au | solution which is simple, neat and | wrong. http://www.ozlabs.org/people/dgibson
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: David Gibson <hidden>
Date: 2002-07-31 01:27:28
On Tue, Jul 30, 2002 at 06:11:57PM -0700, David Blythe wrote:
Exactly. I hacked something up (badly) to use the watchdog critical interrupt as a low-overhead interrupt for kernel profiling including profiling normal interrupt routines. It would take a lot of mucking around to support critical interrupts well, but it would be nice support to have and should be independent of regular interrupts. When you say 2.5 should handle it, are you suggesting someone should make it so or asserting that it already does?
I'm asserting that the basic support is already there. It is untested though, and so probably buggy.
David Gibson wrote:quoted
On Tue, Jul 30, 2002 at 12:30:51PM -0700, akuster wrote:quoted
Hollis Blanchard wrote:quoted
Shouldn't __cli on 4xx disable the MSR CE bit as well as EE? -HollisIt should. Critical interrupts are currently not enabled in the kernel arminNo, that isn't clear. As Armin says, (external) critical interrupts are not supported at the moment in the 4xx kernel, so at the moment this is irrelevant. However if someone ever did implement the use of critical external interrupts on a board, this would surely be because interrupts from the relevant hardwware are, well, critical, and require extremely low latency processing. It therefore seems sensible that such routines should run even when normal interrupts are disabled. Obvioulsy the critical interrupt handlers would have to be written very carefully to avoid interfering with interrupted code. If critical interrupts are disabled everywhere that normal interrupts are disabled, there seems little point in having them. I believe the interrupt handling code (head_4xx.S and entry.S) in 2.5 should be able to cope with critical external interrupts. When transferring to a critical interrupt handler critical interrupts will remain disabled until the handler has completed.
-- David Gibson | For every complex problem there is a david@gibson.dropbear.id.au | solution which is simple, neat and | wrong. http://www.ozlabs.org/people/dgibson ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: Hollis Blanchard <hidden>
Date: 2002-07-31 15:49:02
On Tue, 2002-07-30 at 19:52, David Gibson wrote:
If critical interrupts are disabled everywhere that normal interrupts are disabled, there seems little point in having them.
Sure, I understand that. Will there then be a "__crit_cli" for when you really don't want exceptions of any kind? And __save_and_crit_cli ? -Hollis ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: David Gibson <hidden>
Date: 2002-08-01 00:14:00
On Wed, Jul 31, 2002 at 10:49:02AM -0500, Hollis Blanchard wrote:
On Tue, 2002-07-30 at 19:52, David Gibson wrote:quoted
If critical interrupts are disabled everywhere that normal interrupts are disabled, there seems little point in having them.Sure, I understand that. Will there then be a "__crit_cli" for when you really don't want exceptions of any kind? And __save_and_crit_cli ?
I think that has to be up to whoever first implements a real system with critical interrupts. -- David Gibson | For every complex problem there is a david@gibson.dropbear.id.au | solution which is simple, neat and | wrong. http://www.ozlabs.org/people/dgibson ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/