Thread (29 messages) 29 messages, 8 authors, 2014-12-18

Re: [RFC PATCH 1/2]powerpc: foundation code to handle CR5 for local_t

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2014-11-30 09:02:17

On Fri, 2014-11-28 at 10:53 +0000, David Laight wrote:
From: Benjamin Herrenschmidt
quoted
On Fri, 2014-11-28 at 08:45 +0530, Madhavan Srinivasan wrote:
quoted
quoted
Can't we just unconditionally clear at as long as we do that after we've
saved it ? In that case, it's just a matter for the fixup code to check
the saved version rather than the actual CR..
I use CR bit setting in the interrupt return path to enter the fixup
section search. If we unconditionally clear it, we will have to enter
the fixup section for every kernel return nip right?
As I said above. Can't we look at the saved version ?

IE.

 - On interrupt entry:

	* Save CR to CCR(r1)
	* clear CR5

 - On exit

	* Check CCR(r1)'s CR5 field
	* restore CR
Actually there is no real reason why the 'fixup' can't be done
during interrupt entry.
Other than if we crash, we get the wrong PC in the log etc... unlikely
but I tend to prefer this. Also if we ever allow something like a local
atomic on a faulting (uesrspace) address, we want a precise PC on entry.

Generally, we have a lot more entry path than exit path, it's easier to
keep the entry path simpler.

Cheers,
Ben.
	David

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help