profile/ivi/syslinux.git
14 years agoMerge branch 'disklib' into chaindev
Michal Soltys [Tue, 28 Sep 2010 07:32:30 +0000 (09:32 +0200)]
Merge branch 'disklib' into chaindev

14 years agochain.c: adjust what ds:si and ds:bp point to after chainloading
Michal Soltys [Thu, 19 Aug 2010 08:50:28 +0000 (10:50 +0200)]
chain.c: adjust what ds:si and ds:bp point to after chainloading

Previously, chain module always set ds:si and ds:bp to handover
area (unless otherwise blocked). This is not necessarily valid in case
when both file and sector are being loaded - here file should receive
pointer to it's [relocated] sector, and it's unlikely interested in
mbr-like handover area at all.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: fixes, adjustments
Michal Soltys [Thu, 19 Aug 2010 06:24:59 +0000 (08:24 +0200)]
chain.c: fixes, adjustments

- update usage()
- add chs2lba()
- update handover code to generate CHS values
- make sure 'write' is never default
- add wait_key()

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: add options, misc varaible renames
Michal Soltys [Wed, 18 Aug 2010 08:53:01 +0000 (10:53 +0200)]
chain.c: add options, misc varaible renames

This patch adds following options:
- setgeo (bpb: set legacy geometry)
- setdrv (bpb: set physical drive number)
- read  (read mbr / bs - previously always attempted)
- write (write bs - for bpb mangling)
- filebpb (also mangle 'kernel' file in memory)
- msdos7 (dos7+ IP is set as required by io.sys)

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: add 'smap' and 'hand' options, update handover code
Michal Soltys [Tue, 17 Aug 2010 12:36:52 +0000 (14:36 +0200)]
chain.c: add 'smap' and 'hand' options, update handover code

'[no]hand' allows explicit control whenever to create handover data

'[no]smap' allows loading bootsector without mapping it during
actual chainloading (meant for upcoming BPB mangling options)

Expanded handover code moved mostly to its own function

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain, partiter: bugfixes
Michal Soltys [Tue, 17 Aug 2010 09:09:45 +0000 (11:09 +0200)]
chain, partiter: bugfixes

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: Don't bruteforce loops detecting fixed drives.
Michal Soltys [Mon, 16 Aug 2010 11:07:12 +0000 (13:07 +0200)]
chain.c: Don't bruteforce loops detecting fixed drives.

Previously chain module looped all possible fixed disks from 0x80 to
0xFF. It's prone to BIOS bugs, where BIOS can report nonexistent or
phantom drives at higher numbers. It's safer to use fixed disk count
value from 40:75 to limit such loops.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: Introduce sseg and fseg options.
Michal Soltys [Mon, 16 Aug 2010 10:47:02 +0000 (12:47 +0200)]
chain.c: Introduce sseg and fseg options.

Add options for detailed specification of load and jump addresses.
Misc adjustments.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: fix trailing whitespace
Michal Soltys [Sun, 15 Aug 2010 22:46:03 +0000 (00:46 +0200)]
chain.c: fix trailing whitespace

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: move reg setup of dos drive to find_dp()
Michal Soltys [Sun, 15 Aug 2010 22:31:03 +0000 (00:31 +0200)]
chain.c: move reg setup of dos drive to find_dp()

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: add nokeeppxe option and sethid shortcut of sethidden
Michal Soltys [Sun, 15 Aug 2010 22:22:26 +0000 (00:22 +0200)]
chain.c: add nokeeppxe option and sethid shortcut of sethidden

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agodisklib: small fixes / addons
Michal Soltys [Wed, 18 Aug 2010 08:03:55 +0000 (10:03 +0200)]
disklib: small fixes / addons

Functions disk_write_sector() and disk_write_verify_sector()
take 64bit lba as an argument now - similary to disk_read_sectors().

Structure disk_info additionally provides cylinders, besides head and sector.
Sanity checks during lba -> chs conversions have been adjusted to use
cylinders.

CX in cbios read/write code was not calculated properly.

Minor signed/unsigned changes.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: Rename cur_part -> iter
Michal Soltys [Sun, 15 Aug 2010 22:13:51 +0000 (00:13 +0200)]
chain.c: Rename cur_part -> iter

