profile/ivi/syslinux.git
14 years agoFAT: For FAT32, the root directory is a cluster chain syslinux-4.00-pre15
H. Peter Anvin [Tue, 2 Feb 2010 02:21:08 +0000 (18:21 -0800)]
FAT: For FAT32, the root directory is a cluster chain

The old code would set the FAT32 root directory right after the FAT
like everything else... which would just happen to work if the root
directory was in cluster 2.  This is very common for a newly formatted
filesystem, but isn't guaranteed!

Reported-by: Gert Huselmans <gerth@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge commit 'origin/master' into fsc
H. Peter Anvin [Mon, 1 Feb 2010 23:42:39 +0000 (15:42 -0800)]
Merge commit 'origin/master' into fsc

14 years agomkdiskimage: add option -s to make a sparse image syslinux-3.85-pre4
H. Peter Anvin [Mon, 1 Feb 2010 23:41:43 +0000 (15:41 -0800)]
mkdiskimage: add option -s to make a sparse image

It is often fine to have a sparse file for the output image, so add an
-s option to generate a sparse image.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: set QUIET_FLAG if we load Linux "quiet"
H. Peter Anvin [Mon, 1 Feb 2010 17:45:23 +0000 (09:45 -0800)]
core: set QUIET_FLAG if we load Linux "quiet"

If we see the "quiet" flag for the Linux kernel, also suppress the
early Linux kernel messages; for people who want a completely clean
boot.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: remove debugging printf syslinux-4.00-pre14
H. Peter Anvin [Mon, 1 Feb 2010 04:20:09 +0000 (20:20 -0800)]
FAT: remove debugging printf

Remove debugging printf which snuck in...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: fix FAT16/32 next cluster calculation, make more similar to FAT12
H. Peter Anvin [Mon, 1 Feb 2010 04:16:14 +0000 (20:16 -0800)]
FAT: fix FAT16/32 next cluster calculation, make more similar to FAT12

The FAT16/32 next cluster calculations were changed to be somewhat
more like the FAT12 one, but that was done incorrectly: we would end
up reading off the end of the FAT sector we were looking at.  Make it
structurally more similar to the FAT12 calculation, and actually make
it compute correctly.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: fix next_sector implementation syslinux-4.00-pre13
H. Peter Anvin [Sun, 31 Jan 2010 19:10:54 +0000 (11:10 -0800)]
FAT: fix next_sector implementation

"return ++sector;" is a bit subtle and I brainfarted and changed to
"return sector++;" -- change it to "return sector+1;" to make it
obvious we're not looking for a side effect at all here...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into fsc syslinux-4.00-pre12
H. Peter Anvin [Thu, 28 Jan 2010 00:16:14 +0000 (16:16 -0800)]
Merge branch 'master' into fsc

Resolved Conflicts:
core/ldlinux.asm

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32: Handle nonlinear logical partitions syslinux-3.85-pre3
H. Peter Anvin [Wed, 27 Jan 2010 23:45:01 +0000 (15:45 -0800)]
chain.c32: Handle nonlinear logical partitions

Some partitioning program, including at least parted, apparently
create the list of logical partition headers nonlinearly with the
partition themselves.  Thus, make it a requirement that then fit
inside the overall extended partition, but not inside the
corresponding sublogical partition.

Reported-by: Gert Huselmans <gerth@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoopenmem: fix openmem() syslinux-4.00-pre11
H. Peter Anvin [Mon, 25 Jan 2010 23:00:38 +0000 (15:00 -0800)]
openmem: fix openmem()

Correct the implementation of openmem().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore/fs: abstract filesystem, use cache for ext2 group descriptors
H. Peter Anvin [Mon, 25 Jan 2010 22:53:32 +0000 (14:53 -0800)]
core/fs: abstract filesystem, use cache for ext2 group descriptors

Abstract out the filesystem, remove all references to "this_fs" in the
main filesystem drivers. There is still some in the core (dir.c, fs.c)
which eventually need to be replaced by a properly defined device
marker and root.

The inode structure now contains a reference to its parent filesystem.

The inode structure can now contain additional data at the end of the
structure, this is used for filesystem private data.

