diff options
author | jakub <jakub> | 1999-10-12 13:11:42 +0000 |
---|---|---|
committer | jakub <jakub> | 1999-10-12 13:11:42 +0000 |
commit | 2133a9964040934e0aaaaf5b294a8a83e1a5a35d (patch) | |
tree | 7267ea1a80032262217195db550a5e2cd103e128 /isys | |
parent | 1c5e4865148312383973d61b815eed693a672f2d (diff) | |
download | anaconda-2133a9964040934e0aaaaf5b294a8a83e1a5a35d.tar.gz anaconda-2133a9964040934e0aaaaf5b294a8a83e1a5a35d.tar.xz anaconda-2133a9964040934e0aaaaf5b294a8a83e1a5a35d.zip |
I was told v0 units really go through the sd-targets translation table.
Can anyone test this to make sure? It just means trying to install
on old sun4c with v0 PROM to disk with SCSI id 3.
Diffstat (limited to 'isys')
-rw-r--r-- | isys/silo.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/isys/silo.c b/isys/silo.c index c6cc99d8e..14d1a8fb3 100644 --- a/isys/silo.c +++ b/isys/silo.c @@ -33,6 +33,7 @@ static int hasaliases; static char *promdev = "/dev/openprom"; static int promfd; +static char sd_targets[10] = "31204567"; static int p1275 = 0; static int prom_root_node, prom_current_node; static int promvers; @@ -290,8 +291,15 @@ scan_walk_callback(int node) { if (!prop) prop = ((struct openpromio *)buf)->oprom_array; sprintf (prop, "/%s@%x,%x", name, hd[disk].mid, hd[disk].lo); - } else - sprintf (prop, "sd(%d,%d,", v0ctrl, hd[disk].mid); + } else { + int i; + for (i = 0; sd_targets[i]; i++) + if (sd_targets[i] == '0' + hd[disk].mid) + break; + if (!sd_targets[i]) + i = hd[disk].mid; + sprintf (prop, "sd(%d,%d,", v0ctrl, i); + } break; case SDSK_TYPE_PLN: prop = ((struct openpromio *)buf)->oprom_array; @@ -552,6 +560,12 @@ static int get_prom_ver(void) } fclose(f); } + if (!ver) { + int len; + p = prom_getopt("sd-targets", &len); + if (p && len > 0 && len <= 8) + strcpy(sd_targets, p); + } return ver; } |