Vladimir 'phcoder' Serbinenko
9da068a5dc
* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
...
loadmask before doing any calculations. Use correct type for offset.
(grub_linux_load64): Likewise.
2011-01-11 23:01:07 +01:00
Vladimir 'phcoder' Serbinenko
4514605726
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
...
Take into account space used by ELF sections and multiboot palette.
Reported by: Grégoire Sutre.
2011-01-11 00:44:56 +01:00
Vladimir 'phcoder' Serbinenko
3395fe5230
Pass more appropriate video id to Linux.
...
* grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
grub_video_get_driver_id and variable gfxpayloadforcelfb to
fill have_vga.
(grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
shift params->lfb_size.
* include/grub/i386/linux.h: Make an enume out of have_vga values.
2011-01-11 00:02:01 +01:00
Vladimir 'phcoder' Serbinenko
e7121b6932
* grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
...
avoid aliasing.
(fzap_lookup): Likewise.
(dnode_get): Likewise.
(make_mdn): Likewise.
(zfs_mount): Likewise.
(fzap_iterate): Use temporary pointer to avoid aliasing.
(grub_zfs_read): Likewise.
* grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
* grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
pointers to avoid aliasing.
(grub_cmd_xnu_kernel64): Likewise.
(grub_xnu_load_driver): Likewise.
2011-01-08 01:56:09 +01:00
Vladimir 'phcoder' Serbinenko
43f1bc8369
* grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
...
Silence spurious warning.
Reported and tested by: Alain Greppin.
2011-01-08 00:27:38 +01: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
18a38098ad
The E820 type 5 is BADRAM, not EXEC_CODE.
...
* grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
(GRUB_E820_BADRAM): New define.
* grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
into reserved. Propagate BADRAM.
* grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
(GRUB_E820_BADRAM): New define.
2011-01-05 01:14:32 +01:00
Vladimir 'phcoder' Serbinenko
b12b923e63
* grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
...
spurious warning.
Reported by: crocket
2010-12-31 12:37:35 +01:00
Vladimir 'phcoder' Serbinenko
14b48a19c2
* grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
...
Preload EFIemu.
(grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
2010-12-27 07:19:51 +01:00
Vladimir 'phcoder' Serbinenko
693db2df56
* grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
...
is loaded
(grub_cmd_xnu_kextdir): Likewise.
(grub_cmd_xnu_splash): Likewise.
2010-12-27 07:18:24 +01:00
Vladimir 'phcoder' Serbinenko
25dd47804d
Don't use disk subsystem in freebsd_boot.
...
* grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
(freebsd_biosdev): Likewise.
(grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
(grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
2010-12-27 07:06:41 +01:00
Vladimir 'phcoder' Serbinenko
5318fe9804
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
...
Avoid next pointing to nowhere.
2010-12-20 16:13:01 +01:00
Vladimir 'phcoder' Serbinenko
e1dffcf270
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
...
Set ptrdest to correct get_physical_target_address rather than
incorrect get_virtual_current_address.
2010-12-18 14:31:05 +01:00
kashyap garimella
b04298cfa2
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
...
correct cat to grub_uint8_t * rather than grub_uint32_t *.
2010-12-18 15:22:11 +01:00
Robert Millan
3a4253b2c4
2010-11-30 Robert Millan <rmh@gnu.org>
...
* grub-core/loader/i386/bsd.c
(grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
whether kernel is loaded using grub_loader_is_loaded(), rather
than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
certain error conditions.
2010-11-30 19:33:12 +01:00
Vladimir 'phcoder' Serbinenko
7f8b0fd7f0
* grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
...
bootloader version instead of 0.
2010-11-19 22:58:06 +01:00
Manoel Rebelo Abranches
9c4cf53bfe
2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
...
* include/grub/elfload.h (grub_elf32_size): New parameter. All users updated.
Return maximum segments alignment.
(grub_elf64_size): Likewise.
* kern/elf.c (grub_elf32_size): New parameter. All users updated.
Return maximum segments alignment.
(grub_elf64_size): Likewise.
* grub-core/loader/powerpc/ieee1275/linux.c:
(grub_linux_claimmap_iterate): New function. Uses the "available"property
in the "memory" node for memory allocation for kernel in the PowerPC loader.
(grub_linux_load32): Correctly find linux entry point offset.
(grub_linux_load64): Likewise.
2010-11-08 11:14:54 -02:00
Robert Millan
b9b3839f6d
2010-11-05 Robert Millan <rmh@gnu.org>
...
On Yeeloong, pass machine type information to Linux.
* grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
(LOONGSON_MACHTYPE): New macro, set to
"machtype=lemote-yeeloong-2f-8.9inches".
[LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
additional argument to Linux.
2010-11-05 19:48:55 +01:00
Vladimir 'phcoder' Serbinenko
2b36fbf493
* grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
...
vga= option is supplied.
2010-11-01 13:10:51 +01:00
Szymon Janc
6bdda8f877
* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
...
Set-but-not-used variable ifdef'ed.
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
* grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
variable removed.
* grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
* grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
* grub-core/fs/minix.c (grub_minix_dir): Likewise.
* grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
* grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
* grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
* grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
* grub-core/gfxmenu/widget-box.c (draw): Likewise.
* grub-core/lib/relocator.c (malloc_in_range): Likewise.
* grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
* grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
Likewise.
2010-10-16 22:16:52 +02:00
Vladimir 'phcoder' Serbinenko
bf26bcc435
* grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
...
Set to "auto".
2010-10-01 16:24:43 +02:00
Vladimir 'phcoder' Serbinenko
aa438e6818
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
...
[GRUB_MACHINE_EFI && __i386__]: Fix typo.
2010-09-29 23:58:43 +02:00
Vladimir 'phcoder' Serbinenko
579940128b
Fix coreboot compilation.
...
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
Take VBE info into account even if only text is supported.
(fill_vbe_info): Take into account the case when only VGA text
is supported.
* include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
on coreboot, multiboot and qemu.
2010-09-29 23:51:12 +02:00
Vladimir 'phcoder' Serbinenko
d33613fcf3
* grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
...
parameters.
2010-09-29 22:51:12 +02:00
Colin Watson
0b4b227fae
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
...
i386 and x86-64 definedness tests.
2010-09-28 17:38:34 +01:00
Colin Watson
8f03f0b580
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
...
typo in __i386__ conditional.
2010-09-22 16:57:49 +01:00
Vladimir 'phcoder' Serbinenko
7835dfd3e8
* grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
...
include.
2010-09-22 17:13:21 +02:00
Vladimir 'phcoder' Serbinenko
e255597e51
Implement EFI and ACPI multiboot2 extensions.
...
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
new tags as supported.
(acpiv2_size): New function.
(grub_multiboot_get_mbi_size): Take new tags into account.
(grub_multiboot_make_mbi): Add new tags.
* include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2010-09-22 14:51:49 +02:00
Vladimir 'phcoder' Serbinenko
4519e259a1
Implementation of ACPI parts
2010-09-21 08:37:50 +02:00
Vladimir 'phcoder' Serbinenko
9dbbe5e858
Impletment EST multiboot passing
2010-09-21 02:19:29 +02:00
Vladimir 'phcoder' Serbinenko
77a94e9810
* grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
...
Add BADRAM.
* grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
Likewise.
* include/multiboot.h: Resynced with specification.
* include/multiboot2.h: Likewise.
2010-09-21 02:06:14 +02:00
Vladimir 'phcoder' Serbinenko
f218b09c99
Support multiboot VBE info.
...
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
Take VBE info into account.
(fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
(retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
Call fill_vbe_info when appropriate.
(grub_multiboot_make_mbi): Account for the size occupied by VBE info.
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
as supported.
(grub_multiboot_get_mbi_size): Take new tags into account.
(fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
(retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
Call fill_vbe_tag when appropriate.
(grub_multiboot_make_mbi): Properly align tags.
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
function.
* include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
proto.
* include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2010-09-20 17:01:28 +02:00
Vladimir 'phcoder' Serbinenko
a1d84a5e5e
Unify memory types.
...
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
* grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
types.
* grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
(grub_upper_mem): Likewise.
* grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
* include/grub/memory.h (grub_memory_type_t): New enum.
All users updated.
2010-09-19 00:04:31 +02:00
Vladimir 'phcoder' Serbinenko
9696382e79
GRUB-legacy configuration file support.
...
* Makefile.util.def (grub-menulst2cfg): New util.
* docs/man/grub-menulst2cfg.h2m: New file.
* grub-core/Makefile.core.def (legacycfg): New module.
* grub-core/commands/legacycfg.c: New file.
* grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
(grub_normal_add_menu_entry): ... this.
* grub-core/commands/password.c (grub_cmd_password): Split main part to ...
(grub_normal_set_password): ...this.
* grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
* grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
* grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
* grub-core/lib/legacy_parse.c: New file.
* grub-core/normal/auth.c (grub_cmd_authenticate): New command.
* include/grub/i386/pc/vesa_modes_table.h: New file.
* include/grub/legacy_parse.h: Likewise.
* include/grub/normal.h (grub_normal_add_menu_entry): New proto.
* util/grub-menulst2cfg.c: New file.
* grub-core/Makefile.core.def (lsapm): New module.
* grub-core/commands/i386/pc/lsapm.c: New file.
* grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
* grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
Likewise.
* include/grub/i386/pc/apm.h: New file.
* include/multiboot.h (multiboot_apm_info): New struct.
2010-09-18 16:21:57 +02:00
Vladimir 'phcoder' Serbinenko
f0eee6b26a
implement multiboot2 vbe specification
2010-09-16 00:54:21 +02:00
Vladimir 'phcoder' Serbinenko
0b37526a5a
Add VBE PM interface
2010-09-16 00:37:30 +02:00
Vladimir 'phcoder' Serbinenko
b09cf083a0
Fix compilation issue
2010-09-16 00:30:47 +02:00
Vladimir 'phcoder' Serbinenko
9ba27423f5
Merge mainline into mbivid
2010-09-16 00:22:49 +02:00
Vladimir 'phcoder' Serbinenko
0cb2f2813f
merge mainline into legacy_parser
2010-09-15 11:43:59 +02:00
Vladimir 'phcoder' Serbinenko
890c9fa5f2
Implement APM
2010-09-15 11:42:18 +02:00
Vladimir 'phcoder' Serbinenko
e31bb61911
Transform legacy mode numbers into resolution specification
2010-09-15 11:39:53 +02:00
Vladimir 'phcoder' Serbinenko
ed80f7d586
* include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
...
users updated.
(GRUB_COMMAND_FLAG_MENU): Likewise.
(GRUB_COMMAND_FLAG_BOTH): Likewise.
(GRUB_COMMAND_FLAG_TITLE): Removed.
(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
(GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
(GRUB_COMMAND_FLAG_DYNCMD): Likewise.
(GRUB_COMMAND_FLAG_BLOCKS): Likewise.
(grub_command_flags_t): New enum. All users updated.
2010-09-14 23:06:01 +02:00
Vladimir 'phcoder' Serbinenko
275433e642
Don't export grub_gate_a20.
...
* grub-core/kern/i386/pc/init.c: Remove leftovers.
* grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
to ...
(grub_gate_a20): ... this. All users updated.
* include/grub/i386/pc/init.h: Removed. All users updated.
2010-09-14 01:08:24 +02:00
Vladimir 'phcoder' Serbinenko
fb53b340aa
Fix sparc64.
...
* configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
* grub-core/Makefile.core.def (kernel): Make ldflags just use the
right address. Add sparc64_ieee1275_ldflags.
* grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
* util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
to grub_host_to_target_addr
(load_image): Likewise.
2010-09-13 16:49:50 +02:00
Vladimir 'phcoder' Serbinenko
122a9b2cd9
Merge mainline into legacy_parser
2010-09-05 20:44:42 +02:00
Vladimir 'phcoder' Serbinenko
fc2ef1172c
* grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
...
Made static.
(grub_gzfile_open): Removed. All users updated.
(GRUB_MOD_INIT): New function.
(GRUB_MOD_FINI): Likewise.
* grub-core/kern/file.c (grub_file_filters_all): New variable.
(grub_file_filters_enabled): Likewise.
(grub_file_open): Handle filters.
* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
* include/grub/file.h (grub_file_filter_id_t): New type.
(grub_file_filter_t): Likewise.
(grub_file_filters_all): New extern variable.
(grub_file_filters_enabled): Likewise.
(grub_file_filter_register): New inline function.
(grub_file_filter_unregister): Likewise.
(grub_file_filter_disable): Likewise.
(grub_file_filter_disable_compression): Likewise.
* include/grub/gzio.h: Removed.
2010-09-05 13:05:36 +02:00
Vladimir 'phcoder' Serbinenko
df3df23d5c
Reorganise memory map handling
2010-09-04 17:10:10 +02:00
BVK Chaitanya
e5a73c4247
merge with mainline
2010-09-04 09:05:21 +05:30
Vladimir 'phcoder' Serbinenko
a7c00cdb94
* grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
...
value.
(grub_openbsd_boot): Likewise.
(grub_netbsd_boot): Likewise.
* grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
(grub_xnu_boot): Likewise.
2010-09-03 14:05:19 +02:00
Colin Watson
9056cbf38e
Zero %ebp and %edi when entering Linux's 32-bit entry point, as
...
required by the boot protocol.
* include/grub/i386/relocator.h (struct grub_relocator32_state): Add
ebp and edi members.
* grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
state.ebp and state.edi.
* grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
%ebp and %edi according to grub_relocator32_ebp and
grub_relocator32_edi respectively.
* grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
and state.edi.
2010-09-02 22:36:09 +01:00