aboutsummaryrefslogtreecommitdiffstats
path: root/com32
Commit message (Collapse)AuthorAgeFilesLines
...
* chain/partiter: correct gpt header checkssyslinux-6.03-pre20Michal Soltys2014-08-261-4/+8
| | | | | | | In gpt header, lba_cur and lba_alt alternate depending on whether we read primary or backup copy. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* chain: implement strict=<0|1|2>Michal Soltys2014-08-264-14/+34
| | | | | | | | | | | | | | | This provides more fine grained control than single relax flag. to cover case with wrong disk sizes. relax and nostrict are equivalent to strict=0 norelax and strict are equivalent to strict=2 strict=1 does the same as strict=2, but ignores checks against disk size The current default is strict=1. Options: 'fixchs', '[un]hide[all]' and 'save' will forcibly enable strict=2 (can be overridden by the user). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* chain: add missing pi_del() in find*() functionsMichal Soltys2014-08-261-35/+25
| | | | | | | As partiter doesn't deallocate itself after finish (anymore), it should be deleted after each loop iteration. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* chain/partiter: adjust error reportingMichal Soltys2014-08-263-10/+5
| | | | | | | | | | Use <0 for errors, 0 for normal state, and >0 for clean completion. In future this would be necessary if it's decided to make partiter a generic lib (similar to disklib) - though it has to be quieted first and provide strerr()-like functionality in place of its verbosity. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* chain/partiter: fix possible non-NULL value returned by pi_begin() on errorMichal Soltys2014-08-261-8/+10
| | | | | | | | This patch fixes non-NULL value returned from pi_begin() in case of an error (which resulted in further hang instead of proper exit). Probably a leftover from pi_dealloc() times. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* chain/partiter: fix and improve gpt handling in buggy casesMichal Soltys2014-08-261-76/+128
| | | | | | | | | | | | | | | | | | | | | | Previous version had some issues in case of error situations, among those: - backup gpt header was not read if reading of primary failed - alternating nature of lba_cur and lba_alt was ignored This patch fixes this and extends the gpt handling. The current behavior is: - try primary header; if unreadable or checksum fails (or sanity checks fail unless relax flag is set) - try secondary header - try main partition table referenced in the header that was read; if it's unreadable or if its crc check fails - try alternative (so if we managed to read primary header, table at the end would be considered as alternative - if we managed to read secondary header, table at the beginning would be treated as such) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Revert "ldlinux: Allow a held shift key to override UI as well as DEFAULT"H. Peter Anvin2014-06-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7e7139788c8ac6ffbf474976ad4d1727e0677b9f. Requested by Ady <ady-sf@hotmail.com> who also requested the original patch: After some tests with MENU SHIFTKEY with different versions of Syslinux, I came to the conclusion that, at least for now, it would be better to undo commit 7e7139788c8ac6ffbf474976ad4d1727e0677b9f: "ldlinux: Allow a held shift key to override UI as well as DEFAULT" committed on Thu, 22 May 2014. Although the aforementioned commit makes the current 6.03 branch behave as version 4.xx, my tests show that the behavior is effectively inadequate and inconsistent. Although I had been previously nagging you in irc about maintaining backward compatibility of the "force-prompt" keys, I have to ask you to undo the aforementioned commit before the final release of 6.03 stable. The behavior of Syslinux 6.03 without this particular commit will slightly "break" with the prior "force-prompt" behavior as seen in 4.xx when using [vesa]menu.c32, but it will be more consistent and clean. Without this commit, the user can still avoid the automatic launch of the default label by the same means (the "escape" "shift" keys), which is the most important characteristic of MENU SHIFTKEY. Please consider this request before the release of 6.03 stable. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* com32: Fixing lua's dependenciessyslinux-6.03-pre14Erwan Velu2014-06-101-1/+2
| | | | | | | | | | Lua shall be one of the latest module to build as it requires some other components to be built before. Prior this patch, it was impossible to make a parallel build when "j" was greater than 26. This patch fix the ordering and allow a "make -j" of com32 directory.
* sysdump: Remove README that was for memdump, not sysdumpH. Peter Anvin2014-06-101-19/+0
| | | | | | | Sysdump was forked from memdump, but the README was never fixed. It should be updated, but until then, delete it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Make symbols defined in linker script HIDDENH. Peter Anvin2014-06-101-15/+15
| | | | | | | 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>
* adv: Remove double defintionH. Peter Anvin2014-06-091-3/+1
| | | | | | | | __syslinux_adv_* symbols are now part of the core, so don't export them again elsewhere. This broke all uses of the ADV, including --once. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* ldlinux: Allow a held shift key to override UI as well as DEFAULTH. Peter Anvin2014-05-211-4/+1
| | | | | | | For compatibility with 4.xx, make a held shift escape to override UI as well as DEFAULT. 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-203-7/+2
| | | | | | | 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: Make getting the keyboard shift state a firmware methodH. Peter Anvin2014-04-202-11/+2
| | | | | | | 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>
* bios: Use int 0x16, ah=0x02 to probe for shift flagssyslinux-6.03-pre10H. Peter Anvin2014-04-171-3/+11
| | | | | | | | At least one USB keyboard BIOS has been reported to not properly handle the keyboard flags in memory. See if actually using INT 16h works better. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* lua: Remove additional old cruft from sl_boot_linux()syslinux-6.03-pre9H. Peter Anvin2014-03-131-4/+0
| | | | | | More obsolete cruft... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add filesystem UUID to SYSAPPEND for FATSerj Kalichev2014-03-131-0/+1
| | | | | | | | | | 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'H. Peter Anvin2014-03-133-8/+49
|\ | | | | | | | | | | | | Trying again. Tested-by: Gene Cumm <gene.cumm@gmail.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * biosboot: This file is not for EFInocomapiH. Peter Anvin2014-03-131-0/+4
| | | | | | | | | | | | | | This file causes dynamic link failures on EFI, and of course has no use in the EFI environment. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * Merge branch 'nocomapi'syslinux-6.03-pre7H. Peter Anvin2014-03-033-8/+45
| |\
| | * comapi: Remove the comapi interfaces completelyH. Peter Anvin2014-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-133-8/+45
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | lua: Remove obsolete crap from sl_boot_linux()syslinux-6.03-pre8H. Peter Anvin2014-03-131-29/+0
| | | | | | | | | | | | | | | | | | sl_boot_linux() contained a bunch of random obsolete garbage. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | lua: In sl_initramfs_add_file(), actually use the real file nameH. Peter Anvin2014-03-131-3/+3
|/ / | | | | | | | | | | Instead of "/testfile1", actually use the real file name... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | lua: replace the syslinux module test with an automatic boot menu generatorsyslinux-6.03-pre6Ferenc Wágner2014-03-021-0/+152
| |
* | lua: base the package load paths on the Syslinux pathFerenc Wágner2014-03-022-2/+35
| |
* | lua: upgrade to 5.2.3Ferenc Wágner2014-03-0263-107/+160
| |
* | lua: add demo of the cmenu binding (the simple example)Ferenc Wágner2014-03-021-0/+34
| |
* | lua: start of a binding module for libmenu.c32Ferenc Wágner2014-03-022-0/+94
| |
* | lua: make the dmi module standaloneFerenc Wágner2014-03-012-4/+14
| | | | | | | | | | | | By copying two short functions from the cpu module. They do not warrant a separate module. Also make those functions static in both modules.
* | lua: also reactivate the cpu, dhcp, dmi, pci and vesa extension modulesFerenc Wágner2014-03-017-8/+19
| | | | | | | | And document the change in usage.
* | lua: bind get_key() in the syslinux moduleFerenc Wágner2014-03-011-0/+49
| |
* | lua: reactivate the syslinux extension moduleFerenc Wágner2014-03-012-2/+3
| | | | | | | | | | Under Lua 5.2 modules are not expected to set global variables to reduce namespace pollution. Explicit require() is preferred.
* | lua: add the LuaFileSystem libraryFerenc Wágner2014-03-012-0/+297
| |
* | lua: enable dynamic module loadingFerenc Wágner2014-03-012-0/+48
| |
* | sys/module.h: fix some typos in function documentationsFerenc Wágner2014-03-011-2/+3
| |
* | sys/module.h: remove the #ifdef DYNAMIC_MODULE conditionFerenc Wágner2014-03-011-20/+0
| | | | | | | | | | This makes the module_* functions accessible to COM32 modules. MODULE_INIT and MODULE_EXIT are not used anymore.
* | lua: the COM32 API does not support freopen()Ferenc Wágner2014-03-011-0/+2
| | | | | | | | Nor the concept of text vs. binary open mode, so it does not matter.
* | lua: the COM32 API does not support time()Ferenc Wágner2014-03-011-0/+5
| |
* | lua: the COM32 API actually supports exit() of oslibFerenc Wágner2014-03-012-1/+11
| |
* | stdlib.h: provide a stub definition for getenv()Ferenc Wágner2014-03-011-1/+6
| | | | | | | | Which always returns NULL, representing an empty environment.
* | lua: the COM32 API supports only part of iolibFerenc Wágner2014-03-012-0/+25
| |
* | lua: the COM32 API does not provide strcoll()Ferenc Wágner2014-03-011-0/+3
| |
* | lua: use integer arithmeticFerenc Wágner2014-03-016-11/+94
| |
* | lua: the COM32 API does not provide locale.hFerenc Wágner2014-03-011-0/+4
| |
* | lua: explicitly put the console in standard modeFerenc Wágner2014-03-011-0/+4
| |
* | lua: the COM32 API does not provide signal.hFerenc Wágner2014-03-011-0/+6
| |
* | dev.h: get size_t definitionFerenc Wágner2014-03-011-0/+1
| |
* | lua: replace src/Makefile to build Lua as a Syslinux COM32 moduleFerenc Wágner2014-03-011-172/+49
| | | | | | | | | | | | | | | | Start with the src/Makefile in Syslinux before importing Lua 5.2.2. Refresh the core Lua object list based on the original Makefile. Add the new builtin library objects. Temporarily remove the Syslinux extension library objects, as they need adjustments for the new API.
* | lua: import Lua 5.2.2Ferenc Wágner2014-03-01115-10901/+14357
| | | | | | | | | | | | Source downloaded from http://www.lua.org/ftp/lua-5.2.2.tar.gz. The com32/lua directory now matches exactly the source distribution, plus the various Syslinux extension modules and their documentation.