proski
737feb3579
2008-07-17 Pavel Roskin <proski@gnu.org>
...
* configure.ac: Default to pc platform for x86_64.
2008-07-17 15:31:16 +00:00
robertmh
546f966aa5
2008-07-17 Robert Millan <rmh@aybabtu.com>
...
Partial LinuxBIOS -> Coreboot rename.
* conf/i386-linuxbios.rmk: Renamed to ...
* conf/i386-coreboot.rmk: ... this.
* Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
* configure.ac: Accept coreboot as input platform (but maintain
compatibility with linuxbios).
* include/grub/i386/linuxbios: Renamed to ...
* include/grub/i386/coreboot: ... this.
2008-07-17 15:05:12 +00:00
bean
2001169405
2008-07-17 Bean <bean123ch@gmail.com>
...
* conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
(appleldr_mod_SOURCE): New variavle.
(appleldr_mod_CFLAGS): Likewise.
(appleldr_mod_LDFLAGS): Likewise.
(pci_mod_SOURCES): Likewise.
(pci_mod_CFLAGS): Likewise.
(pci_mod_LDFLAGS): Likewise.
(lspci_mod_SOURCES): Likewise.
(lspci_mod_CFLAGS): Likewise.
(lspci_mod_LDFLAGS): Likewise.
* conf/x86_64-efi.rmk: New file.
* disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
macro.
(grub_efidisk_write): Likewise.
* include/efi/api.h (efi_call_0): New macro.
(efi_call_1): Likewise.
(efi_call_2): Likewise.
(efi_call_3): Likewise.
(efi_call_4): Likewise.
(efi_call_5): Likewise.
(efi_call_6): Likewise.
* include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
grub_rescue_cmd_chainloader.
* include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
(grub_pe32_optional_header): Change some fields based on i386 or
x86_64 platform.
(GRUB_PE32_PE32_MAGIC): Likewise.
* include/grub/efi/uga_draw.h: New file.
* include/grub/elf.h (STN_ABS): New constant.
(R_X86_64_NONE): Relocation constant for x86_64.
(R_X86_64_64): Likewise.
(R_X86_64_PC32): Likewise.
(R_X86_64_GOT32): Likewise.
(R_X86_64_PLT32): Likewise.
(R_X86_64_COPY): Likewise.
(R_X86_64_GLOB_DAT): Likewise.
(R_X86_64_JUMP_SLOT): Likewise.
(R_X86_64_RELATIVE): Likewise.
(R_X86_64_GOTPCREL): Likewise.
(R_X86_64_32): Likewise.
(R_X86_64_32S): Likewise.
(R_X86_64_16): Likewise.
(R_X86_64_PC16): Likewise.
(R_X86_64_8): Likewise.
(R_X86_64_PC8): Likewise.
* include/grub/i386/efi/pci.h: New file.
* include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
Change it value based on platform.
(GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
(GRUB_E820_RAM): Likewise.
(GRUB_E820_RESERVED): Likewise.
(GRUB_E820_ACPI): Likewise.
(GRUB_E820_NVS): Likewise.
(GRUB_E820_EXEC_CODE): Likewise.
(GRUB_E820_MAX_ENTRY): Likewise.
(grub_e820_mmap): New structure.
(linux_kernel_header): Change the efi field according to different
kernel version, also field from linux_kernel_header.
* include/grub/kernel.h (grub_module_info): Add padding for x86_64.
* include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
(GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
(GRUB_PCI_ADDR_SPACE_IO): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
(GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
(GRUB_PCI_ADDR_MEM_MASK): Likewise.
(GRUB_PCI_ADDR_IO_MASK): Likewise.
* include/grub/x86_64/efi/kernel.h: New file.
* include/grub/x86_64/efi/loader.h: Likewise.
* include/grub/x86_64/efi/machine.h: Likewise.
* include/grub/x86_64/efi/pci.h: Likewise.
* include/grub/x86_64/efi/time.h: Likewise.
* include/grub/x86_64/linux.h: Likewise.
* include/grub/x86_64/setjmp.h: Likewise.
* include/grub/x86_64/time.h: Likewise.
* include/grub/x86_64/types.h: Likewise.
* kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
GRUB_TARGET_SIZEOF_VOID_P.
* kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
(grub_efi_locate_handle): Likewise.
(grub_efi_open_protocol): Likewise.
(grub_efi_set_text_mode): Likewise.
(grub_efi_stall): Likewise.
(grub_exit): Likewise.
(grub_reboot): Likewise.
(grub_halt): Likewise.
(grub_efi_exit_boot_services): Likewise.
(grub_get_rtc): Likewise.
* kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
(GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
(grub_efi_allocate_pages): Wrap efi calls.
(grub_efi_free_pages): Wrap efi calls.
(grub_efi_get_memory_map): Wrap efi calls.
* kern/x86_64/dl.c: New file.
* kern/x86_64/efi/callwrap.S: Likewise.
* kern/x86_64/efi/startup.S: Likewise.
* loader/efi/appleloader.c: Likewise.
* loader/efi/chainloader.c (cmdline): New variable.
(grub_chainloader_unload): Wrap efi calls.
(grub_chainloader_boot): Likewise.
(grub_rescue_cmd_chainloader): Wrap efi calls, handle
command line.
* loader/efi/chainloader_normal.c (chainloader_command):
Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
command line.
* loader/i386/efi/linux.c (allocate_pages): Change allocation
method.
(grub_e820_add_region): New function.
(grub_linux_boot): Construct e820 map from efi map, handle x86_64
booting.
(grub_find_video_card): New function.
(grub_linux_setup_video): New function.
(grub_rescue_cmd_linux): Probe for video information.
* normal/x86_64/setjmp.S: New file.
* term/efi/console.c (map_char): New function.
(grub_console_putchar): Map unicode char.
(grub_console_checkkey): Wrap efi calls.
(grub_console_getkey): Likewise.
(grub_console_getwh): Likewise.
(grub_console_gotoxy): Likewise.
(grub_console_cls): Likewise.
(grub_console_setcolorstate): Likewise.
(grub_console_setcursor): Likewise.
* util/i386/efi/grub-mkimage.c: Add support for x86_64.
2008-07-17 09:50:26 +00:00
proski
ef29405511
2008-07-16 Pavel Roskin <proski@gnu.org>
...
* loader/i386/efi/linux.c (allocate_pages): Fix warnings in
format strings.
2008-07-16 07:06:11 +00:00
proski
59652a208f
2008-07-16 Pavel Roskin <proski@gnu.org>
...
* util/i386/efi/grub-mkimage.c (get_target_address): Return a
pointer, not an integer. This fixes a warning and prevents
precision loss on 64-bit systems.
(relocate_addresses): Remove unneeded cast.
2008-07-16 06:55:42 +00:00
proski
506b2b3e2b
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* kern/i386/ieee1275/init.c: Include grub/cache.h.
2008-07-15 13:29:53 +00:00
proski
62ead89c20
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* term/ieee1275/ofconsole.c: Disable code unused on i386.
2008-07-15 13:27:02 +00:00
proski
c4cd51d7a4
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
Fix comparison between signed and unsigned.
2008-07-15 13:22:27 +00:00
proski
0d3d8f2843
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/ieee1275/console.h: Declare
grub_console_init() and grub_console_fini().
2008-07-15 04:37:32 +00:00
proski
8804b286f4
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
It's empty and unused.
2008-07-15 04:17:48 +00:00
proski
ee01cf35f0
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
beginning to avoid warnings with some compilers.
2008-07-15 04:12:28 +00:00
proski
afc3b5d7c4
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
[__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
2008-07-15 04:07:37 +00:00
proski
407aceb4da
2008-07-14 Pavel Roskin <proski@gnu.org>
...
* kern/env.c (grub_register_variable_hook): Don't copy empty
string, it leaks memory. Pass "" to grub_env_set(), it should
handle constant strings.
2008-07-14 05:03:19 +00:00
proski
e4e8eaa5b3
2008-07-14 Pavel Roskin <proski@gnu.org>
...
* commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
* commands/cmp.c (grub_cmd_cmp): Likewise.
* kern/dl.c (grub_dl_flush_cache): Likewise.
(grub_dl_load_core): Likewise.
* kern/elf.c (grub_elf32_load_phdrs): Likewise.
(grub_elf64_load_phdrs): Likewise.
2008-07-14 04:46:19 +00:00
proski
fe9870876d
Fix typos in ChangeLog and comments
2008-07-13 18:13:36 +00:00
proski
d4e2dad356
2008-07-13 Pavel Roskin <proski@gnu.org>
...
* lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
between signed and unsigned.
(LzmaEnc_Finish): Fix warning about an unused parameter.
2008-07-13 17:46:25 +00:00
bean
aa24b516a2
2008-07-13 Bean <bean123ch@gmail.com>
...
* 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.
2008-07-13 01:55:15 +00:00
bean
4ae821ac9a
2008-07-13 Bean <bean123ch@gmail.com>
...
* fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
(grub_ext4_extent_header): New structure.
(grub_ext4_extent): Likewise.
(grub_ext4_extent_idx): Likewise.
(grub_ext4_find_leaf): New function.
(grub_ext2_read_block): Handle extents.
2008-07-13 01:13:12 +00:00
robertmh
9a745147b8
2008-07-12 Robert Millan <rmh@aybabtu.com>
...
* util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
2008-07-12 15:40:50 +00:00
robertmh
d49a4cf6a7
2008-07-11 Robert Millan <rmh@aybabtu.com>
...
* util/grub.d/40_custom.in: New file. Example on how to add custom
entries to /etc/grub.d.
* conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40_custom (implicitly, by merging all the grub.d rules).
2008-07-11 20:09:14 +00:00
proski
0059cf6fdd
2008-07-11 Pavel Roskin <proski@gnu.org>
...
* commands/read.c (grub_getline): Fix invalid memory access.
Don't add newline to the variable value.
2008-07-11 17:35:06 +00:00
proski
947414b4b9
2008-07-11 Pavel Roskin <proski@gnu.org>
...
* term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
[!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
(serial_hw_get_port): Check validity of the port number.
(grub_cmd_serial): Check return value of serial_hw_get_port().
2008-07-11 16:40:45 +00:00
proski
62a02d00d6
2008-07-07 Pavel Roskin <proski@gnu.org>
...
* boot/i386/pc/diskboot.S (notification_string): Replace
"Loading kernel" with just "loading". This is shorter, less
confusing and saves a few bytes for possible future changes.
2008-07-07 15:11:06 +00:00
proski
ea387a48e9
2008-07-05 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
size for ATAPI devices, they are undefined. Output sector
number in decimal form.
2008-07-06 01:24:19 +00:00
proski
3e5581b0bf
2008-07-05 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c: Use named constants for status bits.
2008-07-06 00:57:36 +00:00
proski
bcd35b903d
2008-07-04 Pavel Roskin <proski@gnu.org>
...
* kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
grub_addr_t before casting it to the void pointer to fix a
warning. Non-addressable regions are discarded earlier.
(grub_arch_modules_addr): Cast _end to grub_addr_t.
* kern/i386/linuxbios/table.c: Include grub/misc.h.
(check_signature): Don't shadow table_header.
(grub_linuxbios_table_iterate): Cast numeric constants to
grub_linuxbios_table_header_t.
* include/grub/i386/linuxbios/init.h: Add noreturn attribute to
grub_stop().
2008-07-04 03:26:10 +00:00
proski
af58ab3dbc
2008-07-04 Pavel Roskin <proski@gnu.org>
...
* kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
prevent warnings.
2008-07-04 03:01:55 +00:00
proski
1759aa57d4
2008-07-04 Pavel Roskin <proski@gnu.org>
...
* include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
pointer, which can cause warnings. Support 64-bit addresses.
2008-07-04 02:12:54 +00:00
proski
fdecb8fdbb
2008-07-04 Pavel Roskin <proski@gnu.org>
...
* util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
of sizeof(long). This fixes PowerPC image generation on x86_64.
2008-07-04 01:53:52 +00:00
robertmh
8516d2a8e1
2008-07-04 Robert Millan <rmh@aybabtu.com>
...
This fixes a performance issue when pc & gpt partmap iterators
didn't abort iteration even after our hook found what it was
looking for (often causing expensive probes of non-existant drives).
Some callers relied on previous buggy behaviour, since they would
rise an error when their own hooks caused early abortion of its
iteration.
* kern/device.c (grub_device_open): Improve error message.
* disk/lvm.c (grub_lvm_open): Likewise.
* disk/raid.c (grub_raid_open): Likewise.
* partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
when hook requests it, independently of grub_errno.
(pc_partition_map_probe): Do not fail when find_func() caused
early abortion of pc_partition_map_iterate().
* partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
when hook requests it, independently of grub_errno.
(gpt_partition_map_probe): Do not fail when find_func() caused
early abortion of gpt_partition_map_iterate().
* kern/partition.c (grub_partition_iterate): Abort parent iteration
when hook requests it, independently of grub_errno. Do not fail when
part_map_iterate_hook() caused early abortion of p->iterate().
* util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
when grub_partition_iterate() returned with non-zero.
2008-07-03 22:56:43 +00:00
proski
277d0de997
2008-07-03 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c (grub_ata_pio_write): Check status before writing,
like we do in grub_ata_pio_read().
(grub_ata_readwrite): Always write individual sectors. Fix the
sector count for the remainder.
(grub_ata_write): Enable writing to ATA devices. Correctly
report error for ATAPI devices.
2008-07-03 20:53:00 +00:00
proski
d937087388
Remove svn:eol-style property for compatibility with Autoconf 2.62
...
generated configure, which uses bare carriage return to define ac_cr.
2008-07-03 04:26:46 +00:00
proski
e43fc69027
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* boot/i386/pc/cdboot.S: Add _start entry to fix a linker
warning.
2008-07-03 00:52:28 +00:00
proski
f707af4216
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c (grub_ata_readwrite): Don't increment sector number
for every read sector, we already increment it for the whole
batch. This fixes reading more than 256 sectors at once.
2008-07-02 23:58:06 +00:00
proski
11e16b157b
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* util/grub-editenv.c (cmd_info): Cast argument to long
explicitly. ptrdiff_t reduces to int on i386.
2008-07-02 22:00:42 +00:00
proski
cbabfdd464
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* util/grub-editenv.c (main): Be specific which parameter is
missing.
2008-07-02 20:51:46 +00:00
proski
b8fbce0ab9
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
(memdisk): Make memdisk_orig_addr a pointer.
2008-07-02 20:18:51 +00:00
proski
c9c8e6063f
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
for file offsets, use grub_off_t instead. Fix printf format
warnings.
2008-07-02 20:02:54 +00:00
proski
ca62e5986f
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* fs/reiserfs.c: Remove #warning, TODO list items don't belong
there. Real unexpected warnings should not drown in the noise
about known problems.
2008-07-02 19:37:09 +00:00
proski
ce8d1766c2
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
grub_disk_addr_t for memory addresses.
2008-07-02 19:30:56 +00:00
proski
00c7a56aeb
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* loader/aout.c (grub_aout_load): Cast load_addr to pointer
explicitly to fix a warning.
2008-07-02 19:22:35 +00:00
proski
08d3ef095f
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* util/grub-editenv.c (cmd_info): Fix warning in printf format.
2008-07-02 19:11:26 +00:00
proski
cb71ba20e9
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* Makefile.in (MODULE_LDFLAGS): New variable.
* aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
the linker accepts --build-id=none.
* configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
MODULE_LDFLAGS.
* genmk.rb: Use MODULE_LDFLAGS when linking modules.
2008-07-02 19:03:23 +00:00
proski
d4c9b428e1
2008-07-02 Pavel Roskin <proski@gnu.org>
...
* fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
those in Linux XFS code. Provide a way to access 64-bit parent
inode.
(grub_xfs_iterate_dir): Use the new names. Avoid reading past
the end of struct grub_xfs_dir_header.
2008-07-02 18:40:32 +00:00
bean
d4156eeedf
2008-07-02 Bean <bean123ch@gmail.com>
...
* include/grub/ieee1275.h (grub_ieee1275_flag): New constant
GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
and GRUB_IEEE1275_FLAG_NO_ANSI.
* kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
* kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
* kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
* term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
esc sequence on non ANSI terminal.
(grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
* util/elf/grub-mkimage.c (add_segments): Move ELF header to the
beginning of file.
2008-07-02 07:38:46 +00:00
bean
2270f77bea
2008-07-02 Bean <bean123ch@gmail.com>
...
* conf/common.rmk (bin_UTILITIES): Add grub-editenv.
(grub_editenv_SOURCES): New variable.
(pkglib_MODULES): Add loadenv.mod.
(loadenv_mod_SOURCES): New variable.
(loadenv_mod_CFLAGS): Likewise.
(loadenv_mod_LDFLAGS): Likewise.
* include/grub/envblk.h: New file.
* util/envblk.c: New file.
* util/grub-editenv.c: New file.
* commands/loadenv.c: New file.
2008-07-02 07:20:11 +00:00
proski
d89b76343e
2008-07-01 Pavel Roskin <proski@gnu.org>
...
* include/multiboot2.h (struct multiboot_tag_module): Use char,
not unsigned char. This fixes warnings and is consistent with
other tags.
2008-07-02 01:17:43 +00:00
proski
bf1835b13c
2008-07-01 Pavel Roskin <proski@gnu.org>
...
* disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
2008-07-02 01:07:37 +00:00
proski
8222a04b6f
2008-07-01 Pavel Roskin <proski@gnu.org>
...
* normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
2008-07-02 01:00:37 +00:00
proski
6a42d99dd5
2008-07-01 Pavel Roskin <proski@gnu.org>
...
* term/tparm.c (analyze): Always set *popcount.
2008-07-02 00:54:18 +00:00