Vladimir 'phcoder' Serbinenko
6e4146c41e
Move to more hookless approach in IEEE1275 devices handling.
2013-03-02 23:51:19 +01:00
Vladimir 'phcoder' Serbinenko
3056d3e752
Remove nested functions from videoinfo iterators.
2013-03-01 11:11:36 +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
Colin Watson
33a68ac643
* grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
...
__attribute__ ((unused)).
* grub-core/video/bochs.c (find_card): Likewise.
* grub-core/video/cirrus.c (find_card): Likewise.
* grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
* grub-core/video/sis315pro.c (find_card): Likewise.
* grub-core/video/sm712.c (find_card): Likewise.
2012-12-30 09:57:58 +00: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
9e86d4c59a
Speed-up video on yeeloong.
...
* grub-core/video/sm712.c (framebuffer): Remove render_target and
add cached_ptr.
(grub_video_sm712_video_fini): Unmap cached_ptr.
(grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
(grub_video_sm712_set_active_render_target): Removed.
(grub_video_adapter): Use grub_video_fb_set_active_render_target.
(grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
sync caches.
2012-06-22 23:47:34 +02:00
Vladimir 'phcoder' Serbinenko
52f0f64384
Avoid unnecessary memcpy of whole video buffer.
...
* grub-core/video/fb/video_fb.c (dirty): New struct.
(framebuffer): Add members current_dirty and previous_dirty.
(dirty): New function.
(grub_video_fb_fill_rect): Update dirty.
(common_blitter): Likewise.
(grub_video_fb_scroll): Likewise.
(doublebuf_blit_update_screen): Copy only dirty part.
(doublebuf_pageflipping_update_screen): Likewise.
(grub_video_fb_doublebuf_blit_init): Init dirty.
(doublebuf_pageflipping_init): Likewise.
(grub_video_fb_setup): Likewise.
2012-06-19 19:34:51 +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
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
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
bb51c6c647
* grub-core/commands/acpi.c: Add TRANSLATORS comments.
...
* grub-core/commands/gptsync.c: Likewise.
* grub-core/commands/hashsum.c: Likewise.
* grub-core/commands/i386/pc/sendkey.c: Likewise.
* grub-core/commands/legacycfg.c: Likewise.
* grub-core/io/gzio.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/term/gfxterm.c: Likewise.
* grub-core/term/terminfo.c: Likewise.
* grub-core/tests/test_blockarg.c: Likewise.
* grub-core/video/video.c: Likewise.
* util/grub-install.in: Likewise.
* util/grub-mkfont.c: Likewise.
2012-03-06 14:11:10 +01:00
Vladimir 'phcoder' Serbinenko
ef292a8775
* grub-core/net/http.c: Add TRANSLATORS comments.
...
* grub-core/normal/cmdline.c: Likewise.
* grub-core/normal/misc.c: Likewise.
* grub-core/partmap/msdos.c: Likewise.
* grub-core/parttool/msdospart.c: Likewise.
* grub-core/script/execute.c: Likewise.
* grub-core/script/main.c: Likewise.
* grub-core/term/terminfo.c: Likewise.
* grub-core/video/bitmap.c: Likewise.
* util/grub-install.in: Likewise.
* util/grub-mkimage.c: Likewise.
* util/grub-mklayout.c: Likewise.
* util/grub-setup.c: Likewise.
2012-03-05 16:42:26 +01:00
Matthew Garrett
3935dde2f2
Use EDID on EFI.
...
* grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
datasize_out.
* grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
modes. Set gop_handle.
(grub_video_gop_get_edid): New function.
(grub_gop_get_preferred_mode): Likewise.
(grub_video_gop_setup): Use grub_gop_get_preferred_mode.
(grub_video_efi_gop_adapter): Set .get_edid.
* include/grub/efi/edid.h: New file.
* include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-03-04 00:48:21 +01:00
Colin Watson
cfe456dc03
Use write-combining MTRR to speed up video with buggy BIOSes.
...
* grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
(cpuid): New define.
(rdmsr): Likewise.
(wrmsr): Likewise.
(mtrr_base): Likewise.
(mtrr_mask): Likewise.
(grub_vbe_enable_mtrr_entry): New function.
(grub_vbe_enable_mtrr): Likewise.
(grub_vbe_disable_mtrr): Likewise.
(grub_vbe_bios_set_display_start): Disable mtrr when handing the
control off to BIOS.
(grub_video_vbe_init): Fill mtrr.
(grub_video_vbe_fini): Disable mtrr.
(grub_video_vbe_get_info_and_fini): Likewise.
(grub_video_vbe_setup): Enable mtrr.
2012-02-27 22:31:51 +01:00
Vladimir 'phcoder' Serbinenko
584b2f8a22
Replace grub_target_addr with more appropriate types.
...
* grub-core/commands/efi/fixvideo.c (scan_card): Replace
grub_target_addr with grub_addr.
* grub-core/commands/iorw.c (grub_cmd_read): Replace
grub_target_addr with grub_port.
(grub_cmd_write): Likewise.
* grub-core/commands/memrw.c (grub_cmd_read): Replace
grub_target_addr with grub_addr.
(grub_cmd_write): Likewise.
* grub-core/video/efi_uga.c (find_line_len): Likewise.
2012-02-27 14:13:24 +01:00
Vladimir 'phcoder' Serbinenko
036985b8ce
Remove grub_{modname}_init and grub_{modname}_fini. They should never
...
be used directly if it's really a module and GRUB_MOD_INIT shouldn't
be used on non-modules.
* grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
Rename to grub_boot_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
* grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
* grub-core/font/font_cmd.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
* grub-core/kern/mips/loongson/init.c: Replace explicit protos with
includes.
(grub_machine_init): Remove empty inits.
* grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
includes.
(grub_machine_init): Remove empty inits.
* grub-core/term/arc/console.c: Remove explicit proto.
* grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
grub_at_keyboard_fini.
* grub-core/term/gfxterm.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
grub_gfxterm_fini.
* grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
grub_vgatext_fini.
* grub-core/term/ieee1275/console.c: Remove explicit proto.
* grub-core/term/serial.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
grub_serial_fini.
* grub-core/term/terminfo.c (GRUB_MOD_INIT)
[LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
grub_terminfo_fini.
* grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
(GRUB_MOD_FINI): Likewise.
* grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
[LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
(GRUB_MOD_FINI) [LOONGSON]: Rename to
grub_video_radeon_fuloong2e_fini.
* grub-core/video/sis315pro.c (GRUB_MOD_INIT)
[LOONGSON]: Rename to grub_video_sis315pro_init.
(GRUB_MOD_FINI) [LOONGSON]: Rename to
grub_video_sis315pro_fini.
* grub-core/video/sm712.c (GRUB_MOD_INIT)
[LOONGSON]: Rename to grub_video_sm712_init.
(GRUB_MOD_FINI) [LOONGSON]: Rename to
grub_video_sm712_fini.
* include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
(grub_at_keyboard_fini): Likewise.
* include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
Don't declare grub_{modname}_init.
(GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
* include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
New proto.
(grub_keylayouts_fini) [!EMU]: Likewise.
* include/grub/serial.h (grub_serial_init) [!EMU]:
New proto.
(grub_serial_fini) [!EMU]: Likewise.
* include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
New proto.
(grub_terminfo_fini) [!EMU]: Likewise.
* include/grub/video.h (grub_font_init) [!EMU]:
New proto.
(grub_font_fini) [!EMU]: Likewise.
(grub_gfxterm_init) [!EMU]: Likewise.
(grub_gfxterm_fini) [!EMU]: Likewise.
(grub_video_sm712_init) [!EMU]: Likewise.
(grub_video_sm712_fini) [!EMU]: Likewise.
(grub_video_sis315pro_init) [!EMU]: Likewise.
(grub_video_sis315pro_fini) [!EMU]: Likewise.
(grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
(grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2012-02-27 00:28:45 +01:00
Vladimir 'phcoder' Serbinenko
d61386e21d
Improve string. Gettextize.
2012-02-12 15:25:25 +01:00
Vladimir 'phcoder' Serbinenko
ebcecdf1c3
Increase warning level.
...
* conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
-Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
* configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
(TARGET_CFLAGS): Likewise.
(HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
* grub-core/Makefile.core.def (decompressor_xz): Add
-Wno-unreachable-code.
(normal): Add -Wno-redundant-decls.
(xzio): Add -Wno-unreachable-code.
(lzopio): Add -Wno-redundant-decls -Wno-error.
* grub-core/commands/acpi.c: Add exception to -Wcast-align.
* grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
* grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
* grub-core/kern/dl.c: Add exception to -Wcast-align.
* grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
* grub-core/kern/i386/coreboot/init.c: Add exception to
-Wsuggest-attribute=noreturn.
* grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
* grub-core/kern/ia64/dl_helper.c: Likewise.
* grub-core/kern/mips/dl.c: Likewise.
* grub-core/kern/sparc64/dl.c: Likewise.
* grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
(memcmp): Likewise.
* grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
* grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
* grub-core/loader/mips/linux.c: Likewise.
* grub-core/loader/multiboot_elfxx.c: Likewise.
* grub-core/script/parser.y: Add exception to -Wunreachable-code.
* grub-core/video/sm712.c: Add exception to -Wcast-align.
* util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
* grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
fixme.
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
* grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
Fix prototype.
2012-02-10 16:48:48 +01:00
Vladimir 'phcoder' Serbinenko
432069398f
* grub-core/video/colors.c (grub_video_parse_color): Fix error message.
...
Remove assignment in if while on it.
2012-02-09 14:48:35 +01:00
Vladimir 'phcoder' Serbinenko
9c4b5c13e6
Improve gettext support. Stylistic fixes and error handling fixes while
...
on it.
2012-02-08 19:26:01 +01:00
Vladimir 'phcoder' Serbinenko
c779226e6c
* grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
...
message.
* grub-core/video/radeon_fuloong2e.c
(grub_video_radeon_fuloong2e_setup): Likewise.
* grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
* grub-core/video/video.c (grub_video_set_mode): Don't override
standard out of memory message.
2012-02-03 12:47:07 +01:00
Vladimir 'phcoder' Serbinenko
12e9d4d152
Fix video on platforms where unaligned access is forbidden.
...
Make several optimisations while on it.
* grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
(grub_video_fbblit_replace_32bit_1bit): Likewise.
(grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
Disable.
(grub_video_fbblit_replace_16bit_1bit):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
(grub_video_fbblit_replace_8bit_1bit): Likewise.
(grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGR888_RGB888): Likewise.
(grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
(grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
(grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
(grub_video_fbblit_replace_index_RGBX8888): Likewise.
(grub_video_fbblit_replace_index_RGB888): Likewise.
(grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
(grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
(grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
(grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
(grub_video_fbblit_blend_index_RGBA8888): Likewise.
(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
(grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
Disable.
(grub_video_fbblit_blend_XXX565_1bit):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
* grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
* grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
void *.
* grub-core/video/fb/video_fb.c (common_blitter)
[!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
(grub_video_fb_create_render_target_from_pointer)
[!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
* include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
* include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
definition.
* include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2011-12-13 20:07:33 +01:00
Vladimir 'phcoder' Serbinenko
6e0632e28c
* grub-core/commands/acpihalt.c: Gettextized.
...
* grub-core/commands/cacheinfo.c: Likewise.
* grub-core/commands/cmp.c: Likewise.
* grub-core/commands/efi/loadbios.c: Likewise.
* grub-core/commands/gptsync.c: Likewise.
* grub-core/commands/ieee1275/suspend.c: Likewise.
* grub-core/commands/legacycfg.c: Likewise.
* grub-core/commands/memrw.c: Likewise.
* grub-core/commands/minicmd.c: Likewise.
* grub-core/commands/parttool.c: Likewise.
* grub-core/commands/time.c: Likewise.
* grub-core/commands/videoinfo.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/disk/i386/pc/biosdisk.c: Likewise.
* grub-core/disk/luks.c: Likewise.
* grub-core/disk/lvm.c: Likewise.
* grub-core/font/font_cmd.c: Likewise.
* grub-core/fs/zfs/zfscrypt.c: Likewise.
* grub-core/fs/zfs/zfsinfo.c: Likewise.
* grub-core/gfxmenu/view.c: Likewise.
* grub-core/kern/emu/hostdisk.c: Likewise.
* grub-core/kern/emu/main.c: Likewise.
* grub-core/kern/emu/misc.c: Likewise.
* grub-core/kern/emu/mm.c: Likewise.
* grub-core/kern/mips/arc/init.c: Likewise.
* grub-core/kern/mips/loongson/init.c: Likewise.
* grub-core/kern/partition.c: Likewise.
* grub-core/lib/i386/halt.c: Likewise.
* grub-core/lib/mips/arc/reboot.c: Likewise.
* grub-core/lib/mips/loongson/reboot.c: Likewise.
* grub-core/loader/i386/pc/chainloader.c: Likewise.
* grub-core/loader/i386/xnu.c: Likewise.
* grub-core/loader/multiboot.c: Likewise.
* grub-core/net/bootp.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/normal/term.c: Likewise.
* grub-core/partmap/bsdlabel.c: Likewise.
* grub-core/parttool/msdospart.c: Likewise.
* grub-core/term/gfxterm.c: Likewise.
* grub-core/term/terminfo.c: Likewise.
* grub-core/video/i386/pc/vbe.c: Likewise.
* util/grub-menulst2cfg.c: Likewise.
* util/grub-mkdevicemap.c: Likewise.
* util/grub-mklayout.c: Likewise.
* util/grub-mkrelpath.c: Likewise.
* util/grub-script-check.c: Likewise.
* util/ieee1275/grub-ofpathname.c: Likewise.
* util/resolve.c: Likewise.
2011-11-11 21:44:56 +01: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
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
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
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
Szymon Janc
cbf597afb1
* grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
...
pointer checks before calling grub_free().
* grub-core/commands/wildcard.c (match_devices): Likewise.
* grub-core/commands/wildcard.c (match_files): Likewise.
* grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
* grub-core/fs/cpio.c (grub_cpio_open): Likewise.
* grub-core/fs/udf.c (grub_udf_read_block): Likewise.
* grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
* grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
* grub-core/script/yylex.l (grub_lexer_unput): Likewise.
* grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
* grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2011-06-26 17:17:41 +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
Szymon Janc
c31dc5f5e4
Add support for DRI and RSTn markers in JPEG files.
...
* grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
(JPEG_MARKER_RST0): Likewise.
(JPEG_MARKER_RST1): Likewise.
(JPEG_MARKER_RST2): Likewise.
(JPEG_MARKER_RST3): Likewise.
(JPEG_MARKER_RST4): Likewise.
(JPEG_MARKER_RST5): Likewise.
(JPEG_MARKER_RST6): Likewise.
(JPEG_MARKER_RST7): Likewise.
(grub_jpeg_data): New fields dri, r1, bitmap_ptr.
(grub_jpeg_decode_dri): New function.
(grub_jpeg_decode_sos): Move image data related part into
grub_jpeg_decode_data function.
(grub_jpeg_decode_data): New function.
(grub_jpeg_reset): New function.
(grub_jpeg_decode_jpeg): Handle new markers.
2011-06-23 23:13:20 +02:00
Colin Watson
e806ce60ee
merge trunk
2011-05-18 16:53:36 +01:00
Colin Watson
e2965f4a32
Move gfxmenu color handling to video, so that gfxterm can use it
...
too.
* grub-core/gfxmenu/named_colors.c: Move to ...
* grub-core/video/colors.c: ... here. Rename
grub_gui_get_named_color to grub_video_get_named_color.
* grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
* grub-core/video/colors.c (my_isxdigit): ... here.
* grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
Move to ...
* grub-core/video/colors.c (parse_hex_color_component): ... here.
* grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
to ...
* grub-core/video/colors.c (grub_video_parse_color): ... here.
* include/grub/gui.h (grub_gui_color_t): Move to ...
* include/grub/video.h (grub_video_rgba_color_t): ... here.
* include/grub/gui.h (grub_gui_color_rgb): Move to ...
* include/grub/video.h (grub_video_rgba_color_rgb): ... here.
* include/grub/gui.h (grub_gui_map_color): Move to ...
* include/grub/video.h (grub_video_map_rgba_color): ... here.
* include/grub/gui_string_util.h (grub_gui_get_named_color): Move
to ...
* include/grub/video.h (grub_video_get_named_color): ... here.
* include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
* include/grub/video.h (grub_video_parse_color): ... here.
* grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
video/colors.c.
(gfxmenu): Remove gfxmenu/named_colors.c.
(video) [videomodules]: Add video/colors.c.
Add a background_color command.
* grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
function.
(GRUB_MOD_INIT): Register background_color command.
(GRUB_MOD_FINI): Unregister background_color command.
(redraw_screen_rect): Allow blend/replace of text layer to be
controlled independently from whether there is a background bitmap.
(grub_gfxterm_background_image_cmd): Change blend_text_bg when
changing bitmap.
2011-05-18 12:44:24 +01:00
Vladimir 'phcoder' Serbinenko
736e0ade54
Fuloong video init support.
...
* include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
well.
(grub_vga_read_arx): New function.
* grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
definition.
(framebuffer): New members io, mmioptr and mmiobase.
(read_sis_cmd): New function.
(write_sis_cmd): Likewise.
(grub_video_sis315pro_setup): Do the initialisation. Use 640x480
rather than 640x400.
* grub-core/video/sis315_init.c: New file.
2011-05-16 02:34:58 +02:00
Vladimir 'phcoder' Serbinenko
5d063cdc10
Fuloong support.
...
* configure.ac: Rename yeeloong platform to loongson. All users updated.
* grub-core/Makefile.core.def (fwstart_fuloong): New image.
* grub-core/boot/mips/loongson/fuloong.S: New file.
* grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
Explicitly init CS5536.
[FULOONG]: Don't use serial until CS5536 is available.
Set GPIO based on dumps.
(serial_hw_init) [FULOONG]: Handle CS5536 parts.
[FULOONG]: Handle GPIO and memory controller differences.
Parse machine type in $a2.
* grub-core/boot/mips/startup_raw.S: Determine and save the
architecture.
* grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
(grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
init on architecture type.
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
SIS315E. Don't init at_keyboard on fuloong.
(grub_halt): Support Fuloong.
* grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
* grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
(loongson_machtypes): New array.
(grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
type.
* grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
config. All users updated. Handle CS5536 serial.
* grub-core/term/serial.c (grub_serial_register): Conditionalise
default port on machine type. Register serial as inactive.
* grub-core/video/sis315pro.c: New file.
* include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
definition.
(GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
(GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
(GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
to ...
(GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
definition.
(GRUB_ARCH_MACHINE_FULOONG): Likewise.
(grub_arch_machine): New extern var.
* include/grub/mips/loongson/serial.h
(GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
(GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
(GRUB_MACHINE_SERIAL_PORT): Renamed to ...
(GRUB_MACHINE_SERIAL_PORT0): ... this.
(GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
(GRUB_MACHINE_SERIAL_PORT1): Likewise.
(GRUB_MACHINE_SERIAL_PORT2): Likewise.
(GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
* include/grub/term.h (grub_term_register_input_inactive): New inline
function.
(grub_term_register_output_inactive): Likewise.
* include/grub/video.h (grub_video_driver_id): New value
GRUB_VIDEO_DRIVER_SIS315PRO.
* util/grub-mkimage.c (image_target_desc): Rename name to dirname.
New field "names". All users updated.
New field value IMAGE_FULOONG_FLASH.
(generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2011-05-15 01:43:44 +02:00
Colin Watson
1eb44ae37e
merge trunk
2011-04-21 11:07:10 +01:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6
Implement automatic module license checking according to new GNU
...
guidelines.
* grub-core/kern/dl.c (grub_dl_check_license): New function.
(grub_dl_load_core): Use grub_dl_check_license.
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
(GRUB_MOD_LICENSE): Likewise.
(GRUB_MOD_DUAL_LICENSE): Likewise.
All modules updated.
2011-04-11 23:01:51 +02:00
Andrey
b5ebecfabc
* grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
...
gcc warning.
2011-04-06 14:21:34 +02:00
Colin Watson
4c6c9431d2
* grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
...
Switch back to page zero before loading a kernel, since some kernel
drivers expect that.
Thanks to: Felix Kuehling.
2011-03-25 00:03:54 +00:00
Alexander Kurtz
41a85f5508
* grub-core/video/bitmap.c (match_extension): Ignore case.
2011-03-23 17:08:56 +01:00
Vladimir 'phcoder' Serbinenko
40fc46599d
* grub-core/video/bochs.c (grub_video_bochs_setup): Use
...
grub_video_mode_type_t.
* grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
* grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
* grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
2011-03-23 11:54:58 +01:00
Vladimir 'phcoder' Serbinenko
01b08a0f15
initial SIS315PRO support
2011-01-18 13:44:16 +01:00
Colin Watson
9b300caf84
grub_video_get_edid is not usable from grub_vbe_get_preferred_mode, as a
...
video adapter has not necessarily yet been set. Use grub_video_vbe_get_edid
and grub_video_edid_checksum directly instead. Remove grub_video_get_edid
as it now has no users.
Reported by: Marjo Mercado.
2011-01-17 12:07:47 +00:00
Colin Watson
cb918eddf4
fix FP info handling
2011-01-17 12:05:12 +00:00
Colin Watson
4f8ba1461b
Use low memory scratch area for EDID and FP calls.
2011-01-17 11:56:36 +00:00
Colin Watson
13fc463f17
Make new grub_vbe_bios_* functions static.
2011-01-15 14:18:16 -06:00
Colin Watson
129185cfaa
move more EDID-handling functions to generic code, and make videoinfo display EDID information
2010-12-14 18:03:34 +00:00
Colin Watson
25d884a52a
move generic parts of EDID handling (structure, checksumming) to generic location
2010-12-14 17:06:32 +00:00
Colin Watson
e03f549b3e
Preferred resolution detection for VBE.
...
* 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_edid_checksum): Likewise.
(grub_vbe_get_preferred_mode): Likewise. Try EDID followed by the
Flat Panel extension, in line with the X.org VESA driver.
(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.
* include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
structure.
(struct grub_vbe_edid_info): Likewise.
(grub_vbe_bios_get_flat_panel_info): Add prototype.
(grub_vbe_bios_get_ddc_capabilities): Likewise.
(grub_vbe_bios_read_edid): Likewise.
* util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
is more appropriate on a wider range of platforms than 640x480.
2010-12-14 16:22:19 +00:00
Colin Watson
52832c554c
Move gfxmenu color handling to video, so that gfxterm can use it
...
too.
* grub-core/gfxmenu/named_colors.c: Move to ...
* grub-core/video/colors.c: ... here. Rename
grub_gui_get_named_color to grub_video_get_named_color.
* grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
* grub-core/video/colors.c (my_isxdigit): ... here.
* grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
Move to ...
* grub-core/video/colors.c (parse_hex_color_component): ... here.
* grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
to ...
* grub-core/video/colors.c (grub_video_parse_color): ... here.
* include/grub/gui.h (grub_gui_color_t): Move to ...
* include/grub/video.h (grub_video_rgba_color_t): ... here.
* include/grub/gui.h (grub_gui_color_rgb): Move to ...
* include/grub/video.h (grub_video_rgba_color_rgb): ... here.
* include/grub/gui.h (grub_gui_map_color): Move to ...
* include/grub/video.h (grub_video_map_rgba_color): ... here.
* include/grub/gui_string_util.h (grub_gui_get_named_color): Move
to ...
* include/grub/video.h (grub_video_get_named_color): ... here.
* include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
* include/grub/video.h (grub_video_parse_color): ... here.
* grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
video/colors.c.
(gfxmenu): Remove gfxmenu/named_colors.c.
(video_colors) [videomodules]: New module, containing
video/colors.c.
2010-12-10 16:45:58 +00:00