Vladimir 'phcoder' Serbinenko
3e19bf879f
* grub-core/kern/device.c (grub_device_open): Remove dead code.
2012-06-19 11:20:34 +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
377c98cba2
* grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
...
gzio.
2012-06-15 23:42:34 +02:00
Vladimir 'phcoder' Serbinenko
eac49cffc8
Add loongson tests.
...
* tests/util/grub-shell.in: Handle loongson.
* tests/partmap_test.in: Add loongson to the list of platform using ATA
drivers.
* grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
Reboot instead of shutdown if REBOOT is defined.
2012-06-15 19:42:25 +02:00
Vladimir 'phcoder' Serbinenko
0321415e86
* grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
...
sized ports since unlike on real hardware qemu supports only 32-bit
regs.
2012-06-15 19:36:10 +02:00
Vladimir 'phcoder' Serbinenko
4abde34671
Revert usb-quiesce since it's wrong.
...
* grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
(grub_ofdisk_init): Don't do quiesce.
2012-06-13 22:44:45 +02:00
Vladimir 'phcoder' Serbinenko
61f1d93b09
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
...
PowerMac workaround to Xserves as well.
Information supplied by: Benjamin Herrenschmidt.
2012-06-13 01:38:40 +02:00
Vladimir 'phcoder' Serbinenko
a09eb54103
Don't assume that beginning address is also the entry point on ppc.
...
* grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
(grub_linux_boot): Use linux_entry.
(grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
(grub_linux_load64): Likewise.
2012-06-13 01:15:15 +02:00
Vladimir 'phcoder' Serbinenko
cbe0b4efdb
* grub-core/term/ieee1275/console.c (grub_console_fini): Don't
...
needlessly lose the console.
2012-06-13 01:06:35 +02:00
Vladimir 'phcoder' Serbinenko
3006e9810f
* grub-core/normal/dyncmd.c (read_command_list): Don't access freed
...
space.
2012-06-13 01:04:14 +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
f695e99a75
* grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
...
compilation error on sparc64.
2012-06-09 10:55:02 +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
a176740446
* grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
...
even if it's used.
(name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
Skip if parent is unused.
2012-06-09 10:43:24 +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
c8ca585593
* grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
...
(ftdi_hw_configure): Likewise.
* grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
define.
(real_config): Handle 1.5 stop bits.
(pl2303_hw_configure): Likewise.
2012-06-08 20:40:40 +02:00
Vladimir 'phcoder' Serbinenko
7183452c00
* Makefile.am: Add ppc linux bootcheck.
...
* grub-core/tests/boot/linux-ppc.cfg: New file.
* grub-core/tests/boot/linux.init-ppc.S: Likewise.
2012-06-08 20:35:54 +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
08fd129137
* grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
...
invalid on error.
(serial_hw_fetch): Don't read invalid handle.
(serial_hw_put): Don't write into invalid handle.
2012-06-08 19:34:57 +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
9068fdcf0b
* grub-core/commands/wildcard.c (wildcard_expand): Set default return
...
value rather than let it uninited.
2012-06-08 19:29:43 +02:00
Vladimir 'phcoder' Serbinenko
f4d5820f28
* grub-core/commands/wildcard.c (+check_file): New function.
...
(wildcard_expand): Don't expand to non-existing files, expand with
suffix and not attempt to expand if not needed.
2012-06-07 23:18:04 +02:00
Vladimir 'phcoder' Serbinenko
3d2de9a7ba
* grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
...
out of partitions containing other partitions.
2012-06-07 21:55:55 +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
cede3ca325
* grub-core/Makefile.core.def (vga_text): Disable on muliboot
...
and coreboot since it's already in kernel.
2012-06-07 15:18:21 +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
7bc06a4995
* grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
...
(grub_ofdisk_fini): Quiesce USB devices.
2012-06-06 19:00:04 +02:00
Vladimir 'phcoder' Serbinenko
49cea015c0
* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
...
caches.
2012-06-06 18:58:19 +02:00
Vladimir 'phcoder' Serbinenko
5b25873518
* grub-core/disk/pata.c (grub_pata_pio_read)
...
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
(grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2012-06-06 12:38:49 +02:00
Vladimir 'phcoder' Serbinenko
37ba07ebaf
Extend automated tests to qemu-mips.
...
* Makefile.am: reorganise tests and enable qemu-mips.
* configure.ac (COND_mipseb), (COND_mipsel): New conditions.
* grub-core/tests/boot/linux.init-mips.S: New file.
* tests/partmap_test.in: Handle ata0 disks.
* tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
non-pc i386.
2012-06-06 12:36:33 +02:00
Vladimir 'phcoder' Serbinenko
004be2cd95
* grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
...
(grub_halt): Likewise.
* grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2012-06-06 12:28:25 +02:00
Vladimir 'phcoder' Serbinenko
b1622487a8
* grub-core/term/serial.c (grub_serial_register)
...
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
the behaviour in line with x86 platforms.
2012-06-06 12:25:13 +02:00
Vladimir 'phcoder' Serbinenko
b7b4ab33ae
* grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
...
(grub_ata_strncpy): Likewise.
(grub_ata_identify): Add missing byteswaps.
2012-06-06 12:22:32 +02:00
Vladimir 'phcoder' Serbinenko
5e3535aee7
* grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
...
byte-swap.
(screen_read_char): Likewise.
(grub_vga_text_cls): Likewise.
2012-06-06 12:20:08 +02:00
Vladimir 'phcoder' Serbinenko
c21b17e6e0
* grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
...
filenames.
(make_file_path): Likewise.
2012-06-06 02:34:32 +02:00
Vladimir 'phcoder' Serbinenko
bf293dece0
* grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
...
machines.
Tested by: Paulo Flabiano Smorigo.
Crucial information about API supplied by: Coleen <Last name unknown>.
Reviewed by: Coleen <Last name unknown>.
2012-06-06 02:31:27 +02:00
Vladimir 'phcoder' Serbinenko
7284143a54
* grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
...
as they are fatal.
2012-06-05 17:20:39 +02:00
Vladimir 'phcoder' Serbinenko
b99f3e00a1
* grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
2012-06-05 17:18:04 +02:00
Vladimir 'phcoder' Serbinenko
6cce6f3864
* grub-core/commands/videoinfo.c (hook): Show pitch.
2012-06-05 12:03:36 +02:00
Vladimir 'phcoder' Serbinenko
efbeefe90f
* grub-core/mmap/i386/pc/mmap.c (malloc_hook):
...
Allocate in multiples of 16 to avoid adding a few bytes free region the
windows bugs upon.
2012-06-03 18:00:37 +02:00
Vladimir 'phcoder' Serbinenko
15a940bbd8
* grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
...
Allocate in multiples of 16 to avoid adding a few bytes free region the
windows bugs upon.
* grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
2012-06-03 17:47:20 +02:00
Vladimir 'phcoder' Serbinenko
6e5efd60a1
* grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
...
resolutions.
* grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
* grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2012-06-02 20:15:11 +02:00
Vladimir 'phcoder' Serbinenko
45dbe3000b
* grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
...
resulted in \\ at the end of the line.
2012-06-02 14:46:22 +02:00
Vladimir 'phcoder' Serbinenko
6d8db94786
* grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
...
(grub_parser_cmdline_state): Likewise.
(grub_parser_split_cmdline): Likewise.
2012-06-02 14:39:35 +02:00
Vladimir 'phcoder' Serbinenko
00d41dee71
* grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
...
fix partially stale display.
2012-06-02 14:30:52 +02:00