Forráskód Böngészése

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 11 éve
szülő
commit
2c8fe5120f
2 módosított fájl, 8 hozzáadás és 2 törlés
  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;