platform/upstream/syslinux.git
14 years agocore: move aligned segments earlier
H. Peter Anvin [Wed, 24 Feb 2010 19:14:04 +0000 (11:14 -0800)]
core: move aligned segments earlier

Move the aligned segments downward, to provide for the largest
possible contiguous lowmem heap.  This minimizes the necessary lowmem
footprint.  (Note: the heap doesn't actually need to be contiguous,
but having it not be makes it harder to size.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: use better malloc; add low memory malloc; fix com32 exit
H. Peter Anvin [Wed, 24 Feb 2010 06:32:32 +0000 (22:32 -0800)]
core: use better malloc; add low memory malloc; fix com32 exit

Use a better malloc for the core.  In particular, use the same core
that we should eventually be able to use for the entire system in
Syslinux 5 -- with module awareness, etc.

This code can also accommodate multiple heaps.  Set up a separate heap
for lowmem; the intent is to use explicit lowmem allocations instead
of the static bounce buffer.  The lowmem allocation is also exported
via the pmapi mechanism, so modules can safely allocate lowmem.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxe: clean up/fix generation of ipappend strings
H. Peter Anvin [Wed, 24 Feb 2010 03:35:11 +0000 (19:35 -0800)]
pxe: clean up/fix generation of ipappend strings

Clean up and fix the generation of the ipappend strings.  In
particular, BOOTIF= was generated into a buffer which was too small.
Put the buffer definitions in C while we're at it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs/pxe: drop the use of PKTBUF_SEG
H. Peter Anvin [Wed, 24 Feb 2010 03:16:34 +0000 (19:16 -0800)]
fs/pxe: drop the use of PKTBUF_SEG

Drop the use of a magic PKTBUF_SEG, and instead just have a high
memory buffer for each file, and a single lowmem buffer that we reuse
at will.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'pxefix' into pathbased
H. Peter Anvin [Wed, 24 Feb 2010 03:11:13 +0000 (19:11 -0800)]
Merge branch 'pxefix' into pathbased

14 years agopxe: set the block size in the fs structure
H. Peter Anvin [Wed, 24 Feb 2010 03:09:44 +0000 (19:09 -0800)]
pxe: set the block size in the fs structure

For better or worse, we use block counts for communicating with the
filesystem.  It would therefore be rather polite to tell them what
block size we expect.

This fixes a boot failure with the new loadhigh routine.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: add a direct 32-bit API
H. Peter Anvin [Wed, 24 Feb 2010 02:14:12 +0000 (18:14 -0800)]
core: add a direct 32-bit API

Add a direct 32-bit API to some functions; initially read file only.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopathbased:btrfs use iget interface and leverage general search routing
Alek Du [Mon, 22 Feb 2010 07:09:12 +0000 (15:09 +0800)]
pathbased:btrfs use iget interface and leverage general search routing

Now btrfs won't export its own searchdir, it uses the iget and
iget_root interface.

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore/com32.inc: warn about possible double use of core_xfer_buf
H. Peter Anvin [Mon, 22 Feb 2010 01:55:57 +0000 (17:55 -0800)]
core/com32.inc: warn about possible double use of core_xfer_buf

core_xfer_buf is still used as bounce buffer by libcom32 code linked
into the core.  This is likely unsafe -- needs to be fixed.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: rewrite loadhigh in C
H. Peter Anvin [Mon, 22 Feb 2010 01:53:23 +0000 (17:53 -0800)]
core: rewrite loadhigh in C

Rewrite the loadhight function in C, and eliminate double usage of
xfer_buf_seg.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32: go back to using real_mode_seg as bounce buffer
H. Peter Anvin [Mon, 22 Feb 2010 00:07:54 +0000 (16:07 -0800)]
com32: go back to using real_mode_seg as bounce buffer

Go back to using real_mode_seg as bounce buffer; this reserves
xfer_buf_seg strictly for the in-core filesystem code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: let xfer_buf_seg, real_mode_seg be assigned by the linker
H. Peter Anvin [Sun, 21 Feb 2010 23:42:03 +0000 (15:42 -0800)]
core: let xfer_buf_seg, real_mode_seg be assigned by the linker

Use the linker to assign xfer_bug_seg and real_mode_seg.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge remote branch 'origin/master' into pathbased
H. Peter Anvin [Sun, 21 Feb 2010 06:41:34 +0000 (22:41 -0800)]
Merge remote branch 'origin/master' into pathbased

14 years agolibpci: merge BIOS read and BIOS write
H. Peter Anvin [Sun, 21 Feb 2010 06:26:39 +0000 (22:26 -0800)]
libpci: merge BIOS read and BIOS write

Save a few bytes by merging the very similar BIOS read and BIOS write
functions.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoi915resolution: use libpci to access PCI config space syslinux-3.85 syslinux-3.85-pre13
H. Peter Anvin [Wed, 17 Feb 2010 04:12:57 +0000 (20:12 -0800)]
i915resolution: use libpci to access PCI config space

Use libpci to access PCI config space.  This *hopefully* will make it
less likely that some old machine hangs when failing to set the
requested video mode.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: document i915resolution merge. syslinux-3.85-pre12
H. Peter Anvin [Tue, 16 Feb 2010 23:11:09 +0000 (15:11 -0800)]
NEWS: document i915resolution merge.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'i915res'
H. Peter Anvin [Tue, 16 Feb 2010 23:09:31 +0000 (15:09 -0800)]
Merge branch 'i915res'

14 years agocore: use vk_append for function 0016h temp storage syslinux-4.00-pre24
H. Peter Anvin [Tue, 16 Feb 2010 22:53:51 +0000 (14:53 -0800)]
core: use vk_append for function 0016h temp storage

a) we have to copy the command line tail earlier - the pm_*
   calls may use xfer_buf_seg in particular.
