aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Core:LDLINUX: removes the ugly codeldlinuxLiu Aleaxander2009-06-232-32/+9
| | | | | Make the ConfigName to store the config file path, well it's enough because the longest config file path lenght is just 28.
* Core:SYSLINUX: applies the sector_t data typesLiu Aleaxander2009-06-151-15/+16
| | | | Applies the sector_t data types and makes come code clean
* Core:SYSLINUX: code cleanLiu Aleaxander2009-06-151-53/+3
| | | | removes the unused variables in ldlinux.asm
* Core:SYSLINUX: rm the __lowemem stuffLiu Aleaxander2009-06-151-4/+0
|
* Core:SYSLINUX: ldlinux.asm converted to CLiu Aleaxander2009-06-147-1146/+1105
| | | | | Well, something goes ugly but it works. And I still need spend some more time to make the code much better.
* Core:EXTLINUX: move the header file in core into core/includeLiu Aleaxander2009-06-133-17/+0
|
* Core: fix the not found error when type the kernel name without the extent.Liu Aleaxander2009-06-121-1/+3
| | | | | | | | | 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.
* Core: fix the menu display errorLiu Aleaxander2009-06-122-2/+4
| | | | | 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.
* Core: make vfs do the workLiu Aleaxander2009-06-119-194/+242
| | | | it works, but it broke somewhere; it can't display the menu correctly.
* Core: add the skeleton fo VFS-like systemLiu Aleaxander2009-06-112-0/+199
| | | | | | | | 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.
* Core:EXTLINUX: clean the WARNINGsLiu Aleaxander2009-06-101-6/+6
|
* Core:EXTLINUX: fix bug with lots of dots and searchdirLiu Aleaxander2009-06-091-1/+4
| | | | | | | | 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!
* Core:EXTLINUX: clean the codeLiu Aleaxander2009-06-072-52/+52
|
* Core:EXTLINUX: convert mangle name to CLiu Aleaxander2009-06-078-61/+56
|
* Core: move close_file function in getc.incLiu Aleaxander2009-06-062-12/+13
| | | | because (I think) all the close_file are the same.
* Core:EXTLINUX: convert the getfssec function to CLiu Aleaxander2009-06-068-165/+128
| | | | | | 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.
* Core: Convert the searchdir function to CLiu Aleaxander2009-06-0510-245/+315
| | | | | | | | | 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.
* Core: Convert linsector and open_inode function to CLiu Aleaxander2009-06-056-240/+382
| | | | | | 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.
* Core: forget to clean core_xfer_buf stuff absolutelyLiu Aleaxander2009-06-041-1/+1
|
* Core: use __lowmem for sector read buffer exchange inseatd of core_xfer_bufLiu Aleaxander2009-06-041-3/+14
|
* Core: add two new data types, sector_t and block_tLiu Aleaxander2009-06-045-15/+9
| | | | and fixed some errors.
* CORE: Add two new file, disk.c, disk.hLiu Aleaxander2009-06-044-49/+52
| | | | | extract the sector read functions to disk.c, and add SECTOR_SHIFT, SECTOR_SIZE stuff in the disk.h as asked by hpa.
* add ext2 fs header fileLiu Aleaxander2009-06-031-0/+252
|
* fix the error code style and somethingLiu Aleaxander2009-06-032-27/+27
|
* extract the geting fs information code in asm to a C function fs_initLiu Aleaxander2009-06-036-34/+54
| | | | we use fs_init to initialize the fs information
* Wrap the getlinsec functionLiu Aleaxander2009-06-031-9/+17
| | | | Add a new function read_sectors, the only function will call getlinsec, so we can read sectors easily by calling read_sectors function
* Convert the config load part to CLiu Aleaxander2009-06-039-16/+21
| | | | | | | | | 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 :)
* printf error fixedLiu Aleaxander2009-06-035-45/+17
| | | | and removed the itao function as the printf function works well now
* Merge branch 'core32' of git://git.zytor.com/syslinux/syslinux into core32Liu Aleaxander2009-06-035-20/+53
|\ | | | | | | | | | | | | | | Conflicts: core/hello.c core/include/core.h core/layout.inc
| * core/hello.c: better demo on how to do putchar()H. Peter Anvin2009-06-021-4/+4
| | | | | | | | | | | | Better illustrate how putchar() should be implemented... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * core: move xfer_buf_seg to segment 3, and add a collision assertH. Peter Anvin2009-06-022-4/+8
| | | | | | | | | | | | | | | | | | | | 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>
| * core: handle section aliases in ld script; increase STACK32_LENH. Peter Anvin2009-06-022-5/+12
| | | | | | | | | | | | | | 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>
| * core: add new __lowmem macro to allocate a static lowmem bufferH. Peter Anvin2009-06-024-6/+25
| | | | | | | | | | | | | | | | | | 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_bufH. Peter Anvin2009-06-022-0/+4
| | | | | | | | | | | | | | 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>
* | Successed in converting the cache code to CLiu Aleaxander2009-06-038-23/+79
| | | | | | | | | | | | | | 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.
* | Convert the cache code to C and implement the core printf functionLiu Aleaxander2009-06-028-13/+233
|/ | | | | | | | | 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.
* core: call16(): simple wrapper to call 16-bit functions in the coreH. Peter Anvin2009-06-012-0/+27
| | | | | | | 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>
* prepcore: make error() generate newlineH. Peter Anvin2009-06-011-12/+13
| | | | | | | Make error() automatically generate newline, to make the code a bit cleaner looking. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* prepcore: style cleanupsH. Peter Anvin2009-06-011-52/+68
| | | | | | | 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>
* prepcore: error out if the compressed image is too large to loadH. Peter Anvin2009-06-017-16/+36
| | | | | | | | 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>
* core/hello.c: use __intcall() as a demoH. Peter Anvin2009-05-311-2/+2
| | | | | | | 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>
* core: create an ersatz __com32 structure as expected by libcom32H. Peter Anvin2009-05-312-1/+16
| | | | | | | 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>
* syslinux.ld: add a .got to the linker scriptH. Peter Anvin2009-05-311-0/+11
| | | | | | | 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>
* prepcore: actually do a full binary comparison on the output endH. Peter Anvin2009-05-311-5/+9
| | | | | | | Do a full binary comparison between the decompressed output and what we started with. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'master' into core32H. Peter Anvin2009-05-314-18/+37
|\ | | | | | | | | Conflicts: core/isolinux.asm
| * Merge branch 'syslinux-3.8x'H. Peter Anvin2009-05-314-21/+40
| |\ | | | | | | | | | | | | Conflicts: NEWS
| | * bin2hex: actually account for the number of bytes writtenH. Peter Anvin2009-05-311-2/+5
| | | | | | | | | | | | | | | | | | Unlike C, in Perl printf() doesn't return the number of bytes written. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * isohdpfx: actually generate the stack frame isolinux expectsH. Peter Anvin2009-05-311-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * isolinux: can't clobber edx when dx contains the drive number...H. Peter Anvin2009-05-311-3/+3
| | | | | | | | | | | | | | | | | | Use ebx to hold the upper half of the partition offset, not edx. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * NEWS: add changes since 3.81H. Peter Anvin2009-05-311-0/+6
| | |