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>
H. Peter Anvin [Mon, 1 Feb 2010 23:42:39 +0000 (15:42 -0800)]
Merge commit 'origin/master' into fsc
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
H. Peter Anvin [Mon, 25 Jan 2010 00:29:44 +0000 (16:29 -0800)]
Merge commit 'origin/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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
H. Peter Anvin [Sun, 10 Jan 2010 20:38:12 +0000 (12:38 -0800)]
NEWS: document Grub4DOS chainloading
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>
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
H. Peter Anvin [Thu, 7 Jan 2010 05:37:27 +0000 (21:37 -0800)]
Update README for 2010
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>
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>
H. Peter Anvin [Wed, 6 Jan 2010 19:31:58 +0000 (11:31 -0800)]
Update date to 2010
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>
H. Peter Anvin [Thu, 31 Dec 2009 00:04:30 +0000 (16:04 -0800)]
Merge branch 'master' into fsc
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>
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>
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>
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>
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>
H. Peter Anvin [Tue, 29 Dec 2009 01:51:07 +0000 (17:51 -0800)]
Merge commit 'sherbszt/gfxboot32'
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>
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>
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>
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>
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>
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
H. Peter Anvin [Tue, 29 Dec 2009 00:13:41 +0000 (16:13 -0800)]
Merge commit 'contrib/master'
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
H. Peter Anvin [Tue, 22 Dec 2009 23:56:03 +0000 (15:56 -0800)]
NEWS, version: prepare for 3.85
H. Peter Anvin [Tue, 22 Dec 2009 23:55:11 +0000 (15:55 -0800)]
Merge commit 'origin/master' into fsc
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
H. Peter Anvin [Fri, 18 Dec 2009 23:20:08 +0000 (15:20 -0800)]
NEWS: document eltorito.sys
H. Peter Anvin [Fri, 18 Dec 2009 23:18:38 +0000 (15:18 -0800)]
NEWS: chain.c32 now always returns to 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>
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>
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>
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>
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>
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>
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>
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>
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.
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.
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>
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>
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>
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>