b) use vk_append rather than trackbuf; vk_append should definitely
   be unused.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: remove stray -DDEBUG
H. Peter Anvin [Tue, 16 Feb 2010 22:27:10 +0000 (14:27 -0800)]
core: remove stray -DDEBUG

Remove stray -DDEBUG that should not have been committed.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoext2: handle symlinks larger than a single block
H. Peter Anvin [Tue, 16 Feb 2010 22:09:03 +0000 (14:09 -0800)]
ext2: handle symlinks larger than a single block

There is no law that symlinks has to be a single block only.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoext2: a zero block number is actually legit
H. Peter Anvin [Tue, 16 Feb 2010 21:57:30 +0000 (13:57 -0800)]
ext2: a zero block number is actually legit

It may not happen in normal operation, but a zero block value is legit
and means an all-zero block.  For anything which uses the cache, we
have dealt with that by always keeping a zero block in the cache.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoext2: drop any 64K limit
H. Peter Anvin [Tue, 16 Feb 2010 21:52:09 +0000 (13:52 -0800)]
ext2: drop any 64K limit

There is no point in maintaining a 64K limit; this is handled at a
lower level in the disk I/O library if appropriate.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: move the disk cache into high memory
H. Peter Anvin [Tue, 16 Feb 2010 21:49:33 +0000 (13:49 -0800)]
fs: move the disk cache into high memory

Move the disk cache out of the DOS memory area.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoext2: fix confusion between logical and physical block numbers
H. Peter Anvin [Tue, 16 Feb 2010 21:37:42 +0000 (13:37 -0800)]
ext2: fix confusion between logical and physical block numbers

Fix a minor confusion between logical and physical block numbers in
the new iterative bmap implementation.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocache: fix cache initialization
H. Peter Anvin [Tue, 16 Feb 2010 21:36:59 +0000 (13:36 -0800)]
cache: fix cache initialization

Fix the cache initialization; in particular make sure dev->cache_head
actually gets set.  Also, just use a plain division to figure out how
many entries we can fit in the cache.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: move cache_init() into fs_init, to handle special needs
H. Peter Anvin [Tue, 16 Feb 2010 20:22:12 +0000 (12:22 -0800)]
fs: move cache_init() into fs_init, to handle special needs

Move cache_init() into the fs_init methods, to accommodate special
handling, e.g. the all-zero zero block for ext2.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoext2: fix bmap block number breakage
H. Peter Anvin [Tue, 16 Feb 2010 20:21:48 +0000 (12:21 -0800)]
ext2: fix bmap block number breakage

Fix the handling of block numbers in the bmap loop.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocache: fix _get_cache_block() return, add lock_cache_block()
H. Peter Anvin [Tue, 16 Feb 2010 20:20:36 +0000 (12:20 -0800)]
cache: fix _get_cache_block() return, add lock_cache_block()

