people/sha0/syslinux.git
11 years agoload_linux.c: when relocating, need to update code32_start
H. Peter Anvin [Tue, 5 May 2009 00:34:46 +0000 (17:34 -0700)]
load_linux.c: when relocating, need to update code32_start

The normal value for code32_start is based on the kernel load address
(in fact, it usually *is* the kernel load address); accordingly, it
needs to be updated if the kernel is relocated.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoload_linux.c: add missing header file
H. Peter Anvin [Tue, 5 May 2009 00:25:20 +0000 (17:25 -0700)]
load_linux.c: add missing header file

We need <minmax.h> for min().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agolinux.c32: cap the stack pointer to 0xfff0
H. Peter Anvin [Tue, 5 May 2009 00:22:27 +0000 (17:22 -0700)]
linux.c32: cap the stack pointer to 0xfff0

Linux itself is fine with sp = 0 for a 64K segment, but perhaps other
things aren't.  Just to be safe, set the stack pointer to 64K-16
bytes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoNEWS: document linux.c32 fix.
H. Peter Anvin [Tue, 5 May 2009 00:17:08 +0000 (17:17 -0700)]
NEWS: document linux.c32 fix.

11 years agoshuffler: fix setting up esp in real-mode shuffles
H. Peter Anvin [Tue, 5 May 2009 00:13:16 +0000 (17:13 -0700)]
shuffler: fix setting up esp in real-mode shuffles

