diff mbox

[1/4] powerpc/powernv: panic() on OPAL < V3

Message ID 1448599526-31073-2-git-send-email-stewart@linux.vnet.ibm.com (mailing list archive)
State Changes Requested
Headers show

Commit Message

Stewart Smith Nov. 27, 2015, 4:45 a.m. UTC
The OpenPower Abstraction Layer firmware went through a couple
of iterations in the lab before being released. What we now know
as OPAL advertises itself as OPALv3.

OPALv2 and OPALv1 never made it outside the lab, and the possibility
of anyone at all ever building a mainline kernel today and expecting
it to boot on such hardware is zero.

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
 arch/powerpc/platforms/powernv/opal.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Andrew Donnellan Nov. 27, 2015, 5:36 a.m. UTC | #1
On 27/11/15 15:45, Stewart Smith wrote:
> The OpenPower Abstraction Layer firmware went through a couple
> of iterations in the lab before being released. What we now know
> as OPAL advertises itself as OPALv3.
>
> OPALv2 and OPALv1 never made it outside the lab, and the possibility
> of anyone at all ever building a mainline kernel today and expecting
> it to boot on such hardware is zero.
>
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>

Comment below.

Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>

> ---
>   arch/powerpc/platforms/powernv/opal.c | 5 +----
>   1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
> index 4296d55e88f3..ad691fc15309 100644
> --- a/arch/powerpc/platforms/powernv/opal.c
> +++ b/arch/powerpc/platforms/powernv/opal.c
> @@ -103,11 +103,8 @@ int __init early_init_dt_scan_opal(unsigned long node,
>   		powerpc_firmware_features |= FW_FEATURE_OPALv2;
>   		powerpc_firmware_features |= FW_FEATURE_OPALv3;
>   		pr_info("OPAL V3 detected !\n");
> -	} else if (of_flat_dt_is_compatible(node, "ibm,opal-v2")) {
> -		powerpc_firmware_features |= FW_FEATURE_OPALv2;
> -		pr_info("OPAL V2 detected !\n");
>   	} else {
> -		pr_info("OPAL V1 detected !\n");
> +		panic("OPAL != V3 detected, no longer supported.\n")

In the event of an OPAL v4 that is for some reason not backwards 
compatible with V3, "*no longer* supported" might not make sense. This 
isn't a huge problem of course.
Stewart Smith Nov. 27, 2015, 5:43 a.m. UTC | #2
Andrew Donnellan <andrew.donnellan@au1.ibm.com> writes:
>> --- a/arch/powerpc/platforms/powernv/opal.c
>> +++ b/arch/powerpc/platforms/powernv/opal.c
>> @@ -103,11 +103,8 @@ int __init early_init_dt_scan_opal(unsigned long node,
>>   		powerpc_firmware_features |= FW_FEATURE_OPALv2;
>>   		powerpc_firmware_features |= FW_FEATURE_OPALv3;
>>   		pr_info("OPAL V3 detected !\n");
>> -	} else if (of_flat_dt_is_compatible(node, "ibm,opal-v2")) {
>> -		powerpc_firmware_features |= FW_FEATURE_OPALv2;
>> -		pr_info("OPAL V2 detected !\n");
>>   	} else {
>> -		pr_info("OPAL V1 detected !\n");
>> +		panic("OPAL != V3 detected, no longer supported.\n")
>
> In the event of an OPAL v4 that is for some reason not backwards 
> compatible with V3, "*no longer* supported" might not make sense. This 
> isn't a huge problem of course.

Considering you need kernel support for any new POWER processor, and we're not
about to do an OPALv4 on POWER8 or earlier - we're going to be safe :)
Andrew Donnellan Nov. 27, 2015, 5:56 a.m. UTC | #3
On 27/11/15 16:43, Stewart Smith wrote:
> Considering you need kernel support for any new POWER processor, and we're not
> about to do an OPALv4 on POWER8 or earlier - we're going to be safe :)

Not a huge problem then :)
kernel test robot Nov. 27, 2015, 7:13 a.m. UTC | #4
Hi Stewart,

[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.4-rc2 next-20151127]

url:    https://github.com/0day-ci/linux/commits/Stewart-Smith/powerpc-powernv-panic-on-OPAL-V3/20151127-125146
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=powerpc 

Note: the linux-review/Stewart-Smith/powerpc-powernv-panic-on-OPAL-V3/20151127-125146 HEAD 152f1c52f2204a99806617c1fcfdff7505ee8506 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   arch/powerpc/platforms/powernv/opal.c: In function 'early_init_dt_scan_opal':
>> arch/powerpc/platforms/powernv/opal.c:108:2: error: expected ';' before '}' token
     }
     ^

vim +108 arch/powerpc/platforms/powernv/opal.c

75b93da4 Benjamin Herrenschmidt 2013-05-14  102  	if (of_flat_dt_is_compatible(node, "ibm,opal-v3")) {
75b93da4 Benjamin Herrenschmidt 2013-05-14  103  		powerpc_firmware_features |= FW_FEATURE_OPALv2;
75b93da4 Benjamin Herrenschmidt 2013-05-14  104  		powerpc_firmware_features |= FW_FEATURE_OPALv3;
9a4f5cd0 Anton Blanchard        2014-09-17  105  		pr_info("OPAL V3 detected !\n");
14a43e69 Benjamin Herrenschmidt 2011-09-19  106  	} else {
37adb774 Stewart Smith          2015-11-27  107  		panic("OPAL != V3 detected, no longer supported.\n")
14a43e69 Benjamin Herrenschmidt 2011-09-19 @108  	}
14a43e69 Benjamin Herrenschmidt 2011-09-19  109  
4926616c Benjamin Herrenschmidt 2014-05-20  110  	/* Reinit all cores with the right endian */
4926616c Benjamin Herrenschmidt 2014-05-20  111  	opal_reinit_cores();

:::::: The code at line 108 was first introduced by commit
:::::: 14a43e69ed257a1fadadf9fea2c05adb1686419f powerpc/powernv: Basic support for OPAL

:::::: TO: Benjamin Herrenschmidt <benh@kernel.crashing.org>
:::::: CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Andrew Donnellan Nov. 30, 2015, 12:20 a.m. UTC | #5
On 27/11/15 16:36, Andrew Donnellan wrote:
> Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>

And withdrawing my Reviewed-by: because apparently I'm not capable of 
spotting missing semicolons, please move the semicolon from patch 2 to 
this patch...


Andrew
diff mbox

Patch

diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index 4296d55e88f3..ad691fc15309 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -103,11 +103,8 @@  int __init early_init_dt_scan_opal(unsigned long node,
 		powerpc_firmware_features |= FW_FEATURE_OPALv2;
 		powerpc_firmware_features |= FW_FEATURE_OPALv3;
 		pr_info("OPAL V3 detected !\n");
-	} else if (of_flat_dt_is_compatible(node, "ibm,opal-v2")) {
-		powerpc_firmware_features |= FW_FEATURE_OPALv2;
-		pr_info("OPAL V2 detected !\n");
 	} else {
-		pr_info("OPAL V1 detected !\n");
+		panic("OPAL != V3 detected, no longer supported.\n")
 	}
 
 	/* Reinit all cores with the right endian */