Correct the return value from _get_cache_block(), and add a method for
locking a block permanently in the cache.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocache: update the metadata cache design
H. Peter Anvin [Tue, 16 Feb 2010 20:01:19 +0000 (12:01 -0800)]
cache: update the metadata cache design

- instead of get_cache_block() returning a descriptor, have
  get_cache() returning const void *.
- have a subfunction to allow getting a block without reading it
  from disk, and returning the cache descriptor.  This will be
  used in ext2 to pre-seed block 0 with all zero.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: move fs-related C files into fs/
H. Peter Anvin [Tue, 16 Feb 2010 18:35:34 +0000 (10:35 -0800)]
core: move fs-related C files into fs/

Move filesystem-related C files into the fs/ directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: remove obsolete assembly strecpy.inc
H. Peter Anvin [Tue, 16 Feb 2010 18:33:21 +0000 (10:33 -0800)]
core: remove obsolete assembly strecpy.inc

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: remove obsolete assembly cache.inc
H. Peter Anvin [Tue, 16 Feb 2010 18:32:29 +0000 (10:32 -0800)]
core: remove obsolete assembly cache.inc

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: use malloc'd mutable pathname buffers syslinux-4.00-pre23
H. Peter Anvin [Tue, 16 Feb 2010 17:33:28 +0000 (09:33 -0800)]
fs: use malloc'd mutable pathname buffers

Use malloc'd mutable pathname buffers during pathname walks.  This
avoids the need for very large static buffers, as well as the need to
copy character by character.  It also handles the symlink case fairly
nicely.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoext2: clean up types in the bmap functions
H. Peter Anvin [Tue, 16 Feb 2010 17:24:21 +0000 (09:24 -0800)]
ext2: clean up types in the bmap functions

No need to take an explicit fs pointer when we're passing an inode
anyway...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agogeneric_close_file: use put_inode(), not free_inode()
H. Peter Anvin [Tue, 16 Feb 2010 17:21:09 +0000 (09:21 -0800)]
generic_close_file: use put_inode(), not free_inode()

Nothing other than put_inode() should ever really call free_inode()...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobtrfs: use generic_load_config syslinux-4.00-pre22
H. Peter Anvin [Tue, 16 Feb 2010 06:47:17 +0000 (22:47 -0800)]
btrfs: use generic_load_config

btrfs can use generic_load_config, so use it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: centralize symlink handling
H. Peter Anvin [Tue, 16 Feb 2010 06:45:59 +0000 (22:45 -0800)]
fs: centralize symlink handling

Put all handling of symbolic links into the central pathname walker.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: reference-count inodes, fix generic loadconfig
H. Peter Anvin [Tue, 16 Feb 2010 04:32:21 +0000 (20:32 -0800)]
fs: reference-count inodes, fix generic loadconfig

Reference-count inodes, so we don't leak them all over the place.
This also lets us hold onto the root inode from the very beginning.
Make the generic loadconfig work again.  Significant cleanups to the
ext2 filesystem core.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: separate bcopyxx code and data; use linker-generated symbols
H. Peter Anvin [Tue, 16 Feb 2010 01:47:09 +0000 (17:47 -0800)]
core: separate bcopyxx code and data; use linker-generated symbols

Separate out bcopyxx code and data, and use linker-generated barrier
symbols instead of inline label hacks.  This makes it possible to link
code into the bcopyxx area if need be.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomemmove: don't reverse copy if there is no overlap
H. Peter Anvin [Tue, 16 Feb 2010 00:28:23 +0000 (16:28 -0800)]
memmove: don't reverse copy if there is no overlap

Don't do reverse copies if there is no overlap.  Current x86 CPUs
optimize forward copies, but some of them don't optimize reverse
copies.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMakefile: dos/copybs.com now in dosutil
H. Peter Anvin [Mon, 15 Feb 2010 23:22:24 +0000 (15:22 -0800)]
Makefile: dos/copybs.com now in dosutil

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodosutil: move copybs here, update Makefile
H. Peter Anvin [Mon, 15 Feb 2010 23:19:54 +0000 (15:19 -0800)]
dosutil: move copybs here, update Makefile