Current iterators go over both disk and partitions, including raw disks.
More generic name fits better into the whole scheme.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c minor fix of ADDRMAX value
Michal Soltys [Sun, 15 Aug 2010 22:09:01 +0000 (00:09 +0200)]
chain.c minor fix of ADDRMAX value

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: move regs to opt structure
Michal Soltys [Sun, 15 Aug 2010 22:06:22 +0000 (00:06 +0200)]
chain.c: move regs to opt structure

regs, being a set of starting registers for chainloaded image, fits
logically into opt structure. Also simplifies function callings.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: fix all compiler warnings in very pedantic mode
Michal Soltys [Sun, 15 Aug 2010 21:29:31 +0000 (23:29 +0200)]
chain.c: fix all compiler warnings in very pedantic mode

Compilation of chain.c now passes: -Wextra -Wconversion -pedantic

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: move file mangling outside main()
Michal Soltys [Sun, 15 Aug 2010 21:00:59 +0000 (23:00 +0200)]
chain.c: move file mangling outside main()

All the file mangling code has been moved to
mangle_*() family of functions, currently:

mangle_isolinux()
mangle_grublegacy()
mangle_grldr()
mangle_drmk()

They will be further moved to separate file.

Also, file and sector loading routines are now near each other.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: Adjust hide_unhide() and remove mbr_area from main()
Michal Soltys [Sun, 15 Aug 2010 20:06:11 +0000 (22:06 +0200)]
chain.c: Adjust hide_unhide() and remove mbr_area from main()

hide_unhide() is adjusted to use new iterators. It's also fully
self sufficient.

mbr_area is no longer needed in main().

Check for proper magic when loading bs/mbr is removed. There can be valid bootable
code without 0xaa55 magic (e.g. for testing purposes or unusual tasks).

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agopartiter: Add raw iterators
Michal Soltys [Sun, 15 Aug 2010 12:24:06 +0000 (14:24 +0200)]
partiter: Add raw iterators

As iterators cover the whole disk now, it's possible to be able to still
boot "something" from the 1st sector, even if it has no valid mbr or gpt
layout. This patch adds "raw" iterator, updating necessary code.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: Restructure finding of partition/drive to chainload.
Michal Soltys [Sun, 15 Aug 2010 11:13:04 +0000 (13:13 +0200)]
chain.c: Restructure finding of partition/drive to chainload.

Finding drive or partition to chainload has been moved outside
main() to find_dp(). Further adjustments and fixes made to accomodate
this change.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: move parsing outside main(), move some options to opt structure
Michal Soltys [Sat, 14 Aug 2010 22:06:47 +0000 (00:06 +0200)]
chain.c: move parsing outside main(), move some options to opt structure

Options' parsing can be easily moved outside main().
drivename and partition are part of opt structure now.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: adjust usage(), update placeholder doc/chain.txt
Michal Soltys [Sat, 14 Aug 2010 21:23:33 +0000 (23:23 +0200)]
chain.c: adjust usage(), update placeholder doc/chain.txt

Make usage() info more precise, adjust indentation.
Update placeholder docs.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: add soi2sli() function
Michal Soltys [Sat, 14 Aug 2010 20:58:26 +0000 (22:58 +0200)]
chain.c: add soi2sli() function

Add generic function to convert seg[:off:[ip]] into seg:lin:ip, mostly
in preparation for further updates.

Make opt.seg check use it.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agopartiter.c: tone down non-data sanity checks, add comments in ebr helper
Michal Soltys [Sat, 14 Aug 2010 20:30:35 +0000 (22:30 +0200)]
partiter.c: tone down non-data sanity checks, add comments in ebr helper

Sanity checks vs. programmer are compiled only with DEBUG.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: initial move of documentation to doc/chain.txt
Michal Soltys [Sat, 14 Aug 2010 11:51:39 +0000 (13:51 +0200)]
chain.c: initial move of documentation to doc/chain.txt

This patch moves the commented documentation from chain.c to
placeholder doc/chain.txt.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agodoc/gpt.txt: minor fix
Michal Soltys [Sat, 14 Aug 2010 11:33:29 +0000 (13:33 +0200)]
doc/gpt.txt: minor fix

Information about one field was incorrect.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agochain.c: minor fixes
Michal Soltys [Sat, 14 Aug 2010 11:27:33 +0000 (13:27 +0200)]
chain.c: minor fixes