TODO: move the filesystem private data into proper structures.

Finally, use the block cache for ext2 block group descriptors.  Trying
to allocate them all at filesystem mount time doesn't work for large
filesystems.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: use an anonymous union
H. Peter Anvin [Mon, 25 Jan 2010 21:44:11 +0000 (13:44 -0800)]
FAT: use an anonymous union

We can use an anonymous union here... we're more or less gcc-specific
anyway, and it cleans up the namespace a lot.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: deal with non-mirrored FATs for FAT32
H. Peter Anvin [Mon, 25 Jan 2010 19:34:33 +0000 (11:34 -0800)]
FAT: deal with non-mirrored FATs for FAT32

FAT32 has the option of non-mirrored FATs, used to improve atomicity
of some operations.  If we have non-mirrored FATs, we need to make
sure to read the one FAT which is currently marked active.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore/fs: make it more explicit sector size is per filesystem
H. Peter Anvin [Mon, 25 Jan 2010 18:57:19 +0000 (10:57 -0800)]
core/fs: make it more explicit sector size is per filesystem

Sector size is per device, and can vary between filesystems.  In
particular, it is time to be getting rid of assumptions of 512-byte
sectors whereever possible.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agofs.h: fix prototype
H. Peter Anvin [Mon, 25 Jan 2010 17:57:15 +0000 (09:57 -0800)]
fs.h: fix prototype

Another () -> (void)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: Compare cluster count to total number of clusters
H. Peter Anvin [Mon, 25 Jan 2010 17:56:32 +0000 (09:56 -0800)]
FAT: Compare cluster count to total number of clusters

We have to know the total number of clusters, so we might as well make
use of that knowledge.  Treat any impossible cluster number as EOF.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: generate EOF depending on exceeding the number of clusters
H. Peter Anvin [Mon, 25 Jan 2010 17:41:53 +0000 (09:41 -0800)]
FAT: generate EOF depending on exceeding the number of clusters

Generate EOF by comparing to the actual number of clusters.  We have
to compute the number of clusters in the filesystem anyway during
setup, so save the number and use it for the EOF computation.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoldlinux: fix FAT EOF detection
H. Peter Anvin [Mon, 25 Jan 2010 17:34:08 +0000 (09:34 -0800)]
ldlinux: fix FAT EOF detection

We had the wrong highest possible cluster for the FAT; adjust it so
that it matches the definition.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agorunkernel: we only look at the first letter in vga=...
H. Peter Anvin [Mon, 25 Jan 2010 17:30:26 +0000 (09:30 -0800)]
runkernel: we only look at the first letter in vga=...

We only look at the first letter in the handling of the special vga=
strings, make that manifest in the assembly code so we don't end up
with unnecessary warnings.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: handle the cluster number being 1
H. Peter Anvin [Mon, 25 Jan 2010 17:28:26 +0000 (09:28 -0800)]
FAT: handle the cluster number being 1

Any reference to cluster 1 is an error, so treat it the same as
cluster 0 or one of the EOF cluster numbers.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: clean up cluster arithmetic
H. Peter Anvin [Mon, 25 Jan 2010 17:25:41 +0000 (09:25 -0800)]
FAT: clean up cluster arithmetic

a) clean up the computation of the FAT12 FAT entry offset.
b) the highest allocatable cluster is ...ff6, not ...ff0.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: be more explicit why we think a filesystem is bad
H. Peter Anvin [Mon, 25 Jan 2010 00:55:22 +0000 (16:55 -0800)]
FAT: be more explicit why we think a filesystem is bad

Give readable error messages as to why we think a filesystem is bad.
Given the current sizes of the installer, these extra strings are
worth it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFAT: fix installer on FAT32 filesystems
H. Peter Anvin [Mon, 25 Jan 2010 00:53:37 +0000 (16:53 -0800)]
FAT: fix installer on FAT32 filesystems

The FAT32 superblock has a 12-byte reserved field which wasn't
accounted for in the structure.  As a result, the installer refused to
run on a FAT32 filesystem.  Fix the structure.

