| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Correctly handle the case of partial data from the unread buffer, and
partial data via the device read mechanism. We need to advance the
buffer pointer.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
Add an unread() syscall, which allows some read bytes to be pushed
back into the read buffer. This allows us to read a header from a
file and then push it back.
This also makes ungetc() implementable.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
core/Makefile
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Kill hack we used to generate a dynamic symbol table. There is a much
better technique for doing this which is already deployed on the
"dynamic" branch.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ \
| |/ |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Shouldn't 'isohybrid -id ID' write ID as 32bit number? Currently it ends up
as string messing up the mbr.
|
| | |
| | |
| | |
| | | |
Remove an %ifdef that the macros take care of anyway.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Win98SE DOS apparently hangs if INT 13h, AH=15h returns the capacity
in CX:DX for floppies... *unless* EDD is enabled. Confused yet?
This patch also adds some more tracing framework.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
We incorrectly used "equ" instead of "dd" (or "db") for strings in
memdisk.inc. Oops! My mistake in my 'freedos' branch. Silly
mistake. - Shao
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix the sizes of some of the fields in the EDD DPT. Write a real one
to the best of our ability.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't write the EDD DPT unless we're actually in EDD mode! Otherwise
we end up corrupting memory beyond the defined code. This was the
reason 5ca2764460883f5e9a5bd83db00f242ea1272e33 worked, by moving
variables out of the corruption zone.
Debugged-by: Shao Miller <Shao.Miller@yrdsb.edu.on.ca>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some additional fields from the EDD-4 spec. draft for the Device Parameter
Table have been added into the structure in setup.c and memdisk.inc. These
were added in the hopes of resolving a FreeDOS MEMDISK bug on IBM ThinkPads.
|
| | |/
| | |
| | |
| | |
| | |
| | | |
Use "rep movsd" to copy data to VGA memory, not "rep movsb".
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Trivially optimize the old-style graphics by using another level of
temporary buffering in bitplane format, thereby enabling the use of
rep movsd to write the contents to the screen. This can speed things
up substantially in virtualization environments.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move a couple of variables away from the EDD data block. Without this
change, FreeDOS doesn't boot on Thinkpads. Unfortunately, this should
have been a null change, so it is really not clear why this happens.
Stack overflows have been ruled out. Probably need to examine the
FreeDOS kernel in some detail.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some systems, e.g. a lot of Thinkpads, invoke INT 13h recursively from
within the stack itself. This is generally a bad idea as it re-runs
any INT 13h hooks (including the ones that DOS installs!), but it
should work. Keep a counter of recursive invocations and simply
bypass the whole system including the DL shift if the invocation is
recursive.
With this, MS-DOS boots on a Thinkpad T61. FreeDOS is still broken,
though, but apparently in a different manner...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
At least one users really need this, so be nice and provide it...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
com32/modules/chain.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When loaded from ISOLINUX, we still have a valid boot drive. Set it!
This permits the use of chainloaded boot loaders.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
PXELINUX is supported by the gfxboot module.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Parse the TIMEOUT keyword from the config file and pass it to gfxboot core.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Only call gfxboot core if labels are specified in the config file.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Display an error message if the user specified bootlogo file is not found.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Makes handling of keywords more flexible.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
GNU hash style is the only one that matters to us. No need to bloat
up the code with additional formats.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To make debugging easier, when we free fp->i.buf, we also want to
clear it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of statically allocating huge buffers, use malloc/free to
dynamically allocate them from the heap as needed. It really doesn't
make any sense to create a half-megabyte .bss little of which will
actually get used...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Print some basic compression statistics, so we know what we are
dealing with.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A cleaner way to remove .rel.dyn without bloating the output: put it
at the end, and then remove it in objcopy at the same time we convert
to binary.
Also, mark bss segments (NOLOAD) explicitly, to guard against linker
bugs.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't use strip(1) from binutils at this point, but we might in the
future.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
__dynstr_len was really computing __dynsym_len, oops...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix the extlinux installer so we can handle more than one sector of
sector pointers. This code should be merged with the equivalent code
in the syslinux installer.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Explicitly add the pointer to the PE header in the binary. That way
we might be eventually able to create a merged DOS/Win32 binary.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to add the -E (--export-dynamic) options to the ld command
line, otherwise we don't necessarily export global symbols to modules.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't need symbols.S anymore, remove it as a dependency.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The root elf_module wants these as lengths, not start and end, so we
might just want to indulge it...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Generate a .dynamic section plus all the relevant content. The magic
trick seems to be to call ld with "-pie -Bsymbolic". The latter is
necessary to force ld to resolve all relocations.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need openmem.o in the Makefile if it's actually supposed to get
built...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reading from memory as if it were a file is pretty easy... we just
treat it as a really big block buffer and tell the file layer that we
already closed the underlying handle.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Extract symbol table information to be exported to modules. This is a
really hacky way of doing it, so replace it later.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We're going to need at least constructors when we start linking in
com32 library code in a serious way.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Give a full aligned 64K chunk for the PM stack.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
More complete and consistent structure for dosutil/Makefile.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|