From: Vladimir 'phcoder' Serbinenko Date: Sun, 10 Jan 2010 12:34:48 +0000 (+0100) Subject: merge mainline into mips X-Git-Tag: 1.98~160^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85a2cf749fa52b9e7f2e4f2f39efc62e763211e0;p=thirdparty%2Fgrub.git merge mainline into mips --- 85a2cf749fa52b9e7f2e4f2f39efc62e763211e0 diff --cc conf/mips.rmk index 1ef9579e8,000000000..55fd83d73 mode 100644,000000..100644 --- a/conf/mips.rmk +++ b/conf/mips.rmk @@@ -1,96 -1,0 +1,96 @@@ + +# -*- makefile -*- + +COMMON_ASFLAGS += -nostdinc +COMMON_CFLAGS += -ffreestanding -mexplicit-relocs -mflush-func=grub_cpu_flush_cache +COMMON_LDFLAGS += -nostdlib + +# Used by various components. These rules need to precede them. +script/lexer.c_DEPENDENCIES = grub_script.tab.h + +# Images. + +MOSTLYCLEANFILES += symlist.c kernel_syms.lst +DEFSYMFILES += kernel_syms.lst + +kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \ + env.h err.h file.h fs.h kernel.h misc.h mm.h net.h parser.h reader.h \ + symbol.h term.h time.h types.h loader.h partition.h \ + msdos_partition.h machine/kernel.h handler.h list.h \ + command.h machine/memory.h cpu/libgcc.h cpu/cache.h i18n.h + +symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh + /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1) + +kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh + /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1) + +# Programs +pkglib_IMAGES = kernel.img +kernel_img_SOURCES = kern/$(target_cpu)/startup.S \ + kern/main.c kern/device.c kern/$(target_cpu)/init.c \ + kern/$(target_cpu)/$(target_machine)/init.c \ + kern/disk.c kern/dl.c kern/err.c kern/file.c kern/fs.c \ - kern/misc.c kern/mm.c kern/reader.c kern/term.c \ ++ kern/misc.c kern/mm.c kern/term.c \ + kern/rescue_parser.c kern/rescue_reader.c \ + kern/list.c kern/handler.c kern/command.c kern/corecmd.c \ + kern/parser.c kern/partition.c kern/env.c kern/$(target_cpu)/dl.c \ + kern/generic/millisleep.c kern/generic/rtc_get_time_ms.c kern/time.c \ + symlist.c kern/$(target_cpu)/cache.S +kernel_img_CFLAGS = $(COMMON_CFLAGS) +kernel_img_ASFLAGS = $(COMMON_ASFLAGS) +kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -static-libgcc -lgcc \ + -Wl,-N,-S,-Ttext,$(LINK_BASE),-Bstatic +kernel_img_FORMAT = binary + +# Scripts. +sbin_SCRIPTS = +bin_SCRIPTS = + +# For grub-mkimage. +bin_UTILITIES += grub-mkimage +grub_mkimage_SOURCES = gnulib/progname.c util/grub-mkrawimage.c util/misc.c \ + util/resolve.c lib/LzmaEnc.c lib/LzFind.c +grub_mkimage_CFLAGS = -DGRUB_KERNEL_MACHINE_LINK_ADDR=$(LINK_BASE) +util/grub-mkrawimage.c_DEPENDENCIES = Makefile + +# Modules. +pkglib_MODULES = memdisk.mod \ + lsmmap.mod + +# For boot.mod. +pkglib_MODULES += boot.mod +boot_mod_SOURCES = commands/boot.c lib/i386/pc/biosnum.c +boot_mod_CFLAGS = $(COMMON_CFLAGS) +boot_mod_LDFLAGS = $(COMMON_LDFLAGS) + +# For memdisk.mod. +memdisk_mod_SOURCES = disk/memdisk.c +memdisk_mod_CFLAGS = $(COMMON_CFLAGS) +memdisk_mod_LDFLAGS = $(COMMON_LDFLAGS) + +# For lsmmap.mod +lsmmap_mod_SOURCES = commands/lsmmap.c +lsmmap_mod_CFLAGS = $(COMMON_CFLAGS) +lsmmap_mod_LDFLAGS = $(COMMON_LDFLAGS) + +# For serial.mod. +pkglib_MODULES += serial.mod +serial_mod_SOURCES = term/serial.c +serial_mod_CFLAGS = $(COMMON_CFLAGS) +serial_mod_LDFLAGS = $(COMMON_LDFLAGS) + +# For relocator.mod. +pkglib_MODULES += relocator.mod +relocator_mod_SOURCES = lib/$(target_cpu)/relocator.c lib/$(target_cpu)/relocator_asm.S +relocator_mod_CFLAGS = $(COMMON_CFLAGS) +relocator_mod_ASFLAGS = $(COMMON_ASFLAGS) +relocator_mod_LDFLAGS = $(COMMON_LDFLAGS) + +pkglib_MODULES += linux.mod +linux_mod_SOURCES = loader/$(target_cpu)/linux.c +linux_mod_CFLAGS = $(COMMON_CFLAGS) +linux_mod_ASFLAGS = $(COMMON_ASFLAGS) +linux_mod_LDFLAGS = $(COMMON_LDFLAGS) + +include $(srcdir)/conf/common.mk diff --cc po/POTFILES index b36f7bbf2,32927256c..d6b20fef6 --- a/po/POTFILES +++ b/po/POTFILES @@@ -6,9 -53,31 +53,31 @@@ hello/hello. lib/arg.c + loader/efi/appleloader.c + loader/efi/chainloader.c + loader/i386/bsd.c + loader/i386/efi/linux.c + loader/i386/ieee1275/linux.c + loader/i386/linux.c + loader/i386/pc/chainloader.c + loader/i386/pc/linux.c + loader/i386/xnu.c + loader/multiboot_loader.c + loader/powerpc/ieee1275/linux.c + loader/sparc64/ieee1275/linux.c + loader/xnu.c + + normal/auth.c + normal/color.c normal/dyncmd.c + normal/main.c + normal/menu_entry.c + normal/menu_text.c + normal/misc.c + + term/i386/pc/serial.c -util/i386/pc/grub-mkimage.c +util/grub-mkrawimage.c util/i386/pc/grub-setup.c util/mkisofs/eltorito.c diff --cc term/gfxterm.c index 856bde14b,fa19a5d85..bf3321236 --- a/term/gfxterm.c +++ b/term/gfxterm.c @@@ -27,7 -27,7 +27,7 @@@ #include #include - #define DEFAULT_VIDEO_MODE "1024x768,800x600,640x480" -#define DEFAULT_VIDEO_MODE "1024x768,800x600,640x480" ++#define DEFAULT_VIDEO_MODE "1024x768,800x600,640x480,0x0" #define DEFAULT_BORDER_WIDTH 10 #define DEFAULT_STANDARD_COLOR 0x07 diff --cc term/serial.c index 44e230311,8d09f6211..62cd11fee --- a/term/serial.c +++ b/term/serial.c @@@ -25,10 -26,12 +25,11 @@@ #include #include #include + #include #define TEXT_WIDTH 80 -#define TEXT_HEIGHT 25 +#define TEXT_HEIGHT 24 -static struct grub_term_output grub_serial_term_output; static unsigned int xpos, ypos; static unsigned int keep_track = 1; static unsigned int registered = 0; @@@ -37,6 -40,6 +38,8 @@@ static char input_buf[8]; static unsigned int npending = 0; ++static struct grub_term_output grub_serial_term_output; ++ /* Argument options. */ static const struct grub_arg_option options[] = { diff --cc util/grub-mkrawimage.c index c5af6ad82,ebf1bc7ff..5dba325c3 --- a/util/grub-mkrawimage.c +++ b/util/grub-mkrawimage.c @@@ -241,15 -209,22 +242,24 @@@ generate_image (const char *dir, char * boot_path = grub_util_get_path (dir, "diskboot.img"); boot_size = grub_util_get_image_size (boot_path); if (boot_size != GRUB_DISK_SECTOR_SIZE) - grub_util_error (_("diskboot.img size must be %u bytes"), GRUB_DISK_SECTOR_SIZE); - + grub_util_error (_("diskboot.img size must be %u bytes"), + GRUB_DISK_SECTOR_SIZE); + boot_img = grub_util_read_image (boot_path); - + - *((grub_uint16_t *) (boot_img + GRUB_DISK_SECTOR_SIZE - - GRUB_BOOT_MACHINE_LIST_SIZE + 8)) - = grub_host_to_target16 (num); + { + struct grub_boot_blocklist *block; + block = (struct grub_boot_blocklist *) (boot_img - + GRUB_DISK_SECTOR_SIZE - - sizeof (*block)); ++ + GRUB_DISK_SECTOR_SIZE ++ - sizeof (*block)); + block->len = grub_host_to_target16 (num); + + /* This is filled elsewhere. Verify it just in case. */ - assert (block->segment == grub_host_to_target16 (GRUB_BOOT_MACHINE_KERNEL_SEG - + (GRUB_DISK_SECTOR_SIZE >> 4))); ++ assert (block->segment ++ == grub_host_to_target16 (GRUB_BOOT_MACHINE_KERNEL_SEG ++ + (GRUB_DISK_SECTOR_SIZE >> 4))); + } - + grub_util_write_image (boot_img, boot_size, out); free (boot_img); free (boot_path); @@@ -457,17 -355,12 +467,14 @@@ main (int argc, char *argv[] char *dir = NULL; char *prefix = NULL; char *memdisk = NULL; + char *font = NULL; char *config = NULL; FILE *fp = stdout; - - set_program_name (argv[0]); +#ifdef GRUB_PLATFORM_IMAGE_DEFAULT + grub_platform_image_format_t format = GRUB_PLATFORM_IMAGE_DEFAULT; +#endif - set_program_name (argv[0]); - setlocale (LC_ALL, ""); - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); + grub_util_init_nls (); while (1) {