Reported-by: Kim Mik <kimmik999999@yahoo.co.uk>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge commit 'origin/master' into fsc
H. Peter Anvin [Mon, 25 Jan 2010 00:29:44 +0000 (16:29 -0800)]
Merge commit 'origin/master' into fsc

14 years agoMerge branch 'master' into fsc
H. Peter Anvin [Mon, 25 Jan 2010 00:25:34 +0000 (16:25 -0800)]
Merge branch 'master' into fsc

Conflicts:
com32/lib/MCONFIG
com32/lib/readdir.c

14 years agoAdd support for "vga=current"
H. Peter Anvin [Sat, 23 Jan 2010 01:42:11 +0000 (17:42 -0800)]
Add support for "vga=current"

"vga=current" is a user-friendly synonym for "vga=0x0f04".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: don't reset the video mode when invoking the kernel
H. Peter Anvin [Fri, 22 Jan 2010 20:14:59 +0000 (12:14 -0800)]
core: don't reset the video mode when invoking the kernel

Don't reset the video mode when invoking the kernel if we're booting
quiet -- it breaks "vga=current" which some distros use for a smooth
graphical transition all the way into the kernel.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore/diskio: correct the EDD parameter query syslinux-4.00-pre10
H. Peter Anvin [Fri, 22 Jan 2010 05:36:52 +0000 (21:36 -0800)]
core/diskio: correct the EDD parameter query

We need to tell the BIOS how big of a buffer we have for the EDD
parameter query.  This caused us to *never* use EDD, which meant that
large filesystems never worked.

Reported-by: Gert Hulselmans <kimmik999999@yahoo.co.uk>
Isolated-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore/diskstart: we don't have 64-bit partition offset just yet...
H. Peter Anvin [Fri, 22 Jan 2010 05:36:07 +0000 (21:36 -0800)]
core/diskstart: we don't have 64-bit partition offset just yet...

We don't actually have a way to receive a 64-bit partition offset yet,
so don't pretend to (on FAT, this field contains other information.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMCONFIG: add debugging version of GCCWARN syslinux-3.85-pre2
H. Peter Anvin [Sun, 10 Jan 2010 21:22:30 +0000 (13:22 -0800)]
MCONFIG: add debugging version of GCCWARN

Add the options that help smoke out bugs.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodmi_processor.c: remove unreachable table values
H. Peter Anvin [Sun, 10 Jan 2010 21:18:48 +0000 (13:18 -0800)]
dmi_processor.c: remove unreachable table values

A uint8_t can't have values all the way up to 0x12e...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodisk/bootloaders.c: fix bogus const in get_bootloader_string()
H. Peter Anvin [Sun, 10 Jan 2010 21:14:59 +0000 (13:14 -0800)]
disk/bootloaders.c: fix bogus const in get_bootloader_string()

get_bootloader_string() takes a mutable first argument; the call chain
does have call paths on which this argument will be modified.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodisk/ata.c: fix signedness weirdness in ata_id_c_string()
H. Peter Anvin [Sun, 10 Jan 2010 21:13:56 +0000 (13:13 -0800)]
disk/ata.c: fix signedness weirdness in ata_id_c_string()

Fix signedness weirdness in ata_id_c_string(), thus killing a warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: remove unused variable in syslinux_getadv()
H. Peter Anvin [Sun, 10 Jan 2010 21:09:57 +0000 (13:09 -0800)]
com32/lib: remove unused variable in syslinux_getadv()

Remove unused variable, thus removing a warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agozlib: fix warning in crc32.c
H. Peter Anvin [Sun, 10 Jan 2010 21:07:39 +0000 (13:07 -0800)]
zlib: fix warning in crc32.c

Fix a signed/unsigned warning in crc32.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: fix external prototype for __vesacon_open()
H. Peter Anvin [Sun, 10 Jan 2010 21:05:26 +0000 (13:05 -0800)]
com32/lib: fix external prototype for __vesacon_open()

The external prototype for __vesacon_open() was incorrect; this is a
good example of why external prototypes are bad, incidentally.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: fix inappropriate & in sys/colortable.c
H. Peter Anvin [Sun, 10 Jan 2010 21:03:47 +0000 (13:03 -0800)]
com32/lib: fix inappropriate & in sys/colortable.c

