Put terminfo into core on ieee1275 and yeeloong (needed for console).
* gentpl.py: New groups terminfoinkernel and terminfomodule. * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h and terminfo.h when needed. * grub-core/Makefile.core.def (kernel): Include term/terminfo.c, term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel. (terminfo): Enable only on terminfokernel. (extcmd): Likewise. * include/grub/extcmd.h: Add missing EXPORT_FUNC. * include/grub/lib/arg.h: Likewise. * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix incorrect usage of ->.
This commit is contained in:
parent
aa438e6818
commit
ee74fa4822
7 changed files with 62 additions and 30 deletions
16
ChangeLog
16
ChangeLog
|
@ -1,3 +1,19 @@
|
||||||
|
2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Put terminfo into core on ieee1275 and yeeloong (needed for console).
|
||||||
|
|
||||||
|
* gentpl.py: New groups terminfoinkernel and terminfomodule.
|
||||||
|
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
|
||||||
|
and terminfo.h when needed.
|
||||||
|
* grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
|
||||||
|
term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
|
||||||
|
(terminfo): Enable only on terminfokernel.
|
||||||
|
(extcmd): Likewise.
|
||||||
|
* include/grub/extcmd.h: Add missing EXPORT_FUNC.
|
||||||
|
* include/grub/lib/arg.h: Likewise.
|
||||||
|
* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
|
||||||
|
incorrect usage of ->.
|
||||||
|
|
||||||
2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
|
2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
|
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
|
||||||
|
|
|
@ -38,6 +38,11 @@ GROUPS["videoinkernel"] = ["mips_yeeloong"]
|
||||||
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
|
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
|
||||||
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
|
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
|
||||||
|
|
||||||
|
# Similar for terminfo
|
||||||
|
GROUPS["terminfoinkernel"] = ["mips_yeeloong"] + GROUPS["ieee1275"];
|
||||||
|
GROUPS["terminfomodule"] = GRUB_PLATFORMS[:];
|
||||||
|
for i in GROUPS["terminfoinkernel"]: GROUPS["terminfomodule"].remove(i)
|
||||||
|
|
||||||
# Miscelaneous groups schedulded to disappear in future
|
# Miscelaneous groups schedulded to disappear in future
|
||||||
GROUPS["nosparc64"] = GRUB_PLATFORMS[:]; GROUPS["nosparc64"].remove("sparc64_ieee1275")
|
GROUPS["nosparc64"] = GRUB_PLATFORMS[:]; GROUPS["nosparc64"].remove("sparc64_ieee1275")
|
||||||
GROUPS["i386_coreboot_multiboot_qemu"] = ["i386_coreboot", "i386_multiboot", "i386_qemu"]
|
GROUPS["i386_coreboot_multiboot_qemu"] = ["i386_coreboot", "i386_multiboot", "i386_qemu"]
|
||||||
|
|
|
@ -113,6 +113,8 @@ endif
|
||||||
if COND_i386_ieee1275
|
if COND_i386_ieee1275
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -138,15 +140,24 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/cs5536.h
|
||||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pci.h
|
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pci.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_powerpc_ieee1275
|
if COND_powerpc_ieee1275
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_sparc64_ieee1275
|
if COND_sparc64_ieee1275
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_emu
|
if COND_emu
|
||||||
|
|
|
@ -92,10 +92,10 @@ kernel = {
|
||||||
ieee1275 = kern/ieee1275/openfw.c;
|
ieee1275 = kern/ieee1275/openfw.c;
|
||||||
ieee1275 = term/ieee1275/ofconsole.c;
|
ieee1275 = term/ieee1275/ofconsole.c;
|
||||||
|
|
||||||
ieee1275 = term/terminfo.c;
|
terminfoinkernel = term/terminfo.c;
|
||||||
ieee1275 = term/tparm.c;
|
terminfoinkernel = term/tparm.c;
|
||||||
mips = term/terminfo.c;
|
terminfoinkernel = commands/extcmd.c;
|
||||||
mips = term/tparm.c;
|
terminfoinkernel = lib/arg.c;
|
||||||
|
|
||||||
i386 = kern/i386/dl.c;
|
i386 = kern/i386/dl.c;
|
||||||
|
|
||||||
|
@ -173,9 +173,7 @@ kernel = {
|
||||||
emu = kern/emu/mm.c;
|
emu = kern/emu/mm.c;
|
||||||
emu = kern/emu/time.c;
|
emu = kern/emu/time.c;
|
||||||
|
|
||||||
videoinkernel = lib/arg.c;
|
|
||||||
videoinkernel = term/gfxterm.c;
|
videoinkernel = term/gfxterm.c;
|
||||||
videoinkernel = commands/extcmd.c;
|
|
||||||
videoinkernel = font/font.c;
|
videoinkernel = font/font.c;
|
||||||
videoinkernel = font/font_cmd.c;
|
videoinkernel = font/font_cmd.c;
|
||||||
videoinkernel = io/bufio.c;
|
videoinkernel = io/bufio.c;
|
||||||
|
@ -542,6 +540,7 @@ module = {
|
||||||
name = extcmd;
|
name = extcmd;
|
||||||
common = commands/extcmd.c;
|
common = commands/extcmd.c;
|
||||||
common = lib/arg.c;
|
common = lib/arg.c;
|
||||||
|
enable = terminfomodule;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -1337,6 +1336,7 @@ module = {
|
||||||
name = terminfo;
|
name = terminfo;
|
||||||
common = term/terminfo.c;
|
common = term/terminfo.c;
|
||||||
common = term/tparm.c;
|
common = term/tparm.c;
|
||||||
|
enable = terminfomodule;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
|
|
@ -90,7 +90,7 @@ grub_ofconsole_dimensions (void)
|
||||||
|
|
||||||
if (! grub_ieee1275_get_property (options, "screen-#columns",
|
if (! grub_ieee1275_get_property (options, "screen-#columns",
|
||||||
val, lval, 0))
|
val, lval, 0))
|
||||||
grub_ofconsole_terminfo_output->width
|
grub_ofconsole_terminfo_output.width
|
||||||
= (grub_uint8_t) grub_strtoul (val, 0, 10);
|
= (grub_uint8_t) grub_strtoul (val, 0, 10);
|
||||||
}
|
}
|
||||||
if (! grub_ieee1275_get_property_length (options, "screen-#rows", &lval)
|
if (! grub_ieee1275_get_property_length (options, "screen-#rows", &lval)
|
||||||
|
@ -99,16 +99,16 @@ grub_ofconsole_dimensions (void)
|
||||||
char val[lval];
|
char val[lval];
|
||||||
if (! grub_ieee1275_get_property (options, "screen-#rows",
|
if (! grub_ieee1275_get_property (options, "screen-#rows",
|
||||||
val, lval, 0))
|
val, lval, 0))
|
||||||
grub_ofconsole_terminfo_output->height
|
grub_ofconsole_terminfo_output.height
|
||||||
= (grub_uint8_t) grub_strtoul (val, 0, 10);
|
= (grub_uint8_t) grub_strtoul (val, 0, 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use a small console by default. */
|
/* Use a small console by default. */
|
||||||
if (! grub_ofconsole_terminfo_output->width)
|
if (! grub_ofconsole_terminfo_output.width)
|
||||||
grub_ofconsole_terminfo_output->width = 80;
|
grub_ofconsole_terminfo_output.width = 80;
|
||||||
if (! grub_ofconsole_terminfo_output->height)
|
if (! grub_ofconsole_terminfo_output.height)
|
||||||
grub_ofconsole_terminfo_output->height = 24;
|
grub_ofconsole_terminfo_output.height = 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -55,25 +55,25 @@ struct grub_extcmd_context
|
||||||
};
|
};
|
||||||
typedef struct grub_extcmd_context *grub_extcmd_context_t;
|
typedef struct grub_extcmd_context *grub_extcmd_context_t;
|
||||||
|
|
||||||
grub_extcmd_t grub_register_extcmd (const char *name,
|
grub_extcmd_t EXPORT_FUNC(grub_register_extcmd) (const char *name,
|
||||||
grub_extcmd_func_t func,
|
grub_extcmd_func_t func,
|
||||||
grub_command_flags_t flags,
|
grub_command_flags_t flags,
|
||||||
const char *summary,
|
const char *summary,
|
||||||
const char *description,
|
const char *description,
|
||||||
const struct grub_arg_option *parser);
|
const struct grub_arg_option *parser);
|
||||||
|
|
||||||
grub_extcmd_t grub_register_extcmd_prio (const char *name,
|
grub_extcmd_t EXPORT_FUNC(grub_register_extcmd_prio) (const char *name,
|
||||||
grub_extcmd_func_t func,
|
grub_extcmd_func_t func,
|
||||||
grub_command_flags_t flags,
|
grub_command_flags_t flags,
|
||||||
const char *summary,
|
const char *summary,
|
||||||
const char *description,
|
const char *description,
|
||||||
const struct grub_arg_option *parser,
|
const struct grub_arg_option *parser,
|
||||||
int prio);
|
int prio);
|
||||||
|
|
||||||
void grub_unregister_extcmd (grub_extcmd_t cmd);
|
void EXPORT_FUNC(grub_unregister_extcmd) (grub_extcmd_t cmd);
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t EXPORT_FUNC(grub_extcmd_dispatcher) (struct grub_command *cmd,
|
||||||
grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
|
int argc, char **args,
|
||||||
struct grub_script *script);
|
struct grub_script *script);
|
||||||
|
|
||||||
#endif /* ! GRUB_EXTCMD_HEADER */
|
#endif /* ! GRUB_EXTCMD_HEADER */
|
||||||
|
|
|
@ -72,7 +72,7 @@ struct grub_extcmd;
|
||||||
int grub_arg_parse (struct grub_extcmd *cmd, int argc, char **argv,
|
int grub_arg_parse (struct grub_extcmd *cmd, int argc, char **argv,
|
||||||
struct grub_arg_list *usr, char ***args, int *argnum);
|
struct grub_arg_list *usr, char ***args, int *argnum);
|
||||||
|
|
||||||
void grub_arg_show_help (struct grub_extcmd *cmd);
|
void EXPORT_FUNC(grub_arg_show_help) (struct grub_extcmd *cmd);
|
||||||
struct grub_arg_list* grub_arg_list_alloc (struct grub_extcmd *cmd,
|
struct grub_arg_list* grub_arg_list_alloc (struct grub_extcmd *cmd,
|
||||||
int argc, char *argv[]);
|
int argc, char *argv[]);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue