Patchwork use public interface to detect CAS reboots

login
register
mail settings
Submitter Michael Wolf
Date Jan. 11, 2008, 4:32 p.m.
Message ID <47879A1B.5080501@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/22964/
State Superseded
Headers show

Comments

Michael Wolf - Jan. 11, 2008, 4:32 p.m.
The firmware field used to detect CAS reboots (ibm,fw-nbr-reboots) is 
really a private
field that could change without warning.  A new field 
ibm,#reconfig-reboots will be
added as a public interface intended to be used for this detection.  The 
patch will first
check for ibm,#reconfig-reboots if that is not found it will see if 
ibm,fw-nbr-reboots
is present and will use that instead.

-----

Patch

diff --git a/second/yaboot.c b/second/yaboot.c
index 5fc1213..b52ced6 100644
--- a/second/yaboot.c
+++ b/second/yaboot.c
@@ -1694,6 +1694,7 @@  yaboot_main(void)
      char *endp;
      int conf_given = 0;
      char conf_path[1024];
+     int ret;
 
      if (_machine == _MACH_Pmac)
 	  setup_display();
@@ -1702,7 +1703,8 @@  yaboot_main(void)
      DEBUG_F("/chosen/bootargs = %s\n", bootargs);
      prom_get_chosen("bootpath", bootdevice, BOOTDEVSZ);
      DEBUG_F("/chosen/bootpath = %s\n", bootdevice);
-     prom_get_options("ibm,fw-nbr-reboots",fw_nbr_reboots, FW_NBR_REBOOTSZ);
+     if (prom_get_options("ibm,#reconfig-reboots",fw_nbr_reboots, FW_NBR_REBOOTSZ) == -1 )
+        prom_get_options("ibm,fw-nbr-reboots",fw_nbr_reboots, FW_NBR_REBOOTSZ);
      fw_reboot_cnt = simple_strtol(fw_nbr_reboots,&endp,10);
      if (fw_reboot_cnt > 0L)
           prom_get_options("boot-last-label", bootlastlabel, BOOTLASTSZ);