memtest86_/serial-enable
Thomas Renninger 64a3710dea - Update to version 4.20:
- Added failsafe mode (F1 at startup)
       - Added support for Intel "Sandy Bridge" CPU
       - Added support for AMD "fusion" CPU
       - Added Coreboot "table forward" support
       - Corrected some memory brand not detected
       - Various bug fixes
- Remove %ifarch x86_64 check in .spec file. The internal Makefile
  already adds -m32 and -as32 itself.

OBS-URL: https://build.opensuse.org/package/show/Base:System/memtest86+?expand=0&rev=9
2011-03-29 13:26:16 +00:00

63 lines
1.9 KiB
Plaintext

---
config.h | 2 +-
init.c | 4 ++++
serial.h | 10 ++++++----
3 files changed, 11 insertions(+), 5 deletions(-)
Index: memtest86+-4.20/config.h
===================================================================
--- memtest86+-4.20.orig/config.h
+++ memtest86+-4.20/config.h
@@ -13,7 +13,7 @@
/* SERIAL_CONSOLE_DEFAULT - The default state of the serial console. */
/* This is normally off since it slows down testing. Change to a 1 */
/* to enable. */
-#define SERIAL_CONSOLE_DEFAULT 0
+#define SERIAL_CONSOLE_DEFAULT 1
/* SERIAL_TTY - The default serial port to use. 0=ttyS0, 1=ttyS1 */
#define SERIAL_TTY 0
Index: memtest86+-4.20/init.c
===================================================================
--- memtest86+-4.20.orig/init.c
+++ memtest86+-4.20/init.c
@@ -42,6 +42,7 @@ static void cpu_type(void);
static void cacheable(void);
static int cpuspeed(void);
int beepmode, fail_safe;
+extern short serial_cons;
/* Failsafe function */
/* msec: number of ms to wait - scs: scancode expected to stop */
@@ -125,6 +126,9 @@ static void display_init(void)
}
serial_echo_print("\x1B[0m");
+
+ if (!serial_cons && SERIAL_CONSOLE_DEFAULT)
+ cprint (23, 0, "Timout on serial console: disabled");
}
/*
Index: memtest86+-4.20/serial.h
===================================================================
--- memtest86+-4.20.orig/serial.h
+++ memtest86+-4.20/serial.h
@@ -140,10 +140,12 @@
#define serial_echo_inb(a) inb((a)+serial_base_ports[serial_tty])
#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
/* Wait for transmitter & holding register to empty */
-#define WAIT_FOR_XMITR \
- do { \
- lsr = serial_echo_inb(UART_LSR); \
- } while ((lsr & BOTH_EMPTY) != BOTH_EMPTY)
+#define WAIT_FOR_XMITR \
+ int _i = 1<<15; \
+ do { \
+ lsr = serial_echo_inb(UART_LSR); \
+ } while ((lsr & BOTH_EMPTY) != BOTH_EMPTY && --_i); \
+ if (!_i) serial_cons = 0
#if 0
static inline void serial_echo(int ch)