From e5089776308459f799a0c6fc8be6a512373a6417 Mon Sep 17 00:00:00 2001 From: BVK Chaitanya Date: Wed, 2 Jun 2010 13:51:05 +0530 Subject: [PATCH 1/2] review fixes --- commands/parttool.c | 6 ++++++ configure.ac | 44 ++++++++++++++++++++--------------------- include/grub/cache.h | 3 +-- include/grub/emu/misc.h | 3 +++ include/grub/misc.h | 3 --- kern/emu/cache.S | 12 ++++------- kern/emu/lite.c | 12 +++++------ kern/emu/main.c | 3 +++ kern/main.c | 2 -- normal/main.c | 6 ++++++ 10 files changed, 49 insertions(+), 45 deletions(-) diff --git a/commands/parttool.c b/commands/parttool.c index f2a62e581..3dbe129bf 100644 --- a/commands/parttool.c +++ b/commands/parttool.c @@ -31,6 +31,10 @@ #include #include +#if defined (GRUB_MACHINE_EMU) +#include +#endif + static struct grub_parttool *parts = 0; static int curhandle = 0; static grub_dl_t mymod; @@ -175,7 +179,9 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)), } /* Load modules. */ +#if defined(GRUB_MACHINE_EMU) if (! grub_no_autoload) +#endif { const char *prefix; prefix = grub_env_get ("prefix"); diff --git a/configure.ac b/configure.ac index 12f89d85e..4cfa29308 100644 --- a/configure.ac +++ b/configure.ac @@ -54,12 +54,14 @@ case "$target_cpu" in amd64) target_cpu=x86_64 ;; sparc) target_cpu=sparc64 ;; mipsel|mips64el) - target_cpu=mips; - cpu_CPPFLAGS="-DGRUB_CPU_MIPSEL=1"; + target_cpu=mips; + TARGET_CFLAGS="$TARGET_CFLAGS -DGRUB_CPU_MIPSEL=1"; + CFLAGS="$CFLAGS -DGRUB_CPU_MIPSEL=1"; ;; mips|mips64) - target_cpu=mips; - cpu_CPPFLAGS="-DGRUB_CPU_MIPS=1"; + target_cpu=mips; + TARGET_CFLAGS="$TARGET_CFLAGS -DGRUB_CPU_MIPS=1"; + CFLAGS="$CFLAGS -DGRUB_CPU_MIPS=1"; ;; esac @@ -134,29 +136,25 @@ case "$host_os" in esac case "$platform" in - coreboot) machine_CPPFLAGS="-DGRUB_MACHINE_COREBOOT=1" ;; - multiboot) machine_CPPFLAGS="-DGRUB_MACHINE_MULTIBOOT=1" ;; - efi) machine_CPPFLAGS="-DGRUB_MACHINE_EFI=1" ;; - ieee1275) machine_CPPFLAGS="-DGRUB_MACHINE_IEEE1275=1" ;; - qemu) machine_CPPFLAGS="-DGRUB_MACHINE_QEMU=1" ;; - pc) machine_CPPFLAGS="-DGRUB_MACHINE_PCBIOS=1" ;; - emu) machine_CPPFLAGS="-DGRUB_MACHINE_EMU=1" ;; - yeeloong) machine_CPPFLAGS="-DGRUB_MACHINE_MIPS_YEELOONG=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;; - qemu-mips) machine_CPPFLAGS="-DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;; + coreboot) machine_CFLAGS="-DGRUB_MACHINE_COREBOOT=1" ;; + multiboot) machine_CFLAGS="-DGRUB_MACHINE_MULTIBOOT=1" ;; + efi) machine_CFLAGS="-DGRUB_MACHINE_EFI=1" ;; + ieee1275) machine_CFLAGS="-DGRUB_MACHINE_IEEE1275=1" ;; + qemu) machine_CFLAGS="-DGRUB_MACHINE_QEMU=1" ;; + pc) machine_CFLAGS="-DGRUB_MACHINE_PCBIOS=1" ;; + emu) machine_CFLAGS="-DGRUB_MACHINE_EMU=1" ;; + yeeloong) machine_CFLAGS="-DGRUB_MACHINE_MIPS_YEELOONG=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;; + qemu-mips) machine_CFLAGS="-DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;; esac case "$target_cpu" in - i386) cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_I386";; - x86_64) cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_X86_64";; - powerpc) cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_POWERPC";; - mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;; # cpu_CPPFLAGS handled above - sparc64) cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_SPARC64"; - machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;; + mips) machine_CFLAGS="$machine_CFLAGS -DGRUB_MACHINE_MIPS=1" ;; + sparc64) machine_CFLAGS="$machine_CFLAGS -DGRUB_MACHINE_SPARC64=1" ;; esac -machine_CPPFLAGS="$machine_CPPFLAGS -DMACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`" +machine_CFLAGS="$machine_CFLAGS -DMACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`" -CPPFLAGS="$CPPFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS" -TARGET_ASFLAGS="$TARGET_ASFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS" -TARGET_CFLAGS="$TARGET_CFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS" +CFLAGS="$CFLAGS $machine_CFLAGS" +TARGET_ASFLAGS="$TARGET_ASFLAGS $machine_CFLAGS" +TARGET_CFLAGS="$TARGET_CFLAGS $machine_CFLAGS" AC_SUBST(host_cpu) AC_SUBST(host_os) diff --git a/include/grub/cache.h b/include/grub/cache.h index a54bc00f8..27e44f0a2 100644 --- a/include/grub/cache.h +++ b/include/grub/cache.h @@ -23,8 +23,7 @@ #include #include -#if defined (__i386__) || defined (__x86_64__) || \ - (defined (GRUB_MACHINE_EMU) && GRUB_MACHINE_EMU) +#if defined (__i386__) || defined (__x86_64__) static inline void grub_arch_sync_caches (void *address __attribute__ ((unused)), grub_size_t len __attribute__ ((unused))) diff --git a/include/grub/emu/misc.h b/include/grub/emu/misc.h index bad00de71..32a5e29f8 100644 --- a/include/grub/emu/misc.h +++ b/include/grub/emu/misc.h @@ -49,4 +49,7 @@ int EXPORT_FUNC(asprintf) (char **buf, const char *fmt, ...); char * EXPORT_FUNC(xasprintf) (const char *fmt, ...); extern char * canonicalize_file_name (const char *path); +/* Flag to control module autoloading in normal mode. */ +extern int EXPORT_VAR(grub_no_autoload); + #endif /* GRUB_EMU_MISC_H */ diff --git a/include/grub/misc.h b/include/grub/misc.h index 1ec8bbc5a..9bfc6974e 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -50,9 +50,6 @@ /* XXX: If grub_memmove is too slow, we must implement grub_memcpy. */ #define grub_memcpy(d,s,n) grub_memmove ((d), (s), (n)) -/* Flag to control module autoloading in normal mode. */ -extern int EXPORT_VAR(grub_no_autoload); - void *EXPORT_FUNC(grub_memmove) (void *dest, const void *src, grub_size_t n); char *EXPORT_FUNC(grub_strcpy) (char *dest, const char *src); char *EXPORT_FUNC(grub_strncpy) (char *dest, const char *src, int c); diff --git a/kern/emu/cache.S b/kern/emu/cache.S index 9975578b8..90a5b5396 100644 --- a/kern/emu/cache.S +++ b/kern/emu/cache.S @@ -2,17 +2,13 @@ #error "This source is only meant for grub-emu platform" #endif -#if defined(GRUB_CPU_I386) +#if defined(__i386__) || defined(__x86_64__) /* Nothing is necessary. */ -#elif defined(GRUB_CPU_X86_64) -/* Nothing is necessary. */ -#elif defined(GRUB_CPU_SPARC64) +#elif defined(__sparc__) #include "../sparc64/cache.S" -#elif defined(GRUB_CPU_MIPS) +#elif defined(__mips__) #include "../mips/cache.S" -#elif defined(GRUB_CPU_MIPSEL) -#include "../mips/cache.S" -#elif defined(GRUB_CPU_POWERPC) +#elif defined(__powerpc__) #include "../powerpc/cache.S" #else #error "No target cpu type is defined" diff --git a/kern/emu/lite.c b/kern/emu/lite.c index 884ddee10..9b3728717 100644 --- a/kern/emu/lite.c +++ b/kern/emu/lite.c @@ -5,17 +5,15 @@ #error "This source is only meant for grub-emu platform" #endif -#if defined(GRUB_CPU_I386) +#if defined(__i386__) #include "../i386/dl.c" -#elif defined(GRUB_CPU_X86_64) +#elif defined(__x86_64__) #include "../x86_64/dl.c" -#elif defined(GRUB_CPU_SPARC64) +#elif defined(__sparc__) #include "../sparc64/dl.c" -#elif defined(GRUB_CPU_MIPS) +#elif defined(__mips__) #include "../mips/dl.c" -#elif defined(GRUB_CPU_MIPSEL) -#include "../mips/dl.c" -#elif defined(GRUB_CPU_POWERPC) +#elif defined(__powerpc__) #include "../powerpc/dl.c" #else #error "No target cpu type is defined" diff --git a/kern/emu/main.c b/kern/emu/main.c index 8d6118c93..1915e1a7c 100644 --- a/kern/emu/main.c +++ b/kern/emu/main.c @@ -51,6 +51,9 @@ static jmp_buf main_env; /* Store the prefix specified by an argument. */ static char *prefix = NULL; +/* Flag to control module autoloading in normal mode. */ +int grub_no_autoload; + grub_addr_t grub_arch_modules_addr (void) { diff --git a/kern/main.c b/kern/main.c index 2541d3295..1fdf4ab07 100644 --- a/kern/main.c +++ b/kern/main.c @@ -30,8 +30,6 @@ #include #include -int grub_no_autoload; - void grub_module_iterate (int (*hook) (struct grub_module_header *header)) { diff --git a/normal/main.c b/normal/main.c index b3544b99f..d1e95d9b5 100644 --- a/normal/main.c +++ b/normal/main.c @@ -32,6 +32,10 @@ #include #include +#if defined (GRUB_MACHINE_EMU) +#include +#endif + #define GRUB_DEFAULT_HISTORY_SIZE 50 static int nested_level = 0; @@ -476,7 +480,9 @@ grub_normal_init_page (struct grub_term_output *term) static void read_lists (const char *val) { +#if defined(GRUB_MACHINE_EMU) if (! grub_no_autoload) +#endif { read_command_list (val); read_fs_list (val); From 6d6f13934992f6f59b626b0fab49ef260659a112 Mon Sep 17 00:00:00 2001 From: BVK Chaitanya Date: Wed, 2 Jun 2010 14:45:07 +0530 Subject: [PATCH 2/2] review fixes --- commands/parttool.c | 6 ------ include/grub/dl.h | 6 +++--- include/grub/emu/misc.h | 3 --- include/grub/misc.h | 7 +++++++ kern/emu/main.c | 1 - normal/main.c | 6 ------ 6 files changed, 10 insertions(+), 19 deletions(-) diff --git a/commands/parttool.c b/commands/parttool.c index 3dbe129bf..f2a62e581 100644 --- a/commands/parttool.c +++ b/commands/parttool.c @@ -31,10 +31,6 @@ #include #include -#if defined (GRUB_MACHINE_EMU) -#include -#endif - static struct grub_parttool *parts = 0; static int curhandle = 0; static grub_dl_t mymod; @@ -179,9 +175,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)), } /* Load modules. */ -#if defined(GRUB_MACHINE_EMU) if (! grub_no_autoload) -#endif { const char *prefix; prefix = grub_env_get ("prefix"); diff --git a/include/grub/dl.h b/include/grub/dl.h index 9d5f2af2d..b66b7641e 100644 --- a/include/grub/dl.h +++ b/include/grub/dl.h @@ -95,13 +95,13 @@ int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); void EXPORT_FUNC(grub_dl_iterate) (int (*hook) (grub_dl_t mod)); grub_dl_t EXPORT_FUNC(grub_dl_get) (const char *name); -grub_err_t EXPORT_FUNC(grub_dl_register_symbol) (const char *name, void *addr, - grub_dl_t mod); +grub_err_t grub_dl_register_symbol (const char *name, void *addr, + grub_dl_t mod); grub_err_t grub_arch_dl_check_header (void *ehdr); grub_err_t grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr); -#if defined (_mips) && (! defined (GRUB_MACHINE_EMU) || ! GRUB_MACHINE_EMU) +#if defined (_mips) #define GRUB_LINKER_HAVE_INIT 1 void grub_arch_dl_init_linker (void); #endif diff --git a/include/grub/emu/misc.h b/include/grub/emu/misc.h index 32a5e29f8..bad00de71 100644 --- a/include/grub/emu/misc.h +++ b/include/grub/emu/misc.h @@ -49,7 +49,4 @@ int EXPORT_FUNC(asprintf) (char **buf, const char *fmt, ...); char * EXPORT_FUNC(xasprintf) (const char *fmt, ...); extern char * canonicalize_file_name (const char *path); -/* Flag to control module autoloading in normal mode. */ -extern int EXPORT_VAR(grub_no_autoload); - #endif /* GRUB_EMU_MISC_H */ diff --git a/include/grub/misc.h b/include/grub/misc.h index 9bfc6974e..077069934 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -308,4 +308,11 @@ void EXPORT_FUNC (grub_halt) (int no_apm); void EXPORT_FUNC (grub_halt) (void); #endif +#ifdef GRUB_MACHINE_EMU +/* Flag to control module autoloading in normal mode. */ +extern int EXPORT_VAR(grub_no_autoload); +#else +#define grub_no_autoload 0 +#endif + #endif /* ! GRUB_MISC_HEADER */ diff --git a/kern/emu/main.c b/kern/emu/main.c index 1915e1a7c..e2efd262f 100644 --- a/kern/emu/main.c +++ b/kern/emu/main.c @@ -51,7 +51,6 @@ static jmp_buf main_env; /* Store the prefix specified by an argument. */ static char *prefix = NULL; -/* Flag to control module autoloading in normal mode. */ int grub_no_autoload; grub_addr_t diff --git a/normal/main.c b/normal/main.c index d1e95d9b5..b3544b99f 100644 --- a/normal/main.c +++ b/normal/main.c @@ -32,10 +32,6 @@ #include #include -#if defined (GRUB_MACHINE_EMU) -#include -#endif - #define GRUB_DEFAULT_HISTORY_SIZE 50 static int nested_level = 0; @@ -480,9 +476,7 @@ grub_normal_init_page (struct grub_term_output *term) static void read_lists (const char *val) { -#if defined(GRUB_MACHINE_EMU) if (! grub_no_autoload) -#endif { read_command_list (val); read_fs_list (val);