1. 04 Mar, 2015 1 commit
    • Vladimir Serbinenko's avatar
      Remove libgcc dependency. · 064360e6
      Vladimir Serbinenko authored
      libgcc for boot environment isn't always present and compatible.
      libgcc is often absent if endianness or bit-size at boot is different
      from running OS.
      libgcc may use optimised opcodes that aren't available on boot time.
      So instead of relying on libgcc shipped with the compiler, supply
      the functions in GRUB directly.
      Tests are present to ensure that those replacement functions behave the
      way compiler expects them to.
      064360e6
  2. 26 Feb, 2015 1 commit
  3. 21 Feb, 2015 1 commit
  4. 23 Dec, 2013 1 commit
  5. 04 Dec, 2013 1 commit
  6. 07 Nov, 2013 1 commit
  7. 15 Oct, 2013 1 commit
  8. 23 Aug, 2013 1 commit
  9. 22 Aug, 2013 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Handle grub-pe2elf and grub-mkfont for cases when build != host. · 7b780018
      Vladimir 'phcoder' Serbinenko authored
      	* Makefile.am (build-grub-mkfont): Don't include gnulib.
      	(build-grub-gen-asciih): Likewise.
      	(build-grub-gen-widthspec): Likewise.
      	* Makefile.util.def (grub-pe2elf): Remove.
      	* config.h.in [GRUB_BUILD]: Use build rather than host constants.
      	* configure.ac: Separate tests for build.
      	Move ./build-grub-pe2elf to grub-core.
      	Fix typo.
      	* grub-core/Makefile.am (build-grub-pe2elf): New target.
      	* grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
      	defined.
      	* include/grub/types.h [GRUB_BUILD]: Use build rather than host
      	constants.
      	* util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
      	* util/grub-pe2elf.c: Simplify not to rely on getopt.
      	* util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
      7b780018
  10. 07 Jun, 2013 1 commit
  11. 12 Apr, 2013 1 commit
  12. 20 Mar, 2013 1 commit
  13. 03 Mar, 2013 1 commit
  14. 27 Feb, 2013 1 commit
    • Colin Watson's avatar
      Remove nested functions from disk and file read hooks. · 4eb8b756
      Colin Watson authored
      	* include/grub/disk.h (grub_disk_read_hook_t): New type.
      	(struct grub_disk): Add read_hook_data member.
      	* include/grub/file.h (struct grub_file): Likewise.
      	* include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
      	argument.
      
      	Update all callers.
      4eb8b756
  15. 05 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Move platform-dependent files from $prefix to $prefix/$platform. · 92cd0f6e
      Vladimir 'phcoder' Serbinenko authored
      	* config.h.in (GRUB_TARGET_CPU): New definition.
      	(GRUB_PLATFORM): Likewise.
      	* configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
      	* grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
      	* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
      	* grub-core/kern/dl.c (grub_dl_load): Likewise.
      	* grub-core/normal/autofs.c (read_fs_list): Likewise.
      	* grub-core/normal/crypto.c (read_crypto_list): Likewise.
      	* grub-core/normal/dyncmd.c (read_command_list): Likewise.
      	* grub-core/normal/term.c (read_terminal_list): Likewise.
      	* grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
      	$prefix/locale.
      	(grub_gettext_init_ext): Likewise.
      	* grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
      	grub_platform.
      	* util/grub-install.in: Update directories.
      	* util/grub-mknetdir.in: Likewise.
      	* util/grub-mkrescue.in: Likewise.
      92cd0f6e
  16. 18 Jan, 2012 1 commit
  17. 13 Dec, 2011 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Enable UTF8 in gnulib regexp. · c5fc563a
      Vladimir 'phcoder' Serbinenko authored
      	* config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
      	* grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
      	(isupper): Use grub_isupper.
      	(isascii): New inline function.
      	* grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
      	* grub-core/lib/posix_wrap/wctype.h: Likewise.
      	* grub-core/normal/charset.c (grub_utf8_process): New function.
      	(grub_utf8_to_utf16): Use grub_utf8_process.
      	(grub_encode_utf8_character): New function.
      	(grub_ucs4_to_utf8): Use grub_encode_utf8_character.
      	* include/grub/charset.h (grub_utf8_process): New declaration.
      	(grub_encode_utf8_character): Likewise.
      	* include/grub/misc.h (grub_islower): New inline function.
      	(grub_isupper): Likewise.
      	(grub_strchrsub): Moved down to fix the definitions.
      c5fc563a
  18. 09 Jan, 2011 2 commits
  19. 06 Oct, 2010 1 commit
    • Szymon Janc's avatar
      Make enable of disk cache statistics code configurable. · c5dc1690
      Szymon Janc authored
      	* configure.ac: --enable-cache-stats added.
      	* config.h.in (DISK_CACHE_STATS): New define.
      	* grub-core/Makefile.core.def (cacheinfo): New command.
      	* include/grub/disk.h(grub_disk_cache_get_performance): New function.
      	* grub-core/commands/cacheinfo.c: New file.
      	* grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
      	moved to cacheinfo.c.
      	* grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
      	debug code.
      	* include/grub/disk.h: Likewise.
      c5dc1690
  20. 21 Sep, 2010 1 commit
  21. 20 Sep, 2010 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Split config.h for util and core. · 742f9232
      Vladimir 'phcoder' Serbinenko authored
      	* acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
      	(ADDR32): Likewise.
      	(DATA32): Likewise.
      	(BSS_START_SYMBOL): Likewise.
      	(END_SYMBOL): Likewise.
      	(NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
      	(grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
      	* config.h.in: New file.
      	* configure.ac: Use config-util.h as config define file.
      	Rename MACHINE into GRUB_MACHINE. All users updated.
      	(NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
      	updated.
      	(NESTED_FUNC_ATTR): Likewise.
      	Substitue new variables.
      	(COND_HAVE_ASM_USCORE): New conditional.
      	* grub-core/Makefile.am (ASM_PREFIX): New variable.
      	(kernel_syms.lst): Use ASM_PREFIX.
      	* grub-core/kern/emu/console.c: Include config-util.h.
      	* grub-core/kern/emu/misc.c: Likewise.
      	* grub-core/kern/emu/mm.c: Likewise.
      	* include/grub/emu/misc.h: Likewise.
      	* include/grub/libgcc.h: Likewise.
      742f9232
  22. 18 Jan, 2010 1 commit
  23. 14 Apr, 2009 1 commit
    • fzielcke's avatar
      2009-04-14 Felix Zielcke <fzielcke@z-51.de> · 4484e01e
      fzielcke authored
      	* configure: Remove.
      	* config.h.in: Likewise.
      	* DISTLIST: Likewise.
      	* conf/common.mk: Likewise.
      	* conf/i386-coreboot.mk: Likewise.
      	* conf/i386-efi.mk: Likewise.
      	* conf/i386-ieee1275.mk: Likewise.
      	* conf/i386.mk: Likewise.
      	* conf/i386-pc.mk: Likewise.
      	* conf/powerpc-ieee1275.mk: Likewise.
      	* conf/sparc64-ieee1275.mk: Likewise.
      	* conf/x86_64-efi.mk: Likewise.
      
      	* INSTALL: Remove the sentence that Ruby and autoconf are only required if you
      	develop on GRUB.
      4484e01e
  24. 12 Apr, 2009 1 commit
  25. 11 Apr, 2009 2 commits
    • okuji's avatar
      2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com> · b1ac8644
      okuji authored
          * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
          (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
          FreeBSD. Check if a device is a character device. Use
          DIOCGMEDIASIZE to get the size.
          (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
          support for FreeBSD.
          (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
          is a character device instead of a block device. Add support for
          FreeBSD device names.
      
          * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
          a character device instead of a block device.
          (grub_util_check_char_device): New function.
      
          * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
          a character device instead of a block device.
      
          * include/grub/util/getroot.h (grub_util_check_char_device): New
          prototype.
      b1ac8644
    • davem's avatar
      Missed these in previous commits, sorry. · 0f005da9
      davem authored
      0f005da9
  26. 04 Apr, 2009 3 commits
    • phcoder's avatar
      2009-04-04 Vladimir Serbinenko <phcoder@gmail.com> · 04186a9c
      phcoder authored
      	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h 
      	and command.h
      	remove extraneous kernel_elf_HEADERS
      04186a9c
    • okuji's avatar
      Undo r2063. · 6842cec4
      okuji authored
      6842cec4
    • bean's avatar
      2009-04-04 Bean <bean123ch@gnail.com> · 838c4542
      bean authored
      	* include/grub/efi/api.h (grub_efi_configuration_table): Add packed
      	attribute, otherwise the size would be wrong for i386 platform.
      
      	* include/grub/pci.h (grub_pci_read_word): New inline function.
      	(grub_pci_read_byte): Likewise.
      	(grub_pci_write): Likewise.
      	(grub_pci_write_word): Likewise.
      	(grub_pci_write_byte): Likewise.
      
      	* include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
      
      	* loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
      	(find_framebuf): Scan pci to locate the frame buffer address.
      
      	* commands/efi/fixvideo.c: New file.
      
      	* commands/efi/loadbios.c: Likewise.
      
      	* commands/memrw.c: Likewise.
      
      	* util/grub-dumpbios.in: Likewise.
      
      	* conf/common.rmk (grub-dumpbios): New utility.
      	(pkglib_MODULES): New module memrw.mod.
      	(memrw_mod_SOURCE): New macro.
      	(memrw_mod_CFLAGS): Likewise.
      	(memrw_mod_LDFLAGS): Likewise.
      
      	* conf/i386-efi.rmk (pkglig_MODULES): New module loadbios.mod and
      	fixvideo.mod.
      	(loadbios_mod_SOURCE): New macro.
      	(loadbios_mod_CFLAGS): Likewise.
      	(loadbios_mod_LDFLAGS): Likewise.
      	(fixvideo_mod_SOURCE): Likewise.
      	(fixvideo_mod_CFLAGS): Likewise.
      	(fixvideo_mod_LDFLAGS): Likewise.
      
      	* conf/x86_64.rmk (pkglig_MODULES): New module loadbios.mod and
      	fixvideo.mod.
      	(loadbios_mod_SOURCE): New macro.
      	(loadbios_mod_CFLAGS): Likewise.
      	(loadbios_mod_LDFLAGS): Likewise.
      	(fixvideo_mod_SOURCE): Likewise.
      	(fixvideo_mod_CFLAGS): Likewise.
      	(fixvideo_mod_LDFLAGS): Likewise.
      838c4542
  27. 29 Mar, 2009 1 commit
    • okuji's avatar
      2009-03-29 Yoshinori K. Okuji <okuji@enbug.org> · 5709cfc4
      okuji authored
          Make the format of Environment Block plain text. The boot loader
          part is not tested well yet.
          
          * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
          (buffer): Removed.
          (envblk): Likewise.
          (usage): Remove "info" and "clear". Add "unset". Update the
          description of "set", as this does not delete variables any
          longer.
          (create_envblk_file): Complete rewrite.
          (open_envblk_file): Likewise.
          (cmd_info): Removed.
          (cmd_list): Likewise.
          (cmd_set): Likewise.
          (cmd_clear): Likewise.
          (list_variables): New function.
          (write_envblk): Likewise.
          (set_variables): Likewise.
          (unset_variables): Likewise.
          (main): Complete rewrite.
      
          * commands/loadenv.c (buffer): Removed.
          (envblk): Likewise.
          (open_envblk_file): New function.
          (read_envblk_file): Complete rewrite.
          (grub_cmd_load_env): Likewise.
          (grub_cmd_list_env): Likewise.
          (struct blocklist): New struct.
          (free_blocklists): New function.
          (check_blocklists): Likewise.
          (write_blocklists): Likewise.
          (grub_cmd_save_env): Complete rewrite.
      
          * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
          a plain text signature.
          (GRUB_ENVBLK_MAXLEN): Removed.
          (struct grub_envblk): Complete rewrite.
          (grub_envblk_find): Removed.
          (grub_envblk_insert): Likewise.
          (grub_envblk_open): New prototype.
          (grub_envblk_set): Likewise.
          (grub_envblk_delete): Put const to VALUE.
          (grub_envblk_iterate): Put const to NAME and VALUE.
          (grub_envblk_close): New prototype.
          (grub_envblk_buffer): New inline function.
          (grub_envblk_size): Likewise.
      
          * lib/envblk.c: Include grub/mm.h.
          (grub_env_find): Removed.
          (grub_envblk_open): New function.
          (grub_envblk_close): Likewise.
          (escaped_value_len): Likewise.
          (find_next_line): Likewise.
          (grub_envblk_insert): Removed.
          (grub_envblk_set): New function.
          (grub_envblk_delete): Complete rewrite.
          (grub_envblk_iterate): Likewise.
      5709cfc4
  28. 22 Mar, 2009 1 commit
    • proski's avatar
      2009-03-22 Pavel Roskin <proski@gno.org> · 41473ac2
      proski authored
      	* aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
      	* configure.ac: Don't call grub_CHECK_START_SYMBOL.
      	* kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
      41473ac2
  29. 08 Feb, 2009 1 commit
    • robertmh's avatar
      2009-02-08 Marco Gerards <marco@gnu.org> · d64399b5
      robertmh authored
              * Makefile.in (enable_grub_emu_usb): New variable.
              * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
              (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
              `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
              (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
              (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
              `usbtest.mod' and `usbms.mod'.
              (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
              (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
              (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
              (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
              (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
              variables.
      
              * disk/usbms.c: New file.
      
              * include/grub/usb.h: Likewise.
      
              * include/grub/usbtrans.h: Likewise.
      
              * include/grub/usbdesc.h: Likewise.
      
              * bus/usb/usbtrans.c: Likewise.
      
              * bus/usb/ohci.c: Likewise.
      
              * bus/usb/uhci.c: Likewise.
      
              * bus/usb/usbhub.c: Likewise.
      
              * bus/usb/usb.c: Likewise.
      
              * commands/usbtest.c: Likewise.
      
              * util/usb.c: Likewise.
      
              * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
      
              * configure.ac: Test for libusb presence.
      
              * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
      d64399b5
  30. 19 Sep, 2008 1 commit
    • chrfranke's avatar
      2008-09-19 Christian Franke <franke@computer.org> · 9035dce4
      chrfranke authored
      	* aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
      	* configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
      	* include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
      	Export __enable_execute_stack() to modules.
      	* kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
      	New function.
      9035dce4
  31. 30 Aug, 2008 1 commit
    • bean's avatar
      2008-08-29 Bean <bean123ch@gmail.com> · 6e5a42fe
      bean authored
      	* configure.ac: Change host_os to cygwin for mingw.
      	(asprintf): New check for function.
      
      	* include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
      	#if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
      
      	* include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
      	declear asprintf if HAVE_ASPRINTF is not set, declear fseeko, ftello,
      	sync, sleep and grub_util_get_disk_size for mingw.
      
      	* util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
      	to get size in mingw.
      	(open_device): Use flag O_BINARY if it's defined.
      	(find_root_device): Add dummy code for mingw.
      
      	* util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
      	(get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
      	(get_scsi_disk_name): Return 0 for mingw.
      
      	* util/hostfs.c: #include <grub/util/misc.h>.
      	(grub_hostfs_open): Use "rb" flag to open file, use
      	grub_util_get_disk_size to get disk size for mingw.
      
      	* util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
      	(asprintf): New function if HAVE_ASPRINTF is not set.
      	(sync): New function for mingw.
      	(sleep): Likewise.
      	(grub_util_get_disk_size): Likewise.
      6e5a42fe
  32. 13 Jul, 2008 1 commit
    • bean's avatar
      2008-07-13 Bean <bean123ch@gmail.com> · aa24b516
      bean authored
      	* Makefile.in (enable_lzo): New rule.
      
      	* conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
      
      	* configure.ac (ENABLE_LZO): New option --enable-lzo.
      
      	* boot/i386/pc/lnxboot.S: #include <config.h>.
      
      	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
      	its value accordding to the compression algorithm used, lzo or lzma.
      
      	* util/i386/pc/grub-mkimage.c (compress_kernel): Use different
      	compression algorithm according to configure macro.
      
      	* kern/i386/pc/startup.S (codestart): Likewise.
      
      	* kern/i386/pc/lzma_decode.S: New file.
      
      	* include/grub/lib/LzFind.h: Likewise.
      
      	* include/grub/lib/LzHash.h: Likewise.
      
      	* include/grub/lib/LzmaDec.h: Likewise.
      
      	* include/grub/lib/LzmaEnc.h: Likewise.
      
      	* include/grub/lib/LzmaTypes.h: Likewise.
      
      	* lib/LzFind.c: Likewise.
      
      	* lib/LzmaDec.c: Likewise.
      
      	* lib/LzmaEnc.c: Likewise.
      aa24b516
  33. 14 Feb, 2008 1 commit
    • robertmh's avatar
      2008-02-13 Robert Millan <rmh@aybabtu.com> · 0de8be86
      robertmh authored
              * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
              `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
              * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
      0de8be86
  34. 13 Feb, 2008 1 commit
  35. 05 Feb, 2008 1 commit
    • robertmh's avatar
      2008-02-05 Robert Millan <rmh@aybabtu.com> · 409480b7
      robertmh authored
              * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
              (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
              (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
              (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
      
              * kern/i386/pc/startup.S: Include `<grub/term.h>'.
              (translation_table): Replace hardcoded values with macros
              provided by `<grub/term.h>'.
      
              * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
              (keyboard_map): Correct/add a few values, with macros provided
              by `<grub/term.h>'.
              (keyboard_map_shift): Zero values that don't differ from their
              `keyboard_map' equivalents.
              (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
              Discard the second scan code that is always sent by Caps lock.
              Only use `keyboard_map_shift' when it provides a non-zero value,
              otherwise fallback to `keyboard_map'.
      409480b7
  36. 03 Feb, 2008 1 commit
    • okuji's avatar
      2008-02-03 Yoshinori K. Okuji <okuji@enbug.org> · f2a76e1d
      okuji authored
          * configure.ac (AC_INIT): Bumped to 1.96.
      
          * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
          commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
          include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
          video/readers/png.c.
      f2a76e1d