Accepting request 22593 from system:install:head

Copy from system:install:head/syslinux based on submit request 22593 from user snwint

OBS-URL: https://build.opensuse.org/request/show/22593
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/syslinux?expand=0&rev=20
This commit is contained in:
OBS User autobuild 2009-10-20 23:57:15 +00:00 committed by Git OBS Bridge
parent b4c7b00d54
commit 2c6dfb9773
3 changed files with 51 additions and 22 deletions

View File

@ -252,10 +252,24 @@ index 8bfc8b8..f458fc7 100644
call writestr
mov si,InitRDCName
diff --git a/core/ui.inc b/core/ui.inc
index 1b40717..be4f385 100644
index 1b40717..9413f16 100644
--- a/core/ui.inc
+++ b/core/ui.inc
@@ -468,6 +468,8 @@ bad_kernel:
@@ -402,8 +402,12 @@ vk_check:
%if HAS_LOCALBOOT
; Is this a "localboot" pseudo-kernel?
cmp al,VK_LOCALBOOT ; al == KernelType
+ jne .no_local_boot
+ mov al,7
+ call [comboot_hook]
mov ax,[VKernelBuf+vk_rname] ; Possible localboot type
- je local_boot
+ jmp local_boot
+.no_local_boot:
%endif
jmp get_kernel
@@ -468,6 +472,8 @@ bad_kernel:
.really:
mov si,KernelName
mov di,KernelCName
@ -264,7 +278,7 @@ index 1b40717..be4f385 100644
push di
call unmangle_name ; Get human form
mov si,err_notfound ; Complain about missing kernel
@@ -510,7 +512,10 @@ on_error:
@@ -510,7 +516,10 @@ on_error:
;
; kernel_corrupt: Called if the kernel file does not seem healthy
;
@ -351,10 +365,10 @@ index f458fc7..f6ed644 100644
+ section .data
+QuietBoot db 0 ; Set if a quiet boot is requested
diff --git a/core/ui.inc b/core/ui.inc
index be4f385..2bc56a1 100644
index 9413f16..353d59a 100644
--- a/core/ui.inc
+++ b/core/ui.inc
@@ -596,7 +596,7 @@ kernel_good:
@@ -600,7 +600,7 @@ kernel_good:
;
xor ax,ax
mov [InitRDPtr],ax
@ -406,7 +420,7 @@ index f6ed644..286c9c8 100644
+ alignz 4
+KernelStart dd 100000h
diff --git a/core/comboot.inc b/core/comboot.inc
index 1a1dbfe..1a147c9 100644
index 1a1dbfe..1923308 100644
--- a/core/comboot.inc
+++ b/core/comboot.inc
@@ -962,6 +962,45 @@ comapi_shufraw:
@ -455,7 +469,7 @@ index 1a1dbfe..1a147c9 100644
section .data
%macro int21 2
@@ -969,6 +1008,108 @@ comapi_shufraw:
@@ -969,6 +1008,109 @@ comapi_shufraw:
dw %2
%endmacro
@ -529,6 +543,7 @@ index 1a1dbfe..1a147c9 100644
+; 4: progress start
+; 5: progress increment
+; 6: progress end: kernel loaded, stop gfxboot
+; 7: stop gfxboot
+;
+comboot_hook_entry:
+ pushad
@ -564,7 +579,7 @@ index 1a1dbfe..1a147c9 100644
int21_table:
int21 00h, comboot_return
int21 01h, comboot_getkey
@@ -1021,8 +1162,16 @@ int22_table:
@@ -1021,8 +1163,16 @@ int22_table:
dw comapi_closedir ; 0022 close directory
dw comapi_shufsize ; 0023 query shuffler size
dw comapi_shufraw ; 0024 cleanup, shuffle and boot raw
@ -581,7 +596,7 @@ index 1a1dbfe..1a147c9 100644
APIKeyWait db 0
APIKeyFlag db 0
@@ -1041,8 +1190,10 @@ feature_flags_len equ ($-feature_flags)
@@ -1041,8 +1191,10 @@ feature_flags_len equ ($-feature_flags)
err_notdos db ': attempted DOS system call INT ',0
err_comlarge db 'COMBOOT image too large.', CR, LF, 0
@ -594,7 +609,7 @@ index 1a1dbfe..1a147c9 100644
ConfigName resb FILENAME_MAX
CurrentDirName resb FILENAME_MAX
diff --git a/core/comboot.inc b/core/comboot.inc
index 1a147c9..e5dc115 100644
index 1923308..f39bfb1 100644
--- a/core/comboot.inc
+++ b/core/comboot.inc
@@ -1043,12 +1043,14 @@ comapi_run2:
@ -612,7 +627,7 @@ index 1a147c9..e5dc115 100644
clc
ret
@@ -1171,6 +1173,7 @@ int22_count equ ($-int22_table)/2
@@ -1172,6 +1174,7 @@ int22_count equ ($-int22_table)/2
comboot_sp_save dw 0
comboot_hook dw comboot_hook_nop
comboot_far dd 0
@ -621,7 +636,7 @@ index 1a147c9..e5dc115 100644
APIKeyWait db 0
APIKeyFlag db 0
diff --git a/core/ui.inc b/core/ui.inc
index 2bc56a1..59b5724 100644
index 353d59a..e37f2a7 100644
--- a/core/ui.inc
+++ b/core/ui.inc
@@ -379,9 +379,13 @@ vk_check:
@ -639,10 +654,10 @@ index 2bc56a1..59b5724 100644
pop es
mov di,KernelName
diff --git a/core/comboot.inc b/core/comboot.inc
index e5dc115..60506ce 100644
index f39bfb1..0874526 100644
--- a/core/comboot.inc
+++ b/core/comboot.inc
@@ -1087,6 +1087,7 @@ comboot_hook_entry:
@@ -1088,6 +1088,7 @@ comboot_hook_entry:
push fs
push es
push ds
@ -651,10 +666,10 @@ index e5dc115..60506ce 100644
pop ds
pop es
diff --git a/core/ui.inc b/core/ui.inc
index 59b5724..d56c148 100644
index e37f2a7..6137dc9 100644
--- a/core/ui.inc
+++ b/core/ui.inc
@@ -612,7 +612,11 @@ kernel_good:
@@ -616,7 +616,11 @@ kernel_good:
mov [KernelCNameLen],di
; Default memory limit, can be overridden by image loaders
@ -666,7 +681,7 @@ index 59b5724..d56c148 100644
mov [MyHighMemSize],eax
popad
@@ -633,6 +637,7 @@ kernel_good:
@@ -637,6 +641,7 @@ kernel_good:
; At this point, EAX contains the size of the kernel, SI contains
; the file handle/cluster pointer, and ECX contains the extension (if any.)
;
@ -773,10 +788,10 @@ index 0000000..a98f9aa
+}
diff --git a/modules/gfxboot.c b/modules/gfxboot.c
new file mode 100644
index 0000000..b4a794c
index 0000000..01c6c84
--- /dev/null
+++ b/modules/gfxboot.c
@@ -0,0 +1,1036 @@
@@ -0,0 +1,1039 @@
+/*
+ *
+ * gfxboot.c
@ -1683,7 +1698,7 @@ index 0000000..b4a794c
+
+ r.edi = comboot + (uint32_t) cmdline;
+ r.ecx = sizeof cmdline;
+ r.eax = timeout;
+ r.eax = timeout * 182 / 100;
+ timeout = 0; // use timeout only first time
+ farcall(gfx.jmp_table[GFX_BC_INPUT], &r);
+ if((r.eflags & X86_CF)) r.eax = 1;
@ -1780,7 +1795,6 @@ index 0000000..b4a794c
+
+ case 4: // progress start
+ r->eax = r->ecx >> gfx_config.sector_shift; // kernel size in sectors
+ r->eax = 0;
+ r->esi = comboot + (uint32_t) current_label;
+ farcall(gfx.jmp_table[GFX_BC_PROGRESS_INIT], r);
+ break;
@ -1795,6 +1809,10 @@ index 0000000..b4a794c
+ farcall(gfx.jmp_table[GFX_BC_PROGRESS_DONE], r);
+ gfx_done();
+ break;
+
+ case 7: // stop gfxboot
+ gfx_done();
+ break;
+ }
+}
+

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon Oct 19 16:45:35 CEST 2009 - snwint@suse.de
- get kernel size right
-------------------------------------------------------------------
Mon Oct 19 13:32:29 CEST 2009 - snwint@suse.de
- set correct timeout value
- localboot should return to text mode
-------------------------------------------------------------------
Mon Oct 5 13:44:54 CEST 2009 - snwint@suse.de

View File

@ -27,7 +27,7 @@ Requires: mtools
AutoReqProv: on
Summary: Boot Loader for Linux
Version: 3.82
Release: 7
Release: 8
Source: %{name}-%{version}.tar.bz2
Source1: isolinux-config
Source2: README.gfxboot