powerpc/pseries: Use new defines when calling h_set_mode
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri May 30 07:52:41 EST 2014
On Thu, 2014-05-29 at 23:27 +0200, Alexander Graf wrote:
> On 29.05.14 09:45, Michael Neuling wrote:
> >>> +/* Values for 2nd argument to H_SET_MODE */
> >>> +#define H_SET_MODE_RESOURCE_SET_CIABR 1
> >>> +#define H_SET_MODE_RESOURCE_SET_DAWR 2
> >>> +#define H_SET_MODE_RESOURCE_ADDR_TRANS_MODE 3
> >>> +#define H_SET_MODE_RESOURCE_LE 4
> >>
> >> Much better, but I think you want to make use of these in non-kvm code too,
> >> no? At least the LE one is definitely already implemented as call :)
> > Sure but that's a different patch.... below.
>
> Ben, how would you like to handle these 2 patches? If you give me an ack
> I can just put this patch into my kvm queue. Alternatively we could both
> carry a patch that adds the H_SET_MODE header bits only and whoever hits
> Linus' tree first wins ;).
No biggie. Worst case it's a trivial conflict.
Cheers,
Ben.
>
> Alex
>
> >
> > Mikey
> >
> >
> > powerpc/pseries: Use new defines when calling h_set_mode
> >
> > Now that we define these in the KVM code, use these defines when we call
> > h_set_mode. No functional change.
> >
> > Signed-off-by: Michael Neuling <mikey at neuling.org>
> > --
> > This depends on the KVM h_set_mode patches.
> >
> > diff --git a/arch/powerpc/include/asm/plpar_wrappers.h b/arch/powerpc/include/asm/plpar_wrappers.h
> > index 12c32c5..67859ed 100644
> > --- a/arch/powerpc/include/asm/plpar_wrappers.h
> > +++ b/arch/powerpc/include/asm/plpar_wrappers.h
> > @@ -273,7 +273,7 @@ static inline long plpar_set_mode(unsigned long mflags, unsigned long resource,
> > static inline long enable_reloc_on_exceptions(void)
> > {
> > /* mflags = 3: Exceptions at 0xC000000000004000 */
> > - return plpar_set_mode(3, 3, 0, 0);
> > + return plpar_set_mode(3, H_SET_MODE_RESOURCE_ADDR_TRANS_MODE, 0, 0);
> > }
> >
> > /*
> > @@ -284,7 +284,7 @@ static inline long enable_reloc_on_exceptions(void)
> > * returns H_SUCCESS.
> > */
> > static inline long disable_reloc_on_exceptions(void) {
> > - return plpar_set_mode(0, 3, 0, 0);
> > + return plpar_set_mode(0, H_SET_MODE_RESOURCE_ADDR_TRANS_MODE, 0, 0);
> > }
> >
> > /*
> > @@ -297,7 +297,7 @@ static inline long disable_reloc_on_exceptions(void) {
> > static inline long enable_big_endian_exceptions(void)
> > {
> > /* mflags = 0: big endian exceptions */
> > - return plpar_set_mode(0, 4, 0, 0);
> > + return plpar_set_mode(0, H_SET_MODE_RESOURCE_LE, 0, 0);
> > }
> >
> > /*
> > @@ -310,17 +310,17 @@ static inline long enable_big_endian_exceptions(void)
> > static inline long enable_little_endian_exceptions(void)
> > {
> > /* mflags = 1: little endian exceptions */
> > - return plpar_set_mode(1, 4, 0, 0);
> > + return plpar_set_mode(1, H_SET_MODE_RESOURCE_LE, 0, 0);
> > }
> >
> > static inline long plapr_set_ciabr(unsigned long ciabr)
> > {
> > - return plpar_set_mode(0, 1, ciabr, 0);
> > + return plpar_set_mode(0, H_SET_MODE_RESOURCE_SET_CIABR, ciabr, 0);
> > }
> >
> > static inline long plapr_set_watchpoint0(unsigned long dawr0, unsigned long dawrx0)
> > {
> > - return plpar_set_mode(0, 2, dawr0, dawrx0);
> > + return plpar_set_mode(0, H_SET_MODE_RESOURCE_SET_DAWR, dawr0, dawrx0);
> > }
> >
> > #endif /* _ASM_POWERPC_PLPAR_WRAPPERS_H */
> >
More information about the Linuxppc-dev
mailing list