This fixes segval comparison and two mistypes.

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agosplit chain into chain + iterator, expand iterators' code
Michal Soltys [Sat, 7 Aug 2010 23:13:48 +0000 (01:13 +0200)]
split chain into chain + iterator, expand iterators' code

Patch:

- splits chain into chain and iterator parts and moves them into their
  own com32/chain directory
- extensively updates iterators' code
- adjusts chain.c to use new iterators
- fixes mbr/sect/hand/file allocation

Signed-off-by: Michal Soltys <soltys@ziu.info>
14 years agoMerge branch 'master' into chaindev
Michal Soltys [Sat, 14 Aug 2010 11:16:48 +0000 (13:16 +0200)]
Merge branch 'master' into chaindev

14 years agoextlinux: try to get the disk offset from sysfs
H. Peter Anvin [Sat, 14 Aug 2010 00:27:44 +0000 (17:27 -0700)]
extlinux: try to get the disk offset from sysfs

It is possible(?) that HDIO_GETGEO can't return the full offset, and
in either case it is too small -- only 32 bits on 32-bit platforms.
Thus query sysfs for the real value, if available.

sysfs also contains information for slave devices -- this is going to
really matter for the md/lvm issues.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: remove redundant register write
Don Hiatt [Fri, 13 Aug 2010 16:51:12 +0000 (09:51 -0700)]
diskio: remove redundant register write

The disk number is set twice in diskio.c/edd_rdwr_sectors() this patch
removes the redundant setting.

14 years agoversion: next version will be 4.03 syslinux-4.03-pre1
H. Peter Anvin [Wed, 11 Aug 2010 18:50:48 +0000 (11:50 -0700)]
version: next version will be 4.03

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: look for invalid MBR handover information address
H. Peter Anvin [Wed, 11 Aug 2010 17:42:51 +0000 (10:42 -0700)]
core: look for invalid MBR handover information address

The Win7 MBR doesn't provide proper handover information.  Instead, it
leaves DS:SI = 0:0x7e00, so reject that information as invalid on
grounds that it is pointed into the bootloader area.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain: Extra comments; shrink the new space to minimum
Gene Cumm [Sun, 1 Aug 2010 16:55:27 +0000 (12:55 -0400)]
chain: Extra comments; shrink the new space to minimum

14 years agochain: Just assign the value rather than using memcpy()
Gene Cumm [Sun, 1 Aug 2010 16:39:19 +0000 (12:39 -0400)]
chain: Just assign the value rather than using memcpy()

14 years agochain: add drmk= to usage
Gene Cumm [Sun, 1 Aug 2010 14:23:51 +0000 (10:23 -0400)]
chain: add drmk= to usage

14 years agochain: Fix up and clean up DRMK load code; fix filename length; Patch memory.
Gene Cumm [Sun, 1 Aug 2010 14:23:00 +0000 (10:23 -0400)]
chain: Fix up and clean up DRMK load code; fix filename length;  Patch memory.

14 years agochain.c32: prepare for loading DRMK
Gene Cumm [Sun, 1 Aug 2010 03:14:06 +0000 (23:14 -0400)]
chain.c32: prepare for loading DRMK

14 years agoMerge branch 'master' into disklib
H. Peter Anvin [Fri, 30 Jul 2010 17:24:04 +0000 (10:24 -0700)]
Merge branch 'master' into disklib

Resolved Conflicts:
com32/modules/chain.c

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosyslxopt: remove lengthy warning message
H. Peter Anvin [Fri, 30 Jul 2010 17:20:08 +0000 (10:20 -0700)]
syslxopt: remove lengthy warning message

Remove a lengthy warning message which cause the actual command
reference to overflow a 24-line screen.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agosyslxopt: fix fatal warnings
H. Peter Anvin [Fri, 30 Jul 2010 17:17:52 +0000 (10:17 -0700)]
syslxopt: fix fatal warnings

Fix fatal warnings in syslxopt.c partly due to legal but non-idiomatic
use of switch().  Since the only purpose was to conditionalize single
output statements, just do it explicitly.

In addition, since they are conditional messages, there is no need to
explain when they apply.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c: fix public index value in mbr and gpt iterators
Michal Soltys [Fri, 30 Jul 2010 06:46:06 +0000 (08:46 +0200)]
chain.c: fix public index value in mbr and gpt iterators

