Vladimir 'phcoder' Serbinenko
215c90cb82
* grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
...
part. Instead setup the correct stack in RM.
* grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
for stack.
* include/grub/i386/relocator_private.h: New file.
2012-02-07 22:31:14 +01:00
Vladimir 'phcoder' Serbinenko
a51dab1328
* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
...
to real mode down to execute A20-related code in protected mode as
intended.
2012-02-05 10:12:18 +01:00
Vladimir 'phcoder' Serbinenko
db606889a9
* grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
...
grub_error framework. All users updated.
2012-02-04 14:00:23 +01:00
Vladimir 'phcoder' Serbinenko
c84ba308b5
* grub-core/kern/mm.c: Add missing include of i18n.h
...
* grub-core/lib/relocator.c: Likewise.
2012-02-03 14:20:31 +01:00
Vladimir 'phcoder' Serbinenko
4a9f8346c9
* grub-core/commands/ls.c: Gettextize.
...
* grub-core/commands/setpci.c: Likewise.
* grub-core/commands/videotest.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/kern/mm.c: Likewise.
* grub-core/lib/relocator.c: Likewise.
* grub-core/loader/efi/appleloader.c: Likewise.
* grub-core/loader/i386/xnu.c: Likewise.
* grub-core/loader/ia64/efi/linux.c: Likewise.
* grub-core/loader/xnu.c: Likewise.
* grub-core/net/dns.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/script/lexer.c: Likewise.
* grub-core/script/parser.y: Likewise.
* grub-core/script/yylex.l: Likewise.
* util/getroot.c: Likewise.
* util/grub-setup.c: Likewise.
2012-02-03 11:56:49 +01:00
Vladimir 'phcoder' Serbinenko
9079d3ed4e
* grub-core/lib/posix_wrap/string.h (memchr): New function.
2012-01-29 23:58:42 +01:00
Vladimir 'phcoder' Serbinenko
ecbf8cd1b7
* grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
...
with grub_printf to avoid unnecessary fatal failure.
2012-01-29 23:48:35 +01:00
Vladimir 'phcoder' Serbinenko
0b3b3b38bd
* grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
...
(INT_MAX): Likewise.
* grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
* grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
* grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
(strcpy): Likewise.
(strstr): Likewise.
(strchr): Likewise.
(strncpy): Likewise.
(strcat): Likewise.
(strncat): Likewise.
(strcoll): Likewise.
* include/grub/types.h (GRUB_SHRT_MAX): New define.
(GRUB_INT_MAX): Likewise.
2012-01-29 23:27:31 +01:00
Vladimir 'phcoder' Serbinenko
db7337a3d3
* grub-core/gnulib/regcomp.c (regerror): Don't use abort on
...
unexpected error.
(optimize_utf8): Likewise.
* grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2012-01-29 23:22:57 +01:00
Vladimir 'phcoder' Serbinenko
bb26e4ff16
Use static allocation rather than scratch pointer in reed_solomon.
...
It decreases its size significantly and avoids a variable in .text.
* grub-core/lib/reed_solomon.c (scratch): Removed.
(chosenstat): New const or static array.
(sigma): Likewise.
(errpot): Likewise.
(errpos): Likewise.
(sy): Likewise.
(mstat): Likewise.
(errvals): Likewise.
(eqstat): Likewise.
(pol_evaluate): Replace x with log_x argument. All users updated.
(syndroms): Removed.
(gauss_solve): Use statically allocated arrays.
(rs_recover): Likewise.
Calculate syndroms directly.
(decode_block): Use statically allocated arrays.
(grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
(main) [TEST]: Allow -DTEST -DSTANDALONE.
2012-01-24 14:49:31 +01:00
Vladimir 'phcoder' Serbinenko
7816a17ed1
* grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
...
infinite recursion using counter.
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
init to skip it if the magic check fails.
(dec_stream_header): Init s->crc32.
2012-01-23 03:39:37 +01:00
Mario Limonciello
d779e9bdac
* configure.ac: Add back in test for limits.h.
2012-01-22 16:43:14 +01:00
Vladimir 'phcoder' Serbinenko
d43a777e45
Support powerpc with GCC that defines __PPC__ but not __powerpc__.
...
* config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
* grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2012-01-18 14:04:52 +01:00
Vladimir 'phcoder' Serbinenko
3ec0fc1c3b
Make XZ compression parameters dependent on target and not host CPU.
...
* configure.ac: Define GRUB_TARGET_CPU_XYZ series.
* grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2012-01-18 13:59:03 +01:00
Vladimir 'phcoder' Serbinenko
e6da146746
* grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2012-01-14 11:53:29 +01:00
Vladimir 'phcoder' Serbinenko
b4bf7c3b20
* grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
...
* grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2012-01-14 11:48:56 +01:00
Seth Goldberg
7e532280bd
* grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2012-01-12 22:20:29 +01:00
Vladimir 'phcoder' Serbinenko
c029da8a89
Various squash4 fixes and LZO and XZ support.
...
* Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
Add xzembed source files.
* grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
* grub-core/fs/squash4.c (grub_squash_super): New field compression.
(grub_squash_inode): New subtype long_dir.
(SQUASH_TYPE_LONG_DIR): New inode type.
(COMPRESSION): New enum.
(XZBUFSIZ): New const.
(grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
(read_chunk): Use data->decompress.
(zlib_decompress): New function.
(lzo_decompress): Likewise.
(xz_decompress): Likewise.
(squash_mount): Set new data fields.
(grub_squash_iterate_dir): Handle long dir.
(squash_unmount): Free xzdec and xzbuf.
(grub_squash_open): Check ino type.
(direct_read): Stylistic fixes. Use data->decompress.
(grub_squash_read_data): Likewise.
* grub-core/io/gzio.c (grub_gzio): Remove disk_input.
(get_byte): Likewise.
(grub_zlib_disk_read): Removed.
* grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
(GRUB_POSIX_BOOL_DEFINED): New define.
* grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
* grub-core/lib/xzembed/xz.h: Addmissing includes.
[!GRUB_POSIX_BOOL_DEFINED]: Define bool.
* include/grub/deflate.h (grub_zlib_disk_read): Removed.
2011-12-26 13:18:01 +01:00
Vladimir 'phcoder' Serbinenko
d3c13cbd62
Integrate hints into autogeneration scripts.
...
* docs/grub.texi (Filesystems): Add a hostdisk example.
* Makefile.util.def (grub-mkdevicemap): Remove ofpath.
(grub-probe): Add ofpath.
* gentpl.py: Remove group nosparc64.
* grub-core/commands/search.c (cache_entry): New struct.
(cache): New var.
(FUNC_NAME): Use and save cache. Fix handling of trailing comma.
* grub-core/commands/search_wrap.c (options): Add platform-specific
hint options.
(grub_cmd_search): Handle platform-specific hints.
(GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
* grub-core/kern/emu/hostdisk.c (map): New field device_map.
(grub_util_biosdisk_data): Likewise.
(grub_util_biosdisk_open): Set device_map.
(read_device_map): Handle "" as indication of no map.
Set device_map.
(find_system_device): Add hostdisk/ prefix for autogenerated entries.
(grub_util_biosdisk_get_compatibility_hint): New function.
* grub-core/normal/main.c (features): Add feature_platform_search_hint.
* include/grub/emu/hostdisk.h
(grub_util_biosdisk_get_compatibility_hint): New proto.
* util/grub-install.in: Don't call grub-mkdevicemap.
Add platform-specific hint to load.cfg.
* util/grub-mkconfig.in: Don't call grub-mkdevicemap.
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
hints. Set root preliminary to compatibility hint, not to OS name.
* util/grub-probe.c (PRINT_*): Add hints.
(print): Make static.
(escape_of_path): New function.
(guess_bios_drive): Likewise.
(guess_efi_drive): Likewise.
(guess_baremetal_drive): Likewise.
(print_full_name): Likewise.
(probe): Handle hints.
(main): Likewise.
* util/ieee1275/devicemap.c: Removed.
* util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
updated.
(grub_util_devname_to_ofpath): Return NULL on failure.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
resource leak.
* util/getroot.c (grub_util_pull_device): Fix memory leak.
* po/POTFILES.in: Regenerated.
Allow purely long options
* grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
(SHORT_ARG_USAGE): Likewise.
(grub_arg_show_help): Compare opt with help_options.
(parse_option): Receive opt as argument. If makes big simplificatons.
All users updated
2011-12-24 15:09:26 +01:00
Vladimir 'phcoder' Serbinenko
00ce2df3d4
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
...
Restructure to avoid warning.
2011-12-24 13:12:01 +01:00
Vladimir 'phcoder' Serbinenko
aa68ca1250
simplify lib/arg.c and allow purely long options
2011-12-23 21:13:09 +01:00
Vladimir 'phcoder' Serbinenko
31355584f1
* grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
...
an assert.
* util/grub-setup.c (setup): Likewise.
2011-12-23 10:23:41 +01:00
Vladimir 'phcoder' Serbinenko
bd67ad0f70
merge mainline into net
2011-12-15 20:51:35 +01:00
Vladimir 'phcoder' Serbinenko
e5f4d2607a
* grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
...
Add missing const attribute.
* grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
Likewise.
* grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
Likewise.
2011-12-15 20:26:17 +01:00
Vladimir 'phcoder' Serbinenko
8e54b4b76a
* grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
...
misaligned access.
(serpent_setkey): Likewise.
(serpent_encrypt_internal): Likewise.
(serpent_decrypt_internal): Likewise.
(serpent_encrypt): Don't put an alignment-increasing cast.
(serpent_decrypt): Likewise.
(serpent_test): Likewise.
2011-12-15 20:20:02 +01:00
Vladimir 'phcoder' Serbinenko
96f8caf812
* grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
...
stack.
(encode_block): Likewise.
2011-12-15 19:27:01 +01:00
Vladimir 'phcoder' Serbinenko
ee9c2e7a97
* grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
...
be deterministic.
(syndroms): Compute 0 syndrom.
(rs_recover): Use 0 syndrom.
2011-12-15 02:20:21 +01:00
Vladimir 'phcoder' Serbinenko
02a2bf8384
Add noreturn attributes and remove unreachable code.
...
* grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
code.
* grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
code. Mark as noreturn.
* grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
* grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
unreachable code.
* grub-core/kern/main.c (grub_main): Mark as noreturn.
* grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
* grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
* grub-core/normal/menu.c (run_menu): Remove unreachable code.
* include/grub/kernel.h (grub_main): Mark as noreturn.
* include/grub/reader.h (grub_rescue_run): Likewise.
2011-12-13 15:13:51 +01:00
Vladimir 'phcoder' Serbinenko
496bd07446
Unify and improve RAID and crypto xor.
...
* grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
changed to grub_crypto_xor
* grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
* include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
Use bigger types when possible.
2011-12-13 01:26:53 +01:00
Vladimir 'phcoder' Serbinenko
c5fc563aff
Enable UTF8 in gnulib regexp.
...
* 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.
2011-12-13 00:50:49 +01:00
Vladimir 'phcoder' Serbinenko
bf3a385792
Add missing const qualifiers.
...
* grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
* grub-core/commands/lspci.c (grub_pci_classname): Likewise.
* grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
* grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
(grub_lvm_check_flag): Likewise.
* grub-core/efiemu/i386/coredetect.c
(grub_efiemu_get_default_core_name): Likewise
* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
* grub-core/fs/ntfs.c (fixup): Likewise.
* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
* grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
(fzap_lookup): Likewise.
(zap_lookup): Likewise.
* grub-core/gnulib/regcomp.c (init_dfa): Likewise.
* grub-core/lib/legacy_parse.c (check_option): Likewise.
* grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
* grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
(grub_freebsd_add_meta_module): Likewise.
(grub_cmd_freebsd_module): Likewise.
* grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
* grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
(grub_xnu_writetree_get_size): Likewise.
(grub_xnu_writetree_toheap_real): Likewise.
(grub_xnu_find_key): Likewise.
(grub_xnu_create_key): Likewise.
(grub_xnu_create_value): Likewise.
(grub_xnu_register_memory): Likewise.
(grub_xnu_check_os_bundle_required): Likewise.
(grub_xnu_scan_dir_for_kexts): Likewise.
(grub_xnu_load_kext_from_dir): Likewise.
* grub-core/normal/color.c (color_list): Likewise.
* grub-core/normal/completion.c (current_word): Likewise.
* grub-core/normal/menu_entry.c (insert_string): Likewise.
* grub-core/term/serial.c (grub_serial_find): Likewise.
* grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
* include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
Likewise.
* include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
(grub_freebsd_add_meta_module): Likewise.
* include/grub/lib/arg.h (grub_arg_option): Likewise.
* include/grub/net.h (grub_net_card_driver): Likewise.
(grub_net_card): Likewise.
(grub_net_app_protocol): Likewise.
* include/grub/parttool.h (grub_parttool_argdesc): Likewise.
* include/grub/serial.h (grub_serial_find): Likewise.
* include/grub/tparm.h (grub_terminfo_tparm): Likewise.
* include/grub/xnu.h (grub_xnu_create_key): Likewise.
(grub_xnu_create_value): Likewise.
(grub_xnu_find_key): Likewise.
(grub_xnu_scan_dir_for_kexts): Likewise.
(grub_xnu_load_kext_from_dir): Likewise.
* include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
* grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
* include/grub/zfs/zio_checksum.h (zio_checksum_info):
Moved from here ...
* grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
2011-11-30 16:20:13 +01:00
Vladimir 'phcoder' Serbinenko
ab4378ae61
merge mainline into backtrace
2011-11-14 14:30:14 +01:00
Vladimir 'phcoder' Serbinenko
c1677cfccf
Fix a mismerge
2011-11-14 14:27:52 +01:00
Vladimir 'phcoder' Serbinenko
581ffa8a24
* grub-core/lib/adler32.c: Add missing license specification.
...
* grub-core/lib/crc64.c: Likewise.
* grub-core/loader/i386/pc/plan9.c: Likewise.
* grub-core/partmap/plan.c: Likewise.
2011-11-14 14:25:09 +01:00
Vladimir 'phcoder' Serbinenko
245f4582f9
merge mainline into backtrace
2011-11-14 10:50:24 +01:00
Vladimir 'phcoder' Serbinenko
9ad7edd055
merge mainline into backtrace
2011-11-14 10:49:13 +01:00
Vladimir 'phcoder' Serbinenko
c30be3b694
Make Reed-Solomon faster by using power of generator representation of
...
GF(256)*.
* grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
(gf_double_t): Likewise.
(gf_invert): Removed.
(gf_powx): New array.
(gf_powx_inv): Likewise.
(scratch): Move higher.
(gf_reduce): Removed.
(gf_mul): Use powx.
(gf_invert): Likewise.
(init_inverts): Replaced with ...
(init_powx): ...this. All users updated.
(pol_evaluate): Replace multiplications with additions.
(rs_encode): Likewise.
(gauss_eliminate): Call gf_invert.
(grub_reed_solomon_add_redundancy): Call init_powx.
(grub_reed_solomon_recover): Call init_powx unconditionally.
2011-11-13 14:48:19 +01:00
Vladimir 'phcoder' Serbinenko
678f4b6713
Move grub_chainloader_real_boot out of the kernel.
...
* grub-core/Makefile.am: Remove machine/loader.h.
* grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
Removed.
* grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
variable.
(grub_relocator16_keep_a20_enabled): Likewise.
(grub_relocator16_boot): Fill new variables.
* grub-core/lib/i386/relocator16.S: Add gate a20 handling.
* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
relocator.
(grub_chainloader_unload): Likewise.
(grub_chainloader_cmd): Likewise.
* include/grub/i386/pc/loader.h: Removed.
* include/grub/i386/relocator.h (grub_relocator16_state): Add a20
and esi. All initialisers updated.
2011-11-12 15:46:50 +01:00
Vladimir 'phcoder' Serbinenko
6e0632e28c
* grub-core/commands/acpihalt.c: Gettextized.
...
* grub-core/commands/cacheinfo.c: Likewise.
* grub-core/commands/cmp.c: Likewise.
* grub-core/commands/efi/loadbios.c: Likewise.
* grub-core/commands/gptsync.c: Likewise.
* grub-core/commands/ieee1275/suspend.c: Likewise.
* grub-core/commands/legacycfg.c: Likewise.
* grub-core/commands/memrw.c: Likewise.
* grub-core/commands/minicmd.c: Likewise.
* grub-core/commands/parttool.c: Likewise.
* grub-core/commands/time.c: Likewise.
* grub-core/commands/videoinfo.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/disk/i386/pc/biosdisk.c: Likewise.
* grub-core/disk/luks.c: Likewise.
* grub-core/disk/lvm.c: Likewise.
* grub-core/font/font_cmd.c: Likewise.
* grub-core/fs/zfs/zfscrypt.c: Likewise.
* grub-core/fs/zfs/zfsinfo.c: Likewise.
* grub-core/gfxmenu/view.c: Likewise.
* grub-core/kern/emu/hostdisk.c: Likewise.
* grub-core/kern/emu/main.c: Likewise.
* grub-core/kern/emu/misc.c: Likewise.
* grub-core/kern/emu/mm.c: Likewise.
* grub-core/kern/mips/arc/init.c: Likewise.
* grub-core/kern/mips/loongson/init.c: Likewise.
* grub-core/kern/partition.c: Likewise.
* grub-core/lib/i386/halt.c: Likewise.
* grub-core/lib/mips/arc/reboot.c: Likewise.
* grub-core/lib/mips/loongson/reboot.c: Likewise.
* grub-core/loader/i386/pc/chainloader.c: Likewise.
* grub-core/loader/i386/xnu.c: Likewise.
* grub-core/loader/multiboot.c: Likewise.
* grub-core/net/bootp.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/normal/term.c: Likewise.
* grub-core/partmap/bsdlabel.c: Likewise.
* grub-core/parttool/msdospart.c: Likewise.
* grub-core/term/gfxterm.c: Likewise.
* grub-core/term/terminfo.c: Likewise.
* grub-core/video/i386/pc/vbe.c: Likewise.
* util/grub-menulst2cfg.c: Likewise.
* util/grub-mkdevicemap.c: Likewise.
* util/grub-mklayout.c: Likewise.
* util/grub-mkrelpath.c: Likewise.
* util/grub-script-check.c: Likewise.
* util/ieee1275/grub-ofpathname.c: Likewise.
* util/resolve.c: Likewise.
2011-11-11 21:44:56 +01:00
Vladimir 'phcoder' Serbinenko
5b289bc5f6
* util/grub-macho2img.c: Add comment concerning gettext.
...
* grub-core/lib/legacy_parse.c: Likewise.
2011-11-11 20:52:41 +01:00
Vladimir 'phcoder' Serbinenko
d35d0d3753
Add const keyword to grub_env_get and gettextize week days.
...
* grub-core/hook/datehook.c (grub_datetime_names): Make const.
(grub_read_hook_datetime): Return const char *.
* grub-core/kern/env.c (grub_env_get): Return const char *. All users
updated.
* grub-core/normal/datetime.c (grub_weekday_names): Make const.
Mark for gettext.
(grub_get_weekday_name): Return const char *. Call gettext.
* grub-core/script/argv.c (grub_script_argv_append): Receive const
char * and len as the argument. All users updated.
(grub_script_argv_split_append): Receive const char *.
* include/grub/datetime.h (grub_get_weekday_name): Update proto.
* include/grub/env.h (grub_env_get): Likewise.
(grub_env_read_hook_t): Return const char *.
* include/grub/script_sh.h (grub_script_argv_append): Update proto.
(grub_script_argv_split_append): Likewise.
2011-11-11 20:34:37 +01:00
Vladimir 'phcoder' Serbinenko
f7ce5bafb5
Fix mips compilation.
...
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
normal decoder.
(hashes): Use in embed decoder as well (for sizes).
(dec_stream_header): Fix embed decompressor logic.
(dec_stream_footer): Likewise.
2011-11-11 18:30:34 +01:00
Vladimir 'phcoder' Serbinenko
49a45021c1
* grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
...
used variable.
* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
Likewise.
2011-11-08 19:46:41 +01:00
Vladimir 'phcoder' Serbinenko
f003a8c5e7
Move ZFS crypto to separate module
2011-11-06 15:18:25 +01:00
Vladimir 'phcoder' Serbinenko
1bc7cc1b4d
First part of zfs-crypto. CCM support with 0-filled keys
2011-11-06 13:18:27 +01:00
Vladimir 'phcoder' Serbinenko
158dc1ea26
XZ CRC64 and SHA256 support.
...
* Makefile.util.def (libgrubmods): Add crc64.c.
* grub-core/Makefile.core.def (crc64): New module.
* grub-core/lib/crc64.c: New file.
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
[!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
Fix the type.
(MAX_HASH_SIZE): New define.
(xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
(dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
(index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
(dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
(crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
(hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
Handle non-crc32 hashes.
(hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
(dec_stream_header): Handle non-crc32 hashes.
(dec_stream_footer): Likewise.
(dec_block_header): Likewise.
(dec_main): Likewise.
(xz_dec_init): Likewise.
(xz_dec_reset): Likewise.
(xz_dec_end): Likewise.
* util/import_gcry.py: Add CRC64 line.
2011-11-03 15:13:30 +01:00
Vladimir 'phcoder' Serbinenko
f646e14309
* grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
...
save some space.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2011-10-23 23:55:38 +02:00
Vladimir 'phcoder' Serbinenko
3471ecdfd9
* grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2011-10-23 23:34:30 +02:00
Vladimir 'phcoder' Serbinenko
4defb8d59b
* grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
...
New inline function.
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
Likewise.
(memset) [GRUB_UTIL]: Likewise.
(memcmp) [GRUB_UTIL]: Likewise.
2011-10-23 23:28:23 +02:00
Vladimir 'phcoder' Serbinenko
3ce69fc90f
* grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
...
* grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
Likewise.
2011-10-23 23:04:57 +02:00
Vladimir 'phcoder' Serbinenko
db1326f5fb
Move chainloader_real_boot out of the kernel
2011-10-21 00:16:59 +02:00
Vladimir 'phcoder' Serbinenko
544c24876e
Move grub_reboot out of the kernel.
...
* grub-core/Makefile.core.def (reboot): Add platform-specific files.
* grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
* grub-core/lib/efi/reboot.c: ... here.
* grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
* grub-core/kern/i386/ieee1275/startup.S: Likewise.
* grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
* grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
* grub-core/lib/i386/reboot_trampoline.S: ... here.
* grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
* grub-core/lib/ieee1275/reboot.c: ... here.
* grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
* grub-core/lib/mips/arc/reboot.c: ... here.
* grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
* grub-core/lib/mips/loongson/reboot.c: ...here.
* grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
* grub-core/lib/mips/qemu_mips/reboot.c: ... here.
* include/grub/emu/misc.h (grub_reboot): New function declaration.
* include/grub/i386/reboot.h: New file.
* include/grub/mips/loongson/ec.h: Fix includes.
* include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
* include/grub/misc.h (grub_reboot): Don't mark as kernel function.
* grub-core/lib/i386/reboot.c: New file.
2011-10-19 16:53:18 +02:00
Vladimir 'phcoder' Serbinenko
0eb8ffb1f5
* grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
...
* include/grub/misc.h (grub_isxdigit): New function.
* grub-core/video/colors.c (my_isxdigit): Removed. All users
switched to grub_isxdigit.
* grub-core/term/serial.c (grub_serial_find): Fix in case of port
number starting with a letter.
2011-10-14 19:16:37 +02:00
Vladimir 'phcoder' Serbinenko
faba379c96
put license on priority_queue
2011-10-05 23:18:22 +02:00
Vladimir 'phcoder' Serbinenko
805448e987
Add network functions for grub-menulst2cfg
2011-10-05 10:21:32 +02:00
Szymon Janc
6401c37058
Return correct adler32 value in read() call.
2011-08-21 14:49:07 +02:00
Szymon Janc
9a8d32a24f
Add support for adler32 checksuming.
...
* grub-core/lib/adler32.c: New file.
* Makefile.util.def (library): Add grub-core/lib/adler32.c to common.
* util/import_gcry.py (cryptolist): Add adler32.
2011-08-20 18:24:54 +02:00
Szymon Janc
1f1a380be9
Import minilzo library for LZO decompression support.
...
* grub-core/lib/minilzo/lzoconf.h: New file.
* grub-core/lib/minilzo/lzodefs.h: Likewise.
* grub-core/lib/minilzo/minilzo.c: Likewise.
* grub-core/lib/minilzo/minilzo.h: Likewise.
* include/grub/types.h (GRUB_UCHAR_MAX): New define.
(GRUB_USHRT_MAX): Likewise.
(GRUB_UINT_MAX): Likewise.
* grub-core/lib/posix_wrap/limits.h (USHRT_MAX): New define.
(UINT_MAX): Likewise.
(CHAR_BIT): Likewise.
* grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
grub-core/lib/posix_wrap/limits.h
(UCHAR_MAX): Likewise.
2011-08-14 11:39:31 +02:00
Vladimir 'phcoder' Serbinenko
92bb3cfc17
Use priority queue to reassemble TFTP packets
2011-07-09 01:28:47 +02:00
Vladimir 'phcoder' Serbinenko
fecdbd6b17
support ip fragmentation
2011-07-09 00:27:27 +02:00
Vladimir 'phcoder' Serbinenko
4db3461696
Priority queue implementation
2011-07-08 04:07:15 +02:00
Vladimir Serbinenko
a251b71915
LUKS and GELI support.
...
* Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
grub-core/disk/luks.c, grub-core/disk/geli.c,
grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
grub-core/lib/arg.c.
(libgrubmods.a): Remove gcrypts cflags and cppflags.
Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
(grub-bin2h): Add libgcry.a.
(grub-mkimage): Likewise.
(grub-mkrelpath): Likewise.
(grub-script-check): Likewise.
(grub-editenv): Likewise.
(grub-mkpasswd-pbkdf2): Likewise.
(grub-pe2elf): Likewise.
(grub-fstest): Likewise.
(grub-mkfont): Likewise.
(grub-mkdevicemap): Likewise.
(grub-probe): Likewise.
(grub-ofpath): Likewise.
(grub-mklayout): Likewise.
(example_unit_test): Likewise.
(grub-menulst2cfg): Likewise.
* autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
* grub-core/Makefile.core.def (cryptodisk): New module.
(luks): Likewise.
(geli): Likewise.
* grub-core/disk/AFSplitter.c: New file.
* grub-core/disk/cryptodisk.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/disk/luks.c: Likewise.
* grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
grub_util_is_lvm.
(grub_util_get_dm_abstraction): New function.
(grub_util_follow_gpart_up): Likewise.
(grub_util_get_geom_abstraction): Likewise.
(grub_util_get_dev_abstraction): Use new functions.
(grub_util_pull_device): Pull GELI and LUKS.
(grub_util_get_grub_dev): Handle LUKS and GELI.
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
(grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
(follow_geom_up): Removed.
(grub_util_fd_seek): New function.
(open_device): Use grub_util_fd_seek.
(nread): Rename to ..
(grub_util_fd_read): ... this. All users updated.
* grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
(grub_crypto_cbc_decrypt): Likewise.
(grub_crypto_hmac_write): Likewise.
(grub_crypto_hmac_buffer): Likewise.
(grub_password_get): Extend to util.
* include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
New member modname.
(gcry_md_spec) [GRUB_UTIL]: Likewise.
* include/grub/cryptodisk.h: New file.
* include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
* include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
LUKS and GELI.
(grub_util_follow_gpart_up): New proto.
* include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
(grub_util_fd_read): Likewise.
(grub_cryptodisk_cheat_mount): Likewise.
(grub_util_cryptodisk_print_uuid): Likewise.
(grub_util_get_fd_sectors): Likewise.
* util/grub-fstest.c (mount_crypt): New var.
(fstest): Mount crypto if requested.
(options): New option -C.
(argp_parser): Parse -C.
(main): Init and fini gcry.
* util/grub-install.in: Support cryptodisk install.
* util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
cryptodisk.
(prepare_grub_to_access_device): Likewise.
* util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
* util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
(probe_cryptodisk_uuid): New function.
(probe_abstraction): Likewise.
(probe): Use new functions.
* util/import_gcry.py: Create Makefile.utilgcry.def.
Add modname member.
Also-By: Michael Gorven <michael@gorven.za.net>
Also-By: Clemens Fruhwirth <clemens@endorphin.org>
2011-07-07 23:52:58 +02:00
Vladimir 'phcoder' Serbinenko
a07a81b335
CMOS support on sparc.
...
* gentpl.py (cmos): Add powerpc and sparc.
* grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
powerpc and sparc.
* grub-core/lib/cmos_datetime.c (grub_get_datetime)
[__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
(grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
grub_set_datetime_cmos.
* grub-core/lib/ieee1275/cmos.c: New file.
* grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
(find_rtc): Set no_ieee1275_rtc on error.
(grub_get_datetime): Call grub_get_datetime_cmos on error.
(grub_set_datetime): Call grub_set_datetime_cmos on error.
* include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
fail. Move value to argument. All users updated
(grub_cmos_write): Likewise.
(grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
(grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
* include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
grub_get_datetime_cmos and grub_set_datetime_cmos.
2011-07-05 20:24:20 +02:00
Vladimir 'phcoder' Serbinenko
bdea379833
* grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
...
when handling leftovers.
2011-06-27 12:18:44 +02:00
Vladimir 'phcoder' Serbinenko
005dd67cb6
* grub-core/disk/ahci.c: Add missing license statements.
...
* grub-core/fs/romfs.c: Likewise.
* grub-core/lib/ia64/setjmp.S: Likewise.
* grub-core/loader/i386/pc/freedos.c: Likewise.
* grub-core/loader/ia64/efi/linux.c: Likewise.
* grub-core/video/colors.c: Likewise.
* include/grub/dl.h (GRUB_MOD_DEP): New macro.
2011-06-24 00:29:21 +02:00
Vladimir 'phcoder' Serbinenko
e061a1b537
* grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
...
Prevent memory leak.
2011-06-23 20:58:35 +02:00
Vladimir 'phcoder' Serbinenko
1abe47dc99
* grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
...
(main): Close file.
2011-06-23 20:55:36 +02:00
Vladimir 'phcoder' Serbinenko
e3a1073fd2
FreeDOS direct loading support.
...
* docs/grub.texi (Supported OS): Add FreeDOS.
* grub-core/Makefile.core.def (freedos): New module.
* grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
variable.
(grub_relocator16_boot): Handle %ebx.
* grub-core/lib/i386/relocator16.S: Likewise.
* grub-core/loader/i386/pc/freedos.c: New file.
2011-05-18 12:15:16 +02:00
Vladimir 'phcoder' Serbinenko
400b93718f
SGI ARCS port.
...
* Makefile.util.def (libgrubmods.a): Add dvh.c.
* conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
platforms.
* configure.ac: New target mips-arc.
* gentpl.py: Likewise.
* grub-core/Makefile.am: Likewise.
* grub-core/Makefile.core.def: Likewise.
(xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
(none_decompress): Likewise.
(lsdev): New module.
(datetime): Use lib/arc/datetime.c on ARC.
(part_dvh): New module.
* grub-core/commands/arc/lsdev.c: New file.
* grub-core/disk/arc/arcdisk.c: Likewise.
* grub-core/kern/mips/arc/init.c: Likewise.
* grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
aligned addresses.
* grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
support.
(grub_arch_dl_relocate_symbols): Likewise.
* grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
* grub-core/kern/mips/init.c (grub_get_rtc): ... here.
* grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
platforms.
* grub-core/lib/arc/datetime.c: New file.
* grub-core/loader/mips/linux.c: Always include time.h. Don't include
pci.h on non-loongson.
(envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
(grub_linux_boot): Set unused registers to 0.
(grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
* grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
* grub-core/mmap/mips/uppermem.c: ...here.
* grub-core/partmap/dvh.c: New file.
* grub-core/term/arc/console.c: Likewise.
* grub-core/term/terminfo.c (ANSI_C0_STR): New const.
(grub_terminfo_set_current): Add terminal "arc".
(grub_terminfo_readkey): Support ARC sequences.
* include/grub/arc/arc.h: New file.
* include/grub/arc/console.h: Likewise.
* include/grub/disk.h (grub_disk_dev_id): Add
GRUB_DISK_DEVICE_ARCDISK_ID.
* include/grub/mips/arc/kernel.h: New file.
* include/grub/mips/arc/memory.h: Likewise.
* include/grub/mips/arc/time.h: Likewise.
* include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
* include/grub/mips/kernel.h (grub_halt): ... here.
* include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
here...
* include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
(GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
* include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
* include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
proto.
* include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
from here ...
* include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
(GRUB_ARCH_LOWMEMPSTART): Moved from here ...
* include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
(GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
* include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
(GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
* include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
(grub_phys_addr_t): Moved from here ...
* include/grub/mips/memory.h (grub_phys_addr_t): ... here.
(grub_vtop): Moved from here ...
* include/grub/mips/memory.h (grub_vtop): ... here.
(grub_map_memory): Moved from here ...
* include/grub/mips/memory.h (grub_map_memory): ... here.
(grub_unmap_memory): Moved from here ...
* include/grub/mips/memory.h (grub_unmap_memory): ... here.
(grub_machine_mmap_iterate): Moved from here ...
* include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
(grub_mmap_get_lower): Moved from here ...
* include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
(grub_mmap_get_upper): Moved from here ...
* include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
* include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
here ...
* include/grub/mips/time.h (grub_arch_cpuclock): ... here.
* include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
here ...
* include/grub/mips/time.h (grub_get_rtc): ... here.
* include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
here ...
* include/grub/mips/time.h (grub_arch_cpuclock): ... here.
* include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
here ...
* include/grub/mips/time.h (grub_cpu_idle): ... here.
* include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
definition.
(GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
(GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
(GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
(GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
(GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
(GRUB_MACHINE_LINK_ADDR): Likewise.
* include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
to 6.
* util/grub-install.in: Run dvhtool on ARC.
* util/grub-mkimage.c (image_targets): Add mips-arc.
2011-05-17 09:17:38 +02:00
Tristan Gingold
32297d5ff7
IA64 support.
...
* Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
* configure.ac: Add ia64-efi target.
Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
__divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
* gentpl.py: Add ia64_efi platform.
Rename x86_efi to efi and Add ia64-efi. All users updated.
* grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
* grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
Remove kern/generic/rtc_get_time_ms.c on EFI.
Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
kern/ia64/dl_helper.c on ia64-efi.
Add kern/emu/cache.c on emu.
(linux): Use on loader/ia64/efi/linux.c on ia64.
* grub-core/gensymlist.sh (grub_register_exported_symbols): Check
whether symbol is a function.
* grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
(grub_symbol): New field 'isfunc'.
(grub_dl_resolve_symbol): Return whole symbol rather than just address.
(grub_dl_register_symbol): New argument 'isfunc'. All users updated.
(grub_dl_load_segments): Place all sections into the same region.
[__ia64__]: Create trampolines and got.
[GRUB_MACHINE_EMU]: Call mprotect.
(grub_dl_resolve_symbols): Resolve symbol type as well.
[__ia64__]: Create function descriptors.
* grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
(grub_rtc_get_time_ms): ... this. Expressions simplified.
(grub_get_rtc): New function.
* grub-core/kern/emu/cache.c [__ia64__]: New file.
* grub-core/kern/emu/cache.S: Renamed to ...
* grub-core/kern/emu/cache_s.S: ... this.
[__ia64__]: Add a nop.
* grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
[__ia64__]: New function.
* grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
* grub-core/kern/ia64/dl.c: New file.
* grub-core/kern/ia64/dl_helper.c: Likewise.
* grub-core/kern/ia64/efi/init.c: New file.
* grub-core/kern/ia64/efi/startup.S: Likewise.
* grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
* grub-core/lib/ia64/longjmp.S: New file (from glibc).
* grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
* grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
* grub-core/loader/ia64/efi/linux.c: New file.
* include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
(GRUB_MOD_DEP): Likewise.
(grub_dl) [__ia64__]: New fields got and tramp.
(grub_dl): New field 'base'.
(grub_dl_register_symbol): New argument isfunc. All users updated.
(GRUB_IA64_DL_TRAMP_ALIGN): New definition.
(GRUB_IA64_DL_TRAMP_SIZE): Likewise.
(GRUB_IA64_DL_GOT_ALIGN): Likewise.
(grub_ia64_dl_get_tramp_got_size): New proto.
(GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
(GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
(grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
* include/grub/efi/api.h: Skip call wrappers on ia64.
* include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
* include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
* include/grub/elf.h (ELF_ST_INFO): New definition.
* include/grub/ia64/efi/kernel.h: New file.
* include/grub/ia64/efi/memory.h: Likewise.
* include/grub/ia64/efi/time.h: Likewise.
* include/grub/ia64/kernel.h: Likewise.
* include/grub/ia64/setjmp.h: Likewise (from glibc).
* include/grub/ia64/time.h: New file.
* include/grub/ia64/types.h: Likewise.
* include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
__moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
New protos.
* include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
(GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
* include/grub/types.h (PRIxGRUB_ADDR): Likewise.
* util/grub-mkimage.c (image_target_desc): New field pe_target.
All users updated.
(EFI64_HEADER_SIZE): New definition. All users updated.
(image_targets): Add ia64-efi.
* util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
jumpers_addr. All users updated.
Create function descriptors.
(count_funcs): New function.
(unaligned_uint32): New struct.
(MASK20): New definition.
(MASK19): Likewise.
(MASKF21): Likewise.
(add_value_to_slot_20b): New function.
(add_value_to_slot_21_real): Likewise.
(add_value_to_slot_21): Likewise.
(ia64_kernel_trampoline): New struct.
(nopm): New variable.
(jump): Likewise.
(make_trampoline): New function.
(relocate_addresses): Handle ia64.
(make_reloc_section): Likewise.
(load_image): Likewise.
Also-By: Robert Millan <rmh.grub@aybabtu.com>
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2011-05-15 11:22:59 +02:00
Vladimir 'phcoder' Serbinenko
8906c3dd40
sgi support
2011-05-13 16:36:05 +02:00
Vladimir 'phcoder' Serbinenko
ee5614b7f8
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
...
hexadecimal.
2011-05-05 01:27:54 +02:00
Vladimir 'phcoder' Serbinenko
8c767fd198
merge mainline into luks
2011-04-25 17:04:27 +02:00
Vladimir 'phcoder' Serbinenko
88ac3146d6
geli v5 (including rekeying support)
2011-04-24 17:15:55 +02:00
Vladimir 'phcoder' Serbinenko
848c83e75c
add few necessarry const qualifiers for pointers
2011-04-24 02:38:42 +02:00
Vladimir 'phcoder' Serbinenko
1a1f408f20
geli support
2011-04-24 00:00:29 +02:00
Vladimir 'phcoder' Serbinenko
2cb55e6f73
make grub_password_get work in userland
2011-04-22 21:46:00 +02:00
Colin Watson
b13f79a427
Fix stack pointer handling in 16-bit relocator.
...
* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
Fixes Ubuntu bug #683904 .
2011-04-21 00:07:22 +01:00
Vladimir 'phcoder' Serbinenko
d97e7b5935
* include/grub/dl.h [ASM_FILE]: Adapt for assembly.
...
* grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
* grub-core/lib/x86_64/setjmp.S: Likewise.
* grub-core/lib/mips/setjmp.S: Likewise.
* grub-core/lib/powerpc/setjmp.S: Likewise.
* grub-core/lib/sparc64/setjmp.S: Likewise.
2011-04-20 01:37:48 +02:00
Vladimir 'phcoder' Serbinenko
0624551c22
* grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
...
* grub-core/lib/efi/datetime.c: Likewise.
2011-04-20 01:32:21 +02:00
Vladimir 'phcoder' Serbinenko
fe6b2cbaa6
BtrFS support. Written by me (Vladimir) with important bugfixes and
...
even more important testing by Colin.
* Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
* grub-core/Makefile.core.def (btrfs): Add crc.c.
* grub-core/fs/btrfs.c: Stub replaced with real implementation.
* grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
mem_input_off and mem_input. All users updated to accept in-RAM input.
(gzio_seek): New function.
(test_zlib_header): Likewise.
(grub_gzio_read): Likewise.
(grub_zlib_decompress): Likewise.
* grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
Accept partial and non-virtual mounts.
(grub_guess_root_device): Do rescanning after device_from_mountinfo to
avoid receiving /dev/dm-X as device.
* grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
Handle bind and partial mounts.
* grub-core/lib/crc.c: New file.
* include/grub/deflate.h: Likewise.
* include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
proto.
* include/grub/lib/crc.h: New file.
2011-04-11 23:26:41 +02:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6
Implement automatic module license checking according to new GNU
...
guidelines.
* grub-core/kern/dl.c (grub_dl_check_license): New function.
(grub_dl_load_core): Use grub_dl_check_license.
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
(GRUB_MOD_LICENSE): Likewise.
(GRUB_MOD_DUAL_LICENSE): Likewise.
All modules updated.
2011-04-11 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
c7ba1ba62e
merge mainline into butter
2011-04-11 07:56:31 +02:00
Vladimir 'phcoder' Serbinenko
7c2e4909c3
* grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
...
root on legacy.
2011-04-08 14:32:41 +02:00
Vladimir 'phcoder' Serbinenko
7755f66e64
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
...
useful grub_dprintf's.
2011-04-06 14:04:52 +02:00
Vladimir 'phcoder' Serbinenko
a1dc717c58
* grub-core/lib/relocator.c (allocate_regstart)
...
[!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
terminals are capabple of malloc-free operation.
(allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
(malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2011-03-29 08:20:19 +02:00
Vladimir 'phcoder' Serbinenko
c7064d9425
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
...
[DEBUG_RELOCATOR]: Reuse grub_mm_check.
(grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
2011-03-24 12:45:51 +01:00
Vladimir 'phcoder' Serbinenko
ef6de21af4
* grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
...
DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
malloc is disabled.
2011-03-24 12:39:48 +01:00
Vladimir 'phcoder' Serbinenko
fa3e01bfb5
* grub-core/lib/i386/pc/biosnum.c: Add missing include.
2011-03-23 12:23:42 +01:00
Vladimir 'phcoder' Serbinenko
7d4e39d65a
* grub-core/bus/usb/usb.c (attach_hooks): Make static.
...
* grub-core/bus/usb/usbhub.c (hubs): Likewise.
* grub-core/commands/hashsum.c (aliases): Likewise.
* grub-core/commands/setpci.c (pci_registers): Likewise.
* grub-core/disk/usbms.c (attach_hook): Likewise.
* grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
(zio_checksum_table): Likewise.
* grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
* grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
* grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
* grub-core/lib/relocator.c (leftovers): Likewise.
(extra_blocks): Likewise.
* grub-core/loader/i386/bsd.c (relocator): Likewise.
* grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/loader/i386/xnu.c (table_aliases): Likewise.
(devices): Likewise.
* grub-core/loader/multiboot_mbi2.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/normal/auth.c (users): Likewise.
* grub-core/normal/context.c (initial_menu): Likewise.
(current_menu): Likewise.
* grub-core/normal/crypto.c (crypto_specs): Likewise.
* grub-core/term/serial.c (grub_serial_ports): Likewise.
(grub_serial_terminfo_input_template): Likewise.
(grub_serial_terminfo_output_template): Likewise.
(grub_serial_terminfo_input): Likewise.
(grub_serial_terminfo_output): Likewise.
(registered): Likewise.
* grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2011-03-23 12:05:13 +01:00
Colin Watson
6b978c4f04
merge trunk
2011-01-11 10:00:45 -06:00
Vladimir 'phcoder' Serbinenko
0fd48e357f
Satisfy some bison versions need for inttypes.h.
...
* grub-core/lib/posix_wrap/inttypes.h: New file.
* grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
(int16_t): Likewise.
(int32_t): Likewise.
(int64_t): Likewise.
Reported and tested by: Alain Greppin.
2011-01-08 00:34:23 +01:00
Colin Watson
b7d86d53c4
merge trunk
2011-01-07 17:26:15 +00:00
Szymon Janc
25953e1055
Improve loaders' kernel command line handling.
...
* grub-core/lib/cmdline.c: New file.
* include/grub/lib/cmdline.h: Likewise.
* grub-core/loader/i386/linux.c (grub_cmd_linux): Use
grub_create_loader_cmdline to create kernel command line.
* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
* grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
(linux): Add lib/cmdline.c on common.
2011-01-07 17:09:39 +01:00
Vladimir 'phcoder' Serbinenko
9eae2084f4
* grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
...
Ignore the memory post-4G.
(grub_relocator_firmware_alloc_region): Additional debug statement.
2011-01-04 19:08:03 +01:00
Colin Watson
944404efb8
merge trunk
2011-01-04 15:41:07 +00:00
Vladimir 'phcoder' Serbinenko
a0159f370d
* grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
...
Prevent overflow.
(grub_reed_solomon_recover): Likewise.
2011-01-04 15:39:59 +01:00
Vladimir 'phcoder' Serbinenko
e5146ca18b
* grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
2011-01-04 15:37:10 +01:00
Vladimir 'phcoder' Serbinenko
956384994b
* grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
...
variable.
2011-01-04 15:35:10 +01:00
phcoder
c18271ed00
Fix compilation errors
2011-01-03 02:28:14 +01:00