diff options
author | hpa <hpa> | 2005-01-04 22:17:17 +0000 |
---|---|---|
committer | hpa <hpa> | 2005-01-04 22:17:17 +0000 |
commit | 0f5815800c602279e8a764441a16fd5478c0f387 (patch) | |
tree | c920ee4220350d5f721f34241a0cf002c32e94d1 | |
parent | 10ae4b4ddda70fd165620864591886a8810d4be0 (diff) | |
download | syslinux-3.02-pre3.tar.gz |
New CONSOLE directive to enable/disable the video console.syslinux-3.02-pre3
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | conio.inc | 7 | ||||
-rw-r--r-- | extlinux.asm | 5 | ||||
-rw-r--r-- | keywords | 1 | ||||
-rw-r--r-- | keywords.inc | 1 | ||||
-rw-r--r-- | ldlinux.asm | 3 | ||||
-rw-r--r-- | rawcon.inc | 4 | ||||
-rw-r--r-- | syslinux.doc | 9 |
8 files changed, 30 insertions, 2 deletions
@@ -13,6 +13,8 @@ Changes in 3.02: * Simple menu system: minor aestetic improvements, and try to work better over a serial console (speed, and readability on monochrome terminal emulators.) + * New CONSOLE directive to control output on the video console + (useful for dealing with some broken serial-forwarding BIOSes.) Changes in 3.01: * EXTLINUX, SYSLINUX: Fix compile errors on some systems. @@ -1,7 +1,7 @@ ;; $Id$ ;; ----------------------------------------------------------------------- ;; -;; Copyright 1994-2004 H. Peter Anvin - All Rights Reserved +;; Copyright 1994-2005 H. Peter Anvin - All Rights Reserved ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -111,6 +111,8 @@ msg_putchar: ; Normal character msg_normal: call write_serial_displaymask ; Write to serial port test [DisplayMask],cl jz msg_ignore ; Not screen + test byte [DisplayCon],01h + jz msg_ignore mov bl,[TextAttribute] mov bh,[BIOS_page] mov ah,09h ; Write character/attribute @@ -374,6 +376,9 @@ debug_tracer: pushad %endif ; DEBUG_TRACERS section .data + ; This is a word to pc_setint16 can set it +DisplayCon dw 01h ; Console display enabled + ScrollAttribute db 07h ; Grey on white (normal text color) section .bss diff --git a/extlinux.asm b/extlinux.asm index 9577d310..78496bd5 100644 --- a/extlinux.asm +++ b/extlinux.asm @@ -6,7 +6,7 @@ ; ; A program to boot Linux kernels off an ext2/ext3 filesystem. ; -; Copyright (C) 1994-2004 H. Peter Anvin +; Copyright (C) 1994-2005 H. Peter Anvin ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by @@ -1151,12 +1151,15 @@ unmangle_name: call strcpy writechr: call write_serial ; write to serial port if needed pushfd + test byte [cs:DisplayCon],01h + jz .nothing pushad mov ah,0Eh mov bl,07h ; attribute mov bh,[cs:BIOS_page] ; current page int 10h popad +.nothing: popfd ret @@ -13,6 +13,7 @@ localboot prompt say serial +console timeout allowoptions ontimeout diff --git a/keywords.inc b/keywords.inc index a4b665e1..6f68554e 100644 --- a/keywords.inc +++ b/keywords.inc @@ -57,6 +57,7 @@ keywd_table: keyword prompt, pc_setint16, ForcePrompt keyword say, pc_say keyword serial, pc_serial + keyword console, pc_setint16, DisplayCon keyword timeout, pc_timeout keyword ontimeout, pc_ontimeout keyword onerror, pc_onerror diff --git a/ldlinux.asm b/ldlinux.asm index 71428fb9..ceb079fe 100644 --- a/ldlinux.asm +++ b/ldlinux.asm @@ -1055,12 +1055,15 @@ searchdir: writechr: call write_serial ; write to serial port if needed pushfd + test byte [cs:DisplayCon], 01h + jz .nothing pushad mov ah,0Eh mov bl,07h ; attribute mov bh,[cs:BIOS_page] ; current page int 10h popad +.nothing: popfd ret @@ -13,6 +13,9 @@ writechr: pop ds call write_serial ; write to serial port if needed pushfd + test byte [DisplayCon],01h ; Write to screen? + jz .nothing + pushad mov bh,[BIOS_page] push ax @@ -43,6 +46,7 @@ writechr: mov ah,02h ; Set cursor position int 10h .ret: popad +.nothing: popfd pop ds ret diff --git a/syslinux.doc b/syslinux.doc index 6373d67c..0092f887 100644 --- a/syslinux.doc +++ b/syslinux.doc @@ -288,6 +288,15 @@ SERIAL port [[baudrate] flowcontrol] ports detected by the BIOS. They may or may not correspond to the legacy port values 0x3F8, 0x2F8, 0x3E8, 0x2E8. +CONSOLE flag_val + If flag_val is 0, disable output to the normal video console. + If flag_val is 1, enable output to the video console (this is + the default.) + + Some BIOSes try to forward this to the serial console and + sometimes make a total mess thereof, so this option lets you + disable the video console on these systems. + FONT filename Load a font in .psf format before displaying any output (except the copyright line, which is output as ldlinux.sys |