aboutsummaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* pxe: always start the idle thread, in case we need itsyslinux-4.10-pre21H. Peter Anvin2012-05-293-11/+39
| | | | | | | Always start the idle thread, but leave it blocked unless we have an indication that interrupts are not working. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: drop the maximum spurious interrupt to 100 in a timer tickH. Peter Anvin2012-05-291-1/+1
| | | | | | More dangerous, but avoids false negatives... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: Add code to detect a struck interrupt line and disable (go to poll)H. Peter Anvin2012-05-292-10/+74
| | | | | | | | | Add code to detect a stuck interrupt line and disable it; at that point we will go to polling mode. Currently we only give ourselves 3 timer ticks after initialization to detect this, but this is good enough to deal with gPXE on virtio. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Merge remote-tracking branch 'genec/lwip-1.4.0-test-2' into lwipH. Peter Anvin2012-05-29114-7889/+12485
|\
| * core/pxe: lwip semaphore changesGene Cumm2012-04-273-29/+80
| | | | | | | | | | | | | | Upstream changed how it called back to the system implementing semaphores/mutexes Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
| * core/pxe: lwip changes to netconn_recvGene Cumm2012-04-272-6/+7
| | | | | | | | Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
| * core/lwip: update to lwIP-1.4.0Gene Cumm2012-04-26109-7854/+12398
| | | | | | | | | | | | Also involved moving some calls as certain functions within lwip moved/changed. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | pxe, ftp: Change anonymous password to syslinux@H. Peter Anvin2012-04-261-1/+1
| | | | | | | | | | | | Change the anonymous password from "pxelinux@" to "syslinux@". Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | lwip: Add return address to LWIP_PLATFORM_ASSERT()syslinux-4.10-pre20H. Peter Anvin2012-04-261-1/+1
| | | | | | | | | | | | It might help a little bit finding bugs... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | pxe: Remove stray debugging messageH. Peter Anvin2012-04-261-2/+1
| | | | | | | | | | | | Unloading PXE was a debugging message, use dprintf(). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | pxe, tftp: Handle block number wraparoundH. Peter Anvin2012-04-261-1/+1
| | | | | | | | | | | | | | Variables which hold TFTP block numbers must be uint16_t, or they will not wrap around properly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | pxe, tftp: make TimeoutTable staticH. Peter Anvin2012-04-262-2/+1
| | | | | | | | | | | | TimeoutTable is now only used in tftp.c, so make it static. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | pxe, tftp: Unify UDP send and use pbuf memoryH. Peter Anvin2012-04-261-20/+37
| | | | | | | | | | | | | | The spec says memory using netbuf_ref() isn't allowed to change, so use pbuf memory. This seems to avoid an assert in the lwip stack. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | lwipopts: increase the number of netbufsH. Peter Anvin2012-04-261-0/+1
|/ | | | | | We need more netbufs than the default 2... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge remote-tracking branch 'origin/master' into lwipsyslinux-4.10-pre18H. Peter Anvin2012-03-305-1/+1973
|\ | | | | | | | | | | | | | | Resolved Conflicts: NEWS version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * ntfs: check for index entry which has INDEX_ENTRY_END flag setPaulo Alcantara2012-02-112-2/+10
| | | | | | | | | | | | | | | | In ntfs_readdir(), if one entry has INDEX_ENTRY_END flag set, it won't contain indexed_file member, that'd be used afterwards when looking for the MFT record that is associated with that index entry. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: remove wrong checksPaulo Alcantara2012-02-111-48/+24
| | | | | | | | | | | | | | As an attribute may be stored in a NTFS record rather than the current record being used, these checks wouldn't work anymore for this case. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: keep looking for attributes with the latest found MFT recordPaulo Alcantara2012-02-111-19/+47
| | | | | | | | | | | | | | | | | | | | Once ntfs_attr_lookup() is called, it may change the MFT record passed as parameter so that the next calls that need the latest found MFT record don't have it anymore. So the __ntfs_attr_lookup() variant will provide support to the ntfs_attr_lookup() function handling both old and new MFT records. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: MFT record may be changed when invoking ntfs_attr_lookup()Paulo Alcantara2012-02-111-16/+20
| | | | | | | | | | | | | | | | | | After invoking ntfs_attr_lookup(), the attribute type that we're looking for may be allocated in a other MFT record, so the parameter which gets the current MFT record can be changed once to point to the other MFT record that actually contains the wanted attribute type. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: add missing field in ntfs_attr_list_entry structurePaulo Alcantara2012-02-112-6/+15
| | | | | | | | | | | | | | | | | | This missing field just messed up when reading the ntfs_attr_list_entry's fields to be used in any case. Also add a check to avoid reading the same MFT record which contains the attribute list and also the wanted attribute type. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: print function names on debug modePaulo Alcantara2012-02-111-0/+30
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: handle offsets when walking through attribute list's entriesPaulo Alcantara2012-02-112-17/+21
| | | | | | | | | | | | | | | | Instead of either hanging out or printing a fatal message on the screen when not finding attributes from attribute list's entries, handle offsets that will determine if we reached end of a attribute list. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: handle MFT records that contain $ATTRIBUTE_LIST attributePaulo Alcantara2012-02-112-33/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MFT records that contain $ATTRIBUTE_LIST attributes, for example, are those that there are many hards links, or the file itself is very fragmented, and so on. So when attributes of a MFT record that don't fit in a MFT record, those will be stored in one or more MFT records and can be found through the attribute list's entries of the MFT record being acessed, which are in the $ATTRIBUTE_LIST attribute. ntfs_attr_list_lookup() function will be called once we didn't find the attribute within the MFT record itself so that the attribute will presumably be stored in another MFT record, according to the information that has been retrieved from the attribute list's entry. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ldlinux: workaround for avoiding EDD error on btrfs probePaulo Alcantara2012-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | When installing Syslinux in an NTFS volume and then booting it up, Syslinux will print on the screen an EDD error ocurred on btrfs probing because that volume is not actually a btrfs one. Thus, to work around that issue add ntfs_fs_ops structure just before the btrfs_fs_ops so that fs_init() function will execute the ntfs_fs_ops->fs_init() function first, and on success, btrfs_fs_ops->fs_init() won't be executed either. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix POSIX vs Win32 filename comparesPaulo Alcantara2012-02-111-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the COMBOOT32 module "ls" for listining directory entries on an NTFS volume, for e.g. directories as "/Foobar" (a Win32 filename) could be only listed as "ls.c32 /foobar" and neither "ls.c32 "/Foobar" nor "ls.c32 /FOOBAR". POSIX filenames must be handled in a case-sensitivity way, while Win32 filenames are handled in a non-case-sensitivity way. Note also that the POSIX/Win32 filename compare is done in the ntfs_filename_cmp() function. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix license headersPaulo Alcantara2012-02-113-3/+3
| | | | | | | | | | | | Add missing year information in the license headers. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * bootsect.inc: try to catch obvious .0 problemsH. Peter Anvin2012-02-061-1/+15
| | | | | | | | | | | | | | | | A typical Linux kernel will be way, way too big for the low memory bootstrap area, so throw an error message if we end up in the bootstrap path with something that cannot possibly fit below 640K. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * ntfs: keep a state structure for ntfs_readdir() callersPaulo Alcantara2011-09-202-21/+45
| | | | | | | | | | | | | | | | | | Latetly, we kept a state information within the inode structure, that was actually a mistake. Now, a ntfs_readdir_state structure is allocated to keep a state that'll help on listing directory entries from sucessive ntfs_readdir() calls. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: cleanupsPaulo Alcantara2011-09-153-240/+116
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: Check for disk read error during FS probingShao Miller2011-09-111-1/+4
| | | | | | | | | | | | | | | | | | If reading the NTFS BIOS parameter block fails for any reason, we will not attempt to continue to work towards finding an NTFS filesystem on the disk/partition. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: Deal with NTFS versions for MFT record lookupsShao Miller2011-09-112-13/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | The MFT record lookup strategies are different for NTFS versions 3.0 and 3.1, so we use a function pointer for the appropriate function. We start off using 3.0 by default, then use that to read the $Volume meta-file and find out the actual version. Then we adjust the function pointer, as needed. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: use a runlist for handling multiple data runsPaulo Alcantara2011-09-113-23/+128
| | | | | | | | | | | | | | | | NTFS files can contain multiple data runs, so use a runlist for handling multiple data runs of a single file, and also modify ntfs_next_extent() in order to support this new feature. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: don't start lookup from the same block in ntfs_mft_record_lookup()Paulo Alcantara2011-09-111-5/+9
| | | | | | | | | | | | | | | | | | ntfs_mft_record_lookup() always started its lookup from the same block, which was though a mistake. So the lookup became very slow. Now determine its starting block number from the calculated MFT record's LCN number. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix ntfs_read()Paulo Alcantara2011-09-111-3/+4
| | | | | | | | | | | | lbytes variable wasn't set correctly. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: and more fixes...Paulo Alcantara2011-09-112-45/+39
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix VCN calculation and the ntfs_readdir() functionPaulo Alcantara2011-09-112-21/+59
| | | | | | | | | | | | Now I'd recommend to test it :-) Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: more bugfixesPaulo Alcantara2011-09-112-137/+231
| | | | | | | | | | | | Need more tests, hence I don't recommend to rely on it right now. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix ntfs_fs_init()Paulo Alcantara2011-09-111-13/+19
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: I think ntfs_readdir() is now fixedPaulo Alcantara2011-09-112-51/+77
| | | | | | | | | | | | gerth and sha0, you need to test it! :-) Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix ntfs_readdir()Paulo Alcantara2011-09-112-80/+166
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: mapping_chunk's length field must not be an uint8_t typePaulo Alcantara2011-09-111-2/+2
| | | | | | | | | | | | Also change the other length field accordingly. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: better way to check whether a MFT record is file or directoryPaulo Alcantara2011-09-112-40/+7
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: and more speed improvementsPaulo Alcantara2011-09-112-81/+63
| | | | | | | | | | | | gerth, you HAVE to test it! :-) Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix ntfs_match_longname() and make index_lookup() fasterPaulo Alcantara2011-09-111-82/+49
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: make index_inode_setup() fasterPaulo Alcantara2011-09-111-16/+16
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: make ntfs_match_longname() fasterPaulo Alcantara2011-09-111-30/+5
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: more cleanupsPaulo Alcantara2011-09-111-21/+21
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: cleanupsPaulo Alcantara2011-09-112-56/+5
| | | | | | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: fix bug in parse_data_run()Paulo Alcantara2011-09-112-107/+79
| | | | | | | | | | | | | | | | | | | | parse_data_run() used to get the wrong value of VCNs starting at LCN, so it was only getting the value 1 and the NTFS driver didn't look at the other VCNs. Now, everything seems to work, except the readdir() function :-P Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
| * ntfs: it's working, partially... :-/Paulo Alcantara2011-09-111-120/+132
| | | | | | | | | | | | | | My tests were: menu.c32 (worked), cat.32 (worked, ls.c32 (not worked). Looks like we have a bug in ntfs_readdir(). It will check it out later. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>