X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=second%2Ffs_of.c;h=fc88e8e49c889f7596733ded3e28d9d8af0126f0;hp=36bd354d533913aa61e022c7976725575c9fd97e;hb=e915b0ad8c6b5a2fa25c59bd56ae752f8c2c799d;hpb=189c50f74e50dc4784766cf198b28e5917403e1e diff --git a/second/fs_of.c b/second/fs_of.c index 36bd354..fc88e8e 100644 --- a/second/fs_of.c +++ b/second/fs_of.c @@ -144,6 +144,8 @@ of_net_open(struct boot_file_t* file, char *filename = NULL; char *p; int new_tftp; + prom_handle root; + ihandle prom_net; DEBUG_ENTER; DEBUG_OPEN; @@ -165,11 +167,14 @@ of_net_open(struct boot_file_t* file, if (fspec->dev[strlen(fspec->dev)-1] != ':') strcat(buffer, ":"); - /* If /packages/cas exists the we have a "new skool" tftp. + /* If /ibm,fw-net-compatibility exists the we have a "new skool" tftp. * This means that siaddr is the tftp server and that we can add * {tftp,bootp}_retrys, subnet mask and tftp block size to the load * method */ - new_tftp = (prom_finddevice("/packages/cas") != PROM_INVALID_HANDLE); + new_tftp = 0; + root = prom_finddevice("/"); + if (prom_getprop(root, "ibm,fw-net-compatibility", &prom_net, sizeof(ihandle)) > 0) + new_tftp = 1; DEBUG_F("Using %s tftp style\n", (new_tftp? "new": "old")); if (new_tftp) {