SHA256
1
0
forked from pool/syslinux
OBS User unknown 2008-09-06 01:47:21 +00:00 committed by Git OBS Bridge
parent 83fda54d75
commit 72b96de7f2
3 changed files with 146 additions and 3 deletions

View File

@ -2350,3 +2350,130 @@
mov dword [gfx_save_area1],7f0000h ; 8MB-64k
gfx_init_40:
--- doc/syslinux.txt 2008-04-11 18:07:31.000000000 +0200
+++ doc/syslinux.txt 2008-09-04 13:08:03.000000000 +0200
@@ -343,6 +343,12 @@
ports detected by the BIOS. They may or may not correspond to
the legacy port values 0x3F8, 0x2F8, 0x3E8, 0x2E8.
+SERIALLINES baudrate port0 [port1] [port2] [port3]
+ [only with GFXBOOT]
+ Listen on up to 4 ports for serial input. Output is sent
+ to ports input was received from. See SERIAL option for
+ a description of port values.
+
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
--- gfxboot.inc 2008-04-28 15:52:44.000000000 +0200
+++ gfxboot.inc 2008-09-03 18:17:12.000000000 +0200
@@ -324,7 +324,7 @@
menu_desc zb sizeof_menu_desc
-; system config data (52 bytes)
+; system config data (62 bytes)
gfx_sysconfig equ $
gfx_bootloader db 1 ; 0: boot loader type (0: lilo, 1: syslinux, 2: grub)
gfx_sector_shift db SECTOR_SHIFT ; 1: sector shift
@@ -337,7 +337,7 @@
gfx_boot_drive db 0 ; 5: BIOS boot drive
gfx_callback dw gfx_cb ; 6: offset to callback handler
gfx_bootloader_seg dw 0 ; 8: code/data segment used by bootloader; must follow gfx_callback
-gfx_reserved_1 dw 0 ; 10
+gfx_serial_port dw 0 ; 10: syslinux initialized serial port from 'serial' option
gfx_user_info_0 dd 0 ; 12: data for info box
gfx_user_info_1 dd 0 ; 16: data for info box
gfx_bios_mem_size dd 0 ; 20: BIOS memory size (in bytes)
@@ -350,6 +350,11 @@
gfx_archive_end dd 0 ; 40: end of cpio archive
gfx_mem0_start dd 0 ; 44: low free memory start
gfx_mem0_end dd 0 ; 48: low free memory end
+gfx_baud dw 0 ; 52: baud rate divisor (115200/baud_rate)
+gfx_com1 dw 0 ; 54: 1st serial port (0 = none)
+gfx_com2 dw 0 ; 56: 2nd
+gfx_com3 dw 0 ; 58: 3rd
+gfx_com4 dw 0 ; 60: 4th
gfx_sysconfig_end equ $
gfx_slash db '/', 0
@@ -368,6 +373,15 @@
push ax
mov al,[DriveNumber]
mov [gfx_boot_drive],al
+ mov ax,[SerialPort]
+ mov [gfx_serial_port],ax
+ or ax,ax
+ jz gfx_get_sysconfig_10
+ cmp word [gfx_baud],0
+ jnz gfx_get_sysconfig_10
+ mov ax,[BaudDivisor]
+ mov [gfx_baud],ax
+gfx_get_sysconfig_10:
%if IS_ISOLINUX
mov ah,2
--- keywords 2008-04-11 14:53:19.000000000 +0200
+++ keywords 2008-09-03 14:38:18.000000000 +0200
@@ -43,4 +43,5 @@
f11
f12
gfxboot
+seriallines
disksize
--- keywords.inc 2008-04-11 14:53:19.000000000 +0200
+++ keywords.inc 2008-09-03 15:02:58.000000000 +0200
@@ -96,6 +96,7 @@
%ifdef WITH_GFX
keyword gfxboot, pc_filecmd, get_gfx_file
+ keyword seriallines, pc_seriallines
%if IS_SYSLINUX
keyword disksize, pc_disksize, DiskSize
%endif
--- parseconfig.inc 2008-04-11 14:53:30.000000000 +0200
+++ parseconfig.inc 2008-09-03 16:18:17.000000000 +0200
@@ -287,6 +287,43 @@
ret
%ifdef WITH_GFX
+
+pc_seriallines:
+ call getint
+ jc pc_sl_90
+ cmp ebx,75
+ jb pc_sl_90 ; < 75 baud == bogus
+ mov eax,BAUD_DIVISOR
+ cdq
+ div ebx
+ mov [gfx_baud],ax
+ xor di,di
+pc_sl_10:
+ push di
+ call skipspace
+ jc pc_sl_20
+ call ungetc
+ call getint
+pc_sl_20:
+ pop di
+ jc pc_sl_90
+ cmp bx,3
+ ja pc_sl_50
+ add bx,bx
+ mov bx,[bx+serial_base] ; get i/o port from BIOS
+pc_sl_50:
+ mov [gfx_com1+di],bx
+ inc di
+ inc di
+ cmp di,8
+ jb pc_sl_10
+pc_sl_90:
+ ret
+
+
+
+
+
%if IS_SYSLINUX
;
; like pc_setint16, but patch sector read funtion, too

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Thu Sep 4 13:58:49 CEST 2008 - snwint@suse.de
- added SERIALLINES config option to listen on up to four
serial lines (fate #301595)
-------------------------------------------------------------------
Mon Apr 28 16:43:51 CEST 2008 - snwint@suse.de

View File

@ -2,9 +2,16 @@
# spec file for package syslinux (Version 3.63)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@ -22,7 +29,7 @@ Requires: mtools
AutoReqProv: on
Summary: Boot Loader for Linux
Version: 3.63
Release: 5
Release: 36
Source: %{name}-%{version}.tar.bz2
Source1: isolinux-config
Patch: %{name}-%{version}.diff
@ -68,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/syslinux/com32
%{_datadir}/syslinux
%changelog
* Thu Sep 04 2008 snwint@suse.de
- added SERIALLINES config option to listen on up to four
serial lines (fate #301595)
* Mon Apr 28 2008 snwint@suse.de
- give more memory to gfxboot code
* Mon Apr 14 2008 snwint@suse.de