Move copybs to dosutil, change the Makefile to deal with UPX being
able to compress (e.g. very small files.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobootsect.inc: change 100000h -> free_high_memory syslinux-4.00-pre21
H. Peter Anvin [Sun, 14 Feb 2010 23:09:04 +0000 (15:09 -0800)]
bootsect.inc: change 100000h -> free_high_memory

We can't load stuff at 100000h... that will overwrite the PM code.
That is what free_high_memory is for.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxelinux: remove USE_PXE_PROVIDED_STACK
H. Peter Anvin [Sun, 14 Feb 2010 23:02:42 +0000 (15:02 -0800)]
pxelinux: remove USE_PXE_PROVIDED_STACK

Remove USE_PXE_PROVIDED_STACK once and for all.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: guard against a nonsensical month number
H. Peter Anvin [Sun, 14 Feb 2010 22:11:15 +0000 (14:11 -0800)]
sysdump: guard against a nonsensical month number

If the month is off the table, don't even try to read it...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: don't force cpuid() to be inlined
H. Peter Anvin [Sun, 14 Feb 2010 22:09:42 +0000 (14:09 -0800)]
sysdump: don't force cpuid() to be inlined

The compiler can usually decide that better than we can...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into pathbased syslinux-4.00-pre20
H. Peter Anvin [Sun, 14 Feb 2010 21:57:50 +0000 (13:57 -0800)]
Merge branch 'master' into pathbased

Resolved Conflicts:
com32/Makefile
com32/include/syslinux/pxe.h
core/pxelinux.asm
core/syslinux.ld

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoconfig: allow a chdir at the time a new configuration file is loaded
H. Peter Anvin [Sun, 14 Feb 2010 21:40:04 +0000 (13:40 -0800)]
config: allow a chdir at the time a new configuration file is loaded

If a directory name/path prefix is appended to a loaded configuration
file, do a chdir at that point.  We finally have all the mechanism to
do this right.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: move to a chdir()-based mechanism for managing cwd syslinux-4.00-pre19
H. Peter Anvin [Sun, 14 Feb 2010 07:42:59 +0000 (23:42 -0800)]
fs: move to a chdir()-based mechanism for managing cwd

Introduce a chdir() system and a way to obtain absolute pathnames.
This should allow us to set the current base directory (filename
prefix for PXE) without breaking access to the configuration file.

As a side benefit, for the "normal" filesystems we no longer need
magic hacks to figure out where we should set our current working
directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomtools: add MTOOLS_FAT_COMPATIBILITY=1
H. Peter Anvin [Sun, 14 Feb 2010 01:09:27 +0000 (17:09 -0800)]
mtools: add MTOOLS_FAT_COMPATIBILITY=1

It's perfectly legitimate to have a bigger FAT area than is needed,
and it is often done for alignment.  Tell mtools not to throw a hissy
fit over it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c: part_info -> partinfo syslinux-3.85-pre11
H. Peter Anvin [Sun, 14 Feb 2010 00:46:22 +0000 (16:46 -0800)]
chain.c: part_info -> partinfo

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: update for 3.85 release
H. Peter Anvin [Sun, 14 Feb 2010 00:45:11 +0000 (16:45 -0800)]
NEWS: update for 3.85 release

14 years agochain.c32: add option to set hidden sectors; load boot sector for NTLDR
H. Peter Anvin [Sat, 13 Feb 2010 22:45:42 +0000 (14:45 -0800)]
chain.c32: add option to set hidden sectors; load boot sector for NTLDR

Add an option to update the in-memory version of FAT/NTFS hidden
sectors (== partition offset); load the boot sector for NTLDR.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxelinux: complete but disable debugging code, not for production syslinux-3.85-pre10
H. Peter Anvin [Sat, 13 Feb 2010 01:02:50 +0000 (17:02 -0800)]
pxelinux: complete but disable debugging code, not for production

Disable some debugging code that was never intended for production
use.  The intent is to track down specific memory-clobbering bugs.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: document the stack location, use STACK_TOP throughout
H. Peter Anvin [Sat, 13 Feb 2010 00:49:55 +0000 (16:49 -0800)]
core: document the stack location, use STACK_TOP throughout

The global absolute symbol STACK_TOP defined in layout.inc can be used
by the linker script as well as by anything else that needs to know
where the stack is.  Also document why we do it differently for
PXELINUX.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxelinux: move the stack to avoid AMI BIOS bug
H. Peter Anvin [Fri, 12 Feb 2010 21:37:20 +0000 (13:37 -0800)]
pxelinux: move the stack to avoid AMI BIOS bug

There is apparently some AMI BIOSes which leave a BEV stack just below
7c00h, which means that they can't return from the PXE NBP.  Thus, for
PXELINUX, move the stack down a few kilobytes.

This particularly refers to the "rouilj/ops12" system my private
sysdump archive.

Reported-and-tested-by: John Rouillard <rouilj@renesys.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs: fix cwd setting for FAT/iso9660/extfs syslinux-4.00-pre18
H. Peter Anvin [Thu, 11 Feb 2010 00:21:55 +0000 (16:21 -0800)]
fs: fix cwd setting for FAT/iso9660/extfs

Fix the cwd setting for FAT, iso9660 and ext*fs.
In particular:

When FS_THISIND is set in the filesystem flags, only memoize the
parent directory iff we are currently doing a config file walk.  Use
this feature for ext*fs as well, this makes the pathbased branch fully
featured.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopathbased: Add FAT support to extlinux and let FAT be "true" pathbased
Alek Du [Mon, 8 Feb 2010 02:54:31 +0000 (10:54 +0800)]
pathbased: Add FAT support to extlinux and let FAT be "true" pathbased

Now extlinux can install FAT partition now, and FAT honors patched
path area.

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopathbased: fix relative path in the extlinux installer
Alek Du [Mon, 8 Feb 2010 02:40:09 +0000 (10:40 +0800)]
pathbased: fix relative path in the extlinux installer

Fix a bug in the extlinux installer where the relative path is not
found correctly.

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'fsc' into pathbased
H. Peter Anvin [Wed, 10 Feb 2010 23:59:46 +0000 (15:59 -0800)]
Merge branch 'fsc' into pathbased

Resolved Conflicts:
core/fs/ext2/ext2.c

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into i915res syslinux-3.85-pre63
H. Peter Anvin [Mon, 8 Feb 2010 22:39:20 +0000 (14:39 -0800)]
Merge branch 'master' into i915res

14 years agovesa: for jpg or png images, tile the image across the screen
H. Peter Anvin [Mon, 8 Feb 2010 22:37:48 +0000 (14:37 -0800)]
vesa: for jpg or png images, tile the image across the screen

If we specify a smaller image than the screen size, tile it across the
screen rather than leaving a big black box.  This may have to be made
configurable.

Also note that Syslinux currently does not handle the case of an image
bleeding off the end of the screen.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: quiet gcc warning
H. Peter Anvin [Mon, 8 Feb 2010 22:37:20 +0000 (14:37 -0800)]
sysdump: quiet gcc warning

Null change to quiet a gcc warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomemdisk: make "nopass" type-specific, add "nopassany"
H. Peter Anvin [Mon, 8 Feb 2010 17:13:11 +0000 (09:13 -0800)]
memdisk: make "nopass" type-specific, add "nopassany"

Make "nopass" specific to the current drive type.  Add new option
"nopassany", which also clobbers the drive counts of both types.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: use the same serial receive threshold as the core syslinux-3.85-pre9
H. Peter Anvin [Mon, 8 Feb 2010 04:08:46 +0000 (20:08 -0800)]
sysdump: use the same serial receive threshold as the core

Match the core with regards to the serial receive threshold.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: make ymodem work even on a serial console
H. Peter Anvin [Mon, 8 Feb 2010 04:06:27 +0000 (20:06 -0800)]
sysdump: make ymodem work even on a serial console

Make it possible to do a ymodem transfer even on the port used for a
serial console.  Furthermore, on a serial console, get the parameters
from the serial console information, so port number and speed don't
have to be specified.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: don't include final null byte in version file
H. Peter Anvin [Mon, 8 Feb 2010 01:17:35 +0000 (17:17 -0800)]
sysdump: don't include final null byte in version file

We don't want the null byte at the end as part of the version file.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: ymodem: actually retransmit a block if we get NAK
H. Peter Anvin [Mon, 8 Feb 2010 01:05:08 +0000 (17:05 -0800)]
sysdump: ymodem: actually retransmit a block if we get NAK

Incorrectly nested loops, we need to actually retransmit if we get a
NAK reply...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: actually make the new backend system work syslinux-3.85-pre8
H. Peter Anvin [Mon, 8 Feb 2010 00:26:40 +0000 (16:26 -0800)]
sysdump: actually make the new backend system work

With these changes, both TFTP and Ymodem seem to actually work.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: change to a two-phase generate/output model, buffer in memory
H. Peter Anvin [Sun, 7 Feb 2010 23:14:21 +0000 (15:14 -0800)]
sysdump: change to a two-phase generate/output model, buffer in memory

Instead of outputting data as it is generated, buffer it all in memory
and then output it all at once.  This not only gives us exact size and
so on before we start, but turns out to be faster at least for TFTP.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: serial: add missing header file
H. Peter Anvin [Sun, 7 Feb 2010 20:14:46 +0000 (12:14 -0800)]
sysdump: serial: add missing header file

Missing header file -> warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: be_tftp.c: fix prototype
H. Peter Anvin [Sun, 7 Feb 2010 20:14:14 +0000 (12:14 -0800)]
sysdump: be_tftp.c: fix prototype

The init function now takes an additional length argument.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: *actually* generate the proper version string
H. Peter Anvin [Sun, 7 Feb 2010 20:13:34 +0000 (12:13 -0800)]
sysdump: *actually* generate the proper version string

Make the gen-id.sh script actually do the right thing...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: handle the case of more than one DMI table
H. Peter Anvin [Sun, 7 Feb 2010 19:56:19 +0000 (11:56 -0800)]
sysdump: handle the case of more than one DMI table

On the offchance a system has more than one valid DMI table, record
them all.  Also record the address of the signature structure and of
the table itself.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: record the sysdump version used to generate a bundle
H. Peter Anvin [Sun, 7 Feb 2010 19:55:41 +0000 (11:55 -0800)]
sysdump: record the sysdump version used to generate a bundle

Record the sysdump version used to actually generate a data set.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: dump CPUID information syslinux-3.85-pre7
H. Peter Anvin [Sun, 7 Feb 2010 08:09:31 +0000 (00:09 -0800)]
sysdump: dump CPUID information

Dump CPUID information in as generic of a way as is possible, given
the ugliness in certain places.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: remove unused variable
H. Peter Anvin [Sun, 7 Feb 2010 08:08:50 +0000 (00:08 -0800)]
sysdump: remove unused variable

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: be more explicit about what we are doing
H. Peter Anvin [Sun, 7 Feb 2010 07:26:53 +0000 (23:26 -0800)]
sysdump: be more explicit about what we are doing

Print more information on the console about what is going on.  That
can help detect problems if we find a machine which hangs on sysdump.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: fix the dumping of the e820 memory information
H. Peter Anvin [Sun, 7 Feb 2010 07:26:32 +0000 (23:26 -0800)]
sysdump: fix the dumping of the e820 memory information

Need to advance the pointer...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: fix hacking of the DMI structure address
H. Peter Anvin [Sun, 7 Feb 2010 07:26:00 +0000 (23:26 -0800)]
sysdump: fix hacking of the DMI structure address

Fix the hacking of the DMI structure address, for dmidecode's sake.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: dump memory map information
H. Peter Anvin [Sun, 7 Feb 2010 07:10:24 +0000 (23:10 -0800)]
sysdump: dump memory map information

Dump the memory map information - e820 et al.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: add PCI config space dumping
H. Peter Anvin [Sun, 7 Feb 2010 06:54:06 +0000 (22:54 -0800)]
sysdump: add PCI config space dumping

Dump PCI configuration space.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: add support for dumping DMI tables
H. Peter Anvin [Sun, 7 Feb 2010 06:28:01 +0000 (22:28 -0800)]
sysdump: add support for dumping DMI tables

Add support for dumping DMI tables; hopefully in a way that is
compatible with dmidecode.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: add back ymodem support; clean up memory dump structure
H. Peter Anvin [Sun, 7 Feb 2010 05:55:03 +0000 (21:55 -0800)]
sysdump: add back ymodem support; clean up memory dump structure

Now we just need more front ends (information providers)...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: add missing return statement in cpio_writefile()
H. Peter Anvin [Sun, 7 Feb 2010 01:47:15 +0000 (17:47 -0800)]
sysdump: add missing return statement in cpio_writefile()

cpio_writefile() should return the actual return value...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxe: add missing prototype for pxe_dns()
H. Peter Anvin [Sun, 7 Feb 2010 01:46:21 +0000 (17:46 -0800)]
pxe: add missing prototype for pxe_dns()

All global functions should have a prototype...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: dump vesa modes, generate usable timestamps
H. Peter Anvin [Sun, 7 Feb 2010 01:43:11 +0000 (17:43 -0800)]
sysdump: dump vesa modes, generate usable timestamps

Dump all the VESA modes; give functional timestamps for the cpio
members.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: first working version (can dump lowmem over TFTP)
H. Peter Anvin [Sun, 7 Feb 2010 00:38:53 +0000 (16:38 -0800)]
sysdump: first working version (can dump lowmem over TFTP)

Most of the infrastructure for sysdump, and enough to make it useful.
Sysdump will produce a gzipped cpio archive containing individual data
members; for now only a memory dump of lowmem.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32: add library function for DNS lookup
H. Peter Anvin [Sun, 7 Feb 2010 00:31:26 +0000 (16:31 -0800)]
com32: add library function for DNS lookup

Add a library function for DNS lookup

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosyslinux/pxe.h use the same type as <com32.h> for a far pointer
H. Peter Anvin [Sun, 7 Feb 2010 00:29:41 +0000 (16:29 -0800)]
syslinux/pxe.h use the same type as <com32.h> for a far pointer

<syslinux/pxe.h> was using segoff16_t, <com32.h> was using far_ptr_t
for the same thing -- use the same type so the macros are available
for both.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxelinux: give our own IP address in the "derivate info" API call
H. Peter Anvin [Sun, 7 Feb 2010 00:28:05 +0000 (16:28 -0800)]
pxelinux: give our own IP address in the "derivate info" API call

Add our own IP address to the "get derivative-specific info" API call.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosysdump: port memdump to com32 with the intent of enhancing it
H. Peter Anvin [Sat, 6 Feb 2010 19:24:24 +0000 (11:24 -0800)]
sysdump: port memdump to com32 with the intent of enhancing it

Port memdump to com32, with the intent of modifying and enhancing it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomemdump: srecs need a length, and max 32 data bytes
H. Peter Anvin [Sat, 6 Feb 2010 02:17:10 +0000 (18:17 -0800)]
memdump: srecs need a length, and max 32 data bytes

Length + 32 data bytes max...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomemdump: allow outputting S-records
H. Peter Anvin [Sat, 6 Feb 2010 02:03:14 +0000 (18:03 -0800)]
memdump: allow outputting S-records

Allow outputting S-records, for users who only have the capability of
passively monitoring a serial port as opposed to being able to capture
the contents directly.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into fsc syslinux-4.00-pre17
H. Peter Anvin [Sat, 6 Feb 2010 01:28:27 +0000 (17:28 -0800)]
Merge branch 'master' into fsc

Resolved Conflicts:
core/pxelinux.asm

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoPXE: fix the EFI localboot hack
H. Peter Anvin [Sat, 6 Feb 2010 01:20:49 +0000 (17:20 -0800)]
PXE: fix the EFI localboot hack

Make the EFI localboot hack work again, by properly detecting the EFI
signature and adjusting the stack properly.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxelinux: call reset_pxe before local boot syslinux-3.85-pre6
H. Peter Anvin [Sat, 6 Feb 2010 00:41:02 +0000 (16:41 -0800)]
pxelinux: call reset_pxe before local boot

Reset the PXE configuration before we do a local boot.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agogPXE: change heap size to 512K
H. Peter Anvin [Thu, 4 Feb 2010 19:18:36 +0000 (11:18 -0800)]
gPXE: change heap size to 512K

Change heap size from 128K to 512K to accommodate larger TCP windows.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxe: make gPXE work
H. Peter Anvin [Sat, 6 Feb 2010 00:17:06 +0000 (16:17 -0800)]
pxe: make gPXE work

Make the gPXE interface code work.  gpxelinux.0 now appears
functional.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into fsc
H. Peter Anvin [Fri, 5 Feb 2010 06:02:09 +0000 (22:02 -0800)]
Merge branch 'master' into fsc

Resolved Conflicts:
core/pxelinux.asm

Note: this PXELINUX currently seems to hang with interrupts on trying
to fetch the configuration file -- further debugging will be required.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>