H. Peter Anvin [Thu, 21 May 2009 22:36:50 +0000 (15:36 -0700)]
isohybrid: support booting from partition; fix CBIOS booting
Fix CBIOS in isohybrid mode. Also allow an isohybrid image to be
booted from a partition. Unfortunately this breaks compatibility
between differing versions of isohybrid and isolinux.bin.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 21 May 2009 20:34:12 +0000 (13:34 -0700)]
isohybrid: allow selecting the _c and _f versions of the prefix
Allow selecting the _f or _c versions of the prefix in addition to the
default one. This is specified with the -forcehd0 or -ctrlhd0
options.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 21 May 2009 17:25:43 +0000 (10:25 -0700)]
idle: handle PXE stacks which improperly disable interrupts
At least Etherboot (and all-but-super-recent versions of gPXE) PXE
ROMs improperly disable interrupts when calling an intercepted version
of INT 15h and 1Ah; this is due to the old trick of using "ret 2" to
return... this avoids resetting the flags for status, but it also
doesn't restore the value of the interrupt flag. Needless to say,
this causes serious issues.
Work around it by adding explicit pushf/popf or STI in places known to
have issues, but also add an STI in reset_idle, and add an error alert
in do_idle if we ever get called with interrupts disabled.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 21 May 2009 14:22:53 +0000 (07:22 -0700)]
chain.c32: remove clobber of drivename/partition
Remove a clobber of drivename and partition, after we have spent time
computing what the should have been...
Reported-by: Luciano Miguel Ferreira Rocha <strange@nsk.no-ip.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 21 May 2009 02:06:42 +0000 (19:06 -0700)]
isohybrid: add options, change default ptype to 0x17
Add support for setting a variety of options in isohybrid. Also
change the default partition type to 0x17, "Windows hidden IFS", as
that seems to make Windows less unhappy.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 20 May 2009 22:56:02 +0000 (15:56 -0700)]
NEWS: add note about linux.c32 having a quiet command
H. Peter Anvin [Wed, 20 May 2009 22:49:36 +0000 (15:49 -0700)]
meminfo: distinguish between no flags and flags=1
For debugging reasons it's important to know if we have no flags at
all or if we get flags = 1. Print [-] in the case of no flags at all.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 18 May 2009 23:29:30 +0000 (16:29 -0700)]
Don't run to comboot API with interrupts off
We have historically run the comboot API with interrupts off due to
concerns about stack overflow. However, this is a really bad idea: we
can easily spend a fair bit of time servicing one of these routines,
especially when doing things like waiting for I/O.
In particular, do_idle should *never* be run with interrupts disabled.
Switch to running with interrupts enabled everywhere unless we have
specific reasons not to do so.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 18 May 2009 21:57:37 +0000 (14:57 -0700)]
core/conio.inc: when reading the serial port, drop read of IIR
Drop the read of the IIR when reading the serial port. First of all,
we weren't protecting AL so we clobbered the actual data; second of
all, this isn't actually necessary as reading RDR will clear the
interrupt condition per the UART spec.
It's worth noting that enabling interrupts here will do bad things if
the interrupts aren't edge-triggered (since we don't actually have an
interrupt routine to clear the interrupt condition); this also means
bad things will happen if the interrupt line is shared.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 18 May 2009 21:28:18 +0000 (14:28 -0700)]
core/pxeidle.inc: fix pops with no matching push
In check_for_arp, we dropped the segment register pushes, but we need
to drop the pops, too.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 18 May 2009 20:42:19 +0000 (13:42 -0700)]
Try to HLT the processor during idle
Try to HLT the processor during idle. All the events we care about
should have interrupts associated with them, except possibly the
serial console. Try to deal with the serial console by waiting some
time before going into HLT, and giving the user the option of enabling
the serial console interrupt, on the assumption that the BIOS will
simply IRET.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 17 May 2009 02:07:19 +0000 (19:07 -0700)]
bcopyxx: remove 16-bitisms
Remove a couple of 16-bitisms in the bcopy code, since it is now
running in perfectly ordinary 32-bit mode. In particular,
prefer 32-bit registers to 16-bit registers, and drop "a32" prefixes
(which do nothing.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 17 May 2009 02:02:38 +0000 (19:02 -0700)]
bcopyxx/memmove: fix alignment logic for reverse moves
The alignment logic for reverse moves is reversed, because the initial
edi, and therefore edx, points to the last byte, not to one byte
beyond the end. Therefore, in the fully aligned case it will end in
11 binary, not in 00 binary as for the forward case.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 15 May 2009 23:24:34 +0000 (16:24 -0700)]
Fix clobber of the command line when using F-keys+LSS graphics
Fix a half-entered command line when getting clobbered when pressing
an F key that in turn invokes an LSS graphic. This was used by
duplexing the command line buffer as LSS decompression space.
Allocate a separate buffer, but move the legacy graphic variables to
.bss2 to avoid overflow.
Reported-by: Михаил <from.miha@gmail.com>
Debugged-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 5 May 2009 20:56:49 +0000 (13:56 -0700)]
linux.c32: replace the kernel name with BOOT_IMAGE=
The BOOT_IMAGE= argument is generated by replacing the kernel name in
the argument array. As a result, we shouldn't advance argp. Move the
code around slightly, to make it more obvious that that is what is
happening.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 5 May 2009 16:50:00 +0000 (09:50 -0700)]
linux.c32: honor the "quiet" flag
Honor the "quiet" flag for linux.c32, since some distros have odd
notions about these things.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 5 May 2009 04:56:06 +0000 (21:56 -0700)]
bcopyxx: EDX already points to the GDT; no reason to recompute
We already have the EDX register pointing to the GDT, so recomputing
the address of the GDT is completely pointless. This shaves an
additional few bytes off the bcopyxx safe area (now down to 543 bytes
including the 128-byte stack and the 15-byte alignment slop.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 5 May 2009 04:07:28 +0000 (21:07 -0700)]
load_linux.c: quiet warning
Quiet a (harmless) compiler warning.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 5 May 2009 00:36:54 +0000 (17:36 -0700)]
load_linux.c: consider a zImage kernel to be non-relocatable
It's pretty safe to say there has never been a working relocatable
Linux zImage kernel, and the semantics for them are iffy at best.
Consider zImage kernels to be non-relocatable.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
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>
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>
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>
H. Peter Anvin [Tue, 5 May 2009 00:17:08 +0000 (17:17 -0700)]
NEWS: document linux.c32 fix.
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>
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>
H. Peter Anvin [Mon, 4 May 2009 21:30:53 +0000 (14:30 -0700)]
Next version will probably be 3.81
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>
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...
H. Peter Anvin [Mon, 4 May 2009 18:35:55 +0000 (11:35 -0700)]
Document poweroff 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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Sebastian Herbszt [Sat, 2 May 2009 16:24:10 +0000 (18:24 +0200)]
pxechain: remove unused ipaddrbuf
Remove unused ipaddrbuf.
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.
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>
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>
H. Peter Anvin [Fri, 1 May 2009 18:02:28 +0000 (11:02 -0700)]
NEWS: document isohybrid fix
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>
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>
H. Peter Anvin [Thu, 30 Apr 2009 22:57:44 +0000 (15:57 -0700)]
Document boot-once fix.
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>
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>
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>
H. Peter Anvin [Thu, 30 Apr 2009 01:49:44 +0000 (18:49 -0700)]
NEWS: update
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
H. Peter Anvin [Mon, 27 Apr 2009 02:37:59 +0000 (19:37 -0700)]
NEWS: add updates for 3.80
H. Peter Anvin [Mon, 27 Apr 2009 02:36:58 +0000 (19:36 -0700)]
Merge branch 'syslinux-3.7x'
Conflicts:
version
H. Peter Anvin [Mon, 27 Apr 2009 02:32:54 +0000 (19:32 -0700)]
Remove the old mboot module
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>
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>
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>
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>
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>
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>
H. Peter Anvin [Sun, 26 Apr 2009 01:50:09 +0000 (18:50 -0700)]
NEWS, version: prepare for a 3.76 release
H. Peter Anvin [Sun, 26 Apr 2009 01:47:44 +0000 (18:47 -0700)]
Merge branch 'syslinux-3.7x'
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).
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>
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>
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>
Erwan Velu [Thu, 23 Apr 2009 19:23:36 +0000 (21:23 +0200)]
hdt: fix conflict
Impact: making build working again
A forgoten conflict
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
Erwan Velu [Thu, 23 Apr 2009 16:51:57 +0000 (18:51 +0200)]
hdt: 0.3.1
Impact: new release
New release
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
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>
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>
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>
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>
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>
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>
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>
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>
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.
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