mbr and gpt iterators skip empty / non-data partitions properly, but don't
update publicly visible index. With this patch, such partitions are counted as
well.

Signed-off-by: Michal Soltys <soltys@ziu.info>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c: fix public index value in mbr and gpt iterators
Michal Soltys [Fri, 30 Jul 2010 06:46:07 +0000 (08:46 +0200)]
chain.c: fix public index value in mbr and gpt iterators

mbr and gpt iterators skip empty / non-data partitions properly, but don't
update publicly visible index. With this patch, such partitions are counted as
well.

Signed-off-by: Michal Soltys <soltys@ziu.info>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agolibinstaller/syslxopt.c: remove unneeded usage text from certain variants.
Gene Cumm [Tue, 27 Jul 2010 22:58:46 +0000 (18:58 -0400)]
libinstaller/syslxopt.c: remove unneeded usage text from certain variants.

Gert Hulselmans noticed this.

14 years agoMake __free_tagged actually free memory
Sebastian Herbszt [Tue, 27 Jul 2010 12:46:57 +0000 (14:46 +0200)]
Make __free_tagged actually free memory

__free_tagged called by comboot_cleanup_lowmem (core/mem/free.c) doesn't
seem to work correctly. Memory allocated with lmalloc() isn't marked as free
after the allocating module exits:

boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000553f0
boot: mem
lowmem_buf: 0x00075400
boot: mem
lowmem_buf: 0x00000000
boot:

The expected behaviour

boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000353e0

can be achieved with the following patch.

14 years agocore: define and use set_flags() helper
H. Peter Anvin [Mon, 26 Jul 2010 20:57:34 +0000 (13:57 -0700)]
core: define and use set_flags() helper

Rather than opencoding the arithmetic flag mask, define an inline to
make that happen properly.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agosample: remove obsolete "raw" comboot/com32 samples
H. Peter Anvin [Mon, 26 Jul 2010 20:33:37 +0000 (13:33 -0700)]
sample: remove obsolete "raw" comboot/com32 samples

We really don't want people to write code without using the library,
so just remove these obsolete and no longer functional samples.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolibmenu: Fix cursor on exit from showmenus()
Gene Cumm [Mon, 26 Jul 2010 19:09:43 +0000 (15:09 -0400)]
libmenu: Fix cursor on exit from showmenus()

This fixes the issue in hdt.c32 that Kent Robotti noticed where
exiting directly from Menu Mode caused the cursor to not be displayed.
This same issue also affects com32/cmenu/simple.c32 and probably
others using showmenus().

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocore: don't hang if no config file is found
H. Peter Anvin [Mon, 26 Jul 2010 00:27:37 +0000 (17:27 -0700)]
core: don't hang if no config file is found

If we can't find a configuration file, we need to do something
slightly more friendly than hanging.

Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge remote branch 'sha0/com32lib_disk' into disklib
H. Peter Anvin [Wed, 21 Jul 2010 20:52:52 +0000 (13:52 -0700)]
Merge remote branch 'sha0/com32lib_disk' into disklib

14 years agowin64: experimental Win64 installer (syslinux64.exe) syslinux-4.02
H. Peter Anvin [Wed, 21 Jul 2010 19:33:13 +0000 (12:33 -0700)]
win64: experimental Win64 installer (syslinux64.exe)

Experimental Win64 installer.  This is necessary to be able to run on
WinPE64, since WinPE64 doesn't support running 32-bit binaries.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agowin32: fix README, adjust broken +x bits
H. Peter Anvin [Wed, 21 Jul 2010 19:00:12 +0000 (12:00 -0700)]
win32: fix README, adjust broken +x bits

Fix the win32/README file and adjust some stray +x bits which had
crept in.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: remove obsolete FIXME comment
Geert Stappers [Tue, 20 Jul 2010 22:12:36 +0000 (15:12 -0700)]
lua: remove obsolete FIXME comment

Remove an obsolete FIXME comment; the problem was caused by a stale
library.

14 years agoNEWS: document IP byte order fix. syslinux-4.02-pre5
H. Peter Anvin [Tue, 20 Jul 2010 06:45:18 +0000 (23:45 -0700)]
NEWS: document IP byte order fix.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxe: fix byte order of output from parse_dotquad()
H. Peter Anvin [Tue, 20 Jul 2010 06:42:41 +0000 (23:42 -0700)]
pxe: fix byte order of output from parse_dotquad()

