| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Use generic_getfssec for ext2.
NOTE: Something seems wrong with the generic_getfssec() loop; running
this on an ext2 filesystem ends up with the code looking up the same
extent twice in a row, which should not happen.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use generic_getfssec() for the FAT filesystem. Do a bunch of
calculations based on clusters rather than on sectors, so we don't
have to do the same thing N times for N sectors per cluster.
Fix boundary conditions in generic_getfssec(). Adjust iso9660 to
match the resulting interface change.
Add dprintf's to generic_getfssec() and a few other routines.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
In hybrid disk mode, one block will generally *not* equal one sector.
Use the boot_info_table to find the primary volume descriptor.
Remove the now-unused cdrom_read_blocks().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Use generic_getfssec() for iso9660. This is a particularly simple
case, since all iso9660 files (that we support) are contiguous.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Add a generic getfssec method which operate on cached extents. This
should avoid the need to each filesystem to implement its own getfssec
loop.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Remove an unused variable in opendir().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Remove variables which are no longer used.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Some tools might assume that the reloc offset being 64 automatically
means it's really a Windows file.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
As long as we have a pretence of an ABI we should at least keep it
updated.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
We don't need to abuse the InitRD buffer anymore.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Make readdir work on iso9660.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
No need to do yet another bounce through lowmem for no good reason.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Handle the case of opening a directory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
Use a PVT() macro and a structure to access the private inode data for
all filesystems, instead of open-coding the type.
Use a packed structure for iso9660, instead of open-coding pointer
casts.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Use the TEXT_START macro instead of hard-coding 7C00h.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Drop the dependency on core_xfer_buf in the self-loader, and instead
load the data aligned to an offset, and then bulk-move it into place.
diskstart.inc will need to do something similar if/when support is
added for > 1K sectors on BIOS.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Add a few dprintf() statements to the core malloc/free which makes it
easier to track down bugs.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
Fix double free of pathbuf in searchdir().
Constify the pathname passed to ->iget().
Major cleanups of the iso9660 filesystem; it would use insufficiently
dimensioned stack variables and do compares in a rather inefficient
manner.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Replace hard-coded bounce buffer uses in com32/lib with lmalloc/lfree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
a) initialize *all* the head nodes
b) the lowmem heap needs to be paragraph (16 byte) aligned
c) use a dedicated tag value for headnodes. The type code should be
removed and replaced with special tag values for head node and
free.
d) for libcom32 code called from the core, do NOT present a
usable bounce buffer; we should only ever use lmalloc/lfree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Add lzalloc().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
The core function can't set the com32 errno, so we need to do it in
the wrapper.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
lmalloc(), lfree(), lstrdup()
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Move the aligned segments downward, to provide for the largest
possible contiguous lowmem heap. This minimizes the necessary lowmem
footprint. (Note: the heap doesn't actually need to be contiguous,
but having it not be makes it harder to size.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a better malloc for the core. In particular, use the same core
that we should eventually be able to use for the entire system in
Syslinux 5 -- with module awareness, etc.
This code can also accommodate multiple heaps. Set up a separate heap
for lowmem; the intent is to use explicit lowmem allocations instead
of the static bounce buffer. The lowmem allocation is also exported
via the pmapi mechanism, so modules can safely allocate lowmem.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Clean up and fix the generation of the ipappend strings. In
particular, BOOTIF= was generated into a buffer which was too small.
Put the buffer definitions in C while we're at it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Drop the use of a magic PKTBUF_SEG, and instead just have a high
memory buffer for each file, and a single lowmem buffer that we reuse
at will.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For better or worse, we use block counts for communicating with the
filesystem. It would therefore be rather polite to tell them what
block size we expect.
This fixes a boot failure with the new loadhigh routine.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Add a direct 32-bit API to some functions; initially read file only.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now btrfs won't export its own searchdir, it uses the iget and
iget_root interface.
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/
|
|
|
|
|
| |
core_xfer_buf is still used as bounce buffer by libcom32 code linked
into the core. This is likely unsafe -- needs to be fixed.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Rewrite the loadhight function in C, and eliminate double usage of
xfer_buf_seg.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Go back to using real_mode_seg as bounce buffer; this reserves
xfer_buf_seg strictly for the in-core filesystem code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Use the linker to assign xfer_bug_seg and real_mode_seg.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Save a few bytes by merging the very similar BIOS read and BIOS write
functions.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use libpci to access PCI config space. This *hopefully* will make it
less likely that some old machine hangs when failing to set the
requested video mode.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| | |
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |\ |
|
| | |\ |
|
| | |\ \ |
|
| | |\ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add some code from the tool "915resolution" to allow arbitrary
resolutions to be set on some Intel chipsets.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move copybs to dosutil, change the Makefile to deal with UPX being
able to compress (e.g. very small files.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
a) we have to copy the command line tail earlier - the pm_*
calls may use xfer_buf_seg in particular.
b) use vk_append rather than trackbuf; vk_append should definitely
be unused.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove stray -DDEBUG that should not have been committed.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There is no law that symlinks has to be a single block only.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It may not happen in normal operation, but a zero block value is legit
and means an all-zero block. For anything which uses the cache, we
have dealt with that by always keeping a zero block in the cache.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|