The & is incorrect... not actively harmful, but generates a warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: add cast in __parse_argv()
H. Peter Anvin [Sun, 10 Jan 2010 20:59:48 +0000 (12:59 -0800)]
com32/lib: add cast in __parse_argv()

ALIGN_UP_FOR() returns the type of the original pointer, but we want
it to be the type that we're actually going to use.  Perhaps
ALIGN_UP_FOR() should be changed, but for now, just add the proper
cast.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agolibgcc: fix signedness warning in __moddi3()
H. Peter Anvin [Sun, 10 Jan 2010 20:57:48 +0000 (12:57 -0800)]
libgcc: fix signedness warning in __moddi3()

Intentional cross-signedness pointer passing, add a cast.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: fix unused argument warning in fdopendir()
H. Peter Anvin [Sun, 10 Jan 2010 20:56:07 +0000 (12:56 -0800)]
com32/lib: fix unused argument warning in fdopendir()

fdopendir() is a stub, and probably will remain such.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: fix unused parameter warning in chdir()
H. Peter Anvin [Sun, 10 Jan 2010 20:55:11 +0000 (12:55 -0800)]
com32/lib: fix unused parameter warning in chdir()

chdir() is a stub at the moment... to be fixed in Syslinux 4.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomemdisk: fix non-prototype function declaration
H. Peter Anvin [Sun, 10 Jan 2010 20:54:24 +0000 (12:54 -0800)]
memdisk: fix non-prototype function declaration

() is not a prototype, use (void)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: fix warning in str*cmp()
H. Peter Anvin [Sun, 10 Jan 2010 20:53:51 +0000 (12:53 -0800)]
com32/lib: fix warning in str*cmp()

Shut up a warning about initializing pointer across signedness.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32/lib: fix warnings in opendir/readdir/closedir
H. Peter Anvin [Sun, 10 Jan 2010 20:53:04 +0000 (12:53 -0800)]
com32/lib: fix warnings in opendir/readdir/closedir

Missing #include <stdlib.h>, nested comment in readdir.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMakefile: replace -W -Wall with centralized $(GCCWARN)
H. Peter Anvin [Sun, 10 Jan 2010 20:48:06 +0000 (12:48 -0800)]
Makefile: replace -W -Wall with centralized $(GCCWARN)

Replace -W -Wall hardcoded into a bunch of Makefiles with $(GCCWARN),
a centralized variable defined in the root MCONFIG.  Add
-Wstrict-prototypes to the list of global warnings: we should never
have non-prototyped declarations.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocmenu: clean up some () that should be (void)
H. Peter Anvin [Sun, 10 Jan 2010 20:41:26 +0000 (12:41 -0800)]
cmenu: clean up some () that should be (void)

() is not a prototype, and means (...) not (void) in C.
Replace with (void).

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: document Grub4DOS chainloading
H. Peter Anvin [Sun, 10 Jan 2010 20:38:12 +0000 (12:38 -0800)]
NEWS: document Grub4DOS chainloading

14 years agochain.c32: simplify the grub4dos support
H. Peter Anvin [Sun, 10 Jan 2010 20:36:30 +0000 (12:36 -0800)]
chain.c32: simplify the grub4dos support

Grub4dos (like Grub in general) uses the same partition numbers as
Linux (and chain.c32), minus one.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32: add grldr= command for Grub4dos
Kim Mik [Sun, 10 Jan 2010 14:57:40 +0000 (14:57 +0000)]
chain.c32: add grldr= command for Grub4dos

grldr of Grub4dos wants the partition number in DH:
0xff: whole drive
0-3:  primary partitions
4-*:  logical partitions

Hmmm... there really isn't a huge reason not to do this
unconditionally, at least unless it's known to cause problems.  It
would be better, of course, if grldr used the standard DS:SI, but it
doesn't, so oh well.