The value of esp set in real-mode shuffles was wrong.  This
unfortunately broke linux.c32 :(

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agopoweroff: add copyright notice
Sebastian Herbszt [Mon, 4 May 2009 21:42:24 +0000 (23:42 +0200)]
poweroff: add copyright notice

Add a copyright notice.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoNext version will probably be 3.81
H. Peter Anvin [Mon, 4 May 2009 21:30:53 +0000 (14:30 -0700)]
Next version will probably be 3.81

11 years agocore: remove vestiges of using nasm -f bin
H. Peter Anvin [Mon, 4 May 2009 21:12:11 +0000 (14:12 -0700)]
core: remove vestiges of using nasm -f bin

Remove a few things that are specific to NASM's "bin" backend, which
we no longer use.  Newer versions of NASM print warning messages which
are unnecessary.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoNEWS: drop plans for a 3.76 release
H. Peter Anvin [Mon, 4 May 2009 21:11:41 +0000 (14:11 -0700)]
NEWS: drop plans for a 3.76 release

The aim now is for a 3.80 release instead...

11 years agoDocument poweroff module.
H. Peter Anvin [Mon, 4 May 2009 18:35:55 +0000 (11:35 -0700)]
Document poweroff module.

11 years agopoweroff COMBOOT module
Sebastian Herbszt [Mon, 4 May 2009 18:05:20 +0000 (20:05 +0200)]
poweroff COMBOOT module

This module is able to power off a system via APM.
It was tested on QEMU, Bochs and VMware.

Possible usage:

TIMEOUT 3000
TOTALTIMEOUT 9000
ONTIMEOUT poweroff.com

- Sebastian

11 years agomboot: handle ELF Multiboot kernel where paddr != vaddr
H. Peter Anvin [Mon, 4 May 2009 01:35:46 +0000 (18:35 -0700)]
mboot: handle ELF Multiboot kernel where paddr != vaddr

The way Grub handles ELF Multiboot kernels where paddr != vaddr is to
load at the paddr, but to also adjust the entry point (e_entry) so
that the previous vaddr becomes a paddr.  Since the Multiboot spec is
pretty much "Grub wins", follow this behavior.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoshuffler: when looking for temporary memory, it has to be *free!*
H. Peter Anvin [Sun, 3 May 2009 22:23:01 +0000 (15:23 -0700)]
shuffler: when looking for temporary memory, it has to be *free!*

free_area() ended up looking for any area of memory, not necessarily a
*free* area of memory.  This had predictably disastrous consequences.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomovebits: make the user-space test cases slightly easier
H. Peter Anvin [Sun, 3 May 2009 22:07:52 +0000 (15:07 -0700)]
movebits: make the user-space test cases slightly easier

Make it a bit easier to write user-space test cases; use fgets+sscanf
so comment lines end up getting ignored.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoshuffler: correctly handle one-to-many relationships
H. Peter Anvin [Sun, 3 May 2009 00:27:03 +0000 (17:27 -0700)]
shuffler: correctly handle one-to-many relationships

One-to-many relationships, in which one chunk of a file is used in
more than one place, tends to naturally show up in decoding certain
fileformats, including (but not limited to) Microsoft SDI.  Make the
shuffler library handle those cases correctly, and remove a
special-purpose hack in sdi.c.

This is based on the observation that all one-to-many relationships
can be treated as a one-to-one shuffle followed by
destination-to-destination copies; i.e. one copy is (arbitrarily)
assigned the "master copy" status, and all aliases are then copied
from the master copy when the master copy is already in its final
place.  All other copies can then be simply ignored for the duration
of the shuffle, just as zero-memory is.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoshuffle: align the shuffle safe area
H. Peter Anvin [Sun, 3 May 2009 00:26:06 +0000 (17:26 -0700)]
shuffle: align the shuffle safe area

For performance, align the shuffle safe area to a dword boundary.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agosyslinux_dump_memmap(): make it easier to spot errors
H. Peter Anvin [Sun, 3 May 2009 00:00:38 +0000 (17:00 -0700)]
syslinux_dump_memmap(): make it easier to spot errors

Instead of stopping the memmap dump on SMT_END, stop it only on a null
pointer.  That way we can see if we have any bogus entries with
SMT_END.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agosyslinux_add_memmap(): fix failures at address zero, more?
H. Peter Anvin [Sat, 2 May 2009 23:58:46 +0000 (16:58 -0700)]
syslinux_add_memmap(): fix failures at address zero, more?

syslinux_add_memmap() would fail miserably and corrupt the list if an
entry was added at address zero.  Quite possibly other addresses would
have similar problems.  Furthermore, we did an extra "optimization
pass" which should never have been necessary if the algorithm had been
correct in the first place.

This should hopefully fix ALL those bugs.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: align the stack to a 16-byte boundary
H. Peter Anvin [Sat, 2 May 2009 20:55:42 +0000 (13:55 -0700)]
mboot: align the stack to a 16-byte boundary

Align the stack to a 16-byte boundary, just in case...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: move setting regs.eax to mboot_run()
H. Peter Anvin [Sat, 2 May 2009 20:52:04 +0000 (13:52 -0700)]
mboot: move setting regs.eax to mboot_run()

The setting of regs.eax in map_image() doesn't really make any sense;
move it to mboot_run() instead.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: move map initialization out of map_image()
H. Peter Anvin [Sat, 2 May 2009 20:47:29 +0000 (13:47 -0700)]
mboot: move map initialization out of map_image()

The amap/mmap initialization were buried randomly inside map_image(),
which at the very least makes the code needlessly hard to read.
Furthermore, it is at least possible that we may want to be able to
map multiple images in the future.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoui.inc: when looking for whitespace in kernel names look for <= ' '
H. Peter Anvin [Sat, 2 May 2009 19:25:48 +0000 (12:25 -0700)]
ui.inc: when looking for whitespace in kernel names look for <= ' '

Our somewhat generous definition of whitespace is less than or equal
to 32 (' '); we do not include 127 and 255 which are printable
characters in the PC codepages (in the latter case, NBSP.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agopxechain: remove unused ipaddrbuf
Sebastian Herbszt [Sat, 2 May 2009 16:24:10 +0000 (18:24 +0200)]
pxechain: remove unused ipaddrbuf

Remove unused ipaddrbuf.

11 years agocore: make vk_rname default to mangled vk_vname
Sebastian Herbszt [Sat, 2 May 2009 17:07:15 +0000 (19:07 +0200)]
core: make vk_rname default to mangled vk_vname

Change pc_label in parseconfig.inc to default vk_rname to mangled
vk_vname.  Also change spaces to tabs.  This gives a usable error
message in the case where the user selects a label without any kernel
information.

11 years agogfxboot: increase bss alignment to 4K
H. Peter Anvin [Fri, 1 May 2009 18:10:45 +0000 (11:10 -0700)]
gfxboot: increase bss alignment to 4K

Increase the bss alignment (and therefore the alignment of buffers) to
4K rather than 512 bytes -- this in anticipation of future hard disks
with 4K sectors.  This only changes the actual bss location by 1.5K.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agogfxboot: align buffers and move them into bss
H. Peter Anvin [Fri, 1 May 2009 18:07:59 +0000 (11:07 -0700)]
gfxboot: align buffers and move them into bss

Align I/O buffers to a multiple of 512 bytes, as required by the
Syslinux ABI.  Furthermore, move them from data to bss, so that they
don't occupy space in the image file.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Acked-by: Sebastian Herbszt <herbszt@gmx.de>
11 years agoNEWS: document isohybrid fix
H. Peter Anvin [Fri, 1 May 2009 18:02:28 +0000 (11:02 -0700)]
NEWS: document isohybrid fix

11 years agoisohybrid: preserve MBR id in isohybrid
Pascal Terjan [Fri, 24 Apr 2009 17:00:05 +0000 (19:00 +0200)]
isohybrid: preserve MBR id in isohybrid

When running isohybrid again it's nice to preserve the MBR id

There was some partial code to support setting the id using non
existing to_int, but no way to use it.

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoisohybrid: support iso images over 2GB
Pascal Terjan [Fri, 24 Apr 2009 16:59:17 +0000 (18:59 +0200)]
isohybrid: support iso images over 2GB

"use integer" limits integers to 2^31-1 on 32 bits, which makes
imgsize to be -1 on DVD images

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoDocument boot-once fix.
H. Peter Anvin [Thu, 30 Apr 2009 22:57:44 +0000 (15:57 -0700)]
Document boot-once fix.

11 years agoADV: EDD "write with verify" is AL=01h or AL=02h, not AL=80h
H. Peter Anvin [Thu, 30 Apr 2009 22:55:29 +0000 (15:55 -0700)]
ADV: EDD "write with verify" is AL=01h or AL=02h, not AL=80h

The "write with verify" functionality in EDD is AL=01h or AL=02h
depending on EDD version, not AL=80h.  Since it is apparently
version-dependent, don't even try to do it; furthermore, some BIOSes
are known to reject a write with this feature requested no matter
what.  At some point we may want to explicitly read back to verify.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agocmenu: add .gitignore file
H. Peter Anvin [Thu, 30 Apr 2009 21:06:53 +0000 (14:06 -0700)]
cmenu: add .gitignore file

Add .gitignore file for .c files created from .menu files.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: disable DEBUG
H. Peter Anvin [Thu, 30 Apr 2009 17:04:35 +0000 (10:04 -0700)]
mboot: disable DEBUG

Disable DEBUG in mboot.c32, which was accidentally enabled in a
previous commit.

Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoNEWS: update
H. Peter Anvin [Thu, 30 Apr 2009 01:49:44 +0000 (18:49 -0700)]
NEWS: update

11 years agolinux.c32: move handling of mem= and vga= into the library function
H. Peter Anvin [Thu, 30 Apr 2009 01:39:06 +0000 (18:39 -0700)]
linux.c32: move handling of mem= and vga= into the library function

Move the handling of mem= and vga= into syslinux_boot_linux(), so that
the user of that function doesn't need to worry about it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agocore: make localboot another vkernel type
H. Peter Anvin [Wed, 29 Apr 2009 22:55:21 +0000 (15:55 -0700)]
core: make localboot another vkernel type

Change "localboot" to be another vkernel type.  It still needs some
special treatment (because it doesn't take a filename), but overall
this makes it a lot cleaner than what it was before.  It should also
avoid the problem of empty labels (e.g. menu quit) doing weird things.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoshuffle_pm: remove unused variables and includes
H. Peter Anvin [Wed, 29 Apr 2009 05:03:30 +0000 (22:03 -0700)]
shuffle_pm: remove unused variables and includes

Remove unused variables and #include statements
from syslinux_shuffle_boot_pm().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomemscan: use the contents of the ebda_seg, not the pointer itself
H. Peter Anvin [Wed, 29 Apr 2009 05:01:48 +0000 (22:01 -0700)]
memscan: use the contents of the ebda_seg, not the pointer itself

Use the contents of the ebda_seg variable, not the address...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: silence warning
H. Peter Anvin [Wed, 29 Apr 2009 04:59:30 +0000 (21:59 -0700)]
mboot: silence warning

Silence warning of unused argc.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoMakefile: drop references to "make depend"
H. Peter Anvin [Wed, 29 Apr 2009 04:54:47 +0000 (21:54 -0700)]
Makefile: drop references to "make depend"

We no longer need "make depend" for anything.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: include module filenames in the command line
H. Peter Anvin [Wed, 29 Apr 2009 04:51:21 +0000 (21:51 -0700)]
mboot: include module filenames in the command line

Grub includes the kernel and module filenames in the command lines it
passes, so match that behavior and don't strip them off.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoFix NASM dependency generation
H. Peter Anvin [Tue, 28 Apr 2009 04:48:20 +0000 (21:48 -0700)]
Fix NASM dependency generation

Fix missing -M from NASM dependency generation calls; adopt the
uniform stanza "-M -DDEPEND" even for sites that were already correct.

Also, use ">" not ">>" for obvious reasons...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoUnify dependency generation: MCONFIG.embedded
H. Peter Anvin [Tue, 28 Apr 2009 04:42:45 +0000 (21:42 -0700)]
Unify dependency generation: MCONFIG.embedded

Unify dependency generation and move common rules into
MCONFIG.embedded.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoUnify dependency generation: com32/lib, com32/cmenu
H. Peter Anvin [Tue, 28 Apr 2009 04:17:18 +0000 (21:17 -0700)]
Unify dependency generation: com32/lib, com32/cmenu

Add the unified dependency generation to com32/lib and com32/cmenu.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoUnify dependency generation
H. Peter Anvin [Tue, 28 Apr 2009 03:58:14 +0000 (20:58 -0700)]
Unify dependency generation

Make the dependency generation more common; have a general pattern in
MCONFIG, and use it in rules (not in CFLAGS).

For NASM source, in order to stay compatible with old versions of
NASM, run NASM twice; newer versions of NASM is capable of generating
dependencies simultaneously like gcc can, but that would break
compatibility with older distros.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agorllpack: make all pointers 32 bits wide
H. Peter Anvin [Mon, 27 Apr 2009 22:58:18 +0000 (15:58 -0700)]
rllpack: make all pointers 32 bits wide

The messing around with partial pointers for rllpack/rllunpack turned
out to be a source of bugs.  Instead, have all the values be 32 bits
wide, and require the callers to pass them accordingly.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomemscan: correctly handle the DOS memory fallback case
H. Peter Anvin [Mon, 27 Apr 2009 22:36:45 +0000 (15:36 -0700)]
memscan: correctly handle the DOS memory fallback case

Actually (try to) handle the case of finding the DOS memory amount.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agobcopyxx: clear all flags before jumping to the successor code
H. Peter Anvin [Mon, 27 Apr 2009 20:53:05 +0000 (13:53 -0700)]
bcopyxx: clear all flags before jumping to the successor code

Clear the flags register while we still have a stack to do so.
This makes the state in the target OS more predictable.  It's worth
noting that none of the instructions we use in either the PM or RM
trampolines change the flags, either (except the IF setting in the RM
trampoline, but that is intentional.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agobcopyxx: align the relocated code to a 16-byte boundary
H. Peter Anvin [Mon, 27 Apr 2009 20:48:24 +0000 (13:48 -0700)]
bcopyxx: align the relocated code to a 16-byte boundary

Align the relocated bcopyxx code to a 16-byte boundary.  There are
CPUs which have errata relating to GDTs which are not 16-byte aligned.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: add header guards; use <inttypes.h>; formatting changes
H. Peter Anvin [Mon, 27 Apr 2009 18:00:44 +0000 (11:00 -0700)]
mboot: add header guards; use <inttypes.h>; formatting changes

Reformat the mboot header files slightly, use <inttypes.h> types, and
add header inclusion guards.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot/solaris.c: fix failure case; correct copyright notice
H. Peter Anvin [Mon, 27 Apr 2009 17:56:06 +0000 (10:56 -0700)]
mboot/solaris.c: fix failure case; correct copyright notice

Better handling of failed mapping; correct copyright notice.

11 years agomboot: reimplement the Solaris DHCP hack, add compliant a.out mode
H. Peter Anvin [Mon, 27 Apr 2009 02:52:39 +0000 (19:52 -0700)]
mboot: reimplement the Solaris DHCP hack, add compliant a.out mode

Reimplement the Solaris DHCP information passing hack.

Add a spec-compliant mode for the "a.out kludge".  The spec is pretty
clear that the bit should override the ELF header (after all,
otherwise there wouldn't be any need for the bit), but Grub
disagrees.  We default to Grub-compliant mode, as Solaris seems to set
the bit even though it's an ELF kernel, but add the option to enable
spec-compliant mode, as apparently some versions of FreeBSD need it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoNEWS: add updates for 3.80
H. Peter Anvin [Mon, 27 Apr 2009 02:37:59 +0000 (19:37 -0700)]
NEWS: add updates for 3.80

11 years agoMerge branch 'syslinux-3.7x'
H. Peter Anvin [Mon, 27 Apr 2009 02:36:58 +0000 (19:36 -0700)]
Merge branch 'syslinux-3.7x'

Conflicts:
version

11 years agoRemove the old mboot module
H. Peter Anvin [Mon, 27 Apr 2009 02:32:54 +0000 (19:32 -0700)]
Remove the old mboot module

11 years agomboot: fix cmdline; a few more layout tweaks
H. Peter Anvin [Mon, 27 Apr 2009 02:29:33 +0000 (19:29 -0700)]
mboot: fix cmdline; a few more layout tweaks

Fix module command lines (it was overwriting the main kernel command
line); a few minor layout tweaks.  In particular, we require the
section header to be page-aligned, but not the subsequent sections.

With this, I can get Xen to boot.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: skip --- marker; decompress all files
H. Peter Anvin [Sun, 26 Apr 2009 23:43:39 +0000 (16:43 -0700)]
mboot: skip --- marker; decompress all files

When walking the argument list we need to skip --- markers.

Grub, and the old mboot.c32, seem to transparently decompress all
files, not just the main one, so do the same.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: make sure we actually succeed when we finished
H. Peter Anvin [Sun, 26 Apr 2009 22:42:53 +0000 (15:42 -0700)]
mboot: make sure we actually succeed when we finished

When we actually finished mapping the image, return 0 and don't bail.
Add error messages to most failure cases.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agocom32/MCONFIG: generate dependency files by default
H. Peter Anvin [Sun, 26 Apr 2009 22:41:26 +0000 (15:41 -0700)]
com32/MCONFIG: generate dependency files by default

Generate the dependency files by default.  They should perhaps even
move into the actual rule lines.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agomboot: set up a stack even though the spec doesn't require it
H. Peter Anvin [Sun, 26 Apr 2009 22:20:52 +0000 (15:20 -0700)]
mboot: set up a stack even though the spec doesn't require it

Set up a stack for the Multiboot OS even though it is not required by
spec.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoFirst attempt at a rewritten mboot module
H. Peter Anvin [Sun, 26 Apr 2009 22:15:24 +0000 (15:15 -0700)]
First attempt at a rewritten mboot module

First attempt at rewriting the mboot module to use the Syslinux
shuffle APIs.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoNEWS, version: prepare for a 3.76 release
H. Peter Anvin [Sun, 26 Apr 2009 01:50:09 +0000 (18:50 -0700)]
NEWS, version: prepare for a 3.76 release

11 years agoMerge branch 'syslinux-3.7x'
H. Peter Anvin [Sun, 26 Apr 2009 01:47:44 +0000 (18:47 -0700)]
Merge branch 'syslinux-3.7x'

11 years agoISOLINUX: set directory length correctly
Steffen Winterfeldt [Wed, 22 Apr 2009 15:12:22 +0000 (17:12 +0200)]
ISOLINUX: set directory length correctly

Since searchdir() uses getfssec() to read the directory it needs to set
file_bytesleft. Else it loops forever if you have a large directory (and/or
rock ridge on).

11 years agopxelinux: fix minor bugs
H. Peter Anvin [Fri, 24 Apr 2009 22:01:53 +0000 (15:01 -0700)]
pxelinux: fix minor bugs

Fix minor bugs reported by pfranz73@tiscali.it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoshuffle_rm: clean up the trampoline generator with macros
H. Peter Anvin [Thu, 23 Apr 2009 21:33:26 +0000 (14:33 -0700)]
shuffle_rm: clean up the trampoline generator with macros

Define macros for common constructs to clean up the rm trampoline
generator.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoshuffle_rm: set up SS:ESP and segs as quickly as possible
H. Peter Anvin [Wed, 22 Apr 2009 22:21:39 +0000 (15:21 -0700)]
shuffle_rm: set up SS:ESP and segs as quickly as possible

For extra paranoia's sake, set up SS:ESP immediately after the
real-mode switch, and then set all the segment registers.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agohdt: fix conflict
Erwan Velu [Thu, 23 Apr 2009 19:23:36 +0000 (21:23 +0200)]
hdt: fix conflict

Impact: making build working again

A forgoten conflict

11 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/boot/syslinux/syslinux into...
Erwan Velu [Thu, 23 Apr 2009 19:10:32 +0000 (21:10 +0200)]
Merge branch 'master' of git://git./boot/syslinux/syslinux into mainline

Conflicts:
com32/hdt/hdt-cli-pci.c
com32/hdt/hdt-cli-vesa.c
com32/hdt/hdt-common.c
com32/hdt/hdt-menu-dmi.c

11 years agohdt: 0.3.1
Erwan Velu [Thu, 23 Apr 2009 16:51:57 +0000 (18:51 +0200)]
hdt: 0.3.1

Impact: new release

New release

11 years agoMerge commit 'mouraf/for-erwan' into for-erwan
Pierre-Alexandre Meyer [Thu, 23 Apr 2009 06:57:33 +0000 (23:57 -0700)]
Merge commit 'mouraf/for-erwan' into for-erwan

Conflicts:

com32/hdt/hdt-cli-hdt.c

11 years agoa20: advance A20Test by a large, prime number
H. Peter Anvin [Wed, 22 Apr 2009 02:15:55 +0000 (19:15 -0700)]
a20: advance A20Test by a large, prime number

Rather than simply incrementing A20Test, advance it by a large prime
number every time.  The reason is to minimize false aliasing as
quickly as possible.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoa20: remove DO_WBINVD configurable
H. Peter Anvin [Tue, 21 Apr 2009 23:16:32 +0000 (16:16 -0700)]
a20: remove DO_WBINVD configurable

We haven't enabled DO_WBINVD for a very long time.  A20 is implemented
on the inside of the L1 cache for 486+ (and 386 didn't have WBINVD),
so an I/O delay is the only thing we can rely on anyway.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agoa20: inline io_delay
H. Peter Anvin [Tue, 21 Apr 2009 23:14:52 +0000 (16:14 -0700)]
a20: inline io_delay

The io_delay operation is only two instructions, might as well inline
it.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agoa20: A20Test is now a dword
H. Peter Anvin [Tue, 21 Apr 2009 23:12:15 +0000 (16:12 -0700)]
a20: A20Test is now a dword

A20Test is now a dword; this makes it less likely that we'll have a
case of false aliasing resulting in the io_delay path being taken.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agoa20: try to avoid io_delay if A20 is already enabled
H. Peter Anvin [Tue, 21 Apr 2009 23:08:07 +0000 (16:08 -0700)]
a20: try to avoid io_delay if A20 is already enabled

We have at least the possibility to avoid io_delay if A20 is already
enabled.  Thus, give it a try.  Furthermore, when calling enable_a20,
always try the zero-work case first, since we may have been enabled by
a previous call.  This should improve performance of the rm/pm
ping-pong.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agoGlobal whitespace cleanup.
H. Peter Anvin [Mon, 20 Apr 2009 22:56:30 +0000 (15:56 -0700)]
Global whitespace cleanup.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agocore: remove references to MDSLINUX
H. Peter Anvin [Sun, 19 Apr 2009 22:39:19 +0000 (15:39 -0700)]
core: remove references to MDSLINUX

MDSLINUX (Multiple Disk Syslinux) will never happen, kill references
to it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agocore: merge the startup code for disk-based derivatives
H. Peter Anvin [Sun, 19 Apr 2009 22:35:02 +0000 (15:35 -0700)]
core: merge the startup code for disk-based derivatives

Merge the startup code for disk-based derivatives (currently SYSLINUX,
EXTLINUX) into a single file.  There is probably still additional
shared code that should be merged, but this is a good start.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agohdt: removing useless more_printf
Erwan Velu [Sun, 19 Apr 2009 18:21:12 +0000 (20:21 +0200)]
hdt: removing useless more_printf

Impact: improving user experience

hdt>show modes was using more_printf. This is pretty useless and
annoying for users.

11 years agohdt: removing useless more_printf
Erwan Velu [Sun, 19 Apr 2009 09:39:57 +0000 (11:39 +0200)]
hdt: removing useless more_printf

Impact: none

more_printf isn't needed for such display

11 years agohdt: more_printf was eating a line
Erwan Velu [Sun, 19 Apr 2009 08:02:08 +0000 (10:02 +0200)]
hdt: more_printf was eating a line

Impact: Visual. Some lines were missing at display

The more_printf call was missing some lines to display

11 years agohdt: MAC Address should only be displayed on the PXE Device
Erwan Velu [Sun, 19 Apr 2009 07:54:14 +0000 (09:54 +0200)]
hdt: MAC Address should only be displayed on the PXE Device

Impact: MAC address were shown on invalid devices

Prior to that commit, the mac address of the PXE booted network card was
displayed on every pci devices.... weird.

11 years agohdt: fixing typo
Erwan Velu [Sun, 19 Apr 2009 07:42:25 +0000 (09:42 +0200)]
hdt: fixing typo

Impact: fixing compilation errors

Wrong call :(

11 years agohdt: Cleaning dmi chassis asset tag output
Erwan Velu [Sun, 19 Apr 2009 07:40:41 +0000 (09:40 +0200)]
hdt: Cleaning dmi chassis asset tag output

Impact: Visual

Some users reported this dmi/chassis/asset tag could reports many
spaces.

11 years agohdt: removing multiple spaces
Erwan Velu [Sun, 19 Apr 2009 07:35:06 +0000 (09:35 +0200)]
hdt: removing multiple spaces

Impact: Improving visual experience

Some hardware reported strings contains multiple spaces.
This isn't very nice for managing display. The del_multiple_spaces()
function is removing multiple spaces.

11 years agohdt: moving contact adress to the mailing list
Erwan Velu [Sat, 18 Apr 2009 17:15:34 +0000 (19:15 +0200)]
hdt: moving contact adress to the mailing list

Impact: none

Mailing list is the best place to have user inputs

11 years agohdt: Add VPD menu item
Pierre-Alexandre Meyer [Sat, 18 Apr 2009 03:08:06 +0000 (20:08 -0700)]
hdt: Add VPD menu item

Add an item to display VPD information, if detected.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
11 years agohdt: Add vpd mode (CLI)
Pierre-Alexandre Meyer [Fri, 17 Apr 2009 23:29:49 +0000 (16:29 -0700)]
hdt: Add vpd mode (CLI)

Add the vpd mode to dump the vpd structure, if found.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
11 years agoMerge commit 'erwan/master' into for-erwan
Pierre-Alexandre Meyer [Fri, 17 Apr 2009 21:55:12 +0000 (14:55 -0700)]
Merge commit 'erwan/master' into for-erwan

Conflicts:
com32/hdt/hdt-cli-hdt.c
com32/hdt/hdt-cli.c

11 years agohdt: Get rid of nb_modules in struct cli_module_descr
Pierre-Alexandre Meyer [Fri, 17 Apr 2009 21:35:52 +0000 (14:35 -0700)]
hdt: Get rid of nb_modules in struct cli_module_descr

End list of modules commands by NULL instead of managing manually
the number in nb_modules. This should limit the number of bugs when adding new
features.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
11 years agohdt: fix format string warnings
Sebastian Herbszt [Fri, 17 Apr 2009 17:28:03 +0000 (19:28 +0200)]
hdt: fix format string warnings

Fix format string warnings spit by the compiler.

- Sebastian

11 years agocom32: remove unused variables
Sebastian Herbszt [Fri, 17 Apr 2009 17:23:32 +0000 (19:23 +0200)]
com32: remove unused variables

Silence compiler warnings by removing unused variables.

- Sebastian

11 years agobcopyxx: when going to 16-bit PM, might as well do it right
H. Peter Anvin [Fri, 17 Apr 2009 00:19:24 +0000 (17:19 -0700)]
bcopyxx: when going to 16-bit PM, might as well do it right

When entering 16-bit PM after shuffle and boot, we might as well
do so sanely.  Specifically, set up the data segments so that they
match the code segment, generating a 16-bit "tiny" model environment.

This makes it a lot saner to bootstrap a proper PM environment from
there if that is what the user intends.  For the presumably more
common case of RM entry, it won't do any harm, and it's only a handful
of additional instructions.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agohdt: Get rid of MAX_MODES
Pierre-Alexandre Meyer [Thu, 16 Apr 2009 22:27:39 +0000 (15:27 -0700)]
hdt: Get rid of MAX_MODES

End the list of modes by NULL instead of managing manually the length.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
11 years agohdt: removing useless clear_screen
Erwan Velu [Thu, 16 Apr 2009 20:54:03 +0000 (22:54 +0200)]
hdt: removing useless clear_screen

Impact: Improve user experience

Prevent clear screen when not necessary

11 years agohdt: Improving more_printf & clear_screen management
Erwan Velu [Thu, 16 Apr 2009 20:48:14 +0000 (22:48 +0200)]
hdt: Improving more_printf & clear_screen management

Impact: greatly improve user experience

This commit adds more coherency in more_printf & clear_screen usage

11 years agohdt: Fixing wrong printf calls
Erwan Velu [Thu, 16 Apr 2009 20:33:47 +0000 (22:33 +0200)]
hdt: Fixing wrong printf calls

Impact: Removing memory corruption

Some printf called were badly setup

11 years agohdt: Adding reset_more_printf()
Erwan Velu [Thu, 16 Apr 2009 19:38:45 +0000 (21:38 +0200)]
hdt: Adding reset_more_printf()

Impact: first step toward more_printf() rationalization

reset_more_printf() reset the counter used by more_printf to count
lines.

11 years agohdt: menu should be 80x25
Erwan Velu [Thu, 16 Apr 2009 19:34:00 +0000 (21:34 +0200)]
hdt: menu should be 80x25

Impact: increasing menu size to improve display

80x24 was a mistake, it have to be 80x25