summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* diskstart: fix CHS mode, reinstate cyl 1023 checksyslinux-4.00-pre55H. Peter Anvin2010-06-211-12/+11
| | | | | | | Fix loading in CHS mode; we were missing a popad. Also reinstate the check for exceeding cylinder 1023. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* diskstart: clean up GPT handlingH. Peter Anvin2010-06-211-9/+11
| | | | | | | We only need 56 bytes, not 92, and we should check for 0xED as the partition type. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dns: don't get stuck on no packet receivedsyslinux-4.00-pre54H. Peter Anvin2010-06-211-10/+5
| | | | | | | | | Make sure the timeout actually gets processed. The right thing to do for the receive loop is to check for timeout, then try to receive, and loop until an acceptable packet has been received; we might as well do that explicitly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: Preserve IF through call16()H. Peter Anvin2010-06-212-3/+17
| | | | | | | | | | An intcall should always be invoked with interrupts off, but that is not necessarily the case for a near or far call; in fact it is quite the exception. As such, do not filter IF in our register image, and for our own internal call16() interface, propagate the protected-mode IF value into real mode, just as we do for the pm_call interface. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: fix handling of lost packets in DNS resolutionH. Peter Anvin2010-06-212-78/+75
| | | | | | | | When we have lost packets in DNS resolution, or otherwise no response, both rotate through the known servers and advance through the timeout table. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: properly null-terminate packet after tftp://H. Peter Anvin2010-06-211-1/+2
| | | | | | Properly null-terminate the output from a parsed tftp:// URL. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: correct the parsing of tftp:// URLsH. Peter Anvin2010-06-201-2/+2
| | | | | | | Correct the parsing of tftp:// URLs. DNS handling still needs to be unbroken. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: don't misidentify non-tftp URLs as tftpH. Peter Anvin2010-06-201-1/+1
| | | | | | Fix reversed test for tftp URLs Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: align the EPAsyslinux-4.00-pre53pathbasedH. Peter Anvin2010-06-201-0/+1
| | | | | | Align the Extended Patch Area. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge syslinux/extlinux patch code and core codeH. Peter Anvin2010-06-2020-402/+190
| | | | | | | | Merge the SYSLINUX and EXTLINUX patching code and core code, removing EXTLINUX as a separate derivative. All the disk-based systems now use the same code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Reduce sector 1 space pressure; further merge installer codesyslinux-4.00-pre52H. Peter Anvin2010-06-206-210/+294
| | | | | | | | | | Reduce sector 1 space pressure by moving objects that aren't needed by Sector 1 proper into an "extended patch area". While we're mucking with the installer code, make the syslxint and extlinux installer code even more similar. It should now be pretty straightforward to outright merge the code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* fat: fix off-by-one error in the FAT installersyslinux-4.00-pre51H. Peter Anvin2010-06-201-3/+4
| | | | | | | Fix off-by-one error in the FAT installer, which caused the install to incorrectly abort without the patched version of the data. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* linux/syslinux: handle the null pathname caseH. Peter Anvin2010-06-191-9/+17
| | | | | | | Fix mishandling of the null pathname case in the syslinux installer, and generally clean up the handling of the subpath name. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge remote branch 'sha0/for_hpa' into pathbasedH. Peter Anvin2010-06-193-9/+24
|\
| * mdiskchk: Add --no-sequential modeShao Miller2010-06-151-1/+10
| | | | | | | | | | | | | | | | | | | | It might be useful to suppress MDISKCHK.COM's classic behaviour of probing all BIOS drive numbers in search of MEMDISKs. Some BIOSes might not enjoy being probed. Reported-by: bylokk Reported-by: Gert Hulselmans <gerth@zytor.com> Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| * memdisk: Correct El Torito termination responseShao Miller2010-06-151-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | Two changes to the INT 0x13, AH=0x7B El Torito function: 1. Support the DL=0x7F "terminate all" parameter 2. Only respond to DL=0x7F or DL=our particular emulated drive number This prevents tools like Bart Lagerweij's El Torito tools from receiving false positives when probing all drive numbers. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| * eltorito: Include drive 0xFF in scanShao Miller2010-06-151-7/+8
| | | | | | | | | | | | | | | | Although drive 0xFF could yield a false positive as the El Torito booted-from drive number, some users of GRUB4DOS actually use this drive number, so we should include it in our scan. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* | Merge branch 'pathbased' of ↵H. Peter Anvin2010-06-191-0/+2
|\ \ | | | | | | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased
| * | pxe: mark ipinfo as IPv4H. Peter Anvin2010-06-181-0/+2
| | | | | | | | | | | | | | | | | | IP information is IPv4 for now. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | Merge branch 'pathbased' of ↵syslinux-4.00-pre50H. Peter Anvin2010-06-1815-52/+289
|\ \ \ | |/ / | | | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased
| * | core, pxe: remove stray debugging printfH. Peter Anvin2010-06-181-1/+0
| | | | | | | | | | | | | | | | | | Remove debugging printf added for testing. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | sysdump: dump ACPI informationH. Peter Anvin2010-06-183-0/+177
| | | | | | | | | | | | | | | | | | Dump ACPI tables. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | sysdump: use lmalloc/lfreeH. Peter Anvin2010-06-182-3/+10
| | | | | | | | | | | | | | | | | | Use lmalloc/lfree instead of using the fixed (obsolete) bounce buffer. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | sysdump: tftp: use lmalloc(), and set the gatewayH. Peter Anvin2010-06-181-6/+21
| | | | | | | | | | | | | | | | | | | | | Use lmalloc() rather than the fixed (obsolete) bounce buffer, and set the gateway for PXE stacks that need it. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | pxe: centralize all the IP information and export it to modulesH. Peter Anvin2010-06-189-43/+82
| |/ | | | | | | | | | | | | | | | | It appears that there still are PXE stacks in the field which needs the crutch of being pointed to the default gateway. As such, put all the IP information into a single memory structure and allow modules to see it. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge branch 'pathbased' of ↵H. Peter Anvin2010-06-1711-211/+489
|\ \ | |/ | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased
| * Merge remote branch 'sha0/boot_args' into pathbasedH. Peter Anvin2010-06-172-6/+12
| |\
| | * ifcpuXX: Support multiple parameters with labelsShao Miller2010-06-122-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ifcpu.c32 and ifcpu64.c32 modules take arguments including the form <true_label> -- <false_label>. It is convenient to allow these labels to be not just a single word, but to include parameters. This is useful for <TAB>-editing and modifying the command-line to include parameters you'd like to pass. Not-yet-tested: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| * | eltorito: Scan upwards instead of downwardsShao Miller2010-06-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A developer for GRUB4DOS called tinybit has reported that some BIOSes crash when the DOS ElTorito.Sys driver scans drive number 0xFF. According to the El Torito specification, drive 0x7F means "terminate all," so a plausible explanation suggested by H. Peter Anvin is that the drive 0xFF is a shadow of drive 0x7F, thus contributing to a failure on these BIOSes. Now we scan from 0x80 through 0xFF, instead. [ hpa: dropped checkin of eltorito.sys ] Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | Merge remote branch 'sha0/mdiskchk_enh2' into pathbasedH. Peter Anvin2010-06-178-201/+473
| |\ \
| | * | mdiskchk: Support three new featuresShao Miller2010-06-102-21/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDISKCHK.COM now supports three new modes: mdiskchk.com --mbfts This mode will scan between free base memory and 0xA00000 looking for MEMDISK mBFTs. For each one found, its detail will be reported. mdiskchk.com --safe-hooks This mode will attempt to walk the chain of INT 13h "safe hooks". For each MEMDISK "safe hook" found, its detail will be reported. mdiskchk.com --batch-output This mode suppresses the normal detail report and instead outputs a list of DOS SET commands. This is useful if one wishes to populate a batch file and call that batch file to set DOS environment variables, so that programs have access to those MEMDISK kernel arguments passed at boot-time. These command-line options may be combined. For example, your AUTOEXEC.BAT might go: @echo off echo @echo off>setenv.bat mdiskchk.com -m -s -b>>setenv.bat call setenv.bat>nul Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: Force 32-bit mBFT "safe hook" pointer fieldShao Miller2010-06-112-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When mstructs.h is used by MDISKCHK.COM, pointers have a 16-bit size and thus the mBFT structure sizeof() is smaller under OpenWatcom. We now union this pointer member with a uint32_t to force the field to at least 32 bits. There is another pointer in this header file which is already unioned with a uint32_t, due to that field's dual-purpose. That field is fine under OpenWatcom. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: Move dpt_t into common structures headerShao Miller2010-06-112-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This needs to be in here in order for the header file to be useful to any C file other than setup.c. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: mBFT includes the MDIShao Miller2010-06-111-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of padding the mBFT so its size is correct, we actually put the MDI struct in there, since the last commit provided it. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: Change patch area to include the entire MDIShao Miller2010-06-113-21/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the patch area began after the beginning of the MDI, but continued past its end. This is difficult to express with C structures, so we've simply changed the patch area to include the entire MDI. So it now includes the MDI size and MEMDISK version info, which we simply make constant to avoid modifying. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: Use MEMDISK header to access "safe hook"Shao Miller2010-06-112-23/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves the MEMDISK header structure into the common structures header file. It also adds the "safe hook" structure to the MEMDISK header structure, since that matches what's in the hook binaries. Thus, we access the "safe hook" via the header pointer, instead of separately. Tested against a DOS floppy image including an experimental MDISKCHK.COM and also gainst WinVBlock. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: Use real_addr_t for SEG:OFF fieldsShao Miller2010-06-112-28/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used uint32_t in a few places where it's also handy to refer to those fields' segment and offset components. Now we can do so via the real_addr_t union type. Additionally, there are a couple of places where we now have pointer fields instead of uint32_t fields, because we know what kind of struct the field is pointing to. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
| | * | memdisk: Move common structures into headersShao Miller2010-06-115-104/+141
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since MDISKCHK.COM (and possibly COM32 modules) could make use of structures found in MEMDISK's setup.c, we move these into a new header file mstructs.h. Also, since the OpenWatcom compiler uses a structure packing prefix and GCC uses a structure packing postfix, we accomodate this with preprocessor definitions around those structures needing to be packed. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* | | Merge branch 'pathbased' of ↵syslinux-4.00-pre49H. Peter Anvin2010-06-168-530/+116
|\ \ \ | |/ / | | | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased
| * | Move Linux ioctl header magic into a single fileH. Peter Anvin2010-06-166-522/+111
| | | | | | | | | | | | | | | | | | | | | Put all the Linux ioctl header magic into a single shared file, and try to make it as generally useful as possible. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | installer: fix use of FIEMAPH. Peter Anvin2010-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | | Correct the implementation of block mapping using FIEMAP (as opposed to FIBMAP). Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | extlinux: don't compile with -O0H. Peter Anvin2010-06-151-1/+1
| | | | | | | | | | | | | | | | | | -O0 is good for debugging, but sucks for production. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | dos: fix get_64_sl() and set_64_sl()H. Peter Anvin2010-06-151-5/+2
| | | | | | | | | | | | | | | | | | | | | We must make sure we actually use the modified pointer returned from set_fs(), otherwise bad things happen... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | Merge branch 'pathbased' of ↵syslinux-4.00-pre48H. Peter Anvin2010-06-152-18/+15
|\ \ \ | |/ / | | | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased
| * | Fix prototype for generate_extentsH. Peter Anvin2010-06-152-2/+2
| | | | | | | | | | | | | | | | | | Add missing const Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | syslinux: synchronize generate_extents() with extlinuxH. Peter Anvin2010-06-151-16/+15
| | | | | | | | | | | | | | | | | | Synchronize the code for generate_extents() from extlinux to syslinux. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * | extlinux: remove debugging printf'sH. Peter Anvin2010-06-151-2/+0
| | | | | | | | | | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | Merge branch 'pathbased' of ↵H. Peter Anvin2010-06-1511-131/+385
|\ \ \ | |/ / | | | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased
| * | Switch to 64-bit sector pointers everywhereH. Peter Anvin2010-06-1511-131/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to consistent use of 64-bit sector pointers; this should enable booting even for individual *partitions* larger than 2 TB. In order to not slow down the boot too much, switch the initial load from an enumeration to an extent map. This means the table gets larger (since we have to assume the worst case), but it simplifies the Sector 1 code (since we can push all the hard stuff into the installer), and will speed up booting in the general case. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | Merge branch 'pathbased' of ↵H. Peter Anvin2010-06-144-194/+302
|\ \ \ | |/ / | | | | | | ssh://terminus.zytor.com/pub/git/syslinux/syslinux into pathbased