Some info of a Grub4dos developer (Tinybit):
  GRLDR can be loaded at any address with alignment 16(i.e., a possible
  segment base address). Generally you want to load it at 0000:7C00, or at
  2000:0000. Of course you never load it at 0000:0000 or similar.

  Before jumping to the entry point at the very beginning of GRLDR, you
  should setup DL=(BIOS drive) and DH=(partition number). For partition
  numbers, 0 - 3 are primary, 4 - 0xFE are logical. (DH=0xFF) stands for
  whole drive(unpartitioned). DH will later be passed to
  install_partition(the third byte, from bit 16 to bit 23).

http://www.boot-land.net/forums/index.php?showtopic=8457&st=20&start=20 post #22

14 years agoUpdate README for 2010
H. Peter Anvin [Thu, 7 Jan 2010 05:37:27 +0000 (21:37 -0800)]
Update README for 2010

14 years agoChange () prototypes to (void)
H. Peter Anvin [Thu, 7 Jan 2010 05:26:44 +0000 (21:26 -0800)]
Change () prototypes to (void)

() means the same as (...) in C, not the same as (void) as it does in
C++.  It is generally misused to mean (void), though.  Actually write
what we mean... this is C, after all.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into fsc
H. Peter Anvin [Wed, 6 Jan 2010 19:35:05 +0000 (11:35 -0800)]
Merge branch 'master' into fsc

Resolved Conflicts:
core/configinit.inc
version

Resolved Undetected Conflicts:
 core/ui.inc

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoUpdate date to 2010
H. Peter Anvin [Wed, 6 Jan 2010 19:31:58 +0000 (11:31 -0800)]
Update date to 2010

14 years agocore: Remove the built-in default
H. Peter Anvin [Wed, 6 Jan 2010 19:28:24 +0000 (11:28 -0800)]
core: Remove the built-in default

The built-in default is rarely if ever used anymore and highly
confusing to users.  Remove it entirely.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into fsc
H. Peter Anvin [Thu, 31 Dec 2009 00:04:30 +0000 (16:04 -0800)]
Merge branch 'master' into fsc

14 years agodosutil: don't remove targets which need Watcom even for "make spotless"
H. Peter Anvin [Thu, 31 Dec 2009 00:03:22 +0000 (16:03 -0800)]
dosutil: don't remove targets which need Watcom even for "make spotless"

Most systems won't have Watcom installed, so don't remove
Watcom-generated binaries even with "make spotless".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobtrfs: use malloc instead of static allocation for chunk map
Du, Alek [Tue, 29 Dec 2009 07:58:06 +0000 (23:58 -0800)]
btrfs: use malloc instead of static allocation for chunk map

Now when we have malloc() available, use it instead of static allocation.

Signed-off-by: Alek Du <alek.du@intel.com>
LKML-Reference: <1262073486-21321-1-git-send-email-alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobtrfs: change func() to func(void)
H. Peter Anvin [Tue, 29 Dec 2009 04:07:52 +0000 (20:07 -0800)]
btrfs: change func() to func(void)

"void func()" means "void func(...)" in C, but "void func(void)" in
C++.  However, we want the "void func(void)" meaning, but this is C.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32: stylistic comments/usage output changes
Kim Mik [Tue, 29 Dec 2009 01:00:25 +0000 (01:00 +0000)]
chain.c32: stylistic comments/usage output changes

Comments fix and usage output corrected for chain.c32

- Gert Hulselmans

Signed-off-by: Gert Hulselmans <kimmik999999@yahoo.co.uk>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge commit 'origin/master' into fsc syslinux-4.00-pre9
H. Peter Anvin [Tue, 29 Dec 2009 01:52:38 +0000 (17:52 -0800)]
Merge commit 'origin/master' into fsc

Resolved Conflicts:
version

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge commit 'sherbszt/gfxboot32' syslinux-3.85-pre1
H. Peter Anvin [Tue, 29 Dec 2009 01:51:07 +0000 (17:51 -0800)]
Merge commit 'sherbszt/gfxboot32'

14 years agogfxboot: add .gitignore file
H. Peter Anvin [Tue, 29 Dec 2009 01:48:03 +0000 (17:48 -0800)]
gfxboot: add .gitignore file

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoisolinux: export kaboom
H. Peter Anvin [Tue, 29 Dec 2009 01:46:43 +0000 (17:46 -0800)]
isolinux: export kaboom