parse_dotquad() incorrectly returned output in host byte order.

Reported-by: Alexander Wuerstlein <arw@arw.name>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoextlinux, linux: Ignore --force in these installers syslinux-4.02-pre4
Shao Miller [Tue, 20 Jul 2010 03:34:04 +0000 (23:34 -0400)]
extlinux, linux: Ignore --force in these installers

Previous commits described this behaviour, but did not
actually implement it. :)

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agodos: Use libinstaller option parser
Shao Miller [Tue, 20 Jul 2010 03:21:57 +0000 (23:21 -0400)]
dos: Use libinstaller option parser

We will produce an error message if a user attempts
to use an option we don't implement.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agodos: add .size directives to int2526.S
H. Peter Anvin [Tue, 20 Jul 2010 00:36:12 +0000 (17:36 -0700)]
dos: add .size directives to int2526.S

Add .size directives to int2526.S.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: add .size attribute for syslinux_ldlinux_len
H. Peter Anvin [Tue, 20 Jul 2010 00:33:22 +0000 (17:33 -0700)]
dos: add .size attribute for syslinux_ldlinux_len

Just for the sake of good order, a .size attribute for
syslinux_ldlinux_len.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: add missing file ldlinux.S
H. Peter Anvin [Tue, 20 Jul 2010 00:30:30 +0000 (17:30 -0700)]
dos: add missing file ldlinux.S

Add missing assembly wrapper for ldlinux.sys.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agowin32: remove an archive before running ar on it
H. Peter Anvin [Tue, 20 Jul 2010 00:28:25 +0000 (17:28 -0700)]
win32: remove an archive before running ar on it

Always remove an archive before ar...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos, win32: use our own getopt_long() for both
H. Peter Anvin [Tue, 20 Jul 2010 00:23:16 +0000 (17:23 -0700)]
dos, win32: use our own getopt_long() for both

Use our own version of getopt_long() for both the DOS and Win32
installers.  Currently, on MinGW, getopt_long() is a static library,
but that could change in some installations.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: fix non-executable files which were +x
H. Peter Anvin [Tue, 20 Jul 2010 00:15:44 +0000 (17:15 -0700)]
dos: fix non-executable files which were +x

Don't make non-executable files +x...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoMerge branch 'master' into libinstaller_dos_wip
H. Peter Anvin [Mon, 19 Jul 2010 23:56:35 +0000 (16:56 -0700)]
Merge branch 'master' into libinstaller_dos_wip

Resolved Conflicts:
libinstaller/syslxopt.c
mtools/syslinux.c

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: advance the pointer correctly
H. Peter Anvin [Mon, 19 Jul 2010 23:37:00 +0000 (16:37 -0700)]
dos: advance the pointer correctly

Advance the pointer into the payload segment correctly.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: add memcpy_from_sl() and use it where appropriate
H. Peter Anvin [Mon, 19 Jul 2010 23:29:24 +0000 (16:29 -0700)]
dos: add memcpy_from_sl() and use it where appropriate

Add memcpy_from_sl() and use it to handle pointers into the payload
section.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: change the link procedure to use negative pointers below DGROUP
H. Peter Anvin [Mon, 19 Jul 2010 23:17:04 +0000 (16:17 -0700)]
dos: change the link procedure to use negative pointers below DGROUP

Use negative pointer values below DGROUP, i.e. for the .payload
segment.  This makes it a lot easier to figure out if we are dealing
with pointers that shouldn't come from where they do, since the DGROUP
and .payload segments no longer overlap, and in fact are congruent.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: mtools, win32 uses new CLI
H. Peter Anvin [Mon, 19 Jul 2010 21:57:44 +0000 (14:57 -0700)]
NEWS: mtools, win32 uses new CLI

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoman: update syslinux.1. It is still out of date, however.
H. Peter Anvin [Mon, 19 Jul 2010 21:55:16 +0000 (14:55 -0700)]
man: update syslinux.1.  It is still out of date, however.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoMerge remote branch 'gerth/lua'
H. Peter Anvin [Mon, 19 Jul 2010 20:18:24 +0000 (13:18 -0700)]
Merge remote branch 'gerth/lua'

