| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Make the ConfigName to store the config file path, well it's enough because the
longest config file path lenght is just 28.
|
|
|
|
| |
Applies the sector_t data types and makes come code clean
|
|
|
|
| |
removes the unused variables in ldlinux.asm
|
| |
|
|
|
|
|
| |
Well, something goes ugly but it works. And I still need spend some more time
to make the code much better.
|
| |
|
|
|
|
|
|
|
|
|
| |
it will not clear the zf flag when not found the right file, so it will give the
next file search(searching for a different filename extentsion the wrong answer,
so we need do it after every file searching.
well, in fact we should use EAX(the file lenght in bytes) or si(the open_file_t
structure pointer) to indicate if we have successfully found the file or not.
|
|
|
|
|
| |
Well, it's a 'bug' that can be fixed easily fixed, that's just disable the
debug output. vesamenu.c32 will be messed up with the outputs.
|
|
|
|
| |
it works, but it broke somewhere; it can't display the menu correctly.
|
|
|
|
|
|
|
|
| |
Two new files added; they are:
fs.h defines some basic vfs objects
fs.c defines the basic functions
Note: for now, it's just a skeleton, in another word, it can't compiled.
|
| |
|
|
|
|
|
|
|
|
| |
The bug hpa said in the email that prints lots of dots when loading a kernel fixed.
And with my test, I found that the searchdir couldn't return correctly while not find
what we wanna find.(In asm, the asm code use ZF flag to test if we successed. And I
thought regs->esi.w[0] = file(be zero on fail) will set ZF flag). Well, It's a good
thing that I found the reg structure has the eflags filed. then it works; nice thing!
|
| |
|
| |
|
|
|
|
| |
because (I think) all the close_file are the same.
|
|
|
|
|
|
| |
the main file read function (getfssec) has been converted to
C. Fow now, abort 90% stuff have been converted to C. The
next is to clean the code and convert the rest.
|
|
|
|
|
|
|
|
|
| |
for now, almost all the stuff related to EXT have been converted to C,
and fow my (limit) test, it works well.
The getfssec function haven't converted to C, because it also be called
from asm file, and I find it's a bit hard to convert it to C. But however,
it's my next plan.
|
|
|
|
|
|
| |
The two functions are converted to C.
And for another thing, I find that I haven't included the load_config.c file before(my fault),
so added it here.
|
| |
|
| |
|
|
|
|
| |
and fixed some errors.
|
|
|
|
|
| |
extract the sector read functions to disk.c, and add SECTOR_SHIFT, SECTOR_SIZE
stuff in the disk.h as asked by hpa.
|
| |
|
| |
|
|
|
|
| |
we use fs_init to initialize the fs information
|
|
|
|
| |
Add a new function read_sectors, the only function will call getlinsec, so we can read sectors easily by calling read_sectors function
|
|
|
|
|
|
|
|
|
| |
For now, I added a temporary file load_config.c that would be merged into
extlinux.c file later, which would make my later work be much easier.
And in order to get rid of the conflict noisy message from the open function
in ui.inc and the open function defined in the unistd.h, I changed the
open in core to core_open. It may be ugly, but it works :)
|
|
|
|
| |
and removed the itao function as the printf function works well now
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
core/hello.c
core/include/core.h
core/layout.inc
|
| |
| |
| |
| |
| |
| | |
Better illustrate how putchar() should be implemented...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the xfer_buf_seg to segment 3 (0x30000) for now; this is more
generous than I hope we will use but makes development easier.
Add an assert to the linker script that the .auxseg/.lowmem segments
don't collide with xfer_buf_seg.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Handle aliases that gcc generates in the ld script. Increase
STACK32_LEN to something a little more reasonable.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a new __lowmem macro that can be applied to an uninitialized
static (or global) object, which allocates it in a new .lowmem section
allocated below the 1 MB boundary. Keep in mind that low memory is
precious!
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Export the cache_seg to 32-bit code as core_cache_buf, so we can port
the cache to 32-bit code without porting its 16-bit clients immediately.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
It works well for extlinux(seems broken with ldlinux).
With the printf function can not work well in the format string, like %d,
I introduced a new function itoa(), that convert the number to string, for
debugging.
|
|/
|
|
|
|
|
|
|
| |
for the cahce part, I do get the error message says that undefined reference
to `getlinsec'. I'm abort to implement a C version one.
for the printf function, it works somehow, but doesn't work well. With the test,
it seems it can handle the format output correctly. And I haven't debugged it,
so I have no idea for now.
|
|
|
|
|
|
|
| |
Simple wrapper to call 16-bit functions in the core (CS == 0, and
having a symbol, which is easiest modelled with a function prototype.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Make error() automatically generate newline, to make the code a bit
cleaner looking.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Style cleanups in lzo/prepcore.c. Add an error() function and an
error-checking zeroing memory allocator (xzalloc).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Export, from each loader stage, the symbol MaxLMA which indicates to
prepcore how big the image is allowed to be. Change prepcore to
enforce this limit and to error out otherwise.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Use __intcall() to indicate that we now can use the same functions as
used in libcom32.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
To make it easier to mix libcom32 code into the core, create a __com32
structure to make the system call functions work correctly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Add a .got section to the linker script, to cope with PIE code
imported from libcom32.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Do a full binary comparison between the decompressed output and what
we started with.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| | |
Conflicts:
core/isolinux.asm
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
NEWS
|
| | |
| | |
| | |
| | |
| | |
| | | |
Unlike C, in Perl printf() doesn't return the number of bytes written.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Actually generate the stack frame isolinux expects. This is not the
optimal order, but it appears to be what both earlier and later
versions of isolinux expects...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use ebx to hold the upper half of the partition offset, not edx.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | | |
|