1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2019 IBM Corporation
6 #include <linux/types.h>
8 #include <asm/secure_boot.h>
10 static struct device_node
*get_ppc_fw_sb_node(void)
12 static const struct of_device_id ids
[] = {
13 { .compatible
= "ibm,secureboot", },
14 { .compatible
= "ibm,secureboot-v1", },
15 { .compatible
= "ibm,secureboot-v2", },
19 return of_find_matching_node(NULL
, ids
);
22 bool is_ppc_secureboot_enabled(void)
24 struct device_node
*node
;
28 node
= get_ppc_fw_sb_node();
29 enabled
= of_property_read_bool(node
, "os-secureboot-enforcing");
35 if (!of_property_read_u32(of_root
, "ibm,secure-boot", &secureboot
))
36 enabled
= (secureboot
> 1);
39 pr_info("Secure boot mode %s\n", enabled
? "enabled" : "disabled");
44 bool is_ppc_trustedboot_enabled(void)
46 struct device_node
*node
;
50 node
= get_ppc_fw_sb_node();
51 enabled
= of_property_read_bool(node
, "trusted-enabled");
57 if (!of_property_read_u32(of_root
, "ibm,trusted-boot", &trustedboot
))
58 enabled
= (trustedboot
> 0);
61 pr_info("Trusted boot mode %s\n", enabled
? "enabled" : "disabled");