We need to export kaboom in all cases...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge commit 'liu/master' into fsc
H. Peter Anvin [Tue, 29 Dec 2009 01:38:48 +0000 (17:38 -0800)]
Merge commit 'liu/master' into fsc

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

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoeltorito: align some pointlessly misaligned data items
H. Peter Anvin [Tue, 29 Dec 2009 00:51:34 +0000 (16:51 -0800)]
eltorito: align some pointlessly misaligned data items

Align some data items (including the jump table) which were misaligned
for no clear reason.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c: do a proper copy operation for the cmldr signature
H. Peter Anvin [Tue, 29 Dec 2009 00:24:48 +0000 (16:24 -0800)]
chain.c: do a proper copy operation for the cmldr signature

Instead of writing into memory that we might not own, create a proper
copy operation using syslinux_add_movelist().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32: add support for booting the Recovery Console of Windows NT/2K/XP
Kim Mik [Mon, 28 Dec 2009 21:42:55 +0000 (21:42 +0000)]
chain.c32: add support for booting the Recovery Console of Windows NT/2K/XP

The following patch for chain.c32 adds support to boot the Recovery Console of Windows NT/2K/XP.
Normally when you want to boot the recovery console, you need to patch "cmdcons\0" into the
bootsectorof the partition (8 bytes starting at 0x3 (4th byte)).

We can do this patching in memory:
  strcpy((char *) 0x7c03, "cmdcons");

To boot the recovery console with chain.c32:
  chain.c32 cmldr=/cmldr

- Gert Hulselmans

14 years agoMerge commit 'contrib/master'
H. Peter Anvin [Tue, 29 Dec 2009 00:13:41 +0000 (16:13 -0800)]
Merge commit 'contrib/master'

14 years agochain.c32: fixing implicit declaration of function ‘syslinux_force_text_mode’
Kim Mik [Mon, 28 Dec 2009 20:23:45 +0000 (20:23 +0000)]
chain.c32: fixing implicit declaration of function ‘syslinux_force_text_mode’

When building chain.c32:

$ make chain.c32
gcc -Wp,-MT,chain.o,-MD,./..chain.o.d -std=gnu99 -m32 -fno-stack-protector -mregparm=3 -DREGPARM=3 -march=i386 -Os -W -Wall -march=i386 -fomit-frame-pointer -D__COM32__ -nostdinc -iwithprefix include -I../../com32/libutil/include -I../../com32/include -I../../com32/gplinclude -c -o chain.o chain.c
chain.c: In function ‘do_boot’:
chain.c:552: warning: implicit declaration of function ‘syslinux_force_text_mode’
ld -m elf_i386 -T ../../com32/lib/com32.ld -o chain.elf chain.o ../../com32/libutil/libutil_com.a ../../com32/gpllib/libcom32gpl.a ../../com32/lib/libcom32.a /usr/lib/gcc/i486-linux-gnu/4.4.1/libgcc.a
objcopy -O binary chain.elf chain.c32

The following was missing:
  #include <syslinux/video.h>

- Gert Hulselmans

14 years agoNEWS, version: prepare for 3.85
H. Peter Anvin [Tue, 22 Dec 2009 23:56:03 +0000 (15:56 -0800)]
NEWS, version: prepare for 3.85

14 years agoMerge commit 'origin/master' into fsc
H. Peter Anvin [Tue, 22 Dec 2009 23:55:11 +0000 (15:55 -0800)]
Merge commit 'origin/master' into fsc

14 years agocom32: syslinux_report_video_mode returns void
H. Peter Anvin [Tue, 22 Dec 2009 23:53:43 +0000 (15:53 -0800)]
com32: syslinux_report_video_mode returns void

syslinux_report_video_mode() never gave a return value, to have it
return void unless we need something else.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agovesa: formatting fix
H. Peter Anvin [Tue, 22 Dec 2009 23:53:15 +0000 (15:53 -0800)]
vesa: formatting fix

Code formatting fix in screencpy.c

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agovesamenu: unbreak the default background
H. Peter Anvin [Tue, 22 Dec 2009 23:52:41 +0000 (15:52 -0800)]
vesamenu: unbreak the default background

