[syslinux] [PATCH 00/12] elflink shrinkage
Matt Fleming
matt at console-pimps.org
Wed Mar 9 08:00:11 PST 2011
From: Matt Fleming <matt.fleming at linux.intel.com>
This is a series of patches that,
* shrink the core by moving things into an ldlinux ELF module
* begin wiring up some of the C versions of various functions
The core now only contains essential code and loads the ldlinux module
to do everything else, like providing a command line interface and
loading kernels.
The config file parsing and kernel load are now done entirely in
C. This allows us to only parse the config file once, even when using
the menu module. Previously the config file would be parsed from asm
to extract the ui module or kernel to load, and then (once the menu
module was running) would be parsed again in order to build the menu
data structures. We now build the menu data structures on the first
(and only) parse of the config file, not to mention the fact that we
only need one copy of the parser now.
Other functions will be converted from asm to C later.
This series is also available at,
git://git.zytor.com/users/mfleming/syslinux.git elflink-readconfig-for-hpa
Matt Fleming (12):
dprintf: Print to stdout as well as serial ports
elflink: Remove *.c32 on 'make clean'
core: Be less verbose at boot
elflink: Don't pass NULL to spawn_load()
elflink: Move code out of core and into ldlinux.c32
elflink: Look for syslinux.cfg
elflink: Move config data into config.h
elflink: Don't reload the current EXEC_MODULE module
Convert mp() to dprintf()
ldlinux: Record "default" and "ui" command lines
ldlinux: Parse configuration files
ldlinux: Parse and store the "onerror" command line
com32/Makefile | 2 +-
com32/elflink/ldlinux/Makefile | 38 ++++
{core/elflink => com32/elflink/ldlinux}/adv.c | 0
{core/elflink => com32/elflink/ldlinux}/cli.c | 51 ++++-
{core/elflink => com32/elflink/ldlinux}/colors.c | 0
com32/elflink/ldlinux/config.h | 39 ++++
{core/elflink => com32/elflink/ldlinux}/getadv.c | 0
{core/elflink => com32/elflink/ldlinux}/ipappend.c | 0
com32/elflink/ldlinux/ldlinux.c | 83 +++++++
.../elflink => com32/elflink/ldlinux}/readconfig.c | 92 +++++----
{core/elflink => com32/elflink/ldlinux}/refstr.c | 0
{core/elflink => com32/elflink/ldlinux}/refstr.h | 0
com32/elflink/modules/Makefile | 4 +-
com32/elflink/modules/cli.h | 6 +-
com32/elflink/modules/menu.h | 17 --
com32/elflink/modules/menumain.c | 6 +-
com32/elflink/modules/test.c | 7 +-
com32/include/sys/module.h | 2 +-
com32/lib/sys/module/elf_module.c | 3 +-
com32/lib/sys/module/exec.c | 35 +++-
com32/lib/vdprintf.c | 6 +-
core/elflink/abort_new.c | 29 ---
core/elflink/cli.h | 23 --
core/elflink/core-elf.h | 21 ++-
core/elflink/execute.c | 30 +++-
core/elflink/get_key.c | 175 ---------------
core/elflink/getkey.h | 80 -------
core/elflink/kernel.c | 8 +-
core/elflink/load_env32.c | 52 +-----
core/elflink/menu.h | 229 --------------------
core/extern.inc | 2 +-
core/isolinux.asm | 6 -
core/mem/free.c | 3 +-
core/mem/init.c | 9 +-
core/ui.inc | 1 -
elf_gen_dep.sh | 2 +-
36 files changed, 363 insertions(+), 698 deletions(-)
create mode 100644 com32/elflink/ldlinux/Makefile
rename {core/elflink => com32/elflink/ldlinux}/adv.c (100%)
rename {core/elflink => com32/elflink/ldlinux}/cli.c (90%)
rename {core/elflink => com32/elflink/ldlinux}/colors.c (100%)
create mode 100644 com32/elflink/ldlinux/config.h
rename {core/elflink => com32/elflink/ldlinux}/getadv.c (100%)
rename {core/elflink => com32/elflink/ldlinux}/ipappend.c (100%)
create mode 100644 com32/elflink/ldlinux/ldlinux.c
rename {core/elflink => com32/elflink/ldlinux}/readconfig.c (93%)
rename {core/elflink => com32/elflink/ldlinux}/refstr.c (100%)
rename {core/elflink => com32/elflink/ldlinux}/refstr.h (100%)
delete mode 100644 core/elflink/abort_new.c
delete mode 100644 core/elflink/cli.h
delete mode 100644 core/elflink/get_key.c
delete mode 100644 core/elflink/getkey.h
delete mode 100644 core/elflink/menu.h
--
1.7.4
More information about the Syslinux
mailing list