Michal Soltys [Sat, 28 Aug 2010 14:13:56 +0000 (16:13 +0200)]
chain/utility.c: Adjust lba2chs
This tiny patch adjusts how lba2chs() deals with unknown geometries.
Instead of returning max values of "typical" geometries, it returns
chs values calculated from them.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sat, 28 Aug 2010 11:20:31 +0000 (13:20 +0200)]
chain module: bugfixing and cosmetics
Bugs:
- one introduced ages ago - find_by_* functions should be tested vs. <0
for failure
- one introduced by
579f15c7c456c - it accidentally blocked too much
when testing for ',' in drive/partition option parsing
- one introduced by
d4d713c9ccfe0 - sone machines / VMs seem to set
@40:75 just 1, regardless of amount of fixed disks available
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Fri, 27 Aug 2010 23:06:13 +0000 (01:06 +0200)]
chain module: setbpb changes, bss & bs options, bugfixes
Generic function detecting BPB type (7 versions) have been added.
set{hid,geo,drv} have been replaced by single setbpb option, using
mentioned function to make more precise decisions what to update where.
Full BSS and BS emulation has been added, also employing BPB detection.
Some logic/flow changes in chain's main(). There was also a bug, in
which backup sector was populated with wrong data.
Appropriate documentation updates.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Thu, 26 Aug 2010 20:41:41 +0000 (22:41 +0200)]
chain module: make option 'save' truly separate
Previously, option 'save' has been executed as a part of bpb mangling.
This was rather inflexible.
Apart from that, all mangle functions test their respective opt.* options
internally.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Thu, 26 Aug 2010 07:21:55 +0000 (09:21 +0200)]
chain, options: bugfixes, adjustments; big doc update
- seg='s offset values default to 0 if ommited
- sect='s offset values default to 0x7c00 if ommited
- FDOS's bootsector loaded at 0x1fe0
- drive / partition parsing: bugfix, so lables with ',' are recognized
properly
- big documentation update
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Tue, 24 Aug 2010 23:28:50 +0000 (01:28 +0200)]
chain: adjust 'mbrchs' calculations, adjust partitier
It seems that chs values in extended partitions are expected to provide
absolute positions. Previously these values were calculated directly
from ebr lba values.
Partiter now provides cebr_lba and ebr_lba that hold absolute values
of current and next ebr.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Tue, 24 Aug 2010 17:18:34 +0000 (19:18 +0200)]
chain, partiter, options: bugfix, new options
- small bugfix in partiter.c
- new options: hideall, mbrchs
- new partiter feature - rawindex - counts all (inc. empty) partitions in all
cases
hideall is expansion of hide, that hides all partitions in a chain, not
only primary ones
mbrchs walks over all partitions and fixes chs values in mbr entries
rawindex keeps count of all partitions, including holes in EBRs
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sun, 22 Aug 2010 21:31:55 +0000 (23:31 +0200)]
chain, options: fixes, additions
- add 'bss=' option
- update usage()
- ommited offsets in 'file=' and 'sect=' default to 0x7c00 now
- cosmetics
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sun, 22 Aug 2010 13:36:23 +0000 (15:36 +0200)]
partiter.c: add stepall modifier; bugfixes + comment changes
In certain situations (new features to be added later), it's useful
to be able to step through all partitions in a partition list. This
patch adds necessary functionality.
Adjust chain.c to use new version of partiter.
Also small bugfixes and comment changes.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sun, 22 Aug 2010 11:44:01 +0000 (13:44 +0200)]
chain.c: Split chain into smaller files
new file: chain.h
new file: common.h
new file: mangle.c
new file: mangle.h
new file: options.c
new file: options.h
new file: utility.c
new file: utility.h
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sun, 22 Aug 2010 10:29:15 +0000 (12:29 +0200)]
partiter.c: cosmetic changes
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sat, 21 Aug 2010 20:31:22 +0000 (22:31 +0200)]
chain.c: Improve setdrv option, remove setbpb4/
Option 'setdrv' can autodetect offset now. setbpb4 is removed, as it's
no longer necessary.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sat, 21 Aug 2010 17:33:42 +0000 (19:33 +0200)]
chain.c: change file/sect/hand area handling logic, add 'hptr' option
The logic behind file/sect/hand area handling is more flexible
now. Furthermore, a user can explicitly control where ds:si/ds:bp
should point during chainloading.
Other misc. changes:
- registry setup is more conservative
- 'if' style
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sat, 21 Aug 2010 16:21:17 +0000 (18:21 +0200)]
chain.c: merge segs= and sect into single option, remove segf
There's no need to have separate 'sect' and 'segs='. 'segf' alias of
'seg' can also be removed now.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sat, 21 Aug 2010 15:43:48 +0000 (17:43 +0200)]
chain.c: option renames
Renamed some of the options to better fit the whole scheme.
Also adjusted usage().
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Sat, 21 Aug 2010 14:45:22 +0000 (16:45 +0200)]
chain.c: Always use console_ansi_raw(), not only with DEBUG
Signed-off-by: Michal Soltys <soltys@ziu.info>
Michal Soltys [Tue, 28 Sep 2010 07:32:30 +0000 (09:32 +0200)]
Merge branch 'disklib' into chaindev
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>
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>
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>
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>
Michal Soltys [Tue, 17 Aug 2010 09:09:45 +0000 (11:09 +0200)]
chain, partiter: bugfixes
Signed-off-by: Michal Soltys <soltys@ziu.info>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Michal Soltys [Sat, 14 Aug 2010 11:16:48 +0000 (13:16 +0200)]
Merge branch 'master' into chaindev
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>
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.
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>
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>
Gene Cumm [Sun, 1 Aug 2010 16:55:27 +0000 (12:55 -0400)]
chain: Extra comments; shrink the new space to minimum
Gene Cumm [Sun, 1 Aug 2010 16:39:19 +0000 (12:39 -0400)]
chain: Just assign the value rather than using memcpy()
Gene Cumm [Sun, 1 Aug 2010 14:23:51 +0000 (10:23 -0400)]
chain: add drmk= to usage
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.
Gene Cumm [Sun, 1 Aug 2010 03:14:06 +0000 (23:14 -0400)]
chain.c32: prepare for loading DRMK
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>
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>
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>
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>
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>
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.
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.
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>
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>
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>
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>
H. Peter Anvin [Wed, 21 Jul 2010 20:52:52 +0000 (13:52 -0700)]
Merge remote branch 'sha0/com32lib_disk' into disklib
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
H. Peter Anvin [Mon, 19 Jul 2010 20:18:24 +0000 (13:18 -0700)]
Merge remote branch 'gerth/lua'
H. Peter Anvin [Mon, 19 Jul 2010 20:18:14 +0000 (13:18 -0700)]
Merge remote branch 'gerth/ifplop_comments'
H. Peter Anvin [Mon, 19 Jul 2010 17:48:15 +0000 (10:48 -0700)]
Merge remote branch 'sha0/for_hpa'
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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