summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* gPXE: [a20] Send a null command to the KBC after changing A20syslinux-3.70-pre27H. Peter Anvin2008-06-271-0/+3
| | | | | | | | | | | | Send a null command, specifically "pulse outputs" with no outputs selected, to the KBC after changing A20. This was apparently done by DOS, presumably as a synchronization hack, and the authors of the UHCI spec thought it was inherent. Therefore, there are systems out there (e.g. HP DL360 G5) which will stop responsing to "legacy USB" unless they see the null command, 0xFF, written to port 0x64 at the end of the A20 toggling sequence. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: don't clobber bp in getfssecsyslinux-3.70-pre26H. Peter Anvin2008-06-261-15/+6
| | | | | The comapi functions get very unhappy if bp is ever clobbered, since it uses bp as a frame pointer.
* comboot.doc -> comboot.txtsyslinux-3.70-pre25H. Peter Anvin2008-06-261-1/+1
|
* ldlinux: handle "first byte E5 change to 05" rule in FATH. Peter Anvin2008-06-251-1/+5
| | | | | | | | | | | | | | FAT has a somewhat obnoxious rule: byte E5 in the first position is encoded as 05. If it was *always* that case we could simply fold it into the codepage tables, but that rule applies only to the first character. Note that in the common codepages (incl. 437), E5 is lower-case sigma (σ), which we currently upper case to upper case sigma (Σ, E4) preventing a match -- which DOS *doesn't* do (it thinks of the Greek characters as symbols, not subject to case distinctions.) Putting that special case in the codepage-generation scripts seems too ugly, though.
* cptable: error out on incorrect usageH. Peter Anvin2008-06-251-1/+5
|
* Add more codepage data; support disjoint mappingsH. Peter Anvin2008-06-2543-21/+11190
| | | | | | | Add additional codepage data from the Unicode Consortium. Additionally, add support for generating codepage files for the case where the filesystem codepage and the display codepage do not match. The standard Makefile doesn't actually do that, however.
* extlinux: Fix commentH. Peter Anvin2008-06-241-1/+1
| | | | "Bytes left" should be "bytes read"
* mboot.c32: no need to include the ANSI enginesyslinux-3.70-pre24H. Peter Anvin2008-06-241-2/+3
| | | | We don't need the ANSI engine in mboot.c32.
* NEWS: document newline fix.H. Peter Anvin2008-06-241-0/+1
|
* Default to \n -> \r\n in ANSI and xserialH. Peter Anvin2008-06-244-5/+8
| | | | | | | | | | | Default to \n -> \r\n conversion in the ANSI and xserial modules, rather than relying on escape codes to make that behave. This effectively means that as far as the serial port is concerned, this behavior cannot be turned off (with less than having the xserial state machine interpret this sequence) and the escape code *should not* be used. That is fine for our applications, though.
* NEWS: document complex menu system fixsyslinux-3.70-pre23H. Peter Anvin2008-06-231-0/+2
|
* complex menu: Fixed bug in menu.c so complex.c32 works again.Murali Ganapathy2008-06-231-3/+4
| | | | | Avoid crashing in the presence of unnamed submenus.
* Ugly workaround for bug in GNU ld 2.17H. Peter Anvin2008-06-232-2/+16
| | | | | | | GNU ld 2.17, which is still included with Debian 4.0 (etch), mishandles PC-relative relocations to an absolute address. Hack around it by making pm_entry a segment-relative symbol, completely unnecessarily so.
* extlinux: actually fix the closing of a file on EOFsyslinux-3.70-pre22H. Peter Anvin2008-06-221-2/+1
| | | | | Actually close the file properly on EOF, even if not aligned to a sector boundary. Sigh.
* parsecmd: on an unknown keyword, print the unknown keywordsyslinux-3.70-pre21H. Peter Anvin2008-06-221-4/+13
| | | | Print the unknown keyword if we run into one.
* extlinux: fix the end of file conditionH. Peter Anvin2008-06-221-7/+7
| | | | | We would incorrectly not set SI=0 when returning from getfssec upon end of file. Fix this.
* NEWS: Document A20 changesyslinux-3.70-pre20H. Peter Anvin2008-06-201-0/+4
|
* chain.c32: use a more Linux-kernel-like syntaxH. Peter Anvin2008-06-202-28/+37
| | | | | Make the syntax for chain.c32 more Linux-kernel-like. This also makes parsing easier, so it's a win all around.
* core/writedec.inc: fix commentH. Peter Anvin2008-06-191-1/+2
| | | | Decimal, not hex...
* core: add decimal number write routineH. Peter Anvin2008-06-191-0/+56
| | | | | Add routine to write decimal numbers, currently unused, but likely to become useful at some time or another.
* chain.c: avoid comma-space in assembly stubsH. Peter Anvin2008-06-191-14/+14
| | | | | Comma-space takes up too much horizontal space, since we want to be able to comment properly.
* chain.c32: check the stub sources into the treeH. Peter Anvin2008-06-192-0/+44
| | | | | | Check the stub sources into the tree, even though they aren't used by the build; they are still useful when experimenting with changing this stuff.
* Add address aliases for freedos and msdosH. Peter Anvin2008-06-191-0/+6
|
* chain.c32: minor stylistic cleanupH. Peter Anvin2008-06-191-2/+1
|
* chain.c: we can't rely on dosmem and int13 in here...H. Peter Anvin2008-06-191-86/+119
| | | | | | | | dosmem and int13 can change during boot loader shutdown. It is therefore unsafe to rely on them retaining their value from running in chain.c32 itself. Instead, we have to install a suitable stub which makes that particular determination at runtime. Fortunately that is not all that hard to do.
* chain.c32: support loading DOS kernelsH. Peter Anvin2008-06-181-14/+88
| | | | | | | | | | | | Support loading files below 0x7c00, as required, for example, by DOS kernels. Furthermore, pass the drive number in BL as well as DL. With this, we can load the FreeDOS kernel with: chain.c32 hd0 -seg 0x60 -file /kernel.sys Should really clean up the syntax before 3.70 final, though, and provide a way to default to the syslinux device.
* <syslinux/bootrm.h>: fix order of SS and DSH. Peter Anvin2008-06-181-2/+2
| | | | | SS is segment 2, DS is segment 3; this header had them backwards. Fortunately not too many things relied on having DS != SS.
* TEST: issue a null command to the KBC as part of A20-flippingsyslinux-3.70-pre19H. Peter Anvin2008-06-182-4/+32
| | | | | UHCI supposedly wants a null command (0FFh) sent to the KBC as part of the A20-flipping sequence. See if that works for us.
* codepage: strip accents during shortname upper-casingH. Peter Anvin2008-06-161-2/+23
| | | | | | | | | | | | If we don't have a direct upper-case equivalent to a character, but we *do* have the "naked" version of the upper-case character (defined as the first character of the canonical Unicode decomposition of the case-mapped character), then use it for the intracodepage table (used for shortnames.) This matches DOS behaviour. No obvious way, yet, to handle the fact that DOS doesn't uppercase the lowercase sigma, but that's not a huge problem; besides, lowercase sigma is mapped to position 0xE5, which would require dealing with the special handling of this character in the first position.
* codepage: include case variant characters in UnicodeDataH. Peter Anvin2008-06-162-0/+31
| | | | | Adjust the gensubset.pl script to that all case variants are explicitly included in UnicodeData.
* TODO: remove obsolete itemsH. Peter Anvin2008-06-151-11/+0
|
* chain.c32: finalize the NTLDR interfacesyslinux-3.70-pre18H. Peter Anvin2008-06-152-47/+85
| | | | Settle on a final implementation of the NTLDR support.
* loadfile: make sure we don't trash errnoH. Peter Anvin2008-06-151-1/+6
| | | | Make sure we don't trash a useful value in errno.
* writestr_early: save/restore registersH. Peter Anvin2008-06-152-2/+6
| | | | | We have made it this far without it, but it seems like a disaster waiting to happen. We can afford the extra four bytes in sector 1.
* Fix bogus instances of writestr_earlyH. Peter Anvin2008-06-154-5/+6
| | | | Fix a set of bogus calls to writestr_early instead of writestr.
* Mechanically rename the writestr functionsH. Peter Anvin2008-06-1515-101/+101
| | | | | | | | | | Mechanically rename the writestr functions: writestr -> writestr_early cwritestr -> writestr ... to reflect which function is more appropriate to call in normal circumstances.
* gpxe: update gpxe to latest gitH. Peter Anvin2008-06-1325-856/+1053
|
* Make it explicit that Windows need -swap, even XP :(H. Peter Anvin2008-06-131-1/+1
|
* pci: fix off-by-one error and introduce MAX_PCI_FUNCSebastian Herbszt2008-06-132-8/+9
| | | | | | | | | | | | | | | | | | | | | | | In include/sys/pci.h we have #define MAX_PCI_BUSES 255 and struct pci_bus_list { struct pci_bus pci_bus[MAX_PCI_BUSES]; uint8_t count; }; And in lib/pci/scan.c for (bus = 0; bus <= MAX_PCI_BUSES; bus++) { pci_bus_list->pci_bus[bus].pci_device_count = 0; Fix possible overflows and introduce MAX_PCI_FUNC. - Sebastian
* chain.c32: don't swap drives when already primarysyslinux-3.70-pre17H. Peter Anvin2008-06-121-3/+3
| | | | | Don't install the swap stub when we are already the primary drive, even if -swap is specified.
* NEWS: Document new chain.c32 features.H. Peter Anvin2008-06-121-0/+6
|
* chain.c32: support swapping BIOS drive numbersH. Peter Anvin2008-06-121-22/+83
| | | | Support installing a stub to swap BIOS drive numbers.
* chain: use shuffle API; support loading a boot fileH. Peter Anvin2008-06-121-27/+100
| | | | | Use the shuffle API, and support loading a boot file instead of the standard boot sector. This should be able to load NTLDR.
* NEWS: update the blurb about the new MEMDISK geometry stuff.H. Peter Anvin2008-06-121-1/+3
|
* fdgeo.pl: exit values; fix division by zeroH. Peter Anvin2008-06-101-0/+3
| | | | | Return exit values to go with the error messages; don't divide by zero in case of range error.
* Fix DOS interrupt error messagessyslinux-3.70-pre16H. Peter Anvin2008-06-101-3/+4
|
* When erroring out on an DOS interrupt, print infoH. Peter Anvin2008-06-103-11/+54
| | | | | Print the interrupt number, AX, and CS:IP of the offending system call.
* ldlinux: search_dos_dir returns attributes in DLsyslinux-3.70-pre15H. Peter Anvin2008-06-101-4/+3
| | | | | search_dos_dir returns attributes in DL, so we shouldn't push/pop DX around this function!
* Add *.cp to .gitignoreH. Peter Anvin2008-06-101-0/+1
|
* Add file missing from previous checkinH. Peter Anvin2008-06-101-0/+92
| | | | Add file missing from checkin 012d53b0453ac7a5ec03fb802434fe64e6f85bf5