* Re: [PATCH] CAS DFP support
2006-11-22 15:20 [PATCH] CAS DFP support Jake Moilanen
@ 2006-11-22 15:25 ` Kumar Gala
2006-11-22 15:46 ` Kumar Gala
` (2 subsequent siblings)
3 siblings, 0 replies; 12+ messages in thread
From: Kumar Gala @ 2006-11-22 15:25 UTC (permalink / raw)
To: Jake Moilanen; +Cc: linuxppc-dev, Paul Mackerras
On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
> When booting a Power6 in compat mode, the DFP bit must be set in the
> client architecture call, or else firmware will downgrade the
> compliance
> to P5 compat mode, thus removing VMX and DFP instructions.
>
> Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
For DFP do we also need a cpu_user_features, that propagates out to
user space?
- k
>
> --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13 15:01:13.000000000
> -0600
> +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21 18:38:27.000000000
> -0600
> @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
> /* Option vector 3: processor options supported */
> #define OV3_FP 0x80 /* floating point */
> #define OV3_VMX 0x40 /* VMX/Altivec */
> +#define OV3_DFP 0x20 /* decimal floating point */
>
> /* Option vector 5: PAPR/OF options supported */
> #define OV5_LPAR 0x80 /* logical partitioning supported */
> @@ -674,7 +675,7 @@ static unsigned char ibm_architecture_ve
> /* option vector 3: processor options supported */
> 3 - 2, /* length */
> 0, /* don't ignore, don't halt */
> - OV3_FP | OV3_VMX,
> + OV3_FP | OV3_VMX | OV3_DFP,
>
> /* option vector 4: IBM PAPR implementation */
> 2 - 2, /* length */
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH] CAS DFP support
2006-11-22 15:20 [PATCH] CAS DFP support Jake Moilanen
2006-11-22 15:25 ` Kumar Gala
@ 2006-11-22 15:46 ` Kumar Gala
2006-11-22 15:58 ` Jake Moilanen
` (2 more replies)
2006-11-22 18:36 ` Will Schmidt
2006-11-22 21:45 ` Paul Mackerras
3 siblings, 3 replies; 12+ messages in thread
From: Kumar Gala @ 2006-11-22 15:46 UTC (permalink / raw)
To: Jake Moilanen; +Cc: linuxppc-dev, Paul Mackerras
On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
> When booting a Power6 in compat mode, the DFP bit must be set in the
> client architecture call, or else firmware will downgrade the
> compliance
> to P5 compat mode, thus removing VMX and DFP instructions.
>
> Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
>
> --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13 15:01:13.000000000
> -0600
> +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21 18:38:27.000000000
> -0600
> @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
> /* Option vector 3: processor options supported */
> #define OV3_FP 0x80 /* floating point */
> #define OV3_VMX 0x40 /* VMX/Altivec */
> +#define OV3_DFP 0x20 /* decimal floating point */
Can we make the flag OV3_DECFP to distinguish it from Double FP.
>
> /* Option vector 5: PAPR/OF options supported */
> #define OV5_LPAR 0x80 /* logical partitioning supported */
> @@ -674,7 +675,7 @@ static unsigned char ibm_architecture_ve
> /* option vector 3: processor options supported */
> 3 - 2, /* length */
> 0, /* don't ignore, don't halt */
> - OV3_FP | OV3_VMX,
> + OV3_FP | OV3_VMX | OV3_DFP,
>
> /* option vector 4: IBM PAPR implementation */
> 2 - 2, /* length */
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH] CAS DFP support
2006-11-22 15:46 ` Kumar Gala
@ 2006-11-22 15:58 ` Jake Moilanen
2006-11-22 16:06 ` Peter Bergner
2006-11-22 21:48 ` Paul Mackerras
2 siblings, 0 replies; 12+ messages in thread
From: Jake Moilanen @ 2006-11-22 15:58 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Paul Mackerras
On Wed, 2006-11-22 at 09:46 -0600, Kumar Gala wrote:
> On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
>
> > When booting a Power6 in compat mode, the DFP bit must be set in the
> > client architecture call, or else firmware will downgrade the
> > compliance
> > to P5 compat mode, thus removing VMX and DFP instructions.
> >
> > Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
> >
> > --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13 15:01:13.000000000
> > -0600
> > +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21 18:38:27.000000000
> > -0600
> > @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
> > /* Option vector 3: processor options supported */
> > #define OV3_FP 0x80 /* floating point */
> > #define OV3_VMX 0x40 /* VMX/Altivec */
> > +#define OV3_DFP 0x20 /* decimal floating point */
>
> Can we make the flag OV3_DECFP to distinguish it from Double FP.
Yup...
Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
--- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13 15:01:13.000000000
-0600
+++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21 18:38:27.000000000
-0600
@@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
/* Option vector 3: processor options supported */
#define OV3_FP 0x80 /* floating point */
#define OV3_VMX 0x40 /* VMX/Altivec */
+#define OV3_DECFP 0x20 /* decimal floating point */
/* Option vector 5: PAPR/OF options supported */
#define OV5_LPAR 0x80 /* logical partitioning supported */
@@ -674,7 +675,7 @@ static unsigned char ibm_architecture_ve
/* option vector 3: processor options supported */
3 - 2, /* length */
0, /* don't ignore, don't halt */
- OV3_FP | OV3_VMX,
+ OV3_FP | OV3_VMX | OV3_DECFP,
/* option vector 4: IBM PAPR implementation */
2 - 2, /* length */
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 15:46 ` Kumar Gala
2006-11-22 15:58 ` Jake Moilanen
@ 2006-11-22 16:06 ` Peter Bergner
2006-11-22 16:41 ` Kumar Gala
2006-11-22 21:48 ` Paul Mackerras
2 siblings, 1 reply; 12+ messages in thread
From: Peter Bergner @ 2006-11-22 16:06 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Paul Mackerras
On Wed, 2006-11-22 at 09:46 -0600, Kumar Gala wrote:
> On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
>
> > When booting a Power6 in compat mode, the DFP bit must be set in the
> > client architecture call, or else firmware will downgrade the
> > compliance
> > to P5 compat mode, thus removing VMX and DFP instructions.
> >
> > Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
> >
> > --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13 15:01:13.000000000
> > -0600
> > +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21 18:38:27.000000000
> > -0600
> > @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
> > /* Option vector 3: processor options supported */
> > #define OV3_FP 0x80 /* floating point */
> > #define OV3_VMX 0x40 /* VMX/Altivec */
> > +#define OV3_DFP 0x20 /* decimal floating point */
>
> Can we make the flag OV3_DECFP to distinguish it from Double FP.
One thing OV3_DFP has going for it is that is matches the nomenclature
used by GCC, binutils. I'm not sure what you mean by Double FP, unless
you're referring to the double wide FP unit on the Blue Gene/L 440
processor, but they don't refer to it as Double FP.
Peter
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 16:06 ` Peter Bergner
@ 2006-11-22 16:41 ` Kumar Gala
2006-11-22 18:36 ` Will Schmidt
2006-11-23 14:39 ` Segher Boessenkool
0 siblings, 2 replies; 12+ messages in thread
From: Kumar Gala @ 2006-11-22 16:41 UTC (permalink / raw)
To: Peter Bergner; +Cc: linuxppc-dev, Paul Mackerras
On Nov 22, 2006, at 10:06 AM, Peter Bergner wrote:
> On Wed, 2006-11-22 at 09:46 -0600, Kumar Gala wrote:
>> On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
>>
>>> When booting a Power6 in compat mode, the DFP bit must be set in the
>>> client architecture call, or else firmware will downgrade the
>>> compliance
>>> to P5 compat mode, thus removing VMX and DFP instructions.
>>>
>>> Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
>>>
>>> --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13
>>> 15:01:13.000000000
>>> -0600
>>> +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21
>>> 18:38:27.000000000
>>> -0600
>>> @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
>>> /* Option vector 3: processor options supported */
>>> #define OV3_FP 0x80 /* floating point */
>>> #define OV3_VMX 0x40 /* VMX/Altivec */
>>> +#define OV3_DFP 0x20 /* decimal floating point */
>>
>> Can we make the flag OV3_DECFP to distinguish it from Double FP.
>
> One thing OV3_DFP has going for it is that is matches the nomenclature
> used by GCC, binutils. I'm not sure what you mean by Double FP,
> unless
> you're referring to the double wide FP unit on the Blue Gene/L 440
> processor, but they don't refer to it as Double FP.
I'm referring to plain old double precision floating point. The e500
core from Freescale has version that provide embedded single
precision floating point (EFP_SINGLE) and versions that provide both
embedded double precision floating point (EFP_DOUBLE). I just want
use to be clear the DFP could mean either double or decimal as far as
I'm concerned.
Also, I think the 602 (may have never seen the light of day) only
implemented single precision floating point.
- k
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 16:41 ` Kumar Gala
@ 2006-11-22 18:36 ` Will Schmidt
2006-11-22 18:51 ` Kumar Gala
2006-11-23 14:39 ` Segher Boessenkool
1 sibling, 1 reply; 12+ messages in thread
From: Will Schmidt @ 2006-11-22 18:36 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Peter Bergner, Paul Mackerras
On Wed, 2006-22-11 at 10:41 -0600, Kumar Gala wrote:
> On Nov 22, 2006, at 10:06 AM, Peter Bergner wrote:
>
> > On Wed, 2006-11-22 at 09:46 -0600, Kumar Gala wrote:
> >> On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
> >>
> >>> When booting a Power6 in compat mode, the DFP bit must be set in the
> >>> client architecture call, or else firmware will downgrade the
> >>> compliance
> >>> to P5 compat mode, thus removing VMX and DFP instructions.
> >>>
> >>> Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
> >>>
> >>> --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13
> >>> 15:01:13.000000000
> >>> -0600
> >>> +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21
> >>> 18:38:27.000000000
> >>> -0600
> >>> @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
> >>> /* Option vector 3: processor options supported */
> >>> #define OV3_FP 0x80 /* floating point */
> >>> #define OV3_VMX 0x40 /* VMX/Altivec */
> >>> +#define OV3_DFP 0x20 /* decimal floating point */
> >>
> >> Can we make the flag OV3_DECFP to distinguish it from Double FP.
> >
> > One thing OV3_DFP has going for it is that is matches the nomenclature
> > used by GCC, binutils. I'm not sure what you mean by Double FP,
> > unless
> > you're referring to the double wide FP unit on the Blue Gene/L 440
> > processor, but they don't refer to it as Double FP.
>
> I'm referring to plain old double precision floating point. The e500
> core from Freescale has version that provide embedded single
> precision floating point (EFP_SINGLE) and versions that provide both
> embedded double precision floating point (EFP_DOUBLE). I just want
> use to be clear the DFP could mean either double or decimal as far as
> I'm concerned.
the comment on the #define "/* decimal floating point */" should be
sufficient for that clarification tho, right?
>
> Also, I think the 602 (may have never seen the light of day) only
> implemented single precision floating point.
>
> - k
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 18:36 ` Will Schmidt
@ 2006-11-22 18:51 ` Kumar Gala
0 siblings, 0 replies; 12+ messages in thread
From: Kumar Gala @ 2006-11-22 18:51 UTC (permalink / raw)
To: will_schmidt; +Cc: linuxppc-dev, Peter Bergner, Paul Mackerras
On Nov 22, 2006, at 12:36 PM, Will Schmidt wrote:
> On Wed, 2006-22-11 at 10:41 -0600, Kumar Gala wrote:
>> On Nov 22, 2006, at 10:06 AM, Peter Bergner wrote:
>>
>>> On Wed, 2006-11-22 at 09:46 -0600, Kumar Gala wrote:
>>>> On Nov 22, 2006, at 9:20 AM, Jake Moilanen wrote:
>>>>
>>>>> When booting a Power6 in compat mode, the DFP bit must be set
>>>>> in the
>>>>> client architecture call, or else firmware will downgrade the
>>>>> compliance
>>>>> to P5 compat mode, thus removing VMX and DFP instructions.
>>>>>
>>>>> Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
>>>>>
>>>>> --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13
>>>>> 15:01:13.000000000
>>>>> -0600
>>>>> +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21
>>>>> 18:38:27.000000000
>>>>> -0600
>>>>> @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
>>>>> /* Option vector 3: processor options supported */
>>>>> #define OV3_FP 0x80 /* floating point */
>>>>> #define OV3_VMX 0x40 /* VMX/Altivec */
>>>>> +#define OV3_DFP 0x20 /* decimal floating point */
>>>>
>>>> Can we make the flag OV3_DECFP to distinguish it from Double FP.
>>>
>>> One thing OV3_DFP has going for it is that is matches the
>>> nomenclature
>>> used by GCC, binutils. I'm not sure what you mean by Double FP,
>>> unless
>>> you're referring to the double wide FP unit on the Blue Gene/L 440
>>> processor, but they don't refer to it as Double FP.
>>
>> I'm referring to plain old double precision floating point. The e500
>> core from Freescale has version that provide embedded single
>> precision floating point (EFP_SINGLE) and versions that provide both
>> embedded double precision floating point (EFP_DOUBLE). I just want
>> use to be clear the DFP could mean either double or decimal as far as
>> I'm concerned.
>
> the comment on the #define "/* decimal floating point */" should be
> sufficient for that clarification tho, right?
For this one case it is, but I'm sure we are going to end up with
some other defines for related to Decimal FP and I'd like them to be
clear.
>> Also, I think the 602 (may have never seen the light of day) only
>> implemented single precision floating point.
>>
>> - k
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@ozlabs.org
>> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 16:41 ` Kumar Gala
2006-11-22 18:36 ` Will Schmidt
@ 2006-11-23 14:39 ` Segher Boessenkool
1 sibling, 0 replies; 12+ messages in thread
From: Segher Boessenkool @ 2006-11-23 14:39 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Paul Mackerras
> Also, I think the 602 (may have never seen the light of day)
I never saw any 602 in the wild, and no one I ever asked has.
> only implemented single precision floating point.
Actually, it implements double precision just fine (although
all double precision arithmetic operations trap and have to
be emulated). Loads and stores work, the FPRs are 64 bit.
Anyway, off-topic, and this CPU doesn't actually exist anyway.
Segher
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 15:46 ` Kumar Gala
2006-11-22 15:58 ` Jake Moilanen
2006-11-22 16:06 ` Peter Bergner
@ 2006-11-22 21:48 ` Paul Mackerras
2 siblings, 0 replies; 12+ messages in thread
From: Paul Mackerras @ 2006-11-22 21:48 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev
Kumar Gala writes:
> Can we make the flag OV3_DECFP to distinguish it from Double FP.
I don't think it's worth it; the OV3_DFP name is defined and used only
in prom_init.c, and only in the context of the code for doing the
ibm,client-architecture-support call. Anyway, the comment says what
it's about, so I don't think there's any potential for confusion.
Paul.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 15:20 [PATCH] CAS DFP support Jake Moilanen
2006-11-22 15:25 ` Kumar Gala
2006-11-22 15:46 ` Kumar Gala
@ 2006-11-22 18:36 ` Will Schmidt
2006-11-22 21:45 ` Paul Mackerras
3 siblings, 0 replies; 12+ messages in thread
From: Will Schmidt @ 2006-11-22 18:36 UTC (permalink / raw)
To: Jake Moilanen; +Cc: linuxppc-dev, Paul Mackerras
On Wed, 2006-22-11 at 09:20 -0600, Jake Moilanen wrote:
> When booting a Power6 in compat mode, the DFP bit must be set in the
> client architecture call, or else firmware will downgrade the compliance
> to P5 compat mode, thus removing VMX and DFP instructions.
>
> Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
Acked-by: Will Schmidt <will_schmidt@vnet.ibm.com>
>
> --- 2.6/arch/powerpc/kernel/prom_init.c~ 2006-11-13 15:01:13.000000000
> -0600
> +++ 2.6/arch/powerpc/kernel/prom_init.c 2006-11-21 18:38:27.000000000
> -0600
> @@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
> /* Option vector 3: processor options supported */
> #define OV3_FP 0x80 /* floating point */
> #define OV3_VMX 0x40 /* VMX/Altivec */
> +#define OV3_DFP 0x20 /* decimal floating point */
>
> /* Option vector 5: PAPR/OF options supported */
> #define OV5_LPAR 0x80 /* logical partitioning supported */
> @@ -674,7 +675,7 @@ static unsigned char ibm_architecture_ve
> /* option vector 3: processor options supported */
> 3 - 2, /* length */
> 0, /* don't ignore, don't halt */
> - OV3_FP | OV3_VMX,
> + OV3_FP | OV3_VMX | OV3_DFP,
>
> /* option vector 4: IBM PAPR implementation */
> 2 - 2, /* length */
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] CAS DFP support
2006-11-22 15:20 [PATCH] CAS DFP support Jake Moilanen
` (2 preceding siblings ...)
2006-11-22 18:36 ` Will Schmidt
@ 2006-11-22 21:45 ` Paul Mackerras
3 siblings, 0 replies; 12+ messages in thread
From: Paul Mackerras @ 2006-11-22 21:45 UTC (permalink / raw)
To: Jake Moilanen; +Cc: linuxppc-dev
Jake Moilanen writes:
> When booting a Power6 in compat mode, the DFP bit must be set in the
> client architecture call, or else firmware will downgrade the compliance
> to P5 compat mode, thus removing VMX and DFP instructions.
This change is already in the powerpc.git tree; it was part of my
"Distinguish POWER6 partition modes and tell userspace" patch.
Paul.
^ permalink raw reply [flat|nested] 12+ messages in thread