Matt Fleming [Thu, 31 Mar 2011 12:08:37 +0000 (13:08 +0100)]
elflink: Detect circular dependencies during module load
It's possible for the 'modules.dep' file to contain circular
dependencies where module A has a dependency on module B, and module B
has a depedency on module A.
Currently what happens in the face of circular dependencies when
trying to parse and load the modules in 'modules.dep' is that we get
stuck in a loop in module_load_dependencies(), presumably eventually
blowing the stack.
To fix this we maintain a singly-linked list of module names that are
in the process of having their dependencies loaded, but that have not
completed the loading. Everytime we begin loading the dependencies for
a new module we check to see if that module name is already on the
linked list. If it is, we've discovered a circular reference so we
refuse to load the dependencies and print a helpful message to the
user which includes the circular dependency chain.
It would be possible to cope with these circular references if we were
to skip loading the dependencies for any modules that are on the
linked list and defer resolving any module relocs until after all
module images have been loaded into memory. However, it's more than
likely that a circular reference is indicative of a bug and that the
correct fix would be to extract the symbols causing the circular
dependency into their own module. So we treat circular dependencies as
an error case for now.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
H. Peter Anvin [Wed, 16 Mar 2011 19:53:58 +0000 (12:53 -0700)]
Merge remote-tracking branch 'mfleming/for-hpa/elflink/fix-compiler-warnings' into elflink
Matt Fleming [Wed, 16 Mar 2011 14:56:01 +0000 (14:56 +0000)]
elflink: Return zero from draw_background()
Fix the following comiler warning,
background.c:37:1: warning: control reaches end of non-void function
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 14:34:53 +0000 (14:34 +0000)]
elflink: Add draw_message_file() prototype
To fix the following warning,
menumain.c: In function ‘show_message_file’:
menumain.c:196:5: warning: implicit declaration of function ‘draw_message_file’
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 14:32:12 +0000 (14:32 +0000)]
elflink: Fix compiler warnings by including core-elf.h
Numerous files need to include core-elf.h to get the definition of
'enum kernel_type'.
In file included from mytest.c:19:0:
menu.h: At top level:
menu.h:206:40: warning: ‘enum kernel_type’ declared inside parameter list
menu.h:206:40: warning: its scope is only this definition or declaration, which is probably not what you want
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 14:26:40 +0000 (14:26 +0000)]
elflink: Fix compiler warnings in hello.c
Fix the following warnings,
hello.c: In function ‘hello_main’:
hello.c:23:5: warning: too few arguments for format
hello.c:20:9: warning: unused variable ‘i’
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 14:05:16 +0000 (14:05 +0000)]
ldlinux: Fix compiler warning in colors.c
Include core-elf.h to get the definition of enum kernel_type to fix
the following warning,
In file included from colors.c:17:0:
../modules/menu.h:206:40: warning: ‘enum kernel_type’ declared inside parameter list
../modules/menu.h:206:40: warning: its scope is only this definition or declaration, which is probably not what you want
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 13:40:46 +0000 (13:40 +0000)]
ldlinux: Delete unused variables and functions
Fix the following compiler warnings,
readconfig.c: In function ‘parse_one_config’:
readconfig.c:1059:6: warning: unused variable ‘i’
readconfig.c: At top level:
readconfig.c:1110:13: warning: ‘dump_menu’ defined but not used
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 13:26:57 +0000 (13:26 +0000)]
ldlinux: Sprinkle const type qualifers
The following warnings are all caused because we're assigning from
const char * to char *. As the strings are never modified, it makes
sense to add the const type qualifer instead of casting away const.
readconfig.c: In function ‘parse_config_file’:
readconfig.c:708:11: warning: assignment discards qualifiers from pointer target type
readconfig.c:937:10: warning: assignment discards qualifiers from pointer target type
readconfig.c:987:20: warning: assignment discards qualifiers from pointer target type
readconfig.c:998:15: warning: assignment discards qualifiers from pointer target type
readconfig.c:1004:18: warning: assignment discards qualifiers from pointer target type
readconfig.c:1041:11: warning: assignment discards qualifiers from pointer target type
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 16 Mar 2011 13:18:41 +0000 (13:18 +0000)]
ldlinux: Fix compiler warnings in cli.c
Make the compiler happy by casting away the following warnings,
cli.c: In function ‘process_command’:
cli.c:381:2: warning: passing argument 1 of ‘strtok’ discards qualifiers from pointer target type
../../../com32/include/string.h:44:16: note: expected ‘char *’ but argument is of type ‘const char *’
cli.c:400:3: warning: passing argument 2 of ‘spawn_load’ from incompatible pointer type
../../../com32/include/sys/exec.h:43:12: note: expected ‘const char **’ but argument is of type ‘char **’
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 15 Mar 2011 21:38:45 +0000 (21:38 +0000)]
ldlinux: Fix the following warnings
ldlinux.c: In function ‘enter_cmdline’:
ldlinux.c:15:23: warning: unused variable ‘aux’
ldlinux.c: In function ‘ldlinux_main’:
ldlinux.c:75:5: warning: implicit declaration of function ‘kaboom’
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:55:09 +0000 (20:55 +0000)]
elflink: handle the NULL return of edit_cmdline
When use ctrl-c to cancle the current input, the edit_cmdline
function will return a NULL string. While, the called didn't
handle that case, and an error would be happened.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:54:01 +0000 (20:54 +0000)]
elflink: Add ctrl-R key bind support
This patch would add the CTRL-R key bind support. It would have
the basic feature of the CTRL-R key bind in bash. While, don't
expect it will do exactly like what bash will do.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:44:53 +0000 (20:44 +0000)]
elflink: use 'input' as the prompt of the CLI
Use the paramter 'input' of fucntion edit_cmdline as the prompt of the
CLI. I guess this is what the 'input' parameter used for. It's is more
extendable than using a specify prompt.
And, for now, let's use the 'syslinux' as the prompt.:)
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:29:33 +0000 (20:29 +0000)]
elflink: Add Ctrl-p + Ctrl-n key binds
Add ctrl-p and ctrl-n key binds to get the prev and next
command. They are much easier to reach than KEY_UP and
KEY_DOWN.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:28:26 +0000 (20:28 +0000)]
elflink: Do clear screen even if we have no pDraw_Menu method
Do clear screen even if we have no pDraw_Menu method, since user
may work in CLI mode and want to clear screen by pressing 'Ctrl-L'.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:24:57 +0000 (20:24 +0000)]
elflink: Fix the wrong malloc size in enter_cmdline
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Liu Aleaxander [Tue, 15 Mar 2011 20:19:33 +0000 (20:19 +0000)]
elflink: Cleanup some warnings
Cleanup some unused variables, goto lables, and add the missing
header files.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Wed, 9 Mar 2011 14:20:19 +0000 (14:20 +0000)]
ldlinux: Parse and store the "onerror" command line
If we fail to load a kernel and the parser found an "onerror"
directive, execute the onerror command line.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 8 Mar 2011 19:25:37 +0000 (19:25 +0000)]
ldlinux: Parse configuration files
Use the configuration file parser provided by ldlinux to search for
and parse any configuration files. If a kernel or ui module is found
in the configuration file, it is executed once parsing completes.
Parsing and loading kernels is now entirely done in C!
The parser also builds the data structures for later use by the menu
system. Previously, after the asm config parser had parsed the config
file and found a kernel image to boot (or dropped the user at a
command prompt), the menu.c32 module had to open the config file and
re-parse it. Now, we only need to parse the file once.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 8 Mar 2011 17:07:13 +0000 (17:07 +0000)]
ldlinux: Record "default" and "ui" command lines
The command line following the "default" and "ui" options may be a
kernel or com32 module to load and execute, so we need to record it
for later processing.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 8 Mar 2011 13:13:28 +0000 (13:13 +0000)]
Convert mp() to dprintf()
There's only one function required for printing debugging information
and that is dprintf() - there is no need to invent another. dprintf()
is also superior to mp() because it can be enabled/disabled on a
per-file basis via the DEBUG symbol.
Switch all users of mp() to dprintf() and leave them disabled (don't
define the DEBUG) so we have a less verbose boot by default.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Mon, 7 Mar 2011 23:02:35 +0000 (23:02 +0000)]
elflink: Don't reload the current EXEC_MODULE module
As the ldlinux.c32 ELF module is an executable (EXEC_MODULE) and not a
library (LIB_MODULE), we need to make sure we don't reload it when
another executable wants to resolve a symbol exported by ldlinux.
Whenever an EXEC_MODULE module is loaded its MODULE_MAIN function is
executed. In the case of ldlinux, the MODULE_MAIN function drops the
user at a command line. So, what currently happens is that if we load
an executable module, say menu.c32, which needs symbols exported by
ldlinux and ldlinux is already loaded and running, we'll reload
ldlinux when resolving undefined symbols from menu.c32 and end up
dropping the user at a command prompt and _not_ resolve the symbols
and return control to menu.c32's MODULE_MAIN function. ldlinux.c32
effectively steals control of the proces.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Thu, 3 Mar 2011 11:53:42 +0000 (11:53 +0000)]
elflink: Move config data into config.h
Move some definitions that other compilation units need to know about
into config.h. In subsequent patches ldlinux.c will use the global
options set by readconfig.c to decide which kernel to boot.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Thu, 3 Mar 2011 11:15:47 +0000 (11:15 +0000)]
elflink: Look for syslinux.cfg
Add syslinux.cfg to the list of configuration file names to check for
when the config parser searches for configuration files.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Sun, 13 Feb 2011 21:02:51 +0000 (21:02 +0000)]
elflink: Move code out of core and into ldlinux.c32
Currently, there is a lot of code in core/elflink that is not strictly
required for the core to function. There are benefits to keeping the
core proper as small as possible, for example so that it can fit
within a single 64K block on btrfs.
So move the following pieces of code out of core/elflink and into a
new ldlinux ELF module which will be automatically loaded by the core:
- command line interface code
- C configuration parser
- refstr implementation
- rest of the menu system
Below are some measurements of the size of ldlinux.elf before and
after this change.
Before:
text data bss dec hex filename
161328 10439 913468 1085235 108f33 core/ldlinux.elf
After:
text data bss dec hex filename
142423 10415 909500 1062338 1035c2 core/ldlinux.elf
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Mon, 7 Mar 2011 21:52:54 +0000 (21:52 +0000)]
elflink: Don't pass NULL to spawn_load()
As spawn_load() dereferences the 'argv' parameter it really doesn't
expect it to be NULL.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 8 Mar 2011 13:59:02 +0000 (13:59 +0000)]
core: Be less verbose at boot
Change some printf() calls to dprintf() so that we stop printing
debugging information that is only useful for developers.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 8 Mar 2011 17:41:17 +0000 (17:41 +0000)]
elflink: Remove *.c32 on 'make clean'
The clean target should also remove any .c32 files.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Tue, 8 Mar 2011 13:47:32 +0000 (13:47 +0000)]
dprintf: Print to stdout as well as serial ports
The intention here is to make dprintf the de-facto function for
printing all debugging information. As such, it's useful to print to
the serial ports and stdout so that developers are not required to
hook up a serial port to view output.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Matt Fleming [Thu, 17 Feb 2011 22:03:27 +0000 (22:03 +0000)]
sys/times.h: Mark times() static inline
As times() is just an accessor function for accessing __ms_timer it's
worth marking it as static inline so that we don't incur any function
call overhead just for accessing a symbol.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Matt Fleming [Thu, 17 Feb 2011 22:03:26 +0000 (22:03 +0000)]
elflink: Warn about unresolved symbols when creating modules.dep
If, after running elf_gen_dep.sh, there are still some symbols that
are not provided by any of the modules that we built, issue a warning
and list the unresolved symbols.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Matt Fleming [Thu, 17 Feb 2011 22:03:25 +0000 (22:03 +0000)]
gitignore: Add modules.dep
This file is generated at build time and contains a list of modules
and their dependencies.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Matt Fleming [Mon, 14 Feb 2011 12:28:34 +0000 (12:28 +0000)]
gitignore: Ignore GNU global files
Add GPATH, GRTAGS and GTAGS which are tag files generated by GNU
global.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Feng Tang [Tue, 24 Aug 2010 08:27:30 +0000 (16:27 +0800)]
elflink: modify isolinux.asm to make it go to elf flow
Just add a "pm_call load_env32" after calling fs_init(), now
the isolinux installer can use elf code to parse config, enter
menu, loading kernel too
Signed-off-by: Feng Tang <feng.tang@intel.com>
Feng Tang [Fri, 20 Aug 2010 03:56:58 +0000 (11:56 +0800)]
elflink: remove all __com32.cs_pm from com32/
We don't need these wrappers any more, as we can directly call
those APIs from core lib
H. Peter Anvin [Fri, 13 Aug 2010 04:03:33 +0000 (21:03 -0700)]
version: This branch is now officially the 5.00 devel branch
Make it official this is the 5.00 development branch.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 13 Aug 2010 04:00:22 +0000 (21:00 -0700)]
Merge branch 'elflink' into elflink-merge
H. Peter Anvin [Fri, 13 Aug 2010 03:48:33 +0000 (20:48 -0700)]
Merge branch 'master' into elflink-merge
Resolved Conflicts:
core/diskfs.inc
core/mem/free.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Feng Tang [Fri, 13 Aug 2010 03:42:00 +0000 (20:42 -0700)]
elflink: merge with master branch
ELF modules basically work
Conflicts:
com32/Makefile
com32/lib/Makefile
com32/lua/etc/luavs.bat
core/fs/getcwd.c
core/include/fs.h
core/pmapi.c
libinstaller/syslxmod.c
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 11 Aug 2010 18:50:48 +0000 (11:50 -0700)]
version: next version will be 4.03
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 11 Aug 2010 17:42:51 +0000 (10:42 -0700)]
core: look for invalid MBR handover information address
The Win7 MBR doesn't provide proper handover information. Instead, it
leaves DS:SI = 0:0x7e00, so reject that information as invalid on
grounds that it is pointed into the bootloader area.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Gene Cumm [Sun, 1 Aug 2010 16:55:27 +0000 (12:55 -0400)]
chain: Extra comments; shrink the new space to minimum
Gene Cumm [Sun, 1 Aug 2010 16:39:19 +0000 (12:39 -0400)]
chain: Just assign the value rather than using memcpy()
Gene Cumm [Sun, 1 Aug 2010 14:23:51 +0000 (10:23 -0400)]
chain: add drmk= to usage
Gene Cumm [Sun, 1 Aug 2010 14:23:00 +0000 (10:23 -0400)]
chain: Fix up and clean up DRMK load code; fix filename length; Patch memory.
Gene Cumm [Sun, 1 Aug 2010 03:14:06 +0000 (23:14 -0400)]
chain.c32: prepare for loading DRMK
H. Peter Anvin [Fri, 30 Jul 2010 17:20:08 +0000 (10:20 -0700)]
syslxopt: remove lengthy warning message
Remove a lengthy warning message which cause the actual command
reference to overflow a 24-line screen.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 30 Jul 2010 17:17:52 +0000 (10:17 -0700)]
syslxopt: fix fatal warnings
Fix fatal warnings in syslxopt.c partly due to legal but non-idiomatic
use of switch(). Since the only purpose was to conditionalize single
output statements, just do it explicitly.
In addition, since they are conditional messages, there is no need to
explain when they apply.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Michal Soltys [Fri, 30 Jul 2010 06:46:07 +0000 (08:46 +0200)]
chain.c: fix public index value in mbr and gpt iterators
mbr and gpt iterators skip empty / non-data partitions properly, but don't
update publicly visible index. With this patch, such partitions are counted as
well.
Signed-off-by: Michal Soltys <soltys@ziu.info>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Gene Cumm [Tue, 27 Jul 2010 22:58:46 +0000 (18:58 -0400)]
libinstaller/syslxopt.c: remove unneeded usage text from certain variants.
Gert Hulselmans noticed this.
Sebastian Herbszt [Tue, 27 Jul 2010 12:46:57 +0000 (14:46 +0200)]
Make __free_tagged actually free memory
__free_tagged called by comboot_cleanup_lowmem (core/mem/free.c) doesn't
seem to work correctly. Memory allocated with lmalloc() isn't marked as free
after the allocating module exits:
boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000553f0
boot: mem
lowmem_buf: 0x00075400
boot: mem
lowmem_buf: 0x00000000
boot:
The expected behaviour
boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000353e0
can be achieved with the following patch.
H. Peter Anvin [Mon, 26 Jul 2010 20:57:34 +0000 (13:57 -0700)]
core: define and use set_flags() helper
Rather than opencoding the arithmetic flag mask, define an inline to
make that happen properly.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Mon, 26 Jul 2010 20:33:37 +0000 (13:33 -0700)]
sample: remove obsolete "raw" comboot/com32 samples
We really don't want people to write code without using the library,
so just remove these obsolete and no longer functional samples.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Gene Cumm [Mon, 26 Jul 2010 19:09:43 +0000 (15:09 -0400)]
libmenu: Fix cursor on exit from showmenus()
This fixes the issue in hdt.c32 that Kent Robotti noticed where
exiting directly from Menu Mode caused the cursor to not be displayed.
This same issue also affects com32/cmenu/simple.c32 and probably
others using showmenus().
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Mon, 26 Jul 2010 00:27:37 +0000 (17:27 -0700)]
core: don't hang if no config file is found
If we can't find a configuration file, we need to do something
slightly more friendly than hanging.
Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 21 Jul 2010 19:33:13 +0000 (12:33 -0700)]
win64: experimental Win64 installer (syslinux64.exe)
Experimental Win64 installer. This is necessary to be able to run on
WinPE64, since WinPE64 doesn't support running 32-bit binaries.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Wed, 21 Jul 2010 19:00:12 +0000 (12:00 -0700)]
win32: fix README, adjust broken +x bits
Fix the win32/README file and adjust some stray +x bits which had
crept in.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Geert Stappers [Tue, 20 Jul 2010 22:12:36 +0000 (15:12 -0700)]
lua: remove obsolete FIXME comment
Remove an obsolete FIXME comment; the problem was caused by a stale
library.
H. Peter Anvin [Tue, 20 Jul 2010 06:45:18 +0000 (23:45 -0700)]
NEWS: document IP byte order fix.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 20 Jul 2010 06:42:41 +0000 (23:42 -0700)]
pxe: fix byte order of output from parse_dotquad()
parse_dotquad() incorrectly returned output in host byte order.
Reported-by: Alexander Wuerstlein <arw@arw.name>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Shao Miller [Tue, 20 Jul 2010 03:34:04 +0000 (23:34 -0400)]
extlinux, linux: Ignore --force in these installers
Previous commits described this behaviour, but did not
actually implement it. :)
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
Shao Miller [Tue, 20 Jul 2010 03:21:57 +0000 (23:21 -0400)]
dos: Use libinstaller option parser
We will produce an error message if a user attempts
to use an option we don't implement.
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
Feng Tang [Fri, 16 Jul 2010 08:37:21 +0000 (16:37 +0800)]
elflink: comment off the size check in syslxmod.c
Feng Tang [Thu, 15 Jul 2010 09:52:14 +0000 (17:52 +0800)]
elflink: remove unneeded extlinux/ext2_fs.h
Feng Tang [Wed, 14 Jul 2010 08:44:02 +0000 (16:44 +0800)]
elflink: remove core/printf.c
Feng Tang [Wed, 14 Jul 2010 08:35:41 +0000 (16:35 +0800)]
elflink: core: rename getcwd() to avoid conflict
Feng Tang [Wed, 14 Jul 2010 07:55:25 +0000 (15:55 +0800)]
elflink: a lot of core/fs merge
As:
modified: core/Makefile
modified: core/adv.inc
modified: core/call16.c
modified: core/callback.inc
modified: core/comboot.inc
modified: core/diskstart.inc
deleted: core/extlinux.asm
modified: core/include/core.h
modified: core/isolinux.asm
modified: core/ldlinux.asm
modified: core/pmapi.c
modified: core/timer.inc
modified: elf_gen_dep.sh
Feng Tang [Wed, 14 Jul 2010 06:43:01 +0000 (14:43 +0800)]
elflink: merge 4.01 fs part
changes including:
modified: core/cmdline.inc
modified: core/comboot.inc
modified: core/fs/btrfs/btrfs.c
modified: core/fs/chdir.c
modified: core/fs/diskio.c
modified: core/fs/fat/fat.c
modified: core/fs/fs.c
modified: core/fs/getfssec.c
modified: core/fs/iso9660/iso9660.c
modified: core/fs/lib/loadconfig.c
modified: core/fs/pxe/dhcp_option.c
modified: core/fs/pxe/dnsresolv.c
modified: core/fs/pxe/idle.c
modified: core/fs/pxe/pxe.c
modified: core/fs/pxe/pxe.h
modified: core/fs/readdir.c
modified: core/include/fs.h
modified: core/pxelinux.asm
Feng Tang [Wed, 14 Jul 2010 03:16:22 +0000 (11:16 +0800)]
elflink: some change in com32/
modified: com32/MCONFIG
modified: com32/Makefile
modified: com32/mboot/map.c
modified: com32/mboot/mboot.h
modified: com32/menu/menu.h
modified: com32/menu/menumain.c
modified: com32/menu/readconfig.c
modified: com32/modules/chain.c
modified: com32/modules/config.c
modified: com32/modules/elf.c
modified: com32/modules/ifcpu.c
modified: com32/modules/ifcpu64.c
new file: com32/modules/ifplop.c
new file: com32/modules/ls.c
modified: com32/modules/pmload.c
new file: com32/modules/pwd.c
modified: com32/modules/sdi.c
new file: com32/modules/whichsys.c
Feng Tang [Wed, 14 Jul 2010 03:08:06 +0000 (11:08 +0800)]
elflink: add new files
new file: com32/include/getopt.h
new file: com32/include/ilog2.h
new file: com32/lib/getopt_long.c
new file: com32/lib/sys/sleep.c
new file: com32/sysdump/acpi.c
new file: com32/sysdump/be_srec.c
new file: com32/sysdump/rbtree.c
new file: com32/sysdump/rbtree.h
new file: dos/getsetsl.c
new file: dos/memmove.S
new file: libinstaller/advio.c
new file: libinstaller/fat.c
new file: libinstaller/linuxioctl.h
new file: memdisk/compiler.h
new file: memdisk/mstructs.h
new file: utils/memdiskfind.c
Feng Tang [Wed, 14 Jul 2010 02:57:18 +0000 (10:57 +0800)]
elflink: add more change as show below
com32/lib/chdir.c
com32/lib/getcwd.c
com32/lib/getopt.c
com32/lib/pci/scan.c
com32/lib/sys/farcall.c
com32/lib/sys/times.c
com32/lib/sys/vesa/background.c
com32/lib/sys/vesa/screencpy.c
com32/lib/vdprintf.c
com32/rosh/rosh.c
com32/rosh/rosh.h
com32/sysdump/backend.h
com32/sysdump/be_tftp.c
com32/sysdump/main.c
com32/sysdump/memmap.c
com32/sysdump/sysdump.h
com32/sysdump/vesa.c
doc/comboot.txt
doc/extlinux.txt
doc/gpt.txt
doc/memdisk.txt
doc/menu.txt
doc/syslinux.txt
Feng Tang [Wed, 14 Jul 2010 02:44:30 +0000 (10:44 +0800)]
elflink: prepcore: comments off size check for temp
Feng Tang [Wed, 14 Jul 2010 02:41:24 +0000 (10:41 +0800)]
elflink: add zlib change
Feng Tang [Mon, 12 Jul 2010 07:45:05 +0000 (15:45 +0800)]
elflink: merge these files
com32/include/sys/times.h
com32/include/syslinux/config.h
com32/include/syslinux/pmapi.h
com32/include/unistd.h
com32/include/zconf.h
com32/include/zlib.h
dos/Makefile
dos/errno.h
dos/string.h
dos/syslinux.c
dosutil/eltorito.asm
dosutil/mdiskchk.c
dosutil/mdiskchk.com
extlinux/Makefile
extlinux/fat.h
extlinux/main.c
libfat/libfat.h
libfat/open.c
libinstaller/Makefile
libinstaller/setadv.c
libinstaller/syslinux.h
libinstaller/syslxcom.c
libinstaller/syslxcom.h
libinstaller/syslxint.h
libinstaller/syslxmod.c
libinstaller/syslxopt.c
libinstaller/syslxopt.h
linux/Makefile
linux/syslinux.c
Feng Tang [Mon, 12 Jul 2010 07:31:17 +0000 (15:31 +0800)]
elflink: merge libpng
Feng Tang [Mon, 12 Jul 2010 07:02:50 +0000 (15:02 +0800)]
elflink: add com32/lua dir
Feng Tang [Mon, 12 Jul 2010 06:56:43 +0000 (14:56 +0800)]
elflink: merged gfxboot/gpllib/hdt/cmenu/ part
Feng Tang [Mon, 12 Jul 2010 06:45:25 +0000 (14:45 +0800)]
elflink: small modification
Feng Tang [Thu, 1 Jul 2010 08:42:35 +0000 (16:42 +0800)]
elflink: some cleanup
Feng Tang [Wed, 30 Jun 2010 08:12:04 +0000 (16:12 +0800)]
elflink: will run default item in config file after starting ui
Feng Tang [Wed, 30 Jun 2010 08:02:49 +0000 (16:02 +0800)]
elflink: cleanup com32/elflink/modules/cpuid.c
Feng Tang [Wed, 30 Jun 2010 06:33:13 +0000 (14:33 +0800)]
elflink: meminfo.c: change cs_bounce buf to lmalloc
Feng Tang [Wed, 30 Jun 2010 06:11:21 +0000 (14:11 +0800)]
elflink: add several files to com32/elflink/modules
They are meminfo/pcitest/dir/vesainfo/cpuid/cpuidtest. But not
all of their .c32 works.
One note from vesainfo.c32 is, we need change all cs_bounce usage
to lmalloc/free
Feng Tang [Mon, 28 Jun 2010 07:14:37 +0000 (15:14 +0800)]
elflink: malloc cleanup
* remove com32/lib/malloc.h
* remove com32/elflink/test_memalign.c
Feng Tang [Mon, 28 Jun 2010 03:15:53 +0000 (11:15 +0800)]
elflink: add -s option for objcopy/ld to reduce extlinux.elf size
Feng Tang [Thu, 24 Jun 2010 08:28:39 +0000 (16:28 +0800)]
elflink: remove hmalloc which is not needed after core/com32 malloc merged
Feng Tang [Thu, 24 Jun 2010 08:03:34 +0000 (16:03 +0800)]
elflink: remove the malloc.c/free.c/realloc.c/zalloc.c from com32
Feng Tang [Thu, 24 Jun 2010 07:10:56 +0000 (15:10 +0800)]
elflink: move realloc() to core/mem/malloc.c
* remove most of the functinal codes from com32 malloc/realloc code
* next step will be remove those codes from com32
* one left item is posix memalign problem and memory tag problem
which is usded by elf module load code
Feng Tang [Tue, 22 Jun 2010 09:22:29 +0000 (17:22 +0800)]
elflink: remove highmem.inc
Feng Tang [Tue, 22 Jun 2010 09:19:45 +0000 (17:19 +0800)]
June 22: new mem_init works
Feng Tang [Tue, 22 Jun 2010 06:02:21 +0000 (14:02 +0800)]
elflink: modify build.sh
Feng Tang [Mon, 21 Jun 2010 09:21:12 +0000 (17:21 +0800)]
elflink: make linux kernel booting
* modify execute.c to not using __com32.cs_bounce but lmalloc/lfree
* give core/malloc 32M memory
Now the kernel is loading ok, but "memdisk initrd=doshd.img" is not
working, need ask hpa if he has a new doshd.img
Feng Tang [Fri, 18 Jun 2010 08:17:35 +0000 (16:17 +0800)]
elflink: We can see menu.c32 working!
Feng Tang [Fri, 18 Jun 2010 06:50:46 +0000 (14:50 +0800)]
elflink: add early debug hook in core/diskstart.inc
Feng Tang [Fri, 18 Jun 2010 05:27:31 +0000 (13:27 +0800)]
elflink: modify Makefile to solve the undefined symbol problem
* use --whole-archive to let extlinux.elf contain all the mini com32 lib
* remove several tool funcs from com32/lib/Makefile which is
now implemented in core
Feng Tang [Thu, 17 Jun 2010 09:09:30 +0000 (17:09 +0800)]
elflink: change the exit.c, remove the exit.S to make process exit working
following elflink branch
Feng Tang [Thu, 17 Jun 2010 03:57:39 +0000 (11:57 +0800)]
elflink: change the main func of hello.c to static
Otherwise it will be global and can't be searched, still don't know
the real reason
Feng Tang [Wed, 16 Jun 2010 14:40:01 +0000 (22:40 +0800)]
elflink: add elf module dump func
feng.tang@intel.com [Wed, 16 Jun 2010 13:39:52 +0000 (21:39 +0800)]
elflink: use core/malloc as the malloc system, enlarge buffer to 1MB