Unbreak the default background image; it would clobber all of memory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: clean up the call to disk_init() syslinux-4.00-pre8
H. Peter Anvin [Tue, 22 Dec 2009 20:42:20 +0000 (12:42 -0800)]
core: clean up the call to disk_init()

Move direct references to registers up as far as possible to make the
code easier to read.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: canonicalize ROOT_FS_OPS
H. Peter Anvin [Tue, 22 Dec 2009 20:23:06 +0000 (12:23 -0800)]
core: canonicalize ROOT_FS_OPS

ROOT_FS_OPS belongs in .rodata, and make it the same format.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoisolinux: fs_init now takes a pointer to an array of filesystems
H. Peter Anvin [Tue, 22 Dec 2009 20:22:26 +0000 (12:22 -0800)]
isolinux: fs_init now takes a pointer to an array of filesystems

fs_init now takes a pointer to an array of filesystems, not a pointer
to a single filesystem type.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxe: update to match the new fs_init interface
H. Peter Anvin [Tue, 22 Dec 2009 20:10:43 +0000 (12:10 -0800)]
pxe: update to match the new fs_init interface

fs_init now takes a pointer to an array of filesystems, so provide it
as such.  Furthermore, fs_init needs to return a nonnegative value to
be considered successful.

Finally, handle the case of 64-bit partition offsets being passed in
to fs_init (in ebx:ecx in the disk-based derivatives.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobtrfs: reduce size by computing the crc32c table on the fly
H. Peter Anvin [Tue, 22 Dec 2009 18:24:14 +0000 (10:24 -0800)]
btrfs: reduce size by computing the crc32c table on the fly

The crc32c algorithm requires a largish table (1K), however, it can be
computed at runtime using a fairly trivial piece of code.  Even with
compression, this is substantially smaller.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobtrfs: add btrfs file system support to extlinux syslinux-4.00-pre7
Alek Du [Thu, 17 Dec 2009 03:14:48 +0000 (11:14 +0800)]
btrfs: add btrfs file system support to extlinux

the extlinux.sys will be installed in btrfs first 64K blank area, and the
extlinux.conf must be in root dir...

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge commit 'syslinux-3.84'
H. Peter Anvin [Tue, 22 Dec 2009 17:45:59 +0000 (09:45 -0800)]
Merge commit 'syslinux-3.84'

Resolved Conflicts:
Makefile

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' into fsc
H. Peter Anvin [Tue, 22 Dec 2009 17:38:43 +0000 (09:38 -0800)]
Merge branch 'master' into fsc

Resolved Conflicts:
com32/Makefile
com32/lib/sys/open.c
com32/modules/Makefile
dos/Makefile
dos/com16.ld
dos/syslinux.c
version

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agospec: don't actually package the dosutil directory proper syslinux-3.84
H. Peter Anvin [Fri, 18 Dec 2009 23:29:51 +0000 (15:29 -0800)]
spec: don't actually package the dosutil directory proper

No need to actually package the dosutil directory per se.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agospec: NASM 2.03, new dosutil directory
H. Peter Anvin [Fri, 18 Dec 2009 23:25:54 +0000 (15:25 -0800)]
spec: NASM 2.03, new dosutil directory

Require NASM 2.03, and add new dosutil directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: document eltorito.sys
H. Peter Anvin [Fri, 18 Dec 2009 23:20:08 +0000 (15:20 -0800)]
NEWS: document eltorito.sys

14 years agoNEWS: chain.c32 now always returns to text mode.
H. Peter Anvin [Fri, 18 Dec 2009 23:18:38 +0000 (15:18 -0800)]
NEWS: chain.c32 now always returns to text mode.

14 years agochain.c32: force text mode
H. Peter Anvin [Fri, 18 Dec 2009 23:09:00 +0000 (15:09 -0800)]
chain.c32: force text mode

When loading an unknown system, revert to text mode first.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agovideo: implement long-promised video functions; use them
H. Peter Anvin [Fri, 18 Dec 2009 23:08:02 +0000 (15:08 -0800)]
video: implement long-promised video functions; use them

Implement long-since-promised video functions defined in
<syslinux/video.h>.  Use these functions in initvesa.c instead of
open-coding the same functionality.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: document chain.c32 -> isolinux.bin addition
H. Peter Anvin [Fri, 18 Dec 2009 22:48:29 +0000 (14:48 -0800)]
NEWS: document chain.c32 -> isolinux.bin addition

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agovfs: add the readdir stuff support
Liu Aleaxander [Tue, 15 Dec 2009 06:00:38 +0000 (14:00 +0800)]
vfs: add the readdir stuff support

For now, the EXT, VFAT and ISO fs support readdir lib. So, the dir.c32
module can do the right work.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agoEXTLINUX: fix the complie error
Liu Aleaxander [Tue, 15 Dec 2009 03:15:38 +0000 (11:15 +0800)]
EXTLINUX: fix the complie error

I fogot to  remove the removed filed of inode in bmap.c file.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agoisofs: fix some coding style problems in iso9660.c
Liu Aleaxander [Mon, 14 Dec 2009 14:48:01 +0000 (22:48 +0800)]
isofs: fix some coding style problems in iso9660.c

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agocore: some cleanups
Liu Aleaxander [Mon, 14 Dec 2009 14:44:38 +0000 (22:44 +0800)]
core: some cleanups

The blksize filed in inode structure removed, since we can simply get it
by BLOCK_SIZE(fs) macro.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agoISOLINUX: applying the generic path-lookup to iso9660 fs
Liu Aleaxander [Mon, 14 Dec 2009 14:00:15 +0000 (22:00 +0800)]
ISOLINUX: applying the generic path-lookup to iso9660 fs

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agomemdisk: Fix "might be used uninitialized" warning
Shao Miller [Fri, 11 Dec 2009 18:53:16 +0000 (19:53 +0100)]
memdisk: Fix "might be used uninitialized" warning

Impact: Initializing variables

The checksum_buf function was providing an incorrect checksum
on at least one build.

14 years agomemdisk: Fix mBFT alignment
Shao Miller [Fri, 11 Dec 2009 18:52:15 +0000 (19:52 +0100)]
memdisk: Fix mBFT alignment

Impact: Fixing mBFT alignment

It was previously possible that the mBFT might not be 16-byte
aligned because the .data section was not.

14 years agovfs: turn off the cache debug information
Liu Aleaxander [Thu, 10 Dec 2009 14:26:48 +0000 (22:26 +0800)]
vfs: turn off the cache debug information

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agoLDLINUX:vfat: Oh, NO, I did fix the above bug in a wrong way!
Liu Aleaxander [Thu, 10 Dec 2009 13:35:07 +0000 (21:35 +0800)]
LDLINUX:vfat: Oh, NO, I did fix the above bug in a wrong way!

I shouldn't count on the 'dname' parameter, we should ZERO the
'long_name' buffer at every time we met a new long name entry,
and that's the right way to fix the bug.

And we shouldn't count the 'id == 0' to check if we have a long
name matched first or not. Say we have one entry of a long name
entry, it will always be 'id == 0' even it doesn't matches. So,
add a new flag variable to do this.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agoLDLINUX:vfat: fix the bug that can't find the program even it exists
Liu Aleaxander [Thu, 10 Dec 2009 13:06:25 +0000 (21:06 +0800)]
LDLINUX:vfat: fix the bug that can't find the program even it exists

Here comes a TINY bug but hard to find! After we run hdt.c32(it can run it
well), then we will get failed if we run cpuidtest.c32, and it does exist.

Well, it's weird since it doesn't happened in the fstk implementation.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
14 years agoLDLINUX:vfat: Improve the fat fs relative path searching
Liu Aleaxander [Thu, 10 Dec 2009 07:30:21 +0000 (15:30 +0800)]
LDLINUX:vfat: Improve the fat fs relative path searching

Added a new flag, FS_THISIND, used in the fat and iso fs relative path
searching. It means tries to get the last directory of the config file
path in the 'this_inode' variable to do a relative searching while loading
the kernel images in after.

And also fixed a bug in fs.c which wouldn't close the file structure when
doing path searching failed! And as a result, we could just run a few com32
programs.

Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>