aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhpa <hpa>2004-12-19 07:30:31 +0000
committerhpa <hpa>2004-12-19 07:30:31 +0000
commitcaad4780fae735399a779c86dc383a42aaad61ac (patch)
treea9071fe03ff2245e2e90e395b29566d49577768a
parentad10c6bb4ed8830cd0071fda0ee037cf600a7f49 (diff)
downloadsyslinux-caad4780fae735399a779c86dc383a42aaad61ac.tar.gz
syslinux-caad4780fae735399a779c86dc383a42aaad61ac.tar.xz
syslinux-caad4780fae735399a779c86dc383a42aaad61ac.zip
Make compressed vkernels actually work.
-rw-r--r--ui.inc13
1 files changed, 9 insertions, 4 deletions
diff --git a/ui.inc b/ui.inc
index 1339905c..17464bc1 100644
--- a/ui.inc
+++ b/ui.inc
@@ -229,18 +229,25 @@ clin_opt_ok:
;
vk_check:
xor si,si ; Beginning of vk_seg
- push word vk_seg
- pop ds
.scan:
cmp si,[VKernelBytes]
jae .not_vk
+
+ push ds
+ push word vk_seg
+ pop ds
+
mov di,VKernelBuf
call rllunpack
+ pop ds
; SI updated on return
+
sub di,cx ; Return to beginning of buf
push si
+ mov si,KernelName
mov cx,FILENAME_MAX
es repe cmpsb
+ pop si
je .found
jmp .scan
@@ -281,8 +288,6 @@ vk_check:
%endif
.not_vk:
- push cs
- pop ds
;
; Not a "virtual kernel" - check that's OK and construct the command line