[SLOF] [PATCH 1/9] libnet: Get rid of unused huge_load and block_size parameters

Thomas Huth thuth at redhat.com
Fri May 18 03:40:48 AEST 2018


The blocksize is hard-coded to 1428 bytes in obp-tftp.fs, so instead
of hardcoding this in the Forth code, we could also move this into
netload.c directly instead. A similar condition exists with the
huge-tftp-load parameter. While this non-standard variable could still
be changed in the obp-tftp package, it does not make much sense to set
it to zero - you only lose the possibility to do huge TFTP loads with
index wrap-around in that case.

Signed-off-by: Thomas Huth <thuth at redhat.com>
---
 lib/libnet/libnet.code       |  4 +---
 lib/libnet/netapps.h         |  3 +--
 lib/libnet/netload.c         | 11 ++++-------
 slof/fs/packages/obp-tftp.fs |  3 ---
 4 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/lib/libnet/libnet.code b/lib/libnet/libnet.code
index 2746782..419419d 100644
--- a/lib/libnet/libnet.code
+++ b/lib/libnet/libnet.code
@@ -4,11 +4,9 @@
 PRIM(NET_X2d_LOAD)
 	int alen = TOS.n; POP;
 	char *arg = TOS.a; POP;
-	int blocksize = TOS.n; POP;
-	int hugeload = TOS.n; POP;
 	long maxlen = TOS.n; POP;
 	void *loadaddr = TOS.a;
-	TOS.n = netload(loadaddr, maxlen, hugeload, blocksize, arg, alen);
+	TOS.n = netload(loadaddr, maxlen, arg, alen);
 MIRP
 
 PRIM(NET_X2d_PING)
diff --git a/lib/libnet/netapps.h b/lib/libnet/netapps.h
index 0e637e1..6e00466 100644
--- a/lib/libnet/netapps.h
+++ b/lib/libnet/netapps.h
@@ -18,8 +18,7 @@
 
 struct filename_ip;
 
-extern int netload(char *buffer, int len, int huge_load, int block_size,
-                   char *args_fs, int alen);
+extern int netload(char *buffer, int len, char *args_fs, int alen);
 extern int ping(char *args_fs, int alen);
 extern int dhcp(char *ret_buffer, struct filename_ip *fn_ip,
 		unsigned int retries, int flags);
diff --git a/lib/libnet/netload.c b/lib/libnet/netload.c
index 5c37fe2..6b9bc57 100644
--- a/lib/libnet/netload.c
+++ b/lib/libnet/netload.c
@@ -405,13 +405,12 @@ static void seed_rng(uint8_t mac[])
 }
 
 static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
-		     unsigned int retries, int32_t mode,
-		     int32_t blksize, int ip_vers)
+		     unsigned int retries, int ip_vers)
 {
 	tftp_err_t tftp_err;
 	int rc;
 
-	rc = tftp(fnip, buffer, len, retries, &tftp_err, mode, blksize, ip_vers);
+	rc = tftp(fnip, buffer, len, retries, &tftp_err, 1, 1428, ip_vers);
 
 	if (rc > 0) {
 		printf("  TFTP: Received %s (%d KBytes)\n", fnip->filename,
@@ -510,8 +509,7 @@ static void encode_response(char *pkt_buffer, size_t size, int ip_init)
 	}
 }
 
-int netload(char *buffer, int len, int huge_load, int block_size,
-	    char *args_fs, int alen)
+int netload(char *buffer, int len, char *args_fs, int alen)
 {
 	int rc;
 	filename_ip_t fn_ip;
@@ -755,8 +753,7 @@ int netload(char *buffer, int len, int huge_load, int block_size,
 
 	/* Do the TFTP load and print error message if necessary */
 	rc = tftp_load(&fn_ip, (unsigned char *)buffer, len,
-		       obp_tftp_args.tftp_retries, huge_load,
-		       block_size, ip_version);
+		       obp_tftp_args.tftp_retries, ip_version);
 
 	if (obp_tftp_args.ip_init == IP_INIT_DHCP)
 		dhcp_send_release(fn_ip.fd);
diff --git a/slof/fs/packages/obp-tftp.fs b/slof/fs/packages/obp-tftp.fs
index 17fb980..19c11e1 100644
--- a/slof/fs/packages/obp-tftp.fs
+++ b/slof/fs/packages/obp-tftp.fs
@@ -12,8 +12,6 @@
 
 s" obp-tftp" device-name
 
-VARIABLE huge-tftp-load 1 huge-tftp-load !
-
 : open ( -- okay? ) 
     true
 ;
@@ -28,7 +26,6 @@ VARIABLE huge-tftp-load 1 huge-tftp-load !
 
     60000000                        ( addr maxlen )
 
-    huge-tftp-load @  d# 1428       ( addr maxlen hugetftp blocksize )
     \ Add OBP-TFTP Bootstring argument, e.g. "10.128.0.1,bootrom.bin,10.128.40.1"
     my-args
     net-load dup 0< IF drop 0 THEN
-- 
1.8.3.1



More information about the SLOF mailing list