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
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
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.
Erwan Velu [Sun, 19 Apr 2009 07:42:25 +0000 (09:42 +0200)]
hdt: fixing typo
Impact: fixing compilation errors
Wrong call :(
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.
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.
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
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>
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>
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
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>
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
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
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>
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>
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
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
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
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.
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
Erwan Velu [Thu, 16 Apr 2009 19:32:22 +0000 (21:32 +0200)]
Merge branch 'master' of git://git./boot/syslinux/syslinux into erwan
H. Peter Anvin [Thu, 16 Apr 2009 18:04:52 +0000 (11:04 -0700)]
Merge branch 'syslinux-3.7x'
H. Peter Anvin [Thu, 16 Apr 2009 04:42:14 +0000 (21:42 -0700)]
rosh: don't compile rosh.lnx by default
Don't compile rosh.lnx by default. It causes unnecessary dependencies
on the host system.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 15 Apr 2009 23:26:49 +0000 (16:26 -0700)]
NEWS: document HDT PCI fix
Erwan Velu [Tue, 14 Apr 2009 19:55:14 +0000 (21:55 +0200)]
hdt: Fixing latency indentation
Impact: Improving display
Removing useless space
Erwan Velu [Wed, 15 Apr 2009 19:05:19 +0000 (21:05 +0200)]
pci: Using for_each_pci_func3
Impact: cleaning code
Using for_each_pci_func3 instead of for_each_pci_func + pci_mkaddr
H. Peter Anvin [Tue, 14 Apr 2009 20:45:33 +0000 (13:45 -0700)]
pci: add pci_for_each_func3() which produces an address
Add pci_for_each_func3() iterator, which produces an address in
addition to the device pointer.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Erwan Velu [Tue, 14 Apr 2009 19:41:05 +0000 (21:41 +0200)]
PCI: Fixing freeze when detecting many PCI devices
Impact: Prevent hard freeze when having many PCI devices
A user reported that calling gather_additional_pci_config() when many
PCI devices exists on a host could lead to a complete freeze.
This patch remove some useless code and use for_each_pci_func() instead.
This prevent useless memory allocation.
Erwan Velu [Wed, 15 Apr 2009 19:05:19 +0000 (21:05 +0200)]
pci: Using for_each_pci_func3
Impact: cleaning code
Using for_each_pci_func3 instead of for_each_pci_func + pci_mkaddr
Erwan Velu [Wed, 15 Apr 2009 18:26:22 +0000 (20:26 +0200)]
Merge branch 'master' of git://git./boot/syslinux/syslinux
H. Peter Anvin [Wed, 15 Apr 2009 04:55:08 +0000 (21:55 -0700)]
NEWS: add the latest stuff...
Document additional changes since 3.74.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 15 Apr 2009 04:52:50 +0000 (21:52 -0700)]
gpxe: Don't use "lret $2" to return from an interrupt
Using "lret $2" to return from an interrupt causes interrupts to be
disabled in the calling program, since the INT instruction will have
disabled interrupts. Instead, patch CF on the stack and use iret to
return.
Interestingly, the original PC BIOS had this bug in at least one
place.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 15 Apr 2009 04:45:54 +0000 (21:45 -0700)]
menu: modify MENU SAVE to be a cascading default
Change MENU SAVE to be a cascading default that can be reverted with
MENU NOSAVE.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 22:36:05 +0000 (15:36 -0700)]
doc: fix stray parenthesis in syslinux.txt
Remove stay parenthesis in syslinux.txt
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 20:45:33 +0000 (13:45 -0700)]
pci: add pci_for_each_func3() which produces an address
Add pci_for_each_func3() iterator, which produces an address in
addition to the device pointer.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Erwan Velu [Tue, 14 Apr 2009 19:55:14 +0000 (21:55 +0200)]
hdt: Fixing latency indentation
Impact: Improving display
Removing useless space
Erwan Velu [Tue, 14 Apr 2009 19:41:05 +0000 (21:41 +0200)]
PCI: Fixing freeze when detecting many PCI devices
Impact: Prevent hard freeze when having many PCI devices
A user reported that calling gather_additional_pci_config() when many
PCI devices exists on a host could lead to a complete freeze.
This patch remove some useless code and use for_each_pci_func() instead.
This prevent useless memory allocation.
H. Peter Anvin [Tue, 14 Apr 2009 19:37:42 +0000 (12:37 -0700)]
doc: clarify CS.base restriction for KVM
Clarify that the CS.base restriction is a prescription of
compatibility, and not something that the ABI handles transparently.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 19:36:21 +0000 (12:36 -0700)]
doc: update copyright in syslinux.txt
Update and clarify copyright in syslinux.txt.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 19:14:04 +0000 (12:14 -0700)]
Merge branch 'syslinux-3.7x'
H. Peter Anvin [Tue, 14 Apr 2009 19:08:08 +0000 (12:08 -0700)]
NEWS: the extlinux(1) is from Brian Pellin, not Daniel Baumann.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 19:04:54 +0000 (12:04 -0700)]
NEWS: document MEMDISK fixes, updates.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Daniel Baumann [Tue, 14 Apr 2009 18:30:55 +0000 (20:30 +0200)]
Adding manpage from Brian Pellin <bpellin@gmail.com> for extlinux.
Daniel Baumann [Tue, 14 Apr 2009 18:29:43 +0000 (20:29 +0200)]
Correcting typo in extlinux documentation.
H. Peter Anvin [Tue, 14 Apr 2009 19:02:11 +0000 (12:02 -0700)]
MEMDISK: traceability for the geometry
Print the source of the geometry determination.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 19:01:07 +0000 (12:01 -0700)]
MEMDISK: fix MBR geometry extraction
Fix the MBR geometry extraction; there was an off-by-2 error in the
MBR signature offset.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 18:27:25 +0000 (11:27 -0700)]
Merge branch 'syslinux-3.7x'
Conflicts:
core/bootsect.inc
version
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 18:22:07 +0000 (11:22 -0700)]
NEWS, version: bump version to 3.75, document keeppxe fix
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 18:20:03 +0000 (11:20 -0700)]
pxelinux: fix the handling of KeepPXE
KeepPXE was broken in 3.74, because we tried to use both bits 0 and 1,
but failed to actually test both bits. Instead, just use bit 0, but
move the place where we clear the bits.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Tue, 14 Apr 2009 05:34:55 +0000 (22:34 -0700)]
core/bcopyxx.inc: save a few bytes
Muck with the GDT patching logic to save a few bytes.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 05:13:22 +0000 (22:13 -0700)]
Fix infinite loop in syslinux_memmap_find()
We can't use continue; since we're not using a for loop; we have to
advance to the next list entry...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 03:31:40 +0000 (20:31 -0700)]
Merge branch 'timeout-fix'
H. Peter Anvin [Tue, 14 Apr 2009 03:30:26 +0000 (20:30 -0700)]
pxelinux: fix the new timeout code
Fix the new timeout code; in particular:
- on receiving an ERROR packet, we fake an immediate timeout;
this has to be done differently now.
- fix missing decrement of timeout counter.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 03:06:00 +0000 (20:06 -0700)]
com32: use xfer_buf_seg as the bounce buffer
We cannot realistically realign comboot_seg without breaking com16
modules (which have the DOS-derived assumption that they own the rest
of low memory.) However, we can use xfer_buf_seg as the com32 bounce
buffer, which allows us to retain the benefit of a 64K-aligned buffer.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 02:43:35 +0000 (19:43 -0700)]
doc: add note about KVM restriction on CS.base
Add note about KVM restrictions on CS.base before entering real mode.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 02:32:00 +0000 (19:32 -0700)]
core: don't misalign xfer_buf_seg
xfer_buf_seg is used for bulk transfers, and we really don't want
to break it up in order to avoid 64K DMA boundaries.
Note: the same is true for the com32 bounce buffer, which is
real_mode_seg. However, there are hard assumptions in the code that
real_mode_seg is the last segment; those need to be cleaned up, or we
need to verify that xfer_buf_seg can be used as the com32 bounce
buffer.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 02:28:20 +0000 (19:28 -0700)]
Something slightly saner for DummyTSS
DummyTSS should hopefully never be actually used.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 02:25:50 +0000 (19:25 -0700)]
GDT: remove unused DS16_4G and SS16 descriptors
We no longer use the DS16_4G and SS16 descriptors; we now use 32-bit
protected mode for all "big" work.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 02:19:34 +0000 (19:19 -0700)]
shuffle_rm.c: minor style cleanup
Try to make the code just a little easier to read.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 14 Apr 2009 02:11:30 +0000 (19:11 -0700)]
shuffler: work around KVM problem with the new shuffler
KVM uses V86 mode to simulate real mode. This causes problems with
the new shuffler. This changes the shuffler handover to be in
16-bit protected mode instead, and requires the stub to do the actual
entry to real mode. For the KVM hack to work, all segments must have:
(seg.base & 0xfff0000f) == 0 && seg.limit == 0xffff
As a result, we have to make sure the real-mode entry stub is
paragraph-aligned, lest we violate the first criterion.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 13 Apr 2009 22:39:04 +0000 (15:39 -0700)]
core: move vgafontbuf out of the zero segment
vgafontbuf is one of the largest (bss) structures in the zero segment,
together with the trackbuf (which we realistically can't move.)
Create a new "auxilliary segment" for fixed-sized data which needs to
be in the low megabyte, but not necessarily in the zero segment.
This pushes up the low memory usage, but only by 8K.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Mon, 13 Apr 2009 22:09:41 +0000 (15:09 -0700)]
core: add alignz macro (analogous to "alignb") for zero-pad align
Add a new macro "alignz" to align with zero bytes; use to align inside
a data section (i.e. a progbits section which doesn't contain code.)
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>