2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-23 01:51:54 +00:00

-Have yaboot request up to 100 transfer retries from firmware

-Skip searching by mac address, in our environment the ip should be less transient
This commit is contained in:
jbjohnso 2008-05-05 17:46:05 +00:00
parent 39f05f26d0
commit c30764d95e

View File

@ -1,6 +1,6 @@
diff -urN yaboot-1.3.14/include/prom.h yaboot-1.3.14-fixes/include/prom.h
--- yaboot-1.3.14/include/prom.h 2007-08-17 10:29:26.000000000 -0400
+++ yaboot-1.3.14-fixes/include/prom.h 2008-04-22 10:40:59.000000000 -0400
+++ yaboot-1.3.14-fixes/include/prom.h 2008-05-05 13:40:11.000000000 -0400
@@ -37,6 +37,9 @@
#define PROM_INVALID_HANDLE ((prom_handle)-1UL)
#define BOOTDEVSZ (2048) /* iscsi args can be in excess of 1040 bytes */
@ -30,7 +30,7 @@ diff -urN yaboot-1.3.14/include/prom.h yaboot-1.3.14-fixes/include/prom.h
#endif
diff -urN yaboot-1.3.14/second/fs_of.c yaboot-1.3.14-fixes/second/fs_of.c
--- yaboot-1.3.14/second/fs_of.c 2007-08-17 10:29:26.000000000 -0400
+++ yaboot-1.3.14-fixes/second/fs_of.c 2008-04-22 10:43:43.000000000 -0400
+++ yaboot-1.3.14-fixes/second/fs_of.c 2008-05-05 13:41:53.000000000 -0400
@@ -44,9 +44,8 @@
#include "errors.h"
#include "debug.h"
@ -87,7 +87,7 @@ diff -urN yaboot-1.3.14/second/fs_of.c yaboot-1.3.14-fixes/second/fs_of.c
static int
of_net_open(struct boot_file_t* file, const char* dev_name,
struct partition_t* part, const char* file_name)
@@ -138,18 +167,33 @@
@@ -138,18 +167,34 @@
static char buffer[1024];
char *filename;
char *p;
@ -118,10 +118,11 @@ diff -urN yaboot-1.3.14/second/fs_of.c yaboot-1.3.14-fixes/second/fs_of.c
+ for the client and server on the same subnet. */
+ strcat(buffer, prom_get_siaddr(packet));
+ }
+ strcat(buffer,",,100");
free(filename);
}
@@ -166,7 +210,9 @@
@@ -166,7 +211,9 @@
return FILE_ERR_BAD_FSYS;
}
@ -134,7 +135,7 @@ diff -urN yaboot-1.3.14/second/fs_of.c yaboot-1.3.14-fixes/second/fs_of.c
prom_close(file->of_device);
diff -urN yaboot-1.3.14/second/prom.c yaboot-1.3.14-fixes/second/prom.c
--- yaboot-1.3.14/second/prom.c 2007-08-17 10:29:26.000000000 -0400
+++ yaboot-1.3.14-fixes/second/prom.c 2008-04-22 10:40:59.000000000 -0400
+++ yaboot-1.3.14-fixes/second/prom.c 2008-05-05 13:40:11.000000000 -0400
@@ -568,6 +568,25 @@
while (prom_getms() <= end);
}
@ -242,7 +243,7 @@ diff -urN yaboot-1.3.14/second/prom.c yaboot-1.3.14-fixes/second/prom.c
* c-basic-offset: 5
diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
--- yaboot-1.3.14/second/yaboot.c 2007-08-17 10:29:26.000000000 -0400
+++ yaboot-1.3.14-fixes/second/yaboot.c 2008-04-22 10:40:59.000000000 -0400
+++ yaboot-1.3.14-fixes/second/yaboot.c 2008-05-05 13:43:48.000000000 -0400
@@ -114,6 +114,9 @@
char bootdevice[BOOTDEVSZ];
char bootoncelabel[1024];
@ -253,7 +254,22 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
char *password = NULL;
struct boot_fspec_t boot;
int _machine = _MACH_Pmac;
@@ -665,7 +668,7 @@
@@ -471,12 +474,13 @@
if (!fspec.file)
goto out;
- sprintf(fspec.file, "%s%02x-", cfgpath, packet->htype);
+ /* sprintf(fspec.file, "%s%02x-", cfgpath, packet->htype);
strcat(fspec.file, prom_get_mac(packet));
rc = load_config_file(&fspec);
if (rc)
goto out;
+ */
/*
* Now try to match on IP.
@@ -665,7 +669,7 @@
cmdinit();
@ -262,7 +278,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
first = 0;
imagename = bootargs;
word_split(&imagename, &params->args);
@@ -680,6 +683,13 @@
@@ -680,6 +684,13 @@
timeout = simple_strtol(q, NULL, 0);
}
@ -276,7 +292,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
prom_printf("boot: ");
c = -1;
if (timeout != -1) {
@@ -716,7 +726,9 @@
@@ -716,7 +727,9 @@
if (!imagename) {
if (bootoncelabel[0] != 0)
imagename = bootoncelabel;
@ -287,7 +303,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
imagename = cfg_get_default();
}
if (imagename)
@@ -737,6 +749,9 @@
@@ -737,6 +750,9 @@
if ( useconf && (!imagename || imagename[0] == 0 ))
imagename = cfg_get_default();
@ -297,7 +313,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
label = 0;
defdevice = boot.dev;
@@ -1233,7 +1248,7 @@
@@ -1233,7 +1249,7 @@
Elf32_Ehdr *e = &(loadinfo->elf.elf32hdr);
Elf32_Phdr *p, *ph;
int size = sizeof(Elf32_Ehdr) - sizeof(Elf_Ident);
@ -306,7 +322,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
/* Read the rest of the Elf header... */
if ((*(file->fs->read))(file, size, &e->e_version) < size) {
@@ -1321,13 +1336,7 @@
@@ -1321,13 +1337,7 @@
loadaddr = loadinfo->load_loc;
}
@ -321,7 +337,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
if (loadinfo->base == (void *)-1) {
prom_printf("Claim error, can't allocate kernel memory\n");
goto bail;
@@ -1377,7 +1386,7 @@
@@ -1377,7 +1387,7 @@
Elf64_Ehdr *e = &(loadinfo->elf.elf64hdr);
Elf64_Phdr *p, *ph;
int size = sizeof(Elf64_Ehdr) - sizeof(Elf_Ident);
@ -330,7 +346,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
/* Read the rest of the Elf header... */
if ((*(file->fs->read))(file, size, &e->e_version) < size) {
@@ -1465,13 +1474,7 @@
@@ -1465,13 +1475,7 @@
loadaddr = e->e_entry;
}
@ -345,7 +361,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
if (loadinfo->base == (void *)-1) {
prom_printf("Claim error, can't allocate kernel memory\n");
goto bail;
@@ -1625,8 +1628,10 @@
@@ -1625,8 +1629,10 @@
yaboot_main(void)
{
char *ptype;
@ -356,7 +372,7 @@ diff -urN yaboot-1.3.14/second/yaboot.c yaboot-1.3.14-fixes/second/yaboot.c
if (_machine == _MACH_Pmac)
setup_display();
@@ -1635,6 +1640,11 @@
@@ -1635,6 +1641,11 @@
DEBUG_F("/chosen/bootargs = %s\n", bootargs);
prom_get_chosen("bootpath", bootdevice, BOOTDEVSZ);
DEBUG_F("/chosen/bootpath = %s\n", bootdevice);