| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
More dangerous, but avoids false negatives...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Upstream changed how it called back to the system implementing
semaphores/mutexes
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Also involved moving some calls as certain functions within lwip moved/changed.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Change the anonymous password from "pxelinux@" to "syslinux@".
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
It might help a little bit finding bugs...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Unloading PXE was a debugging message, use dprintf().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
TimeoutTable is now only used in tftp.c, so make it static.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
| |
We need more netbufs than the default 2...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
NEWS
version
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Add missing year information in the license headers.
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 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_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>
|
| |
| |
| |
| |
| |
| | |
lbytes variable wasn't set correctly.
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Now I'd recommend to test it :-)
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Need more tests, hence I don't recommend to rely on it right now.
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| | |
gerth and sha0, you need to test it! :-)
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Also change the other length field accordingly.
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| | |
gerth, you HAVE to test it! :-)
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|