[SerialICE] r74 - trunk/qemu-0.11.0

svn at coresystems.de svn at coresystems.de
Thu Nov 26 22:59:48 CET 2009


Author: stepan
Date: 2009-11-26 22:59:48 +0100 (Thu, 26 Nov 2009)
New Revision: 74

Modified:
   trunk/qemu-0.11.0/serialice.c
Log:
Make Qemu read version and mainboard type from SerialICE shell...

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>



Modified: trunk/qemu-0.11.0/serialice.c
===================================================================
--- trunk/qemu-0.11.0/serialice.c	2009-11-26 19:27:31 UTC (rev 73)
+++ trunk/qemu-0.11.0/serialice.c	2009-11-26 21:59:48 UTC (rev 74)
@@ -65,6 +65,8 @@
 int serialice_active = 0;
 const char *serialice_lua_script="serialice.lua";
 
+const char *serialice_mainboard = NULL;
+
 #ifndef WIN32
 static struct termios options;
 #endif
@@ -504,6 +506,35 @@
 // **************************************************************************
 // high level communication with the SerialICE shell
 
+static void serialice_get_version(void)
+{
+	int len = 0;
+	printf("SerialICE: Version.....: ");
+	serialice_command("*vi", 0);
+
+	memset(s->buffer, 0, BUFFER_SIZE);
+	serialice_read(s, s->buffer, 1);
+	serialice_read(s, s->buffer, 1);
+	while (s->buffer[len++] != '\n')
+		serialice_read(s, s->buffer+len, 1);
+	s->buffer[len-1]='\0';
+
+	printf("%s\n", s->buffer);
+}
+
+
+static void serialice_get_mainboard(void)
+{
+	int len = 31;
+
+	printf("SerialICE: Mainboard...: ");
+	serialice_command("*mb", 32);
+	while (len && s->buffer[len] == ' ')
+		s->buffer[len--] = '\0';
+	serialice_mainboard = strdup(s->buffer + 1);
+	printf("%s\n", serialice_mainboard);
+}
+
 uint8_t serialice_inb(uint16_t port)
 {
 	uint8_t ret;
@@ -921,6 +952,10 @@
 	 */
 	serialice_write(s, "@", 1);
 
+	serialice_get_version();
+
+	serialice_get_mainboard();
+
 	printf("SerialICE: LUA init...\n");
 	serialice_lua_init();
 




More information about the SerialICE mailing list