summaryrefslogtreecommitdiff
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* SYSAPPEND: Fix space strippingDany St-Amant2015-01-051-1/+1
| | | | | | | | The description of SYSAPPEND for the DMI information states that the spaces are replaced by underscores, but this replacement does not occur in 6.03. Signed-off-by: Dany St-Amant <dany.ephemeral.2014@icloud.com> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* build: sort sources to build in a more deterministic wayPhilippe Coval2015-01-051-5/+5
| | | | | | | | | | | | | | | | | It has been observed that binaries contents are depending on the order of linked objects. This order is caused by GNU make's wildcard function and the position of sources on filesystem. This change tries to prevent this kind of randomness. Also consider building using -j1 flag to make it even more reproductible. Change-Id: Ie8eee7f336e6f1fa2863c4150d967afd15519f1d Bug: http://bugzilla.syslinux.org/show_bug.cgi?id=57#related Signed-off-by: Philippe Coval <philippe.coval at open.eurogiciel.org>
* btrfs: Suffix 64b macroMartinS2015-01-051-1/+1
| | | | | | | | gcc complains about the size of the constant of BTRFS_MAGIC_N. It is a 64bit value, so it needs the ULL suffix. Signed-off-by: MartinS <ams@luminous.ludd.ltu.se> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* PXE ISR: Force polling on select hardware #3 WORKAROUNDGene Cumm2014-08-021-0/+1
| | | | | | | | Like 2fe3a7bd, certain Dell machines (Latitude E6510) state interrupts should work but effectively don't. Force polling. Reported-by: Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* core, pxe: Don't push on one stack and pop from the other in pxenvsyslinux-6.03-pre19H. Peter Anvin2014-07-291-0/+4
| | | | | | | | | | | | | | When saving/restoring the flags around the stack switch test, we cannot leave live data on the stack *across* the stack switch that we are going to use on the other side (unlike the "big" stack frame which we only use once we are back on the original stack.) Use register BP, which is not live at either point, as a temporary holding place for the flags from the stack. Reported-by: Frank Mehnert <frank.mehnert@googlemail.com> Link: http://bugzilla.syslinux.org/show_bug.cgi?id=54 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* PXE ISR: Force polling on select hardware WORKAROUNDGene Cumm2014-07-131-3/+2
| | | | | | | | Like 2fe3a7bd, certain Dell machines (OptiPlex 990) state interrupts should work but effectively don't. Force polling. Reported-by: Alexander Perlis <aperlis@math.lsu.edu> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* lzo: Upgrade to LZO 2.07H. Peter Anvin2014-06-277-123/+10
| | | | | | Use version 2.07 of the LZO compression library. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: Re-add support for embedded DHCP optionssyslinux-6.03-pre15H. Peter Anvin2014-06-164-3/+23
| | | | | | | | | | Fix the support for embedded DHCP options. Although we were diligently saving them away, we never actually parsed them. This fixes embedded options for BIOS only -- for EFI we need to modify the encoding scheme so that it can fit inside an EFI PECOFF image. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Make symbols defined in linker script HIDDENH. Peter Anvin2014-06-101-149/+149
| | | | | | | This makes symbols defined in com32.ld and syslinux.ld HIDDEN, to avoid collisions. Additional linker scripts should have this done, too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/fs: Add support to Unix File system 1/2.syslinux-6.03-pre13Raphael S. Carvalho2014-06-024-0/+944
| | | | | | | | It's already loading modules successfully, booting Linux, and both UFS version 1 and 2 seem to be working correctly. Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* ntfs: fix incorrect file->offset usage in ntfs_readdirAndy Alex2014-06-021-6/+4
| | | | | | | | | | | | | file->offset is used to store position in index root between ntfs_readdir calls. Previously, pointer to buffer was stored in this field. However this buffer is reallocated and read each ntfs_readdir call so the pointer may become incorrect. Now offset in index root rather than pointer is stored in this field. [ hpa: applied patch manually as it arrived whitespace-corrupted ] Signed-off-by: Andy Alex <andy at r-tt.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* cache, btrfs: Provide a general cached read routineH. Peter Anvin2014-05-263-34/+41
| | | | | | | | btrfs_read() was really just a function to read data linearly while using the metadata cache. Move it to cache.c and rename it cache_read() so other filesystems can make use of it as well. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* btrfs: Remove static variablesH. Peter Anvin2014-05-262-77/+100
| | | | | | | Remove the use of static variables and replace them with per-instance allocations that can be found from the fs_info structure. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* btrfs: Fix stack smash with node size > 4Ksyslinux-6.03-pre12H. Peter Anvin2014-05-262-41/+62
| | | | | | | | | | | Newer btrfs has a node size of more than 4K. Make sure we have a buffer big enough to hold a node -- instead of allocating it on the stack, allocate it at startup time. While changing this code, remove a completely unnecessary arbitrary 64-bit divide. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Centralize shift_is_held(), make it work to force the command linesyslinux-6.03-pre11H. Peter Anvin2014-04-201-0/+9
| | | | | | | Holding down shift is supposed to force a command line unless noescape is provided; make it behave that way. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* kbd: Use the extended keyboard state query for bios_shiftflags()H. Peter Anvin2014-04-201-3/+18
| | | | | | Mixing extended and non-extended keyboard functions can be a bad idea. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* kbd: Make getting the keyboard shift state a firmware methodH. Peter Anvin2014-04-202-1/+22
| | | | | | | Getting the keyboard shift state is a firmware method. It is unfortunately unclear if it is even possible on EFI. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NTFS: Fragmented $MFT file was not handledAndy Alex2014-04-171-100/+93
| | | | | | | | | | NTFS $MFT file may be fragmented by itself (and actually is in most cases). However, such a situation was not handled. This patch adds support for a fragmented $MFT file. Signed-off-by: Andy Alex <andy at r-tt.com> Fixed-by: Ady <ady-sf@hotmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: Avoid initializing the cache more than onceRaphael S. Carvalho2014-04-034-2/+7
| | | | | | | | | | Most of file system drivers initialize the cache themselves. The problem is that the same cache could be again initialized later, then invalidating the previous one. This patch fixes this. Problem found while auditing the code. Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com>
* ntfs: Make byte_shift a constH. Peter Anvin2014-03-131-1/+1
| | | | | | byte_shift is a constant, label it as such. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NTFS: Incorrect parsing of file runsAndy Alex2014-03-131-6/+2
| | | | | | | Length of some extents of NTFS files is parsed in wrong way. Signed-off-by: Andy Alex <andy at r-tt.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* FSUUID for ext2 filesystemSerj Kalichev2014-03-132-1/+40
| | | | | | | | | The ext2 filesystem supports volume UUID now. The FSUUID variable can be set to kernel command line. Patch is based on FSUUID for FAT patch. Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add filesystem UUID to SYSAPPEND for FATSerj Kalichev2014-03-1312-1/+74
| | | | | | | | | | Filesystem UUID shows the partition we boot kernel from. The kernel parameter has format like FSUUID=DA1A-0B2E. The SYSAPPEND bit is 0x40000. Now the FAT only supports FSUUID. The patch is based on 67aaaeeb228. Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'nocomapi'syslinux-6.03-pre7H. Peter Anvin2014-03-0314-528/+71
|\
| * comapi: Remove the comapi interfaces completelyH. Peter Anvin2014-02-138-454/+16
| | | | | | | | | | | | | | | | | | | | Remove the last bits of the comapi interfaces completely. This does not install stub handlers for the INT 20-3Fh handlers, as we don't support loading old COMBOOT/COM32/COM32R images anymore. We could put those back if we really need them. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * bios: Remove shuffle and boot comapi callH. Peter Anvin2014-02-138-45/+44
| | | | | | | | | | | | | | | | Remove the shuffle and boot comapi call. This is the last of the comapi calls left; we should now be able to completely remove the comapi support. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * bios: Remove comapi calls related to the ADVH. Peter Anvin2014-02-134-38/+20
| | | | | | | | | | | | | | | | The only comapi calls left are the ones related to the ADV and to shuffle and boot. Remove the ADV-related ones as part of getting rid of the comapi framework completely. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | core, bios: Move __syslinux_shuffler_size to assemblysyslinux-6.03-pre5H. Peter Anvin2014-02-282-8/+7
| | | | | | | | | | | | | | | | Putting the __syslinux_shuffler_size in a C file by itself caused it to not get included in the core, causing failures. Put it in assembly to make sure it really gets included there. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | shuffler: Actually get the shuffler size sanelysyslinux-6.03-pre4H. Peter Anvin2014-02-272-1/+15
| | | | | | | | | | | | | | | | | | Actually get the shuffler size sanely. At least for now, we are BIOS only, so stub out the functions on EFI (they shouldn't even be compiled for EFI; this stuff should be moved into some kind of BIOS-only directory.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Makefiles: export the firmware type as a cpp variableH. Peter Anvin2014-02-271-1/+2
| | | | | | | | | | | | Export the firmware type as a cpp variable so we can #ifdef. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | core, bios: Incorrect detection of EDD in /core/fs/diskio_bios.csyslinux-6.03-pre3Andy Alex2014-02-261-0/+2
| | | | | | | | | | | | | | DL register is not set to drive number when detecting EDD for drive, so detection may fail. Signed-off-by: Andy Alex <andy at r-tt.com>
* | Merge branch 'syslinux-5.xx'H. Peter Anvin2014-02-261-3/+3
|\ \ | |/ |/| | | | | | | | | Resolved Conflicts: core/init.c Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * bios: Don't truncate memory size needed to 16 bitssyslinux-5.xxH. Peter Anvin2014-02-261-1/+1
| | | | | | | | | | | | | | We can't truncate the memory size needed to 16 bits *before* we convert it to kilobytes... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * bios: Fix lowmem checkH. Peter Anvin2014-02-261-2/+2
| | | | | | | | | | | | | | | | The lowmem check was backwards and would report error when there wasn't any. This was missed because the Ctrl key check was *also* backwards and so the check would only be done when Ctrl was held down. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | pxe: Export the initial stack and PXE(NV) structure, fix pxechnH. Peter Anvin2014-02-133-9/+24
| | | | | | | | | | | | | | | | | | | | Export the initial stack and PXE(NV) structure pointers properly, even for users which need seg:offs. Use this in pxechn.c rather than the already-removed INT 22h AX=000Ah call. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Gene Cumm <gene.cumm@gmail.com>
* | Merge remote-tracking branch 'origin/rockridge'H. Peter Anvin2014-02-124-4/+655
|\ \ | | | | | | | | | | | | | | | | | | Resolved Conflicts: com32/include/byteswap.h Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | iso9660.c did not copy terminating 0 of Rock Ridge namerockridgeThomas Schmitt2013-04-251-1/+1
| | | | | | | | | | | | | | | I noticed that the trailing 0-byte is not copied to the result of iso_readdir(). The function iso_convert_name() does append a trailing 0.
| * | iso9660: use generic get_le32() accessor in SUSP/Rock Ridge codeH. Peter Anvin2013-04-021-12/+7
| | | | | | | | | | | | | | | | | | | | | Use the new get_le32() accessor in the SUSP/Rock Ridge code. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Thomas Schmitt <scdbackup@gmx.net>
| * | iso9660: read littleendian ISO 9660/SUSP numbersH. Peter Anvin2013-04-021-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attached is a patch which switches susp_rr.c from reading the big-endian ISO 9660 and SUSP numbers to reading the little-endian ones. Tested within libisofs on my collection of ISO images. [ hpa: more mastering programs are known which botch the bigendian information than the littleendian information, so most systems only read the littleendian info regardless of the native byte order. ]
| * | iso9660: Avoid arbitrarily large malloc()sThomas Schmitt2013-04-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After explaining the slightly wasteful usage of malloc()/memcpy() with multi-block CE entries, i noticed that i did not install a safety cap on the malloc size. I could not challenge this in practice but only by gdb manipulation. My most CE-happy test image has 3 occasions of multi-block CE. All three only span over 2 blocks each.
| * | iso9660: Add support for Rock Ridge filenamesThomas Schmitt2013-03-314-4/+659
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for parsing SUSP and RRIP records, and support for Rock Ridge filename extensions, thus avoiding the filename limitations (length and character set) of plain iso9660. This will be a part of using UTF-8 for filenames and console. [ hpa: manually rebased to the elflink branch ]
* | | Merge branch 'syslinux-5.xx' into master; fixes loadkeysGene Cumm2014-01-251-1/+1
|\ \ \ | | |/ | |/| | | | Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
| * | Add const qualifiers to loadleysGene Cumm2014-01-251-1/+1
| | | | | | | | | | | | Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | | mem: Calling int15 for 0x8800Erwan Velu2014-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | On some code, the intcall 0x15 was missing when playing with 0x8800 making code useless. That's not a big deal since e820 or e801 shall be provided by host but anyway, let's fix it ;)
* | | com32sys_t inreg shall be zeroified prior intcallErwan Velu2014-01-228-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per commit f775e740a3a817a4ff5ba26bea99dbfd735456b3, inreg parameters of intcall() shall be zeroified. Having unclean inreg could trigger bad behaviors on some hosts. This patch is about adding memset() calls prior any intcall() : - some intcall didn't had any memset at all - some successive intcall() calls didn't memset inreg in between calls
* | | Merge remote-tracking branch 'origin/syslinux-5.xx'H. Peter Anvin2014-01-211-0/+1
|\ \ \ | |/ /
| * | localboot: Clear register image before usingH. Peter Anvin2014-01-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Using a register image on the stack without initializing it is not a good idea. Reported-by: Erwan Velu <erwanaliasr1@gmail.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | core/legacynet: Enable dot quad resolutionGene Cumm2014-01-081-0/+35
| | | | | | | | | | | | | | | | | | in dnsresolv.c:dns_resolv() Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | | isolinux: Shorten a few of the debug messagesH. Peter Anvin2014-01-021-2/+2
| | | | | | | | | | | | | | | | | | | | | Apparently with some toolchains, isolinux-debug runs out of space by a few bytes. Shorted a few messages slightly to make up for that. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | Merge remote-tracking branch 'origin/elflink' into firmwareH. Peter Anvin2013-12-111-35/+11
|\ \ \ | |/ / | | | | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>