bean
18eeaf04d7
2008-07-21 Bean <bean123ch@gmail.com>
...
* kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
a20. Run keyboard test last, as it will cause macbook to halt.
2008-07-21 10:40:01 +00:00
proski
b095e2adbf
2008-07-18 Pavel Roskin <proski@gnu.org>
...
* kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
load foreign architecture modules correctly anyway. Keep
support for loading host architecture modules, whether we
compile them or not.
2008-07-18 16:11:35 +00:00
proski
3f4ce737bb
2008-07-17 Pavel Roskin <proski@gnu.org>
...
* configure.ac: Use -m32 or -m64 regardless of whether we had to
change target_cpu. The compiler default can mismatch target_cpu
in any case.
2008-07-18 03:21:47 +00:00
proski
c11f6d160d
Typo fix
2008-07-18 01:13:58 +00:00
proski
4ad2d0499c
2008-07-17 Pavel Roskin <proski@gnu.org>
...
* disk/efi/efidisk.c: Fix format warnings on x86_64.
* kern/efi/efi.c: Likewise.
2008-07-18 01:11:33 +00:00
proski
f6130a12bd
2008-07-17 Pavel Roskin <proski@gnu.org>
...
* aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
target compiler is functional.
* configure.ac: Call grub_PROG_TARGET_CC once all target flags
are set up.
2008-07-17 20:19:55 +00:00
proski
58393a2d35
2008-07-17 Pavel Roskin <proski@gnu.org>
...
* configure.ac: Default to efi platform for x86_64-apple. Allow
powerpc64 CPU, default to ieee1275 platform for it. Split CPU
adjustments from the rest, only do them if target is not
explicitly given. Merge other adjustments with the final sanity
check. Remove an extraneous check for supported CPU. Be
specific which CPU and which platform is not supported.
2008-07-17 18:13:57 +00:00
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
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