| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Infrastructure for btrfs, plus an import of the btrfs code written for
Grub 0.97. It does not yet compile and will need significant changes
still.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
kaboom.c; necessary file missing from previous checkin.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Make kaboom() a noreturn function directly callable from 32-bit code.
Do a special macro hack to keep it from interfering with the symbol
kaboom in 16-bit code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
All the byte-swapping functions are true constfuncs...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
For the macro versions of hton/ntoh, use casts everywhere.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
We can use stpcpy() as generic_unmangle_name(); this also gives us the
pointer to the end that the assembly code wants and expects.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
I missed converting iso9660 over to the new VFS. Do it now.
In particular, getfssec now takes a struct file *.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Remove strpcpy(); it is exactly the same thing as stpcpy() which we
already have, and which is more "standard" (in the sense that none of
these are actually standard...)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
FILENAME_MAX was 2^8 in all variants by now; make it a common define.
Libraries mangle/unmangle; we have generic_mangle_name for Unix-like
filesystems, and unmangle now defaults to simple strcpy.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Preemptively move filesystem-specific files into core/fs/<fsname> so
we can start trying to pretend to be organized.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Major cleanups to the VFS layer:
- add a persistent generic "struct file"
- pass "struct file *" to getfssec
- add a close_file method
- use VFS-assigned indicies instead of pointers as file handles.
This allows the file structures to be allocated from high memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
well, still get lots of bugs, like when we execute
dir /boot/syslinux
in fact, it will list the file in /boot/ directory but not in /boot/syslinux/
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| |
| |
| | |
This makes the searchdir can find a dir; it's also prepared for the readdir function used in rosh
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
More tweaks to the open (searchdir) routine, in particular in the OACK
packet parsing. From testing it appears substantially more robust
now.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Tweak the hton/ntoh macros so that they are true constants if the
input is a constant expression; this makes them usable in the
preprocessor.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/
|
|
|
|
|
|
| |
Minor cleanups to the C code.
Reimplement "Plan C" for finding the entry point.
Share the PXE API definitions between com32 and the core.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Remove the assembly definition of Files in isolinux and pxelinux.
Still to do: remove dependencies on Files living in .bss16 space.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Add -fwrapv, -freg-struct-return, -fno-exceptions,
-fno-asynchronous-unwind-tables, -fno-strict-aliasing.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Add missing (void) on no-argument functions, drop casts for Files
(it's now a properly typed array), clean up loop forms.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Use the standard form for a for loop; add missing (void).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
core/extlinux.asm
core/ldlinux.asm
Merge in liu's changes, but fix Files[] to be a private structure
inside the filesystem, thus we don't have to worry about the
size of it in the assembly code at all.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| | |
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The current code only works iff the tsize option is set.
This patch fixes the handling of the OACK packet and makes the code
work with all combinations of the tsize and blksize options.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
|
| |
| |
| |
| |
| |
| | |
removes the unused variables and functions
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
The size of open_file_t structure in extlinux is twice than in the others derivatiives. So we
should cut the MAX_OPEN to half.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
the trackbuf and Files are all uesed in all the four fs, so it would be nice to put the externs
in core.h instead in each c file of the four fs
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| |
| |
| | |
This well let me far away from some werid trouble
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| |
| |
| |
| | |
the current code can just handle one option beacuse I put the do-while loop in the wrong position.
|
| |
| |
| |
| |
| | |
we extern the SecPerClust from diskstart.inc and used in fat.c, but we also defined another
SecPerClust in ext2.c. So we should be better to make more things in _static_, just like hpa told.
|
| |
| |
| |
| |
| |
| |
| | |
Instead of using conditional compilation, just set the root filesystem
type in the assembly stub.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
ldlinux.asm and extlinux.asm are by now extremely similar. Merge
them.
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>
|