14 years agoMerge remote branch 'gerth/ifplop_comments'
H. Peter Anvin [Mon, 19 Jul 2010 20:18:14 +0000 (13:18 -0700)]
Merge remote branch 'gerth/ifplop_comments'

14 years agoMerge remote branch 'sha0/for_hpa' syslinux-4.02-pre3
H. Peter Anvin [Mon, 19 Jul 2010 17:48:15 +0000 (10:48 -0700)]
Merge remote branch 'sha0/for_hpa'

14 years agodiskio: add a paranoia cast
H. Peter Anvin [Sat, 17 Jul 2010 19:40:01 +0000 (12:40 -0700)]
diskio: add a paranoia cast

Make sure we don't overflow the shift, even though that should never
be possible.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodiskio: fix name for secpercyl field, remove unused type field
H. Peter Anvin [Sat, 17 Jul 2010 19:36:26 +0000 (12:36 -0700)]
diskio: fix name for secpercyl field, remove unused type field

Fix the name for the incorrectly named "t" (track) field; it is in
fact the sectors/cylinder (secpercyl) field.  Furthermore, remove the
completely unused "type" field... right now the pointer to the
rdwr_sectors field acts as a proxy, and if we need more complex stuff
in the future it is probably better handled by pointing to an ops
structure.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: document EDD->CHS fallback. syslinux-4.02-pre2
H. Peter Anvin [Fri, 16 Jul 2010 23:38:16 +0000 (16:38 -0700)]
NEWS: document EDD->CHS fallback.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: remove locally coded ilog2()
H. Peter Anvin [Fri, 16 Jul 2010 23:35:41 +0000 (16:35 -0700)]
diskio: remove locally coded ilog2()

Use the centrally coded ilog2() function.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: expand most fields; cache the number of total tracks
H. Peter Anvin [Fri, 16 Jul 2010 23:33:39 +0000 (16:33 -0700)]
diskio: expand most fields; cache the number of total tracks

Expand most fields in struct disk to 32 bits -- it makes the code
smaller in general, and struct disk is not a common data element.

Add a field for the number of tracks (number of heads*sectors).

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: move strict CHS start value check into chs_rdwr_sectors()
H. Peter Anvin [Fri, 16 Jul 2010 23:29:17 +0000 (16:29 -0700)]
diskio: move strict CHS start value check into chs_rdwr_sectors()

It really makes more sense in chs_rdwr_sectors()...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: check early for an impossible LBA value for CHS requests
H. Peter Anvin [Fri, 16 Jul 2010 23:25:53 +0000 (16:25 -0700)]
diskio: check early for an impossible LBA value for CHS requests

Make sure we don't end up trying to do a CHS request for a truly
absurd value, that could possibly be misconverted.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: when falling back EDD->CHS make sure to get the offset right
H. Peter Anvin [Fri, 16 Jul 2010 23:24:08 +0000 (16:24 -0700)]
diskio: when falling back EDD->CHS make sure to get the offset right

When we decide to go from EDD to CHS, make sure we convert from
absolute back to a partition offset.  The cylinder check should still
be on the absolute value, however.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: remove redundant sector count cap
H. Peter Anvin [Fri, 16 Jul 2010 23:20:22 +0000 (16:20 -0700)]
diskio: remove redundant sector count cap

The sector count cap on CHS is automatically given as a result of the
no-track-crossing rule.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: allow fallback from EDD to CHS
H. Peter Anvin [Fri, 16 Jul 2010 23:18:16 +0000 (16:18 -0700)]
diskio: allow fallback from EDD to CHS

At least one system has been found which require fallback from EDD to
CHS, so actually make it doable.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: Try again for proper lua.c32 credits
H. Peter Anvin [Fri, 16 Jul 2010 06:11:36 +0000 (23:11 -0700)]
NEWS: Try again for proper lua.c32 credits

Trying again to get this right...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' of ssh://terminus.zytor.com/pub/git/syslinux/syslinux
H. Peter Anvin [Fri, 16 Jul 2010 06:06:21 +0000 (23:06 -0700)]
Merge branch 'master' of ssh://terminus.zytor.com/pub/git/syslinux/syslinux

14 years agowhichsys.c32: Fix example in the comments and Usage output
Gert Hulselmans [Mon, 12 Jul 2010 22:26:09 +0000 (00:26 +0200)]
whichsys.c32: Fix example in the comments and Usage output

