[U-Boot] [PATCH] net: Make the netconsole buffer size configurable

Joe Hershberger joe.hershberger at ni.com
Tue Jul 24 22:10:56 CEST 2012


Allow a board to configure a larger buffer for netconsole, but leave
the default.

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
---
 doc/README.NetConsole    |    2 ++
 drivers/net/netconsole.c |   10 ++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/doc/README.NetConsole b/doc/README.NetConsole
index c8bcb90..73543e5 100644
--- a/doc/README.NetConsole
+++ b/doc/README.NetConsole
@@ -6,6 +6,8 @@ serial and network input/output devices by adjusting the 'stdin' and
 set either of these variables to "nc". Input and output can be
 switched independently.
 
+CONFIG_NETCONSOLE_BUFFER_SIZE - Override the default buffer size
+
 We use an environment variable 'ncip' to set the IP address and the
 port of the destination. The format is <ip_addr>:<port>. If <port> is
 omitted, the value of 6666 is used. If the env var doesn't exist, the
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 14243b8..6b4390e 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -28,7 +28,13 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static char input_buffer[512];
+#ifdef CONFIG_NETCONSOLE_BUFFER_SIZE
+#define BUFFER_SIZE CONFIG_NETCONSOLE_BUFFER_SIZE
+#else
+#define BUFFER_SIZE 512
+#endif
+
+static char input_buffer[BUFFER_SIZE];
 static int input_size; /* char count in input buffer */
 static int input_offset; /* offset to valid chars in input buffer */
 static int input_recursion;
@@ -203,7 +209,7 @@ static void nc_puts(const char *s)
 
 	len = strlen(s);
 	while (len) {
-		int send_len = min(len, 512);
+		int send_len = min(len, BUFFER_SIZE);
 		nc_send_packet(s, send_len);
 		len -= send_len;
 		s += send_len;
-- 
1.6.0.2



More information about the U-Boot mailing list