]> git.ozlabs.org Git - yaboot.git/blobdiff - second/prom.c
read boot-once, zero out, set bootoncelabel as default
[yaboot.git] / second / prom.c
index 5ec06b88e7e1426b33e5a04050e4e4c3c607cea3..3407e5ace7d936425503ad149b69ce3b40e99103 100644 (file)
@@ -153,6 +153,18 @@ prom_getprop (prom_handle pack, char *name, void *mem, int len)
      return (int)call_prom ("getprop", 4, 1, pack, name, mem, len);
 }
 
+int
+prom_getproplen(prom_handle pack, const char *name)
+{
+     return (int)call_prom("getproplen", 2, 1, pack, name);
+}
+
+int
+prom_setprop (prom_handle pack, char *name, void *mem, int len)
+{
+     return (int)call_prom ("setprop", 4, 1, pack, name, mem, len);
+}
+
 int
 prom_get_chosen (char *name, void *mem, int len)
 {
@@ -167,6 +179,14 @@ prom_get_options (char *name, void *mem, int len)
      return prom_getprop (prom_options, name, mem, len);
 }
 
+int
+prom_set_options (char *name, void *mem, int len)
+{
+     if (prom_options == (void *)-1)
+         return -1;
+     return prom_setprop (prom_options, name, mem, len);
+}
+
 int
 prom_get_devtype (char *device)
 {
@@ -174,6 +194,9 @@ prom_get_devtype (char *device)
      int        result;
      char       tmp[64];
 
+     if (strstr(device, TOK_ISCSI))
+         device = strcpy(tmp, "/vdevice/gscsi/disk");
+
      /* Find OF device phandle */
      dev = prom_finddevice(device);
      if (dev == PROM_INVALID_HANDLE) {