Fix example in the comments and Usage output.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agoifplop.c32: Fix spelling errors and other mistakes in comments
Gert Hulselmans [Mon, 12 Jul 2010 21:54:14 +0000 (23:54 +0200)]
ifplop.c32: Fix spelling errors and other mistakes in comments

Fix various spelling errors and other mistakes in the comment section.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agodoc: Recommend NASM 2.07+
H. Peter Anvin [Mon, 12 Jul 2010 16:06:21 +0000 (09:06 -0700)]
doc: Recommend NASM 2.07+

Recommend NASM 2.07+ to avoid the overlong instructions problem around
NASM 2.05.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodoc: NASM 2.03+ has been required since 4.00 at least
H. Peter Anvin [Mon, 12 Jul 2010 16:05:02 +0000 (09:05 -0700)]
doc: NASM 2.03+ has been required since 4.00 at least

At least since the 4.00 code was merged, NASM 2.03 or higher has been
required.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32, libcom32: Move gpt_dump() as disk_gpt_header_dump()
Shao Miller [Mon, 28 Jun 2010 10:21:21 +0000 (06:21 -0400)]
chain.c32, libcom32: Move gpt_dump() as disk_gpt_header_dump()

Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move struct gpt as disk_gpt_header
Shao Miller [Mon, 28 Jun 2010 10:16:27 +0000 (06:16 -0400)]
chain.c32, libcom32: Move struct gpt as disk_gpt_header

Also moved gpt_sig_magic as disk_gpt_sig_magic.
Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move gpt_part_dump() as disk_gpt_part_dump()
Shao Miller [Mon, 28 Jun 2010 10:07:04 +0000 (06:07 -0400)]
chain.c32, libcom32: Move gpt_part_dump() as disk_gpt_part_dump()

Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move guid_to_str() and str_to_guid()
Shao Miller [Mon, 28 Jun 2010 09:30:06 +0000 (05:30 -0400)]
chain.c32, libcom32: Move guid_to_str() and str_to_guid()

Moving portions of chain.c32 into libcom32.
There might be a better header for these to belong to.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move struct gpt_part as disk_gpt_part_entry
Shao Miller [Mon, 28 Jun 2010 07:42:44 +0000 (03:42 -0400)]
chain.c32, libcom32: Move struct gpt_part as disk_gpt_part_entry

Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move guid_le_walk_map
Shao Miller [Mon, 28 Jun 2010 07:34:55 +0000 (03:34 -0400)]
chain.c32, libcom32: Move guid_le_walk_map

Moving portions of chain.c32 into libcom32.
There might be a better header for guid_le_walk_map to belong to.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move struct guid
Shao Miller [Mon, 28 Jun 2010 07:18:09 +0000 (03:18 -0400)]
chain.c32, libcom32: Move struct guid

Moving portions of chain.c32 into libcom32.
There might be a better header for struct guid to belong to.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move struct mbr as disk_dos_mbr
Shao Miller [Mon, 28 Jun 2010 07:02:14 +0000 (03:02 -0400)]
chain.c32, libcom32: Move struct mbr as disk_dos_mbr

Also move mbr_sig_magic as disk_mbr_sig_magic macro.
Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move mbr_part_dump() as disk_dos_part_dump()
Shao Miller [Mon, 28 Jun 2010 06:54:36 +0000 (02:54 -0400)]
chain.c32, libcom32: Move mbr_part_dump() as disk_dos_part_dump()

Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move struct part_entry as disk_dos_part_entry
Shao Miller [Mon, 28 Jun 2010 06:47:30 +0000 (02:47 -0400)]
chain.c32, libcom32: Move struct part_entry as disk_dos_part_entry

Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agochain.c32, libcom32: Move chs macros and chs typedef as disk_chs
Shao Miller [Mon, 28 Jun 2010 06:40:12 +0000 (02:40 -0400)]
chain.c32, libcom32: Move chs macros and chs typedef as disk_chs

Moving portions of chain.c32 into libcom32.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agolibcom32 disk: A slight grunt of constipation
Shao Miller [Mon, 28 Jun 2010 06:30:49 +0000 (02:30 -0400)]
libcom32 disk: A slight grunt of constipation

Add const qualifier because we can.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>