瀏覽代碼

net: Make the netconsole buffer size configurable

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

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Joe Hershberger 12 年之前
父節點
當前提交
2c8fe5120f
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 2 0
      doc/README.NetConsole
  2. 6 2
      drivers/net/netconsole.c

+ 2 - 0
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
 set either of these variables to "nc". Input and output can be
 switched independently.
 switched independently.
 
 
+CONFIG_NETCONSOLE_BUFFER_SIZE - Override the default buffer size
+
 We use an environment variable 'ncip' to set the IP address and the
 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
 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
 omitted, the value of 6666 is used. If the env var doesn't exist, the

+ 6 - 2
drivers/net/netconsole.c

@@ -28,7 +28,11 @@
 
 
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
-static char input_buffer[512];
+#ifndef CONFIG_NETCONSOLE_BUFFER_SIZE
+#define CONFIG_NETCONSOLE_BUFFER_SIZE 512
+#endif
+
+static char input_buffer[CONFIG_NETCONSOLE_BUFFER_SIZE];
 static int input_size; /* char count in input buffer */
 static int input_size; /* char count in input buffer */
 static int input_offset; /* offset to valid chars in input buffer */
 static int input_offset; /* offset to valid chars in input buffer */
 static int input_recursion;
 static int input_recursion;
@@ -214,7 +218,7 @@ static void nc_puts(const char *s)
 
 
 	len = strlen(s);
 	len = strlen(s);
 	while (len) {
 	while (len) {
-		int send_len = min(len, 512);
+		int send_len = min(len, sizeof(input_buffer));
 		nc_send_packet(s, send_len);
 		nc_send_packet(s, send_len);
 		len -= send_len;
 		len -= send_len;
 		s += send_len;
 		s += send_len;