diff options
Diffstat (limited to 'patches/syslinux-3.83/08_kernel_size.diff')
-rw-r--r-- | patches/syslinux-3.83/08_kernel_size.diff | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/patches/syslinux-3.83/08_kernel_size.diff b/patches/syslinux-3.83/08_kernel_size.diff new file mode 100644 index 0000000..e6b868d --- /dev/null +++ b/patches/syslinux-3.83/08_kernel_size.diff @@ -0,0 +1,36 @@ +diff --git a/core/comboot.inc b/core/comboot.inc +index f39bfb1..0874526 100644 +--- a/core/comboot.inc ++++ b/core/comboot.inc +@@ -1088,6 +1088,7 @@ comboot_hook_entry: + push fs + push es + push ds ++ mov ecx,[KernelSize] + call far [comboot_far] + pop ds + pop es +diff --git a/core/ui.inc b/core/ui.inc +index e37f2a7..6137dc9 100644 +--- a/core/ui.inc ++++ b/core/ui.inc +@@ -616,7 +616,11 @@ kernel_good: + mov [KernelCNameLen],di + + ; Default memory limit, can be overridden by image loaders ++ mov eax,[AltHighMemSize] ++ or eax,eax ++ jnz .altsize + mov eax,[HighMemRsvd] ++.altsize: + mov [MyHighMemSize],eax + + popad +@@ -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.) + ; ++ mov [KernelSize],eax + movzx di,byte [KernelType] + add di,di + jmp [kerneltype_table+di] |