[Skiboot] [PATCH] core/init: set firmware progress sensor only on bmc systems.
Joel Stanley
joel at jms.id.au
Thu Nov 3 21:29:08 AEDT 2016
Hello Pridhiviraj,
On Thu, Nov 3, 2016 at 5:36 PM, <ppaidipe at linux.vnet.ibm.com> wrote:
> From: Pridhiviraj Paidipeddi <ppaidipe at linux.vnet.ibm.com>
>
> Currently Hostboot populates /bmc/sensors dt node and corresponding sensors
> only for BMC platforms, And for FSP platforms hostboot is not populating any
> fsp sensors(Management sensors) and also there is no firmware progress
> sensor exist in fsp platforms. due to which OPAL incorrectly setting firmware
> status on a sensor id "00" which is not at all exist.
Nice catch. When we wrote this code the FSP lacked IPMI, so the check
in ipmi_set_fw_progress_sensor for ipmi_present() was enough to guard
against this.
Perhaps we should fix the checks inside the
ipmi_set_fw_progress_sensor for the presence of the sensor in the
device tree, instead of adding fsp_present() checks.
Cheers,
Joel
>
> On a FSP system:
> cat /sys/firmware/opal/msglog | grep -i setting
> [ 21.189204883,6] IPMI: setting fw progress sensor 00 to 07
> [ 21.189559121,6] IPMI: setting fw progress sensor 00 to 13
> cat /sys/firmware/opal/msglog | grep -i skiboot
> [ 84.127416495,5] SkiBoot skiboot-5.4.0-rc3 starting...
>
> On a BMC system:
> cat /sys/firmware/opal/msglog | grep -i setting
> [ 3.166286901,6] IPMI: setting fw progress sensor 05 to 14
> [ 14.259153338,6] IPMI: setting fw progress sensor 05 to 07
> [ 14.469070593,5] IPMI: Resetting boot count on successful boot
> [ 15.001210324,6] IPMI: setting fw progress sensor 05 to 13
>
> So this patch fixes this incorrect setting on a fsp system, and sets only for BMC
> platforms.
>
> After patch:
> On a FSP system:
> cat /sys/firmware/opal/msglog | grep -i setting
>
> On a BMC system:
> cat /sys/firmware/opal/msglog | grep -i setting
> [ 3.167498705,6] IPMI: setting fw progress sensor 05 to 14
> [ 15.395841913,6] IPMI: setting fw progress sensor 05 to 07
> [ 16.117858189,5] IPMI: Resetting boot count on successful boot
> [ 16.163131535,6] IPMI: setting fw progress sensor 05 to 13
>
> Need to enable this for FSP platforms once OPAL recieves sensors dt node
> and fsp implements corresponding firmware progress sensor type(0x0f).
> And also ipmi_sensor_init is only doing for ast bmc platforms(astbmc_init), and hence
> there are sensors array created for FSP platforms.
>
> Signed-off-by: Pridhiviraj Paidipeddi <ppaidipe at linux.vnet.ibm.com>
> ---
> core/init.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/core/init.c b/core/init.c
> index 9d4ab60..4e9dcb8 100644
> --- a/core/init.c
> +++ b/core/init.c
> @@ -481,7 +481,14 @@ void __noreturn load_and_boot_kernel(bool is_reboot)
>
> load_initramfs();
>
> - ipmi_set_fw_progress_sensor(IPMI_FW_OS_BOOT);
> + /* Currently hostboot populates only BMC IPMI sensors dt node
> + * and corresponding sensors, it is not populating fsp sensors.
> + * And also there is no firmware progress sensor available for fsp
> + * platforms. Enable this for fsp platforms once OPAL has corresponding
> + * dt node and corresponding sensor exist.
> + */
> + if (!fsp_present())
> + ipmi_set_fw_progress_sensor(IPMI_FW_OS_BOOT);
>
> if (!is_reboot) {
> /* We wait for the nvram read to complete here so we can
> @@ -930,7 +937,11 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
> /* Add OPAL timer related properties */
> late_init_timers();
>
> - ipmi_set_fw_progress_sensor(IPMI_FW_PCI_INIT);
> + /* Enable this for fsp platforms once OPAL has corresponding
> + * sensors dt node and corresponding firmware progress sensor exist.
> + */
> + if (!fsp_present())
> + ipmi_set_fw_progress_sensor(IPMI_FW_PCI_INIT);
>
> /*
> * These last few things must be done as late as possible
> --
> 2.7.4
>
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot
More information about the Skiboot
mailing list