X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=second%2Fprom.c;h=3407e5ace7d936425503ad149b69ce3b40e99103;hp=5ec06b88e7e1426b33e5a04050e4e4c3c607cea3;hb=5d4289bddaef010cc14bcbeecfd13d5068b50a8e;hpb=a2b7bb030d78c61ef150f8c9f6926c9558a6f1b5 diff --git a/second/prom.c b/second/prom.c index 5ec06b8..3407e5a 100644 --- a/second/prom.c +++ b/second/prom.c @@ -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) {