Vladimir 'phcoder' Serbinenko
e2f27a8c53
Enforce disabling of firmware disk drivers when native drivers kick in.
2013-04-29 12:16:46 +02:00
Vladimir 'phcoder' Serbinenko
e9e46c9a0c
* include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
...
dereference.
Reported by: qwertial.
2013-04-29 12:00:31 +02:00
Vladimir 'phcoder' Serbinenko
7cd0df84f1
New command `nativedisk'.
2013-04-28 15:31:33 +02:00
Vladimir 'phcoder' Serbinenko
bd69257a77
* include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
...
grub_get_unaligned16 rather than shifts.
2013-04-28 15:15:57 +02:00
Paulo Flabiano Smorigo
b2d7470c15
* include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2013-04-27 23:06:52 +02:00
Vladimir 'phcoder' Serbinenko
a6393224c4
Make 'make check' work on emu.
2013-04-27 02:00:16 +02:00
Vladimir 'phcoder' Serbinenko
db99fbe83f
Replace libcurses with our own vt100 handling for the ease of testing
...
and decreasing prerequisites.
2013-04-27 00:02:23 +02:00
Vladimir 'phcoder' Serbinenko
7f63a64fa0
Enable mipsel-arc.
2013-04-25 22:42:35 +02:00
Vladimir 'phcoder' Serbinenko
b04b5990df
Add serial on ARC platform.
2013-04-25 22:40:03 +02:00
Vladimir 'phcoder' Serbinenko
d1989e2e1d
* grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
...
it's serial.
2013-04-24 18:39:00 +02:00
Vladimir 'phcoder' Serbinenko
45fbd9a23f
Add missing video ids to coreboot and ieee1275 video.
2013-04-24 14:44:15 +02:00
Vladimir 'phcoder' Serbinenko
8528c879e3
Move mips-arc link address. Previous link address was chosen
...
in belief that RAM on SGI platforms grows down while in fact it
grows up from an unusual base.
2013-04-24 13:54:17 +02:00
Vladimir 'phcoder' Serbinenko
d178788e71
Support coreboot framebuffer.
...
* grub-core/video/i386/coreboot/cbfb.c: New file.
2013-04-21 13:02:10 +02:00
Vladimir 'phcoder' Serbinenko
90ec4b7f6c
* grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
...
of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
* grub-core/loader/powerpc/ieee1275/linux.c
(grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2013-04-19 15:27:09 +02:00
Vladimir 'phcoder' Serbinenko
aeace7f71c
* grub-core/kern/elfXX.c (grub_elfXX_load): Handle
...
GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
(grub_linux_load64): Mask out 2 high bits.
2013-04-19 15:05:11 +02:00
Vladimir 'phcoder' Serbinenko
aa1af9bbda
Allow IEEE1275 ports on path even if it wasn't detected automatically.
...
Needed on OpenBIOS due to incomplete device tree.
2013-04-14 17:01:31 +02:00
Vladimir 'phcoder' Serbinenko
67ab83538f
Better support Apple Intel Macs on CD.
2013-04-13 00:38:04 +02:00
Vladimir 'phcoder' Serbinenko
bbdd6305db
Handle Japanese special keys.
...
Reported by: Hiroyuki YAMAMORI.
Codes supplied by: Hiroyuki YAMAMORI.
2013-04-12 22:26:38 +02:00
Aleš Nesrsta
51a4c3e3b0
Fix handling of split transfers.
2013-04-12 20:42:46 +02:00
Vladimir 'phcoder' Serbinenko
c86c39abef
Add uboot net
2013-04-12 16:55:38 +02:00
Vladimir 'phcoder' Serbinenko
66eae7974d
Amall cleanup in api_public.h
2013-04-12 16:54:28 +02:00
Vladimir 'phcoder' Serbinenko
28af3d867c
Relocations cleanup
2013-04-12 16:53:58 +02:00
Vladimir 'phcoder' Serbinenko
b2e2e9b07d
Add missing arm function
2013-04-12 16:47:15 +02:00
Vladimir 'phcoder' Serbinenko
bc1cf01cf2
Add uboot header ourselves
2013-04-12 16:46:51 +02:00
Vladimir 'phcoder' Serbinenko
a79b8a1584
Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
...
feature for it.
2013-04-11 23:15:26 +02:00
Vladimir 'phcoder' Serbinenko
053cfcddf1
Import new gnulib.
2013-04-11 21:12:46 +02:00
Vladimir 'phcoder' Serbinenko
d5e2a158e1
Fix ia64-efi image generation on big-endian machines. Deduplicate
...
some code while on it.
Reported by: Leif Lindholm.
2013-04-09 19:19:19 +02:00
Vladimir 'phcoder' Serbinenko
47043f959f
* grub-core/normal/term.c: Few more fixes for menu entry editor
...
rendering.
Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2013-04-08 14:35:26 +02:00
Leif Lindholm
389b31cd71
Initial import of Leif's work
2013-04-07 02:41:07 +02:00
Vladimir 'phcoder' Serbinenko
ce7d92a9f2
Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2013-04-05 10:56:43 +02:00
Vladimir 'phcoder' Serbinenko
98b23b9519
* include/grub/bsdlabel.h: Use enums.
2013-04-05 10:33:53 +02:00
Vladimir 'phcoder' Serbinenko
0467a5ddf0
Move GRUB_CHAR_BIT to types.h.
2013-04-05 10:31:12 +02:00
Vladimir 'phcoder' Serbinenko
1a78d573c7
* grub-core/commands/verify.c: Save verified file to avoid it being
...
tampered with after verification was done.
2013-04-03 17:32:33 +02:00
Francesco Lavra
31df9ad845
* include/grub/elf.h: Add missing ARM relocation codes and fix
...
existing ones.
2013-04-03 11:23:22 +02:00
Vladimir Testov
c3578acfbb
* grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
...
into account when calculating radius.
2013-04-03 09:20:29 +02:00
Colin Watson
33028f4c0b
* grub-core/commands/acpihalt.c (skip_ext_op): Add support for
...
skipping Event, Device, Processor, PowerRes, ThermalZone, and
BankField extended opcodes.
(get_sleep_type): Add minimal scope handling (just enough to
handle setting the scope to the root path).
(grub_acpi_halt): Parse any SSDTs as well as the DSDT.
* include/grub/acpi.h: Add enumeration values for Event, Device,
Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2013-03-26 11:29:52 +01:00
Vladimir 'phcoder' Serbinenko
6a7fb94bfb
Replace the region at 0 from coreboot tables to available in BSD
...
memory map.
2013-03-25 10:23:04 +01:00
Vladimir 'phcoder' Serbinenko
ce50dbd746
Add new 'proc' filesystem framework and put luks_script into it.
2013-03-24 13:05:59 +01:00
Vladimir 'phcoder' Serbinenko
92750e4c60
Add ability to generate newc additions on runtime.
2013-03-22 21:01:28 +01:00
Vladimir 'phcoder' Serbinenko
cc19857a2a
New commands cbmemc, lscoreboot, coreboot_boottime to inspect
...
coreboot tables content. Support for cbmemc.
2013-03-20 17:13:31 +01:00
Vladimir 'phcoder' Serbinenko
ef8810e9f3
Fix a conflict between ports structures with 2 controllers of
...
same kind.
2013-03-20 17:07:08 +01:00
Vladimir 'phcoder' Serbinenko
e9dabdfad8
* include/grub/boottime.h: Add missing file.
2013-03-20 16:58:07 +01:00
Vladimir 'phcoder' Serbinenko
f6df57d216
Initialize USB ports in parallel to speed-up boot.
2013-03-19 23:06:44 +01:00
Vladimir 'phcoder' Serbinenko
d745dda77e
Fix USB devices not being detected when requested
...
due to delayed attach.
2013-03-19 20:35:21 +01:00
Vladimir 'phcoder' Serbinenko
e744219bb6
Implement boot time analysis framework.
2013-03-19 20:25:09 +01:00
Vladimir 'phcoder' Serbinenko
e5a2dd7b55
remove get_endpoint_descriptor and change all functions needing
...
descriptor to just receive it as argument rather than endpoint
address.
2013-03-19 11:19:36 +01:00
Vladimir 'phcoder' Serbinenko
5dd6f58789
Better estimate the maximum USB transfer size.
2013-03-19 08:17:51 +01:00
Vladimir 'phcoder' Serbinenko
2f1071d57e
Resend a packet if we got the wrong buffer in status.
2013-03-17 13:33:16 +01:00
Vladimir 'phcoder' Serbinenko
84cfe81b1d
* include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
...
computation for some years before epoch. Avode confusing division
while on it.
2013-03-10 19:19:21 +01:00
Vladimir 'phcoder' Serbinenko
3f2b4d1a81
Adjust types in gdb module to have intended unsigned shifts rather than
...
signed divisions.
2013-03-10 18:36:39 +01:00
Vladimir 'phcoder' Serbinenko
5341c0fbfc
Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2013-03-10 17:45:38 +01:00
Vladimir 'phcoder' Serbinenko
fc3ff2a2ad
* grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
...
function.
2013-03-10 14:27:04 +01:00
Vladimir 'phcoder' Serbinenko
774683685f
Lift up core size limits on some platforms. Fix potential memory
...
corruption with big core on small memory systems. Document remaining
limits.
2013-03-07 08:17:24 +01:00
Vladimir 'phcoder' Serbinenko
19ce697dfd
Remove all trampoline support. Add -Wtrampolines when
...
present. Remove symbols used for trampolines to make
link fail if trampolines are present.
2013-03-03 15:57:30 +01:00
Vladimir 'phcoder' Serbinenko
3188131f72
* grub-core/kern/env.c, include/grub/env.h: Change iterator through
...
all vars to a macro. All users updated.
2013-03-03 01:34:27 +01:00
Vladimir 'phcoder' Serbinenko
83e1a1a137
* include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2013-03-02 23:59:05 +01:00
Vladimir 'phcoder' Serbinenko
1d5a880fe4
* include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2013-03-02 23:57:34 +01:00
Vladimir 'phcoder' Serbinenko
6e4146c41e
Move to more hookless approach in IEEE1275 devices handling.
2013-03-02 23:51:19 +01:00
Vladimir 'phcoder' Serbinenko
73bf57e2c8
Make elfload not use hooks. Opt for flags and iterators instead.
2013-03-02 16:45:57 +01:00
Vladimir 'phcoder' Serbinenko
7f8c105f61
* grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
...
* grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2013-03-02 15:31:17 +01:00
Vladimir 'phcoder' Serbinenko
19e29ee1a9
* grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
...
hook pass-through parameter. All users updated and unnested.
2013-03-02 11:47:59 +01:00
Vladimir 'phcoder' Serbinenko
5d983f5fc2
* grub-core/gentrigtables.c: Make tables const.
2013-03-01 11:15:09 +01:00
Vladimir 'phcoder' Serbinenko
3056d3e752
Remove nested functions from videoinfo iterators.
2013-03-01 11:11:36 +01:00
Vladimir 'phcoder' Serbinenko
005a9c32df
* grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
...
Fix end of table condition.
2013-02-28 13:16:39 +01:00
Colin Watson
4eb8b75659
Remove nested functions from disk and file read hooks.
...
* include/grub/disk.h (grub_disk_read_hook_t): New type.
(struct grub_disk): Add read_hook_data member.
* include/grub/file.h (struct grub_file): Likewise.
* include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
argument.
Update all callers.
2013-02-27 17:19:15 +01:00
Andrey Borzenkov
b7b78edb1c
* Makefile.util.def: Add partmap/msdos.c to common library.
...
* include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
* grub-core/disk/ldm.c: Check for existence of
GRUB_PC_PARTITION_TYPE_LDM.
2013-02-25 22:11:06 +01:00
Vladimir 'phcoder' Serbinenko
d55ffb0249
Implement new command cmosdump.
2013-02-24 19:44:17 +01:00
Vladimir 'phcoder' Serbinenko
b5ea6ce03a
Support Openfirmware disks with non-512B sectors.
...
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
size of the disk.
* (grub_ofdisk_get_block_size): New function.
* (grub_ofdisk_prepare): Use the correct block size.
* (grub_ofdisk_read): Likewise.
* (grub_ofdisk_write): Likewise.
* include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
New proto.
2013-02-19 09:10:26 +01:00
Vladimir 'phcoder' Serbinenko
66a93674b2
Implement USBDebug (full USB stack variant).
2013-02-01 21:49:29 +01:00
Vladimir 'phcoder' Serbinenko
0d5b9c9031
Missing part of last commit
2013-02-01 21:48:01 +01:00
C. Masloch
08bcec5020
Improve FreeDOS direct loading support compatibility.
...
* include/grub/i386/relocator.h (grub_relocator16_state):
New member ebp.
* grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
variable.
(grub_relocator16_boot): Handle %ebp.
* grub-core/lib/i386/relocator16.S: Likewise.
* grub-core/loader/i386/pc/freedos.c:
Load BPB to pass kernel which partition to load from.
Check that kernel file is not too large.
Set register dl to BIOS unit number as well.
2013-01-27 16:07:25 +01:00
Vladimir 'phcoder' Serbinenko
1c22ca9a69
* include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
...
invariants.
2013-01-21 22:44:20 +01:00
Colin Watson
5fdbaed168
Remove nested functions from USB iterators.
...
* include/grub/usb.h (grub_usb_iterate_hook_t): New type.
(grub_usb_controller_iterate_hook_t): Likewise.
(grub_usb_iterate): Add hook_data argument.
(grub_usb_controller_iterate): Likewise.
(struct grub_usb_controller_dev.iterate): Likewise.
Update all implementations and callers.
2013-01-21 21:02:24 +00:00
Vladimir 'phcoder' Serbinenko
bc1369732f
Make color variables global instead of it being per-terminal.
2013-01-21 17:53:41 +01:00
Colin Watson
fc524edf65
Remove nested functions from filesystem directory iterators.
...
* include/grub/fs.h (grub_fs_dir_hook_t): New type.
(struct grub_fs.dir): Add hook_data argument.
Update all implementations and callers.
2013-01-21 01:33:46 +00:00
Leif Lindholm
77529e0fe2
* include/grub/elf.h: Update ARM definitions based on binutils.
2013-01-20 23:01:47 +01:00
Vladimir 'phcoder' Serbinenko
b879aa7b47
Split long USB transfers into short ones.
2013-01-20 22:45:53 +01:00
Colin Watson
6c724b85b4
Remove nested functions from ELF iterators.
2013-01-20 15:54:09 +00:00
Colin Watson
25239370fd
Remove nested functions from device iterators.
...
* include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
(grub_arc_iterate_devs): Add hook_data argument.
* include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
(struct grub_ata_dev.iterate): Add hook_data argument.
* include/grub/device.h (grub_device_iterate_hook_t): New type.
(grub_device_iterate): Add hook_data argument.
* include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
(struct grub_disk_dev.iterate): Add hook_data argument.
(grub_disk_dev_iterate): Likewise.
* include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
Likewise.
* include/grub/msdos_partition.h (grub_partition_msdos_iterate):
Likewise.
* include/grub/partition.h (grub_partition_iterate_hook_t): New
type.
(struct grub_partition_map.iterate): Add hook_data argument.
(grub_partition_iterate): Likewise.
* include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
(struct grub_scsi_dev.iterate): Add hook_data argument.
Update all callers.
2013-01-20 15:52:15 +00:00
Vladimir 'phcoder' Serbinenko
b78d6c32e3
New terminal outputs using serial: morse and spkmodem.
2013-01-16 20:39:54 +01:00
Vladimir 'phcoder' Serbinenko
34f71cb866
Improve bidi handling in entry editor.
2013-01-16 13:41:16 +01:00
Colin Watson
09fd6d8293
Remove nested functions from script reading and parsing.
...
* grub-core/kern/parser.c (grub_parser_split_cmdline): Add
getline_data argument, passed to getline.
* grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
getline_data argument, passed to grub_parser_split_cmdline.
* grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
lexerstate->getline_data to lexerstate->getline.
(grub_script_lexer_init): Add getline_data argument, saved in
lexerstate->getline_data.
* grub-core/script/main.c (grub_normal_parse_line): Add getline_data
argument, passed to grub_script_parse.
* grub-core/script/script.c (grub_script_parse): Add getline_data
argument, passed to grub_script_lexer_init.
* include/grub/parser.h (grub_parser_split_cmdline): Update
prototype. Update all callers to pass appropriate getline data.
(struct grub_parser.parse_line): Likewise.
(grub_rescue_parse_line): Likewise.
* include/grub/reader.h (grub_reader_getline_t): Add void *
argument.
* include/grub/script_sh.h (struct grub_lexer_param): Add
getline_data member.
(grub_script_parse): Update prototype. Update all callers to pass
appropriate getline data.
(grub_script_lexer_init): Likewise.
(grub_normal_parse_line): Likewise.
* grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
data argument.
* grub-core/kern/parser.c (grub_parser_execute: getline): Make
static instead of nested. Rename to ...
(grub_parser_execute_getline): ... this.
* grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
data argument.
* grub-core/normal/main.c (read_config_file: getline): Make static
instead of nested. Rename to ...
(read_config_file_getline): ... this.
(grub_normal_read_line): Add unused data argument.
* grub-core/script/execute.c (grub_script_execute_sourcecode:
getline): Make static instead of nested. Rename to ...
(grub_script_execute_sourcecode_getline): ... this.
* util/grub-script-check.c (main: get_config_line): Make static
instead of nested.
2013-01-15 12:03:25 +00:00
Colin Watson
d0d4b8a063
Remove nested functions from memory map iterators.
...
* grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
argument, passed to hook.
* grub-core/kern/i386/coreboot/mmap.c
(grub_linuxbios_table_iterate): Likewise.
(grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
instead of nested.
(grub_machine_mmap_iterate): Add hook_data argument.
* grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
Add hook_data argument, passed to hook.
* grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
Likewise.
* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
Likewise.
* grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
Likewise.
* grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
Likewise.
* grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
Likewise.
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
Likewise.
* grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
(grub_machine_mmap_iterate): Likewise.
* grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
* include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
prototype.
* include/grub/memory.h (grub_memory_hook_t): Add data argument.
Remove NESTED_FUNC_ATTR from here and from all users.
(grub_mmap_iterate): Update prototype.
(grub_efi_mmap_iterate): Update prototype. Update all callers to
pass appropriate hook data.
(grub_machine_mmap_iterate): Likewise.
* grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
static instead of nested.
* grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
Rename to ...
(lsmmap_hook): ... this.
* grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
Likewise.
(grub_efiemu_mmap_fill: fill_hook): Likewise.
* grub-core/kern/i386/coreboot/init.c (grub_machine_init:
heap_init): Likewise.
* grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
Rename to ...
(mmap_iterate_hook): ... this.
* grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
Likewise.
* grub-core/lib/ieee1275/relocator.c
(grub_relocator_firmware_get_max_events: count): Likewise.
(grub_relocator_firmware_fill_events: fill): Likewise. Rename
to ...
(grub_relocator_firmware_fill_events_iter): ... this.
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
hook): Likewise. Rename to ...
(grub_relocator_alloc_chunk_align_iter): ... this.
* grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
Rename to ...
(generate_e820_mmap_iter): ... this.
* grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
Rename to ...
(count_hook): ... this.
(grub_linux_boot: hook): Likewise. Rename to ...
(grub_linux_boot_mmap_find): ... this.
(grub_linux_boot: hook_fill): Likewise. Rename to ...
(grub_linux_boot_mmap_fill): ... this.
* grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
hook): Likewise. Rename to ...
(grub_fill_multiboot_mmap_iter): ... this.
* grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
hook): Likewise. Rename to ...
(count_hook): ... this.
* grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
hook): Likewise. Rename to ...
(grub_fill_multiboot_mmap_iter): ... this.
* grub-core/loader/powerpc/ieee1275/linux.c
(grub_linux_claimmap_iterate: alloc_mem): Likewise.
* grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
Likewise. Rename to ...
(alloc_phys_choose): ... this.
(determine_phys_base: get_physbase): Likewise.
* grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
find_hook): Likewise.
* grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
(malloc_hook: count_hook): Likewise.
* grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
Likewise. Rename to ...
(lower_hook): ... this.
(grub_mmap_get_upper: hook): Likewise. Rename to ...
(upper_hook): ... this.
(grub_mmap_get_post64: hook): Likewise. Rename to ...
(post64_hook): ... this.
* grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
Likewise. Rename to ...
(lower_hook): ... this.
(grub_mmap_get_upper: hook): Likewise. Rename to ...
(upper_hook): ... this.
* grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
(grub_mmap_iterate: fill_hook): Likewise.
(fill_mask): Pass addr and mask within a single struct.
(grub_cmd_badram: hook): Make static instead of nested. Rename
to ...
(badram_iter): ... this.
(grub_cmd_cutmem: hook): Likewise. Rename to ...
(cutmem_iter): ... this.
2013-01-15 12:02:35 +00:00
Vladimir 'phcoder' Serbinenko
4a9950ecb0
Fix compilation with older compilers.
...
* grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
declarations.
* grub-core/lib/posix_wrap/string.h: Include sys/types.h.
* grub-core/lib/posix_wrap/sys/types.h: Add common types.
* grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
identifier with b.
* grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
* include/grub/crypto.h: Add type defines.
* util/import_gcrypth.sed: Remove duplicate type defines.
2013-01-13 21:06:25 +01:00
Colin Watson
ca3a74469a
Remove nested functions from PCI iterators.
...
* grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
passed to hook. Update all callers to pass appropriate hook data.
* grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
* include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
Remove NESTED_FUNC_ATTR from here and from all users.
(grub_pci_iterate): Update prototype.
* grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
instead of nested. Rename to ...
(grub_cs5536_find_iter): ... this.
* grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
* grub-core/kern/mips/loongson/init.c (init_pci: set_card):
Likewise.
* grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
Likewise.
* grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
Likewise.
* grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
Likewise.
* grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
* grub-core/video/radeon_fuloong2e.c
(grub_video_radeon_fuloong2e_setup: find_card): Likewise.
* grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
find_card): Likewise.
* grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
Likewise.
2013-01-13 01:10:41 +00:00
Vladimir 'phcoder' Serbinenko
c63d87b5e6
Remove autogenerated files from VCS
2013-01-12 16:17:31 +01:00
Vladimir 'phcoder' Serbinenko
5e3b8dcbb5
Import gcrypt public-key cryptography and implement signature checking.
2013-01-11 21:32:42 +01:00
Vladimir 'phcoder' Serbinenko
535714bdcf
* grub-core/fs/ntfs.c: Ue more appropriate types.
...
* grub-core/fs/ntfscomp.c: Likewise.
* include/grub/ntfs.h: Likewise.
2013-01-11 07:41:05 +01:00
Vladimir 'phcoder' Serbinenko
3e4f356646
Support Apple FAT binaries on non-Apple platforms.
...
* include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
* include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
Likewise.
* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
Apple FAT binaries.
2013-01-10 12:50:01 +01:00
Vladimir 'phcoder' Serbinenko
033d0b4b0b
* grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
...
* grub-core/fs/ntfscomp.c: Likewise.
* include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
(grub_ntfs_comp): Likewise.
2013-01-05 17:36:04 +01:00
Vladimir 'phcoder' Serbinenko
969b804f2a
* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
...
argument rather than font name. All users updated.
(grub_gfxterm_set_window): Likewise.
2012-12-10 16:07:33 +01:00
Leif Lindholm
2f9f40ba35
* include/grub/types.h: Fix functionality unaffecting typo in
...
GRUB_TARGET_WORDSIZE conditional macro.
2012-11-28 14:18:45 +01:00
Vladimir 'phcoder' Serbinenko
7ddffdadea
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
...
GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
* grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
* grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
ieee1275-nocursor.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2012-09-18 11:52:19 +02:00
Colin Watson
dfd39dbdea
* grub-core/term/terminfo.c: Only fix up powerpc key repeat on
...
IEEE1275 machines. Fixes powerpc-emu compilation.
* include/grub/terminfo.h: Likewise.
2012-09-14 11:23:36 +01:00
Vladimir 'phcoder' Serbinenko
3bfa763c48
* include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
...
a const pointer.
* grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
const pointer.
(efiemu_set_variable): Make vendor_guid a const pointer.
2012-09-12 08:31:05 +02:00
Peter Jones
c5052c81ab
* grub-core/Makefile.core.def (efifwsetup): New module.
...
* grub-core/commands/efi/efifwsetup.c: New file.
* grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
* include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
New define.
* include/grub/efi/efi.h (grub_efi_set_variable): New proto.
2012-09-08 09:40:24 +02:00
Vladimir 'phcoder' Serbinenko
7bd29c01f0
New command `lsefi'.
...
* grub-core/Makefile.core.def (lsefi): New module.
* grub-core/commands/efi/lsefi.c: New file.
* include/grub/efi/api.h: Add more GUIDs.
2012-07-22 19:59:06 +02:00
Vladimir 'phcoder' Serbinenko
a18f3b98c6
* include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
...
* include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
* grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2012-07-02 11:19:22 +02:00
Vladimir 'phcoder' Serbinenko
c35fc5bd15
Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
...
* grub-core/Makefile.core.def (mda_text): New module.
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
* grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
* grub-core/term/i386/pc/vga_text.c (cur_color): ... here
* grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
here.
* grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
* grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
* grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
here.
* grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
to ..
* grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
... here
* grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
here.
* grub-core/term/i386/vga_common.c: Removed.
* include/grub/i386/vga_common.h: Likewise.
* include/grub/vga.h (grub_vga_cr_bw_write): New function.
(grub_vga_cr_bw_read): Likewise.
* include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
(GRUB_VGA_IO_CR_BW_DATA): Likewise.
* grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
grub_vga_cr_read/grub_vga_cr_write.
(grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2012-06-28 15:27:54 +02:00
Vladimir 'phcoder' Serbinenko
c50c867da3
Init video early on yeeloong to avoid being rebooted by watchdog.
...
* grub-core/Makefile.am (gensm712): New target.
(sm712_start.S): Likewise.
(boot/mips/loongson/fwstart.S): Depend on sm712_start.S
* grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
* grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
description.
* include/grub/vga.h: Move registry definitions to...
* include/grub/vgaregs.h: ... here.
2012-06-26 03:36:14 +02:00
Vladimir 'phcoder' Serbinenko
36498496a0
* include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
...
type for size.
(grub_raid6_recover_func_t): Likewise.
* grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2012-06-25 17:36:50 +02:00
Vladimir 'phcoder' Serbinenko
982f1909cf
Implement flow control for http.
...
* grub-core/net/http.c (parse_line): Handle response 206.
(http_receive): Stall if too many packets are in the queue.
(http_establish): Fix range header.
(http_seek): Fix double free.
(http_close): Likewise.
(http_packets_pulled): New function.
(grub_http_protocol): Set http_seek
* grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
(ack_real): Set window depending on i_stall.
(grub_net_send_tcp_packet): Likewise.
(grub_net_tcp_stall): New function.
(grub_net_tcp_unstall): Likewise.
* include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
(grub_net_tcp_unstall): Likewise.
2012-06-22 22:09:31 +02:00
Vladimir 'phcoder' Serbinenko
b27069e06d
Implement flow control for tftp.
...
* grub-core/net/net.c (receive_packets): Decrease the stop to 10
packets but stop only if stop condition is satisfied.
(grub_net_fs_read_real): Call packets_pulled after real read. Use
`stall' instead of `eof' as stop condition.
* grub-core/net/http.c (parse_line): Set `stall' on EOF.
(http_err): Likewise.
* grub-core/net/tftp.c (ack): Replace the first argument with data
instead of socket.
(tftp_receive): Stall if too many packets are in wait queue.
(tftp_packets_pulled): New function.
(grub_tftp_protocol): Set packets_pulled.
* include/grub/net.h (grub_net_packets): New field count.
(grub_net_put_packet): Increment count.
(grub_net_remove_packet): Likewise.
(grub_net_app_protocol): New field `packets_pulled'.
(grub_net): New field `stall'.
2012-06-22 14:17:46 +02:00
Vladimir 'phcoder' Serbinenko
d6b7c7c986
Respect netmask from bootp/dhcp.
...
* grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
(grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
* grub-core/net/net.c (grub_net_add_addr): Split creating local route
into ...
(grub_net_add_ipv4_local): ... this.
(grub_cmd_addaddr): Use grub_net_add_ipv4_local.
* include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
(grub_net_add_ipv4_local): New proto.
2012-06-20 23:46:50 +02:00
Vladimir 'phcoder' Serbinenko
918a25179c
Restructure FAT driver to avoid hook in label reading as it hits a
...
GCC bug.
* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
* grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
(grub_fat_iterate_dir): Split into ...
(grub_fat_iterate_init): ... this, ...
(grub_fat_iterate_fini): ... this, ...
(grub_fat_iterate_dir_next): ... and this. All users updated.
2012-06-20 23:29:28 +02:00
Vladimir 'phcoder' Serbinenko
9f1d654e67
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
...
GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
* include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
New fields last_key and last_key_time.
* grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
extended key-esc into extended key-extended key.
2012-06-20 22:19:26 +02:00
Vladimir 'phcoder' Serbinenko
0494408e7e
* include/grub/net.h (grub_net_card): New member txbufsize.
...
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
* grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
txbufsize.
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
compatible property to check for macs. Set
GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
* grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
(send_card_buffer): Use txbuf.
(grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
nested function out of the parent while on it.
2012-06-19 11:34:52 +02:00
Vladimir 'phcoder' Serbinenko
c62d1a0c64
* include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
...
All users updated.
2012-06-18 21:09:57 +02:00
Vladimir 'phcoder' Serbinenko
70aaf3053a
Speed-up video on fuloong.
...
* grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
New function.
(grub_pci_device_unmap_range): Handle non-cached address.
* grub-core/video/sis315pro.c (framebuffer): Remove render_target and
add direct_ptr.
(grub_video_sis315pro_video_fini): Unmap direct_ptr.
(grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
(grub_video_sis315pro_set_active_render_target): Removed.
(grub_video_sis315pro_get_info_and_fini): Use uncached address.
(grub_video_adapter): Use grub_video_fb_set_active_render_target.
(grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
sync caches.
* include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
New proto.
2012-06-17 01:09:32 +02:00
Vladimir 'phcoder' Serbinenko
ba67e2c635
Avoid slow read-back from VRAM.
...
* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
Move from here ...
* grub-core/video/fb/video_fb.c
(grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
* grub-core/video/fb/video_fb.c (framebuf_t): New type.
(front_target): Remove front_target. Add pages.
(grub_video_fb_init): Skip setting front_pages.
(grub_video_fb_fini): Likewise.
(doublebuf_blit_update_screen): Use pages.
(grub_video_fb_doublebuf_blit_init): Likewise.
(doublebuf_pageflipping_init): Allocate offscreen buffer.
(doublebuf_pageflipping_update_screen): Use offscreen buffer.
(grub_video_fb_setup): Prefer doublebuffing.
2012-06-15 23:57:20 +02:00
Vladimir 'phcoder' Serbinenko
7da036bbcb
Remove non-functional EFI grub_get_rtc. Put a better fatal message
...
than current grub_get_rtc() not implemented when booted with
coreboot without TSC.
* grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
Add machine/time.h to kernel headers on loongson.
* grub-core/Makefile.core.def (kernel): Remove
kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
(grub_get_rtc): Likewise.
* grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
* grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
* grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
* grub-core/kern/i386/tsc.c (grub_tsc_init)
[!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
rather than installing known non-working time source.
* grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
* grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
* include/grub/time.h: Don't include machine/time.h.
* include/grub/efi/time.h: Removed.
* include/grub/i386/efi/time.h: Likewise.
* include/grub/i386/ieee1275/time.h: Likewise.
* include/grub/powerpc/ieee1275/time.h: Likewise.
* include/grub/sparc64/ieee1275/time.h: Likewise.
* include/grub/x86_64/efi/time.h: Likewise.
2012-06-11 20:44:38 +02:00
Vladimir 'phcoder' Serbinenko
4e5a96b02e
Remove dor on i and j when combining with above diacritics.
...
* include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
value.
(GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
* grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
with dotless variants when any combining above is present.
2012-06-11 00:20:55 +02:00
Vladimir 'phcoder' Serbinenko
96f7e60eae
Stop polling as soon as we have the packet we were waiting for.
...
* include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
All users updated.
* grub-core/net/arp.c (have_pending): New var.
(pending_req): Likewise.
(grub_net_arp_send_request): Fill pending_req and use have_pending as
stop indicator.
(grub_net_arp_receive): Set have_pending.
* grub-core/net/dns.c (recv_data): New field stop.
(recv_hook): Set stop.
(grub_net_dns_lookup): Init stop and use as stop condition.
* grub-core/net/http.c (http_establish): Use headers_recv as stop
condition.
* grub-core/net/net.c (grub_net_poll_cards): New argument
stop_condition. Stop when it goes true.
* grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
indicator.
* grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2012-06-09 11:06:55 +02:00
Vladimir 'phcoder' Serbinenko
3e74723951
Keep TX and RX buffers on EFI rather than always allocate new ones.
...
* include/grub/net.h (grub_net_card_driver): Allow driver to modify
card. All users updated.
(grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
* grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
(get_card_packet): Likewise.
(grub_efinet_findcards): Init new fields.
2012-06-09 11:00:18 +02:00
Vladimir 'phcoder' Serbinenko
9e5e66d15e
Use ITC on IA64 rather than broken routine based on daytime.
...
* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
ia64.
(grub_get_rtc) [__ia64__]: Likewise.
* grub-core/kern/ia64/efi/init.c (divisor): New variable.
(get_itc): New function.
(grub_rtc_get_time_ms): Likewise.
(grub_machine_init): Calibrate ITC.
* include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
Keep only on non-ia64. Don't export since it's broken and used only
if TSC is unavailable.
2012-06-09 10:52:39 +02:00
Vladimir 'phcoder' Serbinenko
5e619f408d
Fix wildcard escaping.
...
* grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
* grub-core/script/execute.c (wildcard_escape): .. to here.
Don't escape dot.
* grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
* grub-core/script/execute.c (wildcard_unescape): .. to here.
Don't escape dot.
* grub-core/script/execute.c (gettext_append): Always escape.
(grub_script_arglist_to_argv): Always handle escaping/unescaping.
* grub-core/script/yylex.l: Don't cut away the escaping.
* tests/grub_script_echo1.in: Add tests with wildcard.
2012-06-08 22:54:21 +02:00
Vladimir 'phcoder' Serbinenko
61c42af084
ESCC serial driver for conducting sautomated tests in qemu.
...
Not tested on real hardware.
* include/grub/serial.h (grub_serial_port): New field escc_desc.
* grub-core/term/ieee1275/escc.c: New file.
* grub-core/Makefile.core.def (escc): New module.
2012-06-08 19:42:59 +02:00
Vladimir 'phcoder' Serbinenko
08dafeeaae
Add a 1.5 stop bits value.
...
* grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
* include/grub/serial.h (grub_serial_stop_bits_t): Add
GRUB_SERIAL_STOP_BITS_1_5.
2012-06-08 19:32:57 +02:00
Vladimir 'phcoder' Serbinenko
c5c81ff978
Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
...
on some qemu versions with GRUB.
* include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
define.
(grub_openbsd_bootarg_pcibios): New struct.
* grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
Add PCIINFO.
2012-06-07 16:41:52 +02:00
Vladimir 'phcoder' Serbinenko
558d3a6023
* util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
...
* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
to here. New return value start. All users updated.
Recursively scan linear mappings.
* include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
proto.
* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
Use grub_util_get_dm_node_linear_info.
* util/getroot.c (convert_system_partition_to_system_disk): Use
grub_util_info rather than grub_dprintf.
(grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2012-06-07 14:24:48 +02:00
Vladimir 'phcoder' Serbinenko
24bd8838f1
* include/grub/types.h (grub_set_unaligned64): New function.
...
* util/grub-setup.c (write_rootdev): Use unaligned access functions.
(setup): Likewise.
2012-06-07 14:07:02 +02:00
Peter Jones
bcc75fb3f7
* include/grub/i386/linux.h (linux_kernel_params): Add v206.
...
* grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
(grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2012-05-31 13:23:30 +02:00
Vladimir 'phcoder' Serbinenko
a4e5ca80d9
Fix handling of EFI with big memory maps.
...
* grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
(real_mode_mem): Likewise.
(real_mode_target): Likewise.
(real_mode_pages): Likewise.
(prot_mode_pages): Likewise.
(linux_params): New var.
(linux_cmdline): Likewise.
(free_pages): Don't set real mode variables.
(allocate_pages): Don't allocate real mode memory.
(grub_e820_add_region): Remove the limit.
(grub_linux_boot): Allocate and copy real mode memory.
(grub_linux_unload): Free linux_cmdline.
(grub_cmd_linux): Use temporary storage for parameters.
(grub_cmd_initrd): Likewise.
* include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
(linux_kernel_params): Make it 1K big.
2012-05-30 14:56:53 +02:00
Vladimir 'phcoder' Serbinenko
e6ad0555e4
* grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
...
* grub-core/kern/misc.c: Likewise.
* grub-core/loader/i386/xnu.c: Likewise.
* include/grub/i386/tsc.h: Likewise.
* include/grub/symbol.h: Likewise.
2012-05-28 17:49:18 +02:00
Vladimir 'phcoder' Serbinenko
4a5a3c4abc
* include/grub/list.h (grub_bad_type_cast_real): Remove return.
...
* include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
on older compiler.
2012-05-28 17:45:53 +02:00
Vladimir 'phcoder' Serbinenko
f7194551c4
* include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
...
(memmove) [__APPLE__]: Likewise.
(memcpy) [__APPLE__]: Likewise.
(memset) [__APPLE__]: Likewise.
* grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
(memmove) [__APPLE__]: Likewise.
(memcpy) [__APPLE__]: Likewise.
(memset) [__APPLE__]: Likewise.
2012-05-28 17:37:18 +02:00
Peter Jones
2787ae53d6
The old code gives arguments to a printf function which can't work
...
correctly, and the compiler complains.
* grub-core/tests/example_functional_test.c (example_test): Add
missing text.
* grub-core/tests/lib/test.c (add_failure): Rewrite.
* include/grub/test.h (grub_test_assert_helper): New declaration.
(grub_test_assert): Use grub_test_assert_helper.
2012-05-27 14:26:18 +02:00
Matthew Garrett
4ce776d23e
* grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
...
(grub_efi_console_fini): Likewise.
* grub-core/video/efi_gop.c (framebuffer): New field offscreen.
(grub_video_gop_fill_mode_info): Rename to ...
(grub_video_gop_fill_real_mode_info): ... this.
(grub_video_gop_fill_mode_info): New function.
(grub_video_gop_setup): Setup double framebuffer.
(grub_video_gop_get_info_and_fini): Use original framebuffer.
Free offscreen.
(grub_video_gop_swap_buffers): Copy framebuffer.
(grub_video_gop_fini): Free offscreen buffer.
* include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
New enum.
(grub_efi_gop_blt_pixel): New struct.
2012-05-26 13:33:34 +02:00
Vladimir 'phcoder' Serbinenko
7086ad524f
Remove unjustified hard dependency of normal.mod on gfxterm.
...
* include/grub/term.h (grub_term_output): New member fullscreen.
* include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
(grub_gfxterm): Set .fullscreen.
* grub-core/normal/menu.c (menu_init): Use fullscreen.
* grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2012-05-21 22:17:11 +02:00
Vladimir 'phcoder' Serbinenko
e28e5fe519
* include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
...
(grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
All users updated.
2012-05-15 17:09:14 +02:00
Vladimir 'phcoder' Serbinenko
d2fcfb0cef
* include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
...
(GRUB_UTF16_LOWER_SURROGATE): Likewise.
(grub_utf16_to_utf8): Likewise.
2012-05-14 10:18:42 +02:00
Vladimir 'phcoder' Serbinenko
5560e9d6e1
* grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
...
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2012-05-13 20:29:23 +02:00
Vladimir 'phcoder' Serbinenko
f417ed0432
Fix wrapped HFS+ handling.
...
* grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
blocks_start. All users updated.
* grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
wrapping offset.
(grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2012-05-09 13:02:59 +02:00
Bean
5efb817d64
* grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
...
All users updated.
(free_rsm): Free header as well.
(free_old_fragments): Fix memory leak.
* grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
* grub-core/net/tftp.c (tftp_receive): Fix memory leak.
(destroy_pq): Likewise.
* include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2012-05-08 16:03:02 +02:00
Vladimir 'phcoder' Serbinenko
1b8463f2c4
Fix errors on compressed NTFS with 512B clusters.
...
* include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
types.
* grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
not 0.
* grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
Relax check for inline extents.
(ntfscomp): Return correct -1 on error and not 0.
2012-05-04 17:37:17 +02:00
Vladimir 'phcoder' Serbinenko
ce41ab7aab
* grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
...
per common usage and preffered in several parts of code.
(grub_memcmp): Likewise.
(grub_strncmp): Likewise.
* include/grub/misc.h (grub_strcasecmp): Likewise.
(grub_strncasecmp): Likewise.
* Makefile.util.def (cmp_test): New test.
(grub_script_strcmp): Likewise.
* tests/cmp_unit_test.c: New file.
* tests/grub_script_strcmp.in: Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2012-05-04 12:08:22 +02:00
Vladimir 'phcoder' Serbinenko
49717bf429
* include/grub/pci.h: Move enums into no-asm part.
2012-05-04 10:54:38 +02:00
Matthew Garrett
9d34bb85da
Suspend broadcom cards in order to stop their DMA.
...
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
* grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
(pci): Don't build on x86 EFI.
* grub-core/bus/pci.c (grub_pci_find_capability): New function.
* grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
New function.
(grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
stop_broadcom if running on EFI.
* include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
(GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
(GRUB_PCI_VENDOR_BROADCOM): Likewise.
(grub_pci_find_capability): New proto.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-05-03 17:26:55 +02:00
Vladimir 'phcoder' Serbinenko
b72d44a11a
Scan mdraid before LVM.
...
* include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
(grub_diskfilter_register_front): ... this.
(grub_diskfilter_register_back): New function.
All users of grub_diskfilter_register updated.
2012-04-18 23:11:33 +02:00
Vladimir 'phcoder' Serbinenko
3c491b479c
Terminate UNDI and PXE before launching the payload to avoid problems
...
with DMA.
* grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
(grub_loader_flags): ... this. All users updated.
(grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
* grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
function.
(grub_pxe_restore): Likewise.
(fini_hnd): New var.
(GRUB_MOD_INIT): Register shutdown hook.
(GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
* include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
(GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
(grub_loader_set): Rename second argument to flags.
2012-04-11 22:32:31 +02:00
Vladimir 'phcoder' Serbinenko
851ffadac2
* grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
...
written bytes.
(grub_get_num_of_utf8_bytes): New function.
(grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
* grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
executing it.
* include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
(grub_ucs4_to_utf8): Change return type.
2012-04-07 20:11:04 +02:00
Vladimir 'phcoder' Serbinenko
e44092dbb9
* include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
...
to uint64_t to prevent overflow.
(grub_diskfilter_lv): Increase start_extent and extent_count
to uint64_t to prevent overflow.
2012-04-04 14:31:22 +02:00
Vladimir 'phcoder' Serbinenko
9576977eab
* include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
...
after 29th of February.
2012-03-31 21:04:56 +02:00
Anton Blanchard
bbb39a458b
Fix btrfs endianness handling.
...
* grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
(lower_bound): Make root uint64_t. Use root in le.
(grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
(find_path): Fix template key init.
(grub_btrfs_dir): Fix mtime byteswap.
* include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-03-31 18:45:13 +02:00
Vladimir 'phcoder' Serbinenko
e1bd676b4e
Fix tab and wide character handling in editor and menu.
...
* grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
agglomerate control characters with combining marks.
(bidi_line_wrap): Allow break on tab.
(grub_unicode_get_comb_start): New function.
* grub-core/normal/menu_entry.c: Restructure to handle wide characters
and tab correctly.
* grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
with a space.
* grub-core/normal/term.c (print_ucs4_terminal): New argument
fixed_tab_size. All users updated.
* include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
(grub_term_getcharwidth): Handle \t.
* include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
and copy.
2012-03-27 17:07:26 +02:00
Vladimir 'phcoder' Serbinenko
17f38c0f8c
Fix gettext reload bugs (e.g. inability to disable gettext
...
once enabled).
* grub-core/gettext/gettext.c: Encapsulate all static variables in
main_context and secondary_context. All functions updated.
(grub_gettext_translate): Rename to ...
(grub_gettext_translate_real): ... this. Return NULL on failed
translate.
(grub_gettext_translate): Handle secondary context.
(grub_gettext_delete_list): Close file and zero-out the context.
(grub_mofile_open): Don't call grub_gettext_delete_list.
Don't close file.
(grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
if locale="" to avoid pointless error message.
(grub_gettext_env_write_lang): Update lang even if load fails.
Handle secondary context.
(grub_gettext_reread_prefix): New function.
(read_main): Likewise.
(read_secondary): Likewise.
(GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
(GRUB_MOD_FINI): Handle secondary context. Don't close file.
* grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
* include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2012-03-10 23:25:34 +01:00
Vladimir 'phcoder' Serbinenko
1ecd61a47a
Fix efi chainloader on network root.
...
* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
network devices.
* grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
New function.
2012-03-10 20:41:28 +01:00
Vladimir 'phcoder' Serbinenko
1a2fd1e674
* include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
...
* grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
* grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2012-03-05 01:17:55 +01:00
Vladimir 'phcoder' Serbinenko
d9bef9bc43
Fix menu title instability bug.
...
* grub-core/commands/menuentry.c (options): New option --id.
(grub_normal_add_menu_entry): New argument id. All users updated.
(grub_cmd_menuentry): Handle --id.
(grub_menu_init): Accept unknown arguments.
* grub-core/normal/main.c (features): Add feature_menuentry_id and
feature_menuentry_options.
* grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
saved_entry.
(get_entry_number): Match with id as well.
* include/grub/menu.h (grub_menu_entry): New member id.
* util/grub-mkconfig_lib.in (grub_get_device_id): New function.
* util/grub.d/00_header.in: Define menuentry_id_option.
* util/grub.d/10_hurd.in: Define id.
* util/grub.d/10_illumos.in: Likewise.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
* util/grub.d/30_os-prober.in: Likewise.
2012-03-04 14:55:13 +01:00
Vladimir 'phcoder' Serbinenko
7c8d0ce7f4
* include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
...
* grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
prot_size and prot_file_size.
2012-03-04 12:13:05 +01:00