Vladimir 'phcoder' Serbinenko
c7ba4f6984
Support BtrFS embedding.
...
* grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
(grub_btrfs_fs) [GRUB_UTIL]: Set embed.
* include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
* util/grub-setup.c (setup): Use fs embedding if available.
Add additional sanity check.
2011-11-05 14:47:25 +01:00
Vladimir 'phcoder' Serbinenko
8bec9a284b
* include/grub/kernel.h (grub_module_header): Make type into uint32 as
...
expected by grub-mkimage and it's more clear since there is no implicit
padding.
2011-11-04 13:18:30 +01:00
Vladimir 'phcoder' Serbinenko
91c3fdde0d
* include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2011-10-27 02:59:45 +02:00
Vladimir 'phcoder' Serbinenko
1869edb5bc
ZFS multi-device and version 33 support.
...
* Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
(grub_zfs_data): Add multidev-ice-related fields.
(zio_checksum_verify): Zero-pad printed values. Print checksum name.
(dva_get_offset): Make dva const.
(zfs_fetch_nvlist): New function.
(fill_vdev_info_real): Likewise.
(fill_vdev_info): Likewise.
(check_pool_label): Likewise.
(scan_disk): Likewise.
(scan_devices): Likewise.
(read_device): Likewise.
(read_dva): Likewise.
(zio_read_gang): Use read_dva.
(zio_read_data): Likewise.
(zap_leaf_lookup): Add missing endian conversion.
(zap_verify): Add missing endian conversion. All users updated.
(fzap_lookup): Likewise.
(fzap_iterate): Likewise.
(dnode_get_path): Handle SA bonus.
(nvlist_find_value): Make input const. All users updated.
(unmount_device): New function.
(zfs_unmount): Use unmount_device.
(zfs_mount): Use scan_disk.
(zfs_mtime): New function.
(grub_zfs_open): Handle system attributes.
(fill_fs_info): Likewise.
(grub_zfs_dir): Likewise.
(grub_zfs_fs): Add mtime.
* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
* include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
(SA_MTIME_OFFSET): Likewise.
(SA_SYMLINK_OFFSET): Likewise.
* include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
* util/grub-fstest.c (CMD_ZFSINFO): New enum value.
(fstest): Support zfsinfo.
(argp_parser): Likewise.
2011-10-27 02:49:50 +02:00
Vladimir 'phcoder' Serbinenko
34c5965451
Support version 33 including symlinks
2011-10-27 02:04:04 +02:00
Vladimir 'phcoder' Serbinenko
186b402804
* include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
...
error.
2011-10-26 19:27:36 +02:00
Vladimir 'phcoder' Serbinenko
11e50e923a
merge mainline into zfs
2011-10-26 19:26:24 +02:00
Vladimir 'phcoder' Serbinenko
a562fbb48b
Bump spa version
2011-10-26 19:11:10 +02: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
4e94ae6575
* include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
...
inline function rather than a define.
2011-10-23 23:25:06 +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
766f7d0809
Remove redundant grub_kernel_image_size.
...
* grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
_edata and _start.
* grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
the small code. It moves it only by few bytes but simplifies the code.
* grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
_start.
* grub-core/kern/i386/pc/startup.S: Use _edata and _start.
(grub_kernel_image_size): Removed.
* grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
(grub_kernel_image_size): Removed.
[APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
compiled with Apple toolchain.
* grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
* include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
* include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
(grub_total_module_size): Likewise.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
Removed.
(GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
(GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
(GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
(GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
* include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
Removed.
(grub_total_module_size): Removed.
* util/grub-mkimage.c (image_target_desc): Remove image_size.
(image_targets): Likewise.
Set .compressed_size to no field on sparc.
(generate_image): Remove kernel_image_size handling.
2011-10-20 08:13:00 +02:00
Vladimir 'phcoder' Serbinenko
de9c615e5c
Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
...
done with a dedicated section.
* grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
Ensure the correct position of boot_path.
* grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
* grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
other fields.
* grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
* include/grub/boot.h: Removed. All references removed.
* include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
Removed.
(GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2011-10-19 23:01:44 +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
a97501d238
Make grub_prefix into module to fix the arbitrary limit and save
...
some space.
* grub-core/kern/emu/main.c (grub_prefix): Removed.
* grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
* grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
* grub-core/kern/mips/startup.S (grub_prefix): Likewise.
* grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
* grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
* grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
* include/grub/ia64/efi/kernel.h: Removed.
* include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
(grub_prefix): Removed.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
(GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
(GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
(GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
(GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
(GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
(GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
(GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
(GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
(GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
(GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
(GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
(GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
(GRUB_KERNEL_MACHINE_PREFIX): Likewise.
(GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
* grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
from module.
* util/grub-mkimage.c (image_target_desc): Removed prefix and
prefix_end.
(image_targets): Likewise.
(generate_image): Put prefix as a module.
2011-10-18 15:21:51 +02:00
Vladimir 'phcoder' Serbinenko
39705fadd7
Replace grub_module_iterate with FOR_MODULES.
...
* grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
* grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
(grub_efi_modules_addr): ...this.
* grub-core/kern/efi/init.c (grub_modbase): New variable.
(grub_efi_init): Set grub_modbase.
* grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
* grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/main.c (grub_module_iterate): Remove.
(grub_modules_get_end): Use grub_modbase.
(grub_load_modules): Use FOR_MODULES.
(grub_load_config): Likewise.
* grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
* include/grub/kernel.h (grub_arch_modules_addr): Removed.
(grub_module_iterate): Likewise.
(grub_modbase): New variable declaration.
(FOR_MODULES): New macro.
2011-10-16 15:23:29 +02:00
Vladimir 'phcoder' Serbinenko
2afb7f6cbf
* configure.ac: Check for __ctzdi2 and __ctzsi2.
...
* include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2011-10-16 15:15:35 +02:00
Vladimir 'phcoder' Serbinenko
038ec56a31
nslookup implementation
2011-10-14 19:21:59 +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
0cb9503b70
support routed pings
2011-10-13 20:53:22 +02:00
Vladimir 'phcoder' Serbinenko
bd40efbf0b
several net bugfixes and improvements and fix some memory leaks
2011-10-13 18:31:53 +02:00
Vladimir 'phcoder' Serbinenko
da1b289afc
IPv6. Apparently working. At least I could retrieve a file with http6
2011-10-13 01:22:56 +02:00
Vladimir 'phcoder' Serbinenko
7c006811f8
more ipv6 code. Now ipv6 ping succeeds
2011-10-12 23:15:02 +02:00
Vladimir 'phcoder' Serbinenko
a53cf6534d
some more ipv6 code
2011-10-12 10:20:55 +02:00
Robert Millan
a98f4a0808
2011-10-09 Robert Millan <rmh@gnu.org>
...
LVM support for FreeBSD and GNU/kFreeBSD.
* util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
GNU/kFreeBSD.
(LVM_DEV_MAPPER_STRING): Move from here ...
* include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
* util/getroot.c: Include `<grub/util/lvm.h>'.
(grub_util_get_dev_abstraction): Enable
grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
(grub_util_get_grub_dev): Replace "/dev/mapper/" with
`LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
support it.
* util/grub-setup.c (main): Check for LVM also on FreeBSD and
GNU/kFreeBSD.
* util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
when LVM abstraction is required for ${GRUB_DEVICE}.
2011-10-09 21:13:00 +02:00
Vladimir 'phcoder' Serbinenko
eb6a7b9788
Hopefully fix EFI problem. Not tested
2011-10-05 23:33:36 +02:00
Vladimir 'phcoder' Serbinenko
8530b00aa9
Fix compilation on 64-bit targets
2011-10-05 23:19:11 +02:00
Vladimir 'phcoder' Serbinenko
9aad3cd91d
IPv6 support. Several fixes and unifications
2011-10-05 22:15:30 +02:00
Vladimir 'phcoder' Serbinenko
4f71e077b9
HTTP seek support. Various bugfixes.
2011-10-05 17:39:13 +02:00
Vladimir 'phcoder' Serbinenko
aa6b91afe9
merge mainline into net
2011-10-05 13:32:40 +02:00
Szymon Janc
709e61a55f
merge trunk
2011-10-04 20:21:12 +02:00
Mario Limonciello
cca7ccd8ff
Remove extra declaration of sleep for mingw32.
...
* util/misc.c (sleep) [__MINGW32__]: Removed.
* include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2011-09-29 10:32:24 +02:00
Grégoire Sutre
e0b0dc837b
Make knetbsd pass bootinfo bootdisk and bootwedge.
2011-09-28 23:45:57 +02:00
Szymon Janc
1f0e4eed6b
* include/grub/file.h (grub_file_filter_id): Set
...
GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2011-08-22 09:18:22 +02:00
Szymon Janc
540c000f0d
merge trunk
2011-08-20 09:49:15 +02:00
Vladimir 'phcoder' Serbinenko
f87abff538
* grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
...
* include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2011-08-19 23:11:09 +02:00
Vladimir 'phcoder' Serbinenko
d94497eaca
* grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
...
loongson.
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
video_radeon_fuloong2e.
* grub-core/video/radeon_fuloong2e.c: New file.
* include/grub/video.h (grub_video_id_t): Add new ID
GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2011-08-19 23:08:36 +02:00
Vladimir 'phcoder' Serbinenko
0d1fd0113b
* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
...
define.
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
that PRID matches the detected subplatform and reset the subplatform
if it doesn't.
2011-08-19 23:04:18 +02:00
Vladimir 'phcoder' Serbinenko
1227c13390
Fix PCI iterating on functions >= 4.
...
* grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
* include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
Removed.
(GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
(grub_pci_read): Fix bitmask.
(grub_pci_read_word): Likewise.
(grub_pci_read_byte): Likewise.
(grub_pci_write): Likewise.
(grub_pci_write_word): Likewise.
(grub_pci_write_byte): Likewise.
2011-08-19 22:56:49 +02:00
Vladimir 'phcoder' Serbinenko
14a2562cf7
Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
...
* grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
* grub-core/boot/mips/loongson/fuloong.S: Rename to ...
* grub-core/boot/mips/loongson/fuloong2f.S: ... this.
(FULOONG): Rename to ...
(FULOONG2F): ... this. All users updated.
* grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
(machtype_fuloong2f_str): ... this.
(machtype_fuloong2e_str): New string.
Check for machtype_fuloong2e_str.
* grub-core/loader/mips/linux.c (loongson_machtypes)
[GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
* grub-core/term/serial.c (loongson_defserial)
[GRUB_MACHINE_MIPS_LOONGSON]: New array.
(grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
loongson_defserial.
* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
Rename to ...
(GRUB_ARCH_MACHINE_FULOONG2F): ... this.
(GRUB_ARCH_MACHINE_FULOONG2E): New const.
* util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
to IMAGE_FULOONG2F_FLASH. All users updated.
(image_targets): Rename images.
* util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
2011-08-19 22:46:11 +02:00
Szymon Janc
d6beefcfc9
Add initial support for lzop files decompression.
...
* grub-core/Makefile.core.def (lzopio): New module.
* grub-core/io/lzopio.c: New file.
* include/grub/file.h (grub_file_filter_id): New compression filter
GRUB_FILE_FILTER_LZOPIO.
2011-08-17 19:40:25 +02:00
Szymon Janc
b2d7e331e2
Add helper functions for easier unaligned memory access.
...
* include/grub/types.h (grub_get_unaligned16): New function.
(grub_get_unaligned32): Likewise.
(grub_get_unaligned64): Likewise.
2011-08-14 11:41:19 +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
Szymon Janc
99cecb4fc7
merge trunk
2011-08-13 15:00:48 +02:00
Robert Millan
66816d8556
2011-08-03 Robert Millan <rmh@gnu.org>
...
* include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
la_array as packed.
Reported by: Zachary Bedell
2011-08-03 13:30:46 +02:00
Vladimir 'phcoder' Serbinenko
6795300e7f
Support ATA disks with 4K sectors.
...
* include/grub/ata.h (grub_ata): New member log_sector_size.
* grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
(grub_ata_identify): Read sector size.
(grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
2011-07-25 08:14:34 +02:00
Vladimir 'phcoder' Serbinenko
6be1c01fd7
* include/grub/video.h: add missing EXPORT_FUND on
...
grub_video_edid_checksum and grub_video_edid_preferred_mode.
2011-07-23 17:18:31 +02:00
Vladimir 'phcoder' Serbinenko
a116743910
* include/grub/mips/kernel.h: Fix define conflict.
2011-07-23 17:14:38 +02:00
Vladimir 'phcoder' Serbinenko
80e722366d
First attempt at http
2011-07-23 03:49:02 +02:00
Colin Watson
8fc4fa45c5
Preferred resolution detection for VBE.
...
* grub-core/video/video.c (grub_video_edid_checksum): New function.
(grub_video_edid_preferred_mode): Likewise. Try EDID followed by
the Flat Panel extension, in line with the X.org VESA driver.
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
New function.
(grub_vbe_bios_get_ddc_capabilities): Likewise.
(grub_vbe_bios_read_edid): Likewise.
(grub_vbe_get_preferred_mode): Likewise.
(grub_video_vbe_setup): When the mode is "auto", try to get the
preferred mode from VBE, and use the largest mode that is no larger
than the preferred mode (some BIOSes expose a preferred mode that is
not in their mode list!). If this fails, fall back to 640x480 as a
safe conservative choice.
(grub_video_vbe_get_edid): New function.
(grub_video_vbe_adapter): Add get_edid.
* include/grub/video.h (struct grub_vbe_edid_info): New structure.
(struct grub_video_adapter): Add get_edid.
(grub_video_edid_checksum): Add prototype.
(grub_video_edid_preferred_mode): Likewise.
* include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
structure.
* grub-core/commands/videoinfo.c (print_edid): New function.
(grub_cmd_videoinfo): Print EDID if available.
* util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
is more appropriate on a wider range of platforms than 640x480.
* docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
documentation.
2011-07-21 19:46:44 +01:00
Vladimir 'phcoder' Serbinenko
c410299b05
TCP listening support
2011-07-10 23:37:28 +02:00
Vladimir 'phcoder' Serbinenko
f4e6e2909b
TCP fragmentation
2011-07-10 11:26:34 +02:00
Vladimir 'phcoder' Serbinenko
3a2e860334
TCP improvements
2011-07-10 09:52:08 +02:00
Vladimir 'phcoder' Serbinenko
3a7af37260
basic tcp implementation
2011-07-10 08:46:48 +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
e2955971a3
move packet allocation to recv code to allow bigger buffers
2011-07-08 20:38:12 +02:00
Vladimir 'phcoder' Serbinenko
6a1af81a97
add mtu information
2011-07-08 18:49:35 +02:00
Vladimir 'phcoder' Serbinenko
1367c143dd
several cleanups. Ping reply support
2011-07-08 14:41:52 +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
0044d1db2e
Simplify disk opening
2011-07-07 21:46:25 +02:00
Vladimir 'phcoder' Serbinenko
00542307eb
merge mainline into lazy
2011-07-07 12:21:53 +02:00
Vladimir 'phcoder' Serbinenko
d1831ca48a
Limit idle polling frequency
2011-07-06 18:21:07 +02:00
Vladimir 'phcoder' Serbinenko
138eeb3625
Move bootp into a separate file
2011-07-06 13:52:35 +02:00
Vladimir 'phcoder' Serbinenko
228ccedb5e
poll cards when idle
2011-07-06 13:37:33 +02:00
Vladimir 'phcoder' Serbinenko
b975df6348
Send TFTP_ERROR on tftp premature close. Several cleanups
2011-07-06 12:53:37 +02:00
Vladimir 'phcoder' Serbinenko
d53bf34924
merge mainline into net
2011-07-06 01:35:41 +02:00
Vladimir 'phcoder' Serbinenko
93c06ff9c6
VGA text support in qemu-mips
...
* grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
text.
* grub-core/kern/i386/qemu/init.c: Renamed to ...
* grub-core/kern/vga_init.c: ... this.
* grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
(grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
* grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
Adjust.
* include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
GRUB_MACHINE_PCI_IO_BASE.
2011-07-05 23:46:15 +02:00
Vladimir 'phcoder' Serbinenko
d734599439
MIPS qemu at_keyboard support.
...
* gentpl.py (videoinkernel): Add qemu-mips.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
* grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
modules.
* grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
* grub-core/term/serial.c (grub_serial_register)
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2011-07-05 21:00:01 +02:00
Vladimir 'phcoder' Serbinenko
145c7b4661
merge mainline into net
2011-07-05 20:40:39 +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
0bc2cd0f82
Reintroduce open/close of net cards. Clean up ofnet.
2011-07-05 16:37:14 +02:00
Vladimir 'phcoder' Serbinenko
382077365b
Fix mod_gap definition
2011-07-05 15:10:47 +02:00
Vladimir 'phcoder' Serbinenko
671a78acb0
cleanup pxe and efi network release
2011-07-05 14:34:10 +02:00
Vladimir 'phcoder' Serbinenko
7e0c2d162a
Restructurisations, cleanups and few bugfixes
2011-07-02 22:13:33 +02:00
Vladimir 'phcoder' Serbinenko
c4d038f632
Don't react to adressed bootp packets unless in bootp transaction
2011-07-02 20:11:29 +02:00
Vladimir 'phcoder' Serbinenko
0c51bb63c5
add missing brackets in efi_wrap macroses
2011-07-02 18:57:24 +02:00
Vladimir 'phcoder' Serbinenko
03a0046581
merge mainline into net
2011-07-02 18:52:50 +02:00
Vladimir 'phcoder' Serbinenko
6708faafde
Fix broken blksize negotiation, fix broken seek and change a way net device is filled n i386-pc
2011-07-02 17:58:23 +02:00
Vladimir 'phcoder' Serbinenko
cae730b452
Automatically determine prefix when netbooted on EFI
2011-07-02 16:56:35 +02:00
Vladimir 'phcoder' Serbinenko
574618a2e9
unify prefix handling across platforms
2011-07-02 14:09:36 +02:00
Vladimir 'phcoder' Serbinenko
5ebaad7eec
* include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2011-06-27 12:28:47 +02:00
Vladimir 'phcoder' Serbinenko
9fc9ce3795
Coreboot video support.
...
* grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
(vbe): Likewise.
* grub-core/kern/i386/coreboot/startup.S: Include int.S.
* grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
here ...
* grub-core/kern/i386/int.S: ... here.
* grub-core/video/i386/pc/vbe.c: Updated includes.
* grub-core/video/i386/pc/vga.c: Likewise.
* include/grub/i386/coreboot/memory.h
(GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
(GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
(GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
* include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
Disable interrupts.
* include/grub/i386/pc/vga.h: Removed. All users updated.
2011-06-27 08:54:55 +02:00
Vladimir 'phcoder' Serbinenko
9d22909b85
efinet support
2011-06-26 22:42:04 +02:00
Vladimir 'phcoder' Serbinenko
d36f20db46
Don't do unaligned access when parsing DHCP packet
2011-06-26 22:37:19 +02:00
Vladimir 'phcoder' Serbinenko
80ca250565
Add backward compatibiulity with old (pxe) syntax. Several cleanups
2011-06-26 17:06:18 +02:00
Manoel Rebelo Abranches
90162423e9
Network infrastructure.
...
The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
* include/grub/net/arp.h: New file.
* include/grub/net/device.h: Likewise.
* include/grub/net/ethernet.h: Likewise.
* include/grub/net/ip.h: Likewise.
* include/grub/net/netbuff.h: Likewise.
* include/grub/net/tftp.h: Likewise.
* include/grub/net/udp.h: Likewise.
* include/grub/ieee1275/ofnet.h: Likewise.
* include/grub/emu/export.h: Likewise.
* include/grub/net.h: Likewise.
* grub-core/net/arp.c: Likewise.
* grub-core/net/ethernet.c: Likewise.
* grub-core/net/ip.c: Likewise.
* grub-core/net/udp.c: Likewise.
* grub-core/net/tftp.c: Likewise.
* grub-core/net/netbuff.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/net/drivers/emu/emunet.c: Likewise.
* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
export.h.
* grub-core/Makefile.core.def (net): New module.
(tftp): Likewise.
(ofnet): Likewise.
(emunet): Likewise.
* grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
network protocols.
* grub-core/kern/device.c (grub_net_open) : New variable.
(grub_device_open): Handle network device.
(grub_device_close): Likewise.
* grub-core/kern/file.c (grub_file_net_seek) : New variable.
(grub_grubnet_fini): Likewise.
(grub_file_seek): Seek in network device.
* grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
network root.
(grub_machine_fini): Call grub_grubnet_fini.
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
network.
(grub_ieee1275_get_aliasdevname): New function.
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
Add unofficial Solaris network info.
(grub_multiboot_make_mbi): Likewise.
* grub-core/fs/i386/pc/pxe.c: Moved from here ...
* grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
* include/grub/device.h (grub_fs): Removed.
* include/grub/err.h (grub_err_t): Add network-related values.
* include/grub/i386/pc/pxe.h: Removed bootp parts.
* include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
(grub_ieee1275_get_aliasdevname): New proto.
* include/grub/net.h: Rewritten.
Also-By: Paulo Pinatti <ppinatti@br.ibm.com>
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2011-06-24 22:16:05 +02:00
Vladimir 'phcoder' Serbinenko
a057797f18
merge mine and abranches' branches. Fix several issues
2011-06-24 21:51:57 +02:00
Vladimir 'phcoder' Serbinenko
8b51fd98b9
bootp support
2011-06-24 20:35:25 +02:00
Vladimir 'phcoder' Serbinenko
290766fb77
ZFS zlib support
...
* grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
(decomp_table): Add zlib entries.
(zio_read): USe 8 bits for compression function rather than 3.
* include/grub/zfs/zio.h (zio_compress): Add zlib values.
2011-06-24 00:31:29 +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
5ab3f48a92
AHCI support.
...
* grub-core/Makefile.core.def (ata_pthru): Removed.
(ahci): New module.
(pata): Likewise.
* grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
on unload.
* grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
readwrite.
(grub_hdparm_do_check_powermode_cmd): Likewise.
(grub_hdparm_do_smart_cmd): Likewise.
(grub_hdparm_set_val_cmd): Likewise.
(grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
* grub-core/disk/ahci.c: New file.
* grub-core/disk/ata.c: Factor out the low-level part into ...
* grub-core/disk/pata.c: ... here.
* grub-core/disk/ata_pthru.c: Contents moved to ...
* grub-core/disk/pata.c: ... here.
* grub-core/disk/scsi.c (grub_scsi_names): New array.
(grub_scsi_iterate): Use grub_scsi_names.
(grub_scsi_open): Likewise.
* grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
* include/grub/ata.h (grub_ata_commands): Add DMA commands.
(grub_ata_regs_t): New struct.
(grub_disk_ata_pass_through_parms): Likewise.
(grub_ata_device): Renamed to ...
(grub_ata): ... this.
(grub_ata_dev): New struct.
Removed all low-level inline functions.
* include/grub/scsi.h: Add PATA and AHCI subsystems.
(grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
iterate hooks and open. All users updated.
* util/grub-install.in: Handle AHCI disk module.
2011-06-24 00:07:55 +02:00
Vladimir 'phcoder' Serbinenko
a5edbcb3a1
merge mainline into 4096
2011-06-23 04:08:37 +02:00
Manoel R. Abranches
d6d205568f
Close cards before boot.
2011-06-18 20:18:25 -03:00
Manoel R. Abranches
85fd555441
Merge Mainline.
2011-05-27 00:23:33 -03:00
Manoel R. Abranches
7dd64f1236
Use a net fs struct to handle open, reand and close in file.
2011-05-27 00:22:35 -03:00
Manoel Rebelo Abranches
f42313bdb0
Remove unused structs and functions.
2011-05-25 11:10:48 -03:00
Vladimir 'phcoder' Serbinenko
eea841440d
fix several bugs
2011-05-19 15:39:34 +02:00
Colin Watson
e806ce60ee
merge trunk
2011-05-18 16:53:36 +01:00