Commit Graph

1796 Commits

Author SHA1 Message Date
Manoel R. Abranches 60cdb895da Adaptation for the new protocols and interface structs.
implementation of receive in the protocols.
Also all unwanted packets are discarded.
2010-06-21 19:15:45 -03:00
Manoel R. Abranches c3639ae731 File manipulation. Based in OF implementation.
For debug porpouse and will be changed later.
2010-06-21 19:13:26 -03:00
Manoel R. Abranches d17a9fea4a Add interface struct for communication between protocols and protocols stack.
Changed the protocols structs to use one struct for each layer.
2010-06-21 19:05:14 -03:00
starous 12cd7239d9 Faster OHCI, USB hub support, UHCI portstatus corr. 2010-06-21 21:12:20 +02:00
Vladimir 'phcoder' Serbinenko 8e50ec9f05 Merge mainline into cirrus 2010-06-21 02:15:49 +02:00
Vladimir 'phcoder' Serbinenko de24ab9b0d Fix grub_vga_palette_write 2010-06-21 02:07:45 +02:00
Vladimir 'phcoder' Serbinenko 4d88b9aec7 Init cirrus ourselves instead of calling videobios 2010-06-21 01:02:48 +02:00
Vladimir 'phcoder' Serbinenko 8c0346515d Add GRUB_PCI_REG_STATUS_*_ENABLE 2010-06-21 01:01:26 +02:00
Vladimir 'phcoder' Serbinenko d246fc0368 Improve macroification of VGA registers. 2010-06-21 00:58:43 +02:00
Vladimir 'phcoder' Serbinenko 05e5187978 Cirrus 5446 and Bochs video cards support.
* conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
	video_bochs.mod
	(video_cirrus_mod_SOURCES): New variable.
	(video_cirrus_mod_CFLAGS): Likewise.
	(video_cirrus_mod_LDFLAGS): Likewise.
	(video_bochs_mod_SOURCES): Likewise.
	(video_bochs_mod_CFLAGS): Likewise.
	(video_bochs_mod_LDFLAGS): Likewise.
	* include/grub/vga.h: New file.
	* include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
	(grub_video_fb_set_page_t): New type.
	(grub_video_fb_setup): New prototype.
	(grub_video_fb_swap_buffers): Likewise.
	(grub_video_fb_get_info_and_fini): Likewise.
	* term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
	(CRTC_DATA_PORT): Likewise.
	(CRTC_CURSOR): Likewise.
	(CRTC_CURSOR_ADDR_HIGH): Likewise.
	(CRTC_CURSOR_ADDR_LOW): Likewise.
	(CRTC_CURSOR_DISABLE): Likewise.
	(update_cursor): Use grub_vga_cr_write.
	(grub_vga_text_setcursor): Likewise.
	* video/bochs.c: New file.
	* video/fb/video_fb.c (render_target): Moved into framebuffer variable.
	(palette): Likewise.
	(palette_size): Likewise.
	(framebuffer): New variable.
	(grub_video_fb_init): Use 'framebuffer'.
	(grub_video_fb_fini): Likewise.
	(grub_video_fb_get_info): Likewise.
	(grub_video_fb_get_palette): Likewise.
	(grub_video_fb_set_palette): Likewise.
	(grub_video_fb_set_viewport): Likewise.
	(grub_video_fb_get_viewport): Likewise.
	(grub_video_fb_map_color): Likewise.
	(grub_video_fb_map_rgb): Likewise.
	(grub_video_fb_map_rgba): Likewise.
	(grub_video_fb_unmap_color): Likewise.
	(grub_video_fb_unmap_color_int): Likewise.
	(grub_video_fb_fill_rect): Likewise.
	(grub_video_fb_blit_bitmap): Likewise.
	(grub_video_fb_blit_render_target): Likewise.
	(grub_video_fb_scroll): Likewise.
	(grub_video_fb_create_render_target): Likewise.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	(grub_video_fb_set_active_render_target): Handle doublebuffering.
	(doublebuf_pageflipping_update_screen): New function.
	(doublebuf_pageflipping_init): Likewise.
	(grub_video_fb_setup): Likewise.
	(grub_video_fb_swap_buffers): Likewise.
	(grub_video_fb_get_info_and_fini): Likewise.
	* video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
	All users updated.
	(doublebuf_pageflipping_commit): Restructured into ...
	(doublebuf_pageflipping_set_page): ... this.
	(doublebuf_pageflipping_update_screen): Removed.
	(doublebuf_pageflipping_init): Likewise.
	(double_buffering_init): Likewise.
	(grub_video_vbe_setup): Use grub_video_fb_setup.
	(grub_video_vbe_swap_buffers): Removed.
	(grub_video_vbe_set_active_render_target): Likewise.
	(grub_video_vbe_get_active_render_target): Likewise.
	(grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
	(grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
	grub_video_fb_set_active_render_target and
	grub_video_fb_get_active_render_target.
	* video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
	(SEQUENCER_DATA_PORT): Likewise.
	(MAP_MASK_REGISTER): Likewise.
	(CRTC_ADDR_PORT): Likewise.
	(CRTC_DATA_PORT): Likewise.
	(START_ADDR_HIGH_REGISTER): Likewise.
	(START_ADDR_LOW_REGISTER): Likewise.
	(GRAPHICS_ADDR_PORT): Likewise.
	(GRAPHICS_DATA_PORT): Likewise.
	(READ_MAP_REGISTER): Likewise.
	(INPUT_STATUS1_REGISTER): Likewise.
	(INPUT_STATUS1_VERTR_BIT): Likewise.
	(get_map_mask): Use grub_vga_sr_read.
	(set_map_mask): Use grub_vga_sr_write.
	(set_read_map): Use grub_vga_gr_write.
	(set_start_address): Use grub_vga_cr_write.
	* video/sm712.c (framebuffer): Remove leftover fields.
2010-06-20 14:15:20 +02:00
BVK Chaitanya 2e1310bc7c merge with mainline 2010-06-13 10:22:38 +05:30
BVK Chaitanya eedda76883 merge with mainline 2010-06-13 09:58:24 +05:30
BVK Chaitanya 49e38cf475 merge with mainline 2010-06-13 09:48:47 +05:30
Vladimir 'phcoder' Serbinenko d49703d151 Add priorities support 2010-06-12 17:38:48 +02:00
BVK Chaitanya 20ebf73276 merge with mainline 2010-06-12 20:36:46 +05:30
Colin Watson 9038c767e3 merge mainline 2010-06-12 15:01:46 +01:00
Colin Watson 7beac90c5f Avoid false positives in fs.lst, partmap.lst, and video.lst due to
prototype declarations.
* genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
generating fs, partmap, and video lists.
* include/grub/fs.h (grub_fs_register): Omit prototype if
GRUB_LST_GENERATOR is defined.
* include/grub/partition.h (grub_partition_map_register): Likewise.
* include/grub/video.h (grub_video_register): Likewise.
2010-06-12 14:33:09 +01:00
Javier Martín 1c8f0f8d11 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate. 2010-06-12 14:50:07 +02:00
Colin Watson 934302d00b merge mainline 2010-06-12 12:17:28 +01:00
BVK Chaitanya 95af254928 merge with mainline 2010-06-12 16:32:06 +05:30
Colin Watson 8253ee6bd7 merge mainline up to r2075 (videomask merge) 2010-06-12 11:30:11 +01:00
BVK Chaitanya b2d0e6c3fd merge with mainline 2010-06-12 13:55:31 +05:30
BVK Chaitanya b06f83e3ba a better fix 2010-06-12 11:06:02 +05:30
Colin Watson 283af07aff * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
(GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
2010-06-11 22:15:35 +01:00
Vladimir 'phcoder' Serbinenko 3a37e3226b Use FOR_* macros instead of *_iterate whenever possible.
* commands/handler.c: Removed.
	* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
	* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
	* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
	(grub_probe_SOURCES): Remove kern/parser.c.
	(util/grub-script-check.c_DEPENDENCIES): Removed.
	(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
	and grub_script_check_init.c.
	(grub_script_check_init.lst): Removed.
	(grub_script_check_init.h): Likewise.
	(grub_script_check_init.c): Likewise.
	(pkglib_MODULES): Remove handler.mod and sh.mod.
	(handler_mod_SOURCES): Removed.
	(handler_mod_CFLAGS): Likewise.
	(handler_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Remove normal/handler.c.
	Add script/main.c, script/script.c, script/execute.c,
	script/function.c, script/lexer.c, grub_script.tab.c
	and grub_script.yy.c.
	* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
	* include/grub/command.h (grub_command_iterate): Removed.
	(FOR_COMMANDS): New macro.
	* include/grub/dl.h (grub_dl): New member next.
	(grub_dl_iterate): Removed.
	(grub_dl_head): New variable declaration.
	(FOR_DL_MODULES): New macro.
	* include/grub/fs.h: Include list.h.
	(grub_fs): Make next first element.
	(grub_fs_list): New variable declaration.
	(grub_fs_register): Make inline.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Removed.
	(FOR_FILESYSTEMS): New macro.
	* include/grub/handler.h: Removed.
	* include/grub/list.h (grub_list_hook_t): Removed.
	(grub_list_test_t): Likewise.
	(grub_list_pop): Likewise.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(FOR_LIST_ELEMENTS): New macro.
	* include/grub/parser.h (grub_parser_class): Removed.
	(grub_parser_register): Likewise.
	(grub_parser_unregister): Likewise.
	(grub_parser_get_current): Likewise.
	(grub_parser_set_current): Likewise.
	(grub_register_rescue_parser): Likewise.
	(grub_rescue_parse_line): New function.
	* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
	* include/grub/script_sh.h (grub_script_function_list): New variable
	declaration.
	(FOR_SCRIPT_FUNCTIONS): New macro.
	(grub_script_function_iterate): Removed.
	(grub_normal_parse_line): New prototype.
	* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
	(FOR_DISABLED_TERM_INPUTS): Likewise.
	(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
	(FOR_DISABLED_TERM_OUTPUTS): Likewise.
	* include/grub/video.h (grub_video_adapter): Move 'next' to first
	element.
	(grub_video_register): Inline.
	(grub_video_unregister): Likewise.
	(grub_video_adapter_list): New variable declaration.
	(grub_video_iterate): Removed.
	(FOR_VIDEO_ADAPTERS): New macro.
	* kern/dl.c (grub_dl_list): Removed. All users updated.
	(grub_dl_iterate): Removed.
	* kern/fs.c (grub_fs_list): Make global.
	(grub_fs_register): Removed.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Likewise.
	* kern/handler.c: Removed.
	* kern/list.c (grub_list_pop): Removed.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(grub_named_list_find): Use FOR_LIST_ELEMENTS.
	(grub_prio_list_insert): Don't use grub_list_insert.
	* kern/main.c (grub_register_rescue_parser): Don't call
	grub_register_rescue_parser.
	* kern/parser.c (grub_parser_class): Removed.
	(grub_parser_execute): Use grub_rescue_parse_line.
	* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
	(grub_rescue_parser): Removed.
	(grub_register_rescue_parser): Likewise.
	* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
	* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
	(grub_auth_check_authentication): Likewise.
	* normal/completion.c (iterate_command): Removed.
	(grub_normal_do_completion): Use FOR_COMMANDS.
	* normal/handler.c: Removed.
	* normal/main.c (read_config_file): Remove parser changing.
	(grub_normal_execute): Don't call read_handler_list.
	(grub_normal_read_line_real): Statically allocate prompt.
	(grub_cmdline_run): Use grub_normal_parse_line.
	(GRUB_MOD_FINI): Don't call free_handler_list.
	* normal/menu_entry.c (run): Likewise.
	* script/function.c (grub_script_function_list): Make global.
	(grub_script_function_iterate): Removed.
	* script/main.c (grub_normal_parse_line): Make global.
	(grub_sh_parser): Removed.
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* tests/lib/functional_test.c (grub_functional_test): Use
	FOR_LIST_ELEMENTS.
	* tests/lib/test.c (free_failures): Don't use grub_list_pop.
	(grub_test_run): Use FOR_LIST_ELEMENTS.
	* tests/lib/unit_test.c (main): Likewise.
	* util/deviceiter.c (grub_util_iterate_devices): Don't use
	grub_list_pop.
	* util/grub-fstest.c (grub_term_input_class): Removed.
	(grub_term_output_class): Likewise.
	* util/grub-probe.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
	* util/grub-script-check.c (main): Don't call grub_init_all and
	grub_fini_all.
	* video/video.c (grub_video_adapter_list): Make global.
	(grub_video_register): Removed.
	(grub_video_unregister): Likewise.
	(grub_video_iterate): Likewise.
2010-06-11 22:31:16 +02:00
BVK Chaitanya d2039c36f2 merge with mainline 2010-06-10 21:47:25 +05:30
BVK Chaitanya 25156d7180 pull-in block-arg branch for loop fixes 2010-06-10 20:53:20 +05:30
BVK Chaitanya a992a71ed8 fix memory issues when used inside loops 2010-06-10 20:49:57 +05:30
BVK Chaitanya 9d0bd7407d remove menuentry from GRUB script 2010-06-10 18:15:38 +05:30
BVK Chaitanya db45b311cc pull-in block-arg branch 2010-06-10 17:57:16 +05:30
BVK Chaitanya 28be0e94db add example usage to hello command 2010-06-10 12:12:03 +05:30
BVK Chaitanya 3db1c9eee4 pull-in func-params branch 2010-06-09 11:34:01 +05:30
BVK Chaitanya 6c9aa3df16 block params are grub_script with independent memory 2010-06-09 11:29:11 +05:30
Colin Watson e0f4c43882 * kern/emu/misc.c (device_mapper_null_log): New function.
(grub_device_mapper_supported): New function.
* include/grub/emu/misc.h (grub_device_mapper_supported): Add
prototype.
* kern/emu/hostdisk.c (find_partition_start): Check whether
device-mapper is supported before trying to use it.
* util/deviceiter.c (grub_util_iterate_devices): Likewise.
2010-06-07 22:41:55 +01:00
Vladimir 'phcoder' Serbinenko f5db3949e7 Some hotplug support (buggy) 2010-06-02 21:54:51 +02:00
Vladimir 'phcoder' Serbinenko 440ab68551 Restructure usbms as a preparation for hotplug 2010-06-02 19:52:17 +02:00
Aleš Nesrsta 1515ec8684 2010-06-02 Aleš Nesrsta <starous@volny.cz>
Finally make USB usable.

	* bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
	(GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
	(GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
	(GRUB_OHCI_FSMPS): Likewise.
	(GRUB_OHCI_PERIODIC_START): Likewise.
	(GRUB_OHCI_FRAME_INTERVAL): Likewise.
	(GRUB_OHCI_SET_PORT_ENABLE): Likewise.
	(GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
	(GRUB_OHCI_SET_PORT_RESET): Likewise.
	(GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
	(grub_ohci_transaction): Likewise.
	(grub_ohci_transfer): Improve condition detection algorithms.
	Handle toggle property. Program the transactions correctly.
	Improve error handling. Various important fixups.
	(grub_ohci_portstatus): Put register writes in right order.
	* bus/usb/uhci.c (grub_free_queue): Compute last_trans.
	(grub_uhci_transfer): Don't show "failed" message on success.
	* bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
	array.
	(grub_usb_device_initialize): Read first 8 bytes of descriptor to
	determine its size.
	* bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
	before initialization is completed. Use IN direction for empty
	transfers. Use last_trans and compute toggle.
	* include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
	(GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
	(GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
	(GRUB_USB_FEATURE_TEST_MODE): Likewise.
	* include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
	(grub_usb_device): Increase toggle to 256.
	(grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
	GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
	GRUB_USBMS_SUBCLASS_SFF8070.
	* include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
	(grub_scsi_inquiry): New member page and alloc_length.
	(grub_scsi_request_sense): New structure.
	(grub_scsi_request_sense_data): Likewise.
	(grub_scsi_read_capacity): New fields logical_block_addr, PMI and
	control.
	* disk/scsi.c (grub_scsi_request_sense): New function.
	(grub_scsi_test_unit_ready): Likewise.
	(grub_scsi_inquiry): Fill new fields.
	(grub_scsi_read_capacity): Likewise.
	(grub_scsi_read10): Add request sense at the end.
	(grub_scsi_read12): Likewise.
	(grub_scsi_write10): Likewise.
	(grub_scsi_write12): Likewise.
	(grub_scsi_open): Add Test Unit Ready.
	* disk/usbms.c (grub_usbms_finddevs): Check configcnt.
	Support additional subclasses. Con't clear halt yet. Activate the
	proper config. Calculate LUNs correctly.
	(grub_usbms_transfer): Various important fixups.

2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
	* bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
	(grub_ohci_fini_hw): New function.
	(grub_ohci_restore_hw): Likewise.
	(GRUB_MOD_INIT(ohci)): Register preboot hook.
	(GRUB_MOD_FINI(ohci)): Shutdown OHCI.
	* term/usb_keyboard.c: Remove include of grub/machine/console.h.

2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Dedicated DMA allocations.

	* bus/pci.c (grub_memalign_dma32): New function
	(grub_dma_free): Likewise.
	(grub_dma_get_virt): Likewise.
	(grub_dma_get_phys): Likewise.
	* bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
	(grub_ohci_pci_iter): Use dma32_alloc.
	(grub_ohci_transfer): Likewise.
	* bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
	(grub_usb_bulk_readwrite): Likewise.
	* include/grub/pci.h: Add declarations.

2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>

	CS5536 support.

	* bus/cs5536.c: New file.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
	* conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
	(cs5536_mod_SOURCES): New variable.
	(cs5536_mod_CFLAGS): Likewise.
	(cs5536_mod_LDFLAGS): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
	machine/pci.h.
	(kernel_img_SOURCES): Add bus/cs5536.c.
	(pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
	usb_keyboard.mod.
	(usb_mod_SOURCES): New variable.
	(usb_mod_CFLAGS): New variable.
	(usb_mod_LDFLAGS): New variable.
	(usbtest_mod_SOURCES): New variable.
	(usbtest_mod_CFLAGS): New variable.
	(usbtest_mod_LDFLAGS): New variable.
	(ohci_mod_SOURCES): New variable.
	(ohci_mod_CFLAGS): New variable.
	(ohci_mod_LDFLAGS): New variable.
	(usbms_mod_SOURCES): New variable.
	(usbms_mod_CFLAGS): New variable.
	(usbms_mod_LDFLAGS): New variable.
	(usb_keyboard_mod_SOURCES): New variable.
	(usb_keyboard_mod_CFLAGS): New variable.
	(usb_keyboard_mod_LDFLAGS): New variable.
	* include/grub/smbus.h: New file.
	* include/grub/cs5536.h: New file.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-06-02 17:16:20 +02:00
Vladimir 'phcoder' Serbinenko 11dccbfd4d Sort scsi_cmd_t. 2010-06-02 16:45:43 +02:00
Aleš Nesrsta 7d4873c26a Merge Aleš' latest patch 2010-06-01 02:10:19 +02:00
Jiro SEKIBA dfbfe00473 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
* fs/nilfs.c: Support 2nd super block in case 1st one is accidently
	corrupted or not synced properly.
2010-05-31 20:49:42 +02:00
Vladimir 'phcoder' Serbinenko 89d90892d0 Merge usb into yeeloongfw 2010-05-31 14:21:34 +02:00
Aleš Nesrsta 778ff32476 Fix a bunch of problems with USB. 2010-05-31 14:11:41 +02:00
Vladimir 'phcoder' Serbinenko 8b1cf5e87f Dedicated DMA allocation functions. CS5536 OHCI support. 2010-05-31 13:58:18 +02:00
BVK Chaitanya fa4b84900a Fix grub-emu issues on NetBSD, with gcc 4.1.3.
* conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
	* include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
	* kern/misc.c (__enable_execute_stack): Disable on
	GRUB_MACHINE_EMU.
2010-05-28 19:18:45 +05:30
Vladimir 'phcoder' Serbinenko 27cd973df6 Macroify command and status registers 2010-05-23 02:41:16 +02:00
Vladimir 'phcoder' Serbinenko 980d936688 Skip ghost USB controllers 2010-05-23 00:12:33 +02:00
Vladimir 'phcoder' Serbinenko ae87524ea6 Fix getvirt function on yeeloong 2010-05-23 00:11:47 +02:00
Vladimir 'phcoder' Serbinenko 5667f2656d Add missing part of serial commit 2010-05-23 00:09:39 +02:00
Vladimir 'phcoder' Serbinenko 4b9fa9d70f Addmissing definitions 2010-05-23 00:08:52 +02:00
Vladimir 'phcoder' Serbinenko e34b610d49 merge mainline into yeeloongfw 2010-05-22 16:58:45 +02:00
Vladimir 'phcoder' Serbinenko 39fbb79aa1 * include/grub/i18n.h: Always enable grub_gettext. 2010-05-21 20:12:41 +02:00
BVK Chaitanya 5ef88f6e95 merge with mainline 2010-05-20 13:56:14 +05:30
BVK Chaitanya 868bebea0c merge with mainline 2010-05-19 14:39:58 +05:30
BVK Chaitanya 3ad4f2418d pull-in func-params branch 2010-05-19 11:01:04 +05:30
BVK Chaitanya 0003008a58 memory leak fix in grub_script_execute_cmdline 2010-05-19 10:25:41 +05:30
BVK Chaitanya a0b20aad47 some shell expansion features into grub-script 2010-05-18 21:03:35 +05:30
Vladimir 'phcoder' Serbinenko 5779bae94c merge mainline into newreloc 2010-05-18 14:30:07 +02:00
Vladimir 'phcoder' Serbinenko 95b97950e2 * include/grub/i18n.h (gettext): Inline instead of using #define.
(grub_gettext): Likewise.
	(_): Likewise.
2010-05-18 14:00:51 +02:00
Vladimir 'phcoder' Serbinenko 13f58ea31f merge mainline into newreloc 2010-05-18 13:19:42 +02:00
Vladimir 'phcoder' Serbinenko 918405fd8c merge mainline into rescue-efi 2010-05-17 21:26:16 +02:00
BVK Chaitanya d2d32327a8 merge with mainline 2010-05-17 20:36:05 +05:30
Vladimir 'phcoder' Serbinenko 967828eb5a macroify and share VGA registers 2010-05-17 02:25:37 +02:00
Vladimir 'phcoder' Serbinenko 368e544ba6 Add bochs video support 2010-05-17 01:18:50 +02:00
Vladimir 'phcoder' Serbinenko 02aabd9e46 Encapsulate video_fb state in a structure 2010-05-16 15:01:54 +02:00
Vladimir 'phcoder' Serbinenko 26162102fa Move most framebuffer handling to video_fb.c 2010-05-16 14:40:03 +02:00
Vladimir 'phcoder' Serbinenko 94bf3dd564 somewhat working video_cirrus implementation 2010-05-16 01:32:07 +02:00
Vladimir 'phcoder' Serbinenko 65ce0931d0 Fix inconsistent grub_efiemu_finish_boot_services return type 2010-05-13 14:42:22 +02:00
Vladimir 'phcoder' Serbinenko cced9145fc Fix gfxmenu crash.
Reported by: Thorsten Grützmacher.

	* gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
	timeout hook.
	(circprog_set_property): Register and unregister timeout hook.
	* gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
	(label_destroy): Free template. and unregister hook.
	(label_set_state): New function.
	(label_set_property): Handle templates and hooks.
	* gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
	timeout hook.
	(progress_bar_set_property): Register and unregister timeout hook.
	* gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
	* include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
	* gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
	(update_timeout_visit): Removed.
	(update_timeouts): New function.
	(redraw_timeouts): Likewise.
	(grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
	(grub_gfxmenu_clear_timeout): Likewise.
	* include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
	(grub_gfxmenu_timeout_notify): Likewise.
	(grub_gfxmenu_timeout_notifications): New external variable.
	(grub_gfxmenu_timeout_register): New function.
	(grub_gfxmenu_timeout_unregister): Likewise.
2010-05-13 03:56:14 +02:00
BVK Chaitanya 2e961bd737 pull-in func-params again 2010-05-12 17:59:09 +05:30
BVK Chaitanya 45ab4f486f pull-in func-params branch 2010-05-12 17:35:07 +05:30
BVK Chaitanya 263b0fa757 merge with mainline 2010-05-12 10:41:24 +05:30
BVK Chaitanya 49b9bacdee merge with mainline 2010-05-12 10:40:35 +05:30
BVK Chaitanya a0167e8bdf rewrote arglist to argv conversion and added $@, $* support 2010-05-12 10:19:12 +05:30
BVK Chaitanya 01b0317f7b simplified nesting dynamic scopes 2010-05-11 10:52:10 +05:30
Vladimir 'phcoder' Serbinenko 176194068f cleaner AltGr handling 2010-05-10 21:23:40 +02:00
Vladimir 'phcoder' Serbinenko 1ff38af9b9 Simplify AT keyboards and support 102nd key 2010-05-10 20:57:01 +02:00
Vladimir 'phcoder' Serbinenko 08bfb543c4 Add key_102 2010-05-10 15:04:46 +02:00
Vladimir 'phcoder' Serbinenko 87fae34a1f Skeleton for keyboard layouts 2010-05-10 14:54:51 +02:00
Vladimir 'phcoder' Serbinenko 232dbbe509 Rename 'VGA' character set to CP-437 2010-05-09 13:26:52 +02:00
Vladimir 'phcoder' Serbinenko d7fd78dc3d macroify EFI characters mapping 2010-05-09 13:20:35 +02:00
Vladimir 'phcoder' Serbinenko b764bff263 Move arrow number into unicode characters array 2010-05-09 12:56:32 +02:00
Vladimir 'phcoder' Serbinenko 7dcef22cd3 merge mainline into bidi 2010-05-09 11:03:03 +02:00
Vladimir 'phcoder' Serbinenko c6e5caab1d Transform (broken) vga terminal into (working) vga video driver.
* conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
	video/i386/pc/vga.c.
	* include/grub/video.h (grub_video_driver_id):
	Add GRUB_VIDEO_DRIVER_VGA.
	* term/i386/pc/vga.c: Renamed to ...
	* video/i386/pc/vga.c: ...this
	(DEBUG_VGA): Removed.
	(CHAR_WIDTH): Likewise.
	(CHAR_HEIGHT): Likewise.
	(TEXT_WIDTH): Likewise.
	(TEXT_HEIGHT): Likewise.
	(DEFAULT_FG_COLOR): Likewise.
	(DEFAULT_BG_COLOR): Likewise.
	(colored_char): Likewise.
	(xpos): Likewise.
	(ypos): Likewise.
	(cursor_state): Likewise.
	(fg_color): Likewise.
	(bg_color): Likewise.
	(text_buf): Likewise.
	(page): Likewise.
	(font): Likewise.
	(framebuffer): New variable.
	(set_read_map): Disabled.
	(setup): New variable.
	(is_target): Likewise.
	(grub_vga_mod_init): Likewise.
	(grub_vga_mod_fini): Likewise.
	(check_vga_mem): Likewise.
	(write_char): Likewise.
	(write_cursor): Likewise.
	(scroll_up): Likewise.
	(grub_vga_putchar): Likewise.
	(grub_vga_getcharwidth): Likewise.
	(grub_vga_getwh): Likewise.
	(grub_vga_getxy): Likewise.
	(grub_vga_gotoxy): Likewise.
	(grub_vga_cls): Likewise.
	(grub_vga_setcolorstate): Likewise.
	(grub_vga_setcursor): Likewise.
	(grub_video_vga_init): New function.
	(grub_video_vga_setup): Likewise.
	(grub_video_vga_fini): Likewise.
	(update_target): Likewise.
	(grub_video_vga_blit_bitmap): Likewise.
	(grub_video_vga_blit_render_target): Likewise.
	(grub_video_vga_set_active_render_target): Likewise.
	(grub_video_vga_get_active_render_target): Likewise.
	(grub_video_vga_swap_buffers): Likewise.
	(grub_video_vga_set_palette): Likewise.
	(grub_video_vga_get_info_and_fini): Likewise.
	(grub_vga_term): Removed.
	(grub_video_vga_adapter): New variable.
	(GRUB_MOD_INIT): Register a video driver instead of terminal.
	(GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2010-05-09 11:00:21 +02:00
Vladimir 'phcoder' Serbinenko 3c151d94af simplify setcolor/getcolor 2010-05-08 01:06:22 +02:00
Vladimir 'phcoder' Serbinenko d8e9099811 Move serial encoding handling to terminfo.c 2010-05-08 00:17:23 +02:00
Vladimir 'phcoder' Serbinenko bf8733749b merge common serial and ofconsole code into terminfo 2010-05-07 15:44:43 +02:00
BVK Chaitanya 4a2ec49233 merge with mainline 2010-05-07 11:24:17 +05:30
BVK Chaitanya e9efa0fe36 shift command support 2010-05-07 10:08:09 +05:30
BVK Chaitanya 7897070571 pulled-in func-params branch 2010-05-07 08:38:08 +05:30
Vladimir 'phcoder' Serbinenko 58664b94b7 pass pointer to term to term functions 2010-05-07 02:30:44 +02:00
Vladimir 'phcoder' Serbinenko 82e32bc310 make serial use ANSI code recognition in terminfo.mod 2010-05-06 21:32:58 +02:00
Vladimir 'phcoder' Serbinenko e903ddec1c move ANSI code recognition to terminfo.mod 2010-05-06 21:11:59 +02:00
BVK Chaitanya f1c891902d merge with mainline 2010-05-06 21:22:08 +05:30
Vladimir 'phcoder' Serbinenko 42d2c16b39 merge mainline in bidi 2010-05-06 15:18:46 +02:00
BVK Chaitanya 8c41176882 automake commit without merge history 2010-05-06 11:34:04 +05:30
BVK Chaitanya 8f6a910b23 fixed n > active_loops case 2010-05-06 09:55:06 +05:30
BVK Chaitanya da6e6f17f3 cygwin emu build fixes 2010-05-06 08:45:39 +05:30
Vladimir 'phcoder' Serbinenko e96ee4339f merge mainline into newreloc 2010-05-05 21:41:43 +02:00
Vladimir 'phcoder' Serbinenko 7e720a9bc1 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
	* kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
	* kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
	1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2010-05-05 18:52:13 +02:00
Vladimir 'phcoder' Serbinenko 99bfe57386 merge mainline into bidi 2010-05-05 16:28:52 +02:00
BVK Chaitanya a7aa28248b break command support 2010-05-05 15:34:26 +05:30
BVK Chaitanya 342bf06e58 function parameters support 2010-05-05 14:47:50 +05:30
Vladimir 'phcoder' Serbinenko 839ced08f5 separate function to allocate DMA memory 2010-05-05 10:40:48 +02:00
BVK Chaitanya a8a145eb2f simplify cmdblock with cmdlist 2010-05-05 14:05:06 +05:30
Vladimir 'phcoder' Serbinenko 469ed9410b Fix i386-pc compilation 2010-05-05 09:58:02 +02:00
Vladimir 'phcoder' Serbinenko 6a82c1b2db merge mainline into newreloc 2010-05-04 17:35:44 +02:00
Vladimir 'phcoder' Serbinenko 8496927478 move grub_halt out of kernel on most platforms 2010-05-04 17:15:36 +02:00
Vladimir 'phcoder' Serbinenko 4dff488793 merge mainline into intwrap 2010-05-04 15:57:37 +02:00
Vladimir 'phcoder' Serbinenko 41cf1ca332 implement ACPI shutdown 2010-05-04 15:53:21 +02:00
BVK Chaitanya 81827e248c merge with mainline 2010-05-04 09:09:03 +05:30
Vladimir 'phcoder' Serbinenko 04d050152f Move geode init to bus/cs5536.c 2010-05-04 00:05:23 +02:00
Vladimir 'phcoder' Serbinenko 05f602fc51 enable xnu on all platforms 2010-05-02 22:06:44 +02:00
Vladimir 'phcoder' Serbinenko 6f030865da Add missing memory.h 2010-05-02 19:39:35 +02:00
Vladimir 'phcoder' Serbinenko c5ac9b32ac Hotkey support
* include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
	* normal/main.c (hotkey_aliases): New variable.
	(grub_normal_add_menu_entry): Parse "--hotkey".
	* normal/menu_text.c (run_menu): Handle hotkeys.
2010-05-01 19:33:17 +02:00
Vladimir 'phcoder' Serbinenko ef4ffedd46 remove loader.h leftovers 2010-05-01 15:15:38 +02:00
Vladimir 'phcoder' Serbinenko c6fb51295b merge mainline into newreloc 2010-05-01 15:10:44 +02:00
Vladimir 'phcoder' Serbinenko 7819a4562f Use LBIO on coreboot.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
	kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
	* include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
	New declaration.
	* kern/i386/coreboot/init.c (grub_machine_init): Don't call
	grub_machine_mmap_init on coreboot.
	* kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
	GRUB_LINUXBIOS_MEMBER_LINK.
	(grub_machine_mmap_iterate): Fix declaration.
	* kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2010-05-01 14:32:48 +02:00
Vladimir 'phcoder' Serbinenko 7210dca942 Split coreboot and multiboot ports.
* conf/i386-multiboot.rmk: New file.
	* configure.ac: Add multiboot port.
	* include/grub/i386/multiboot/boot.h: New file.
	* include/grub/i386/multiboot/console.h: Likewise.
	* include/grub/i386/multiboot/init.h: Likewise.
	* include/grub/i386/multiboot/kernel.h: Likewise.
	* include/grub/i386/multiboot/loader.h: Likewise.
	* include/grub/i386/multiboot/memory.h: Likewise.
	* include/grub/i386/multiboot/serial.h: Likewise.
	* include/grub/i386/multiboot/time.h: Likewise.
	* include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
	* loader/multiboot.c: Likewise.
	* loader/multiboot_mbi2.c: Likewise.
	* util/grub-mkrescue.in: Generate multiboot rescue.
2010-05-01 14:06:53 +02:00
Vladimir 'phcoder' Serbinenko 421e8a5591 Fix ppc compilation problems 2010-05-01 13:23:19 +02:00
BVK Chaitanya 19dd394f56 block argument support 2010-04-30 12:09:31 +05:30
Manoel R. Abranches 8d402bc9a8 small change in the interface structure. 2010-04-29 17:56:09 -03:00
BVK Chaitanya 0993355a68 nested recording support 2010-04-29 18:10:22 +05:30
Vladimir 'phcoder' Serbinenko ae3c4cd010 Remove loader.h 2010-04-29 13:26:38 +02:00
Manoel R. Abranches 066528b4b1 Initial Implementation of TFTP protocol and new protocol structs. 2010-04-27 18:05:35 -03:00
BVK Chaitanya f07ccea799 removed some duplicate code 2010-04-27 20:55:12 +05:30
Vladimir 'phcoder' Serbinenko 6c3d9c2845 merge boottest into newreloc 2010-04-27 13:34:07 +02:00
BVK Chaitanya 4c7085f82b added support for --enable-grub-emu-modules build 2010-04-27 13:57:14 +05:30
BVK Chaitanya 840b61d8f0 reorganized grub-emu sources to suite upcoming automake build system 2010-04-27 10:50:28 +05:30
Vladimir 'phcoder' Serbinenko 8ea6ecb36d Some cleanups 2010-04-26 21:11:16 +02:00
Vladimir 'phcoder' Serbinenko debaf23f7c all images binary identical to the ones from trunk 2010-04-26 19:11:38 +02:00
Vladimir 'phcoder' Serbinenko bb3208158a Fill info for remaining platforms. Make efi image identical to image of previous grub-mkimage 2010-04-26 17:19:15 +02:00
Vladimir 'phcoder' Serbinenko 962b15b4c1 Fill info tables for qemu, sparc and mips 2010-04-26 14:42:40 +02:00
Vladimir 'phcoder' Serbinenko 0253aeb7a1 Unified grub-mkimage achieved 2010-04-26 13:11:43 +02:00
Vladimir 'phcoder' Serbinenko 94ac790645 Fix various issues created by previous commits 2010-04-26 10:56:12 +02:00
Christian Franke 460d8402e0 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
* util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
	(grub_get_prefix): Remove function.
	* util/grub-emu.c (main): Replace grub_get_prefix () call by
	make_system_path_relative_to_its_root ().
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2010-04-26 03:35:55 +02:00
Vladimir 'phcoder' Serbinenko 614be3f119 #if-less grub-mkimage 2010-04-26 00:45:21 +02:00
Vladimir 'phcoder' Serbinenko 2296410ffb initial support for ppc in grub-mkimage (bugs for now) 2010-04-25 22:26:29 +02:00
Vladimir 'phcoder' Serbinenko d31bc9964c migrate kernel.img to elf 2010-04-25 01:54:46 +02:00
Vladimir 'phcoder' Serbinenko a51df0a1b4 Adjust mips relocator 2010-04-22 02:44:45 +02:00
Vladimir 'phcoder' Serbinenko 4b2ec20b41 Second part of p2v support 2010-04-21 19:13:45 +02:00
Vladimir 'phcoder' Serbinenko 368c17f85d First part of virtual addr support in relocator 2010-04-21 15:25:49 +02:00
Vladimir 'phcoder' Serbinenko 5490ddc18b Fix compilation on i386-pc 2010-04-21 10:01:41 +02:00
Vladimir 'phcoder' Serbinenko 6d6f55c557 Use leftovers 2010-04-21 09:27:57 +02:00
Vladimir 'phcoder' Serbinenko 91b58e6b74 EFI requests support for newreloc 2010-04-20 18:08:26 +02:00
BVK Chaitanya bc4a2d832b Fix emu build with grub-emu-pci and grub-emu-modules.
* include/grub/util/misc.h: Export grub_util_{info,error,warn}
	functions.
	* include/grub/libpciaccess.h: New file.
	* conf/any-emu.rmk: Update kernel headers for emu build.
2010-04-19 16:04:56 +05:30
BVK Chaitanya 454c3001f2 fix emu build with grub-emu-pci and grub-emu-modules 2010-04-19 15:15:59 +05:30
Vladimir 'phcoder' Serbinenko b076cdc730 Shave off bytes to compensate boot.img size increase 2010-04-18 18:22:58 +02:00
Vladimir 'phcoder' Serbinenko ee9056d097 Support cross-disk installs. On non-cross-disk retrieve bootpath from chosen/bootpath 2010-04-18 16:35:08 +02:00
Vladimir 'phcoder' Serbinenko 6e86896ed8 Use ofpathname in grub-setup on sparc 2010-04-18 14:02:13 +02:00
Vladimir 'phcoder' Serbinenko 9130433353 Enable USB compilation on Yeeloong 2010-04-16 19:46:22 +02:00
Vladimir 'phcoder' Serbinenko 1c9d6bb81b Initialise USB option controller 2010-04-16 19:43:52 +02:00
Vladimir 'phcoder' Serbinenko dae84898b2 Pass %dl to ntldr. Clear other registers. 2010-04-15 02:11:26 +02:00
Vladimir 'phcoder' Serbinenko 298ffd54b0 merge mainline into newreloc 2010-04-11 22:44:31 +02:00
Vladimir 'phcoder' Serbinenko 4b0cd8f813 Fix cygwin compilation.
* configure.ac: Define NEED_REGISTER_FRAME_INFO.
	* include/grub/misc.h (__register_frame_info)
	[NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
	(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
	* kern/misc.c (__register_frame_info)
	[NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
	(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2010-04-11 21:24:21 +02:00
Vladimir 'phcoder' Serbinenko 5d04b11e0e Unify libgcc processing.
* Makefile.in (kernel_img_LDFLAGS): New variable.
	* conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
	* conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
	overwriting.
	* conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
	overwriting. Remove -lgcc and -static-libgcc
	* conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
	* conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
	(kernel_img_LDFLAGS): Append instead of overwriting.
	Remove -lgcc and -static-libgcc
	* conf/sparc64-ieee1275.rmk: Likewise.
	* include/grub/powerpc/libgcc.h: Move to ...
	* include/grub/libgcc.h: .. this.
	* include/grub/libgcc.h: Don't export most of the function on x86.
	(__bswapsi2): New export.
	(__bswapdi2): Likewise.
	* include/grub/mips/libgcc.h: Removed.
	* include/grub/sparc64/libgcc.h: Likewise.
2010-04-11 01:14:31 +02:00
Vladimir 'phcoder' Serbinenko 8c5ed46e48 Inline grub_stop_floppy 2010-04-10 19:59:22 +02:00
Vladimir 'phcoder' Serbinenko d2e5601745 Merge mainline into intwrap 2010-04-10 19:29:40 +02:00
Vladimir 'phcoder' Serbinenko f632937ab5 intwrap grub_get_mmap_entry 2010-04-10 19:12:04 +02:00
Vladimir 'phcoder' Serbinenko 0d06476b05 intwrap get_eisa_map. Fix intwrapping of get_ext_memsize. 2010-04-10 14:45:27 +02:00
Vladimir 'phcoder' Serbinenko c663074e6d intwrap get_memsize 2010-04-10 14:35:26 +02:00
Vladimir 'phcoder' Serbinenko 6734334a53 * include/grub/util/misc.h (canonicalise_file_name): Add missing
prototype.
	Reported by: Seth Goldberg.
2010-04-10 12:46:12 +02:00
Vladimir 'phcoder' Serbinenko f2fd9d2b2b * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
EXPORT_FUNC.
	Reported by: Seth Goldberg.
2010-04-10 02:45:26 +02:00
Vladimir 'phcoder' Serbinenko b3d0fa12af Fix usb support 2010-04-10 01:56:51 +02:00
Vladimir 'phcoder' Serbinenko a29e902132 Merge mainline into emu-modload 2010-04-10 01:25:46 +02:00
Vladimir 'phcoder' Serbinenko 787928e31e Remove newline_hook declaration 2010-04-09 23:15:33 +02:00
Vladimir 'phcoder' Serbinenko 4a55d631d7 Merge mainline into for_macros 2010-04-09 22:35:32 +02:00
Vladimir 'phcoder' Serbinenko 027de555e2 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
All users updated.
	* normal/crypto.c (read_crypto_list): Likewise.
	* normal/dyncmd.c (read_command_list): Likewise.
	* normal/term.c (read_terminal_list): Likewise.
	* normal/main.c (read_lists): Use explicit prefix.
	(read_lists_hook): Use read_lists.
	(grub_normal_execute): Likewise.
2010-04-09 21:07:24 +02:00
Vladimir 'phcoder' Serbinenko a87add6d17 merge mainline into bidi 2010-04-09 19:40:31 +02:00
Vladimir 'phcoder' Serbinenko 9e71201f48 merge mainline into bidi 2010-04-09 19:31:43 +02:00
BVK Chaitanya c41c00eab6 merged with mainline 2010-04-09 21:44:59 +05:30
Vladimir 'phcoder' Serbinenko 3bf09c9ea8 rename format from raw to yeeloong_flash 2010-04-06 22:23:02 +02:00
Vladimir 'phcoder' Serbinenko 781d7798bb Fix interrupt and windows problems 2010-04-06 22:12:04 +02:00
Vladimir 'phcoder' Serbinenko f9e7780cff Fix an early timer-related hang 2010-04-06 02:40:44 +02:00
Vladimir 'phcoder' Serbinenko 04a3792f87 Macroify fwstart.S more 2010-04-05 22:39:58 +02:00
Vladimir 'phcoder' Serbinenko a6132b9f3f Merge mainline into yeeloongfw 2010-04-05 17:35:03 +02:00
Vladimir 'phcoder' Serbinenko 064cb524ec * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
* conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2010-04-05 15:57:40 +02:00
Vladimir 'phcoder' Serbinenko 77356db852 Intwrapped biosdisk 2010-04-04 18:43:26 +02:00
Vladimir 'phcoder' Serbinenko 42c4f00016 intwrapped halt 2010-04-04 18:42:48 +02:00
Vladimir 'phcoder' Serbinenko 1b8cb8573b intwrap grub_pxe_scan 2010-04-04 15:49:06 +02:00
Vladimir 'phcoder' Serbinenko 65936631e4 intwrap vbe and vga calls 2010-04-04 14:24:50 +02:00
Vladimir 'phcoder' Serbinenko 56912f57b6 Merge mainline into intwrap 2010-04-04 14:14:50 +02:00
Vladimir 'phcoder' Serbinenko a8c3b552a7 Remove unused grub_vga_get_font.
* kern/i386/pc/startup.S (grub_vga_get_font): Removed.
	* include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2010-04-04 14:12:11 +02:00
Grégoire Sutre 187bbe3d9c * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
* include/grub/misc.h: Likewise.
2010-04-03 21:00:21 +02:00
Vladimir 'phcoder' Serbinenko f0847685dd Merge mainline into newreloc 2010-04-03 17:47:59 +02:00
Vladimir 'phcoder' Serbinenko 8c46a785e3 mips multiboot2 support 2010-04-03 14:14:48 +02:00
Vladimir 'phcoder' Serbinenko a60f822cb2 Add missing id field to grub_video_sm712_adapter 2010-04-03 14:12:43 +02:00
Vladimir 'phcoder' Serbinenko 3a5768645c First version of allocation from firmware 2010-04-03 11:53:29 +02:00
Vladimir 'phcoder' Serbinenko 8b0800f66f merge mainline into newreloc 2010-04-01 22:17:26 +02:00
Vladimir 'phcoder' Serbinenko f651947b58 Merge mainline into bidi 2010-03-30 11:24:28 +02:00
Vladimir 'phcoder' Serbinenko 483c5e7d47 Transform remarkable unicode codepoints into enum 2010-03-29 13:36:08 +02:00
Vladimir 'phcoder' Serbinenko 0546172e3e Basic thaana support 2010-03-29 13:31:03 +02:00
Vladimir 'phcoder' Serbinenko e2588ccbfe Alif and alaph superscripts 2010-03-29 13:01:08 +02:00
Vladimir 'phcoder' Serbinenko ad109fe056 Arabic diacritics support 2010-03-29 04:11:14 +02:00
Vladimir 'phcoder' Serbinenko a82890fffc Shape arabic code when on UTF-8 visual 2010-03-29 03:37:24 +02:00
Vladimir 'phcoder' Serbinenko 3f11c7131e Generate shaping table based on unicode if source font has none 2010-03-29 02:06:40 +02:00
Vladimir 'phcoder' Serbinenko 016883a55c * include/multiboot2.h: Resync with spec. 2010-03-28 14:19:41 +02:00
Vladimir 'phcoder' Serbinenko f5d5c327e3 Remove VBE multiboot support 2010-03-28 13:46:42 +02:00
Vladimir 'phcoder' Serbinenko df32be8cc1 Merge mainline into mbtag 2010-03-27 22:14:41 +01:00
Vladimir 'phcoder' Serbinenko 46960ff9ec Resynced with multiboot2 spec 2010-03-27 21:50:57 +01:00
Grégoire Sutre 394a3120a7 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
which is the case with --disabled-nls.

	* include/grub/i18n.h: Use (defined(ENABLE_NLS)
	&& ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
	* util/misc.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
2010-03-27 12:19:32 +01:00
Vladimir 'phcoder' Serbinenko 9cc7b8751e Remove grub_script_function_iterate 2010-03-27 00:58:35 +01:00
Vladimir 'phcoder' Serbinenko fcaae9ec12 Remove grub_dl_iterate 2010-03-27 00:52:40 +01:00
Vladimir 'phcoder' Serbinenko 9eade9dbd7 Remove grub_video_iterate 2010-03-27 00:36:28 +01:00
Vladimir 'phcoder' Serbinenko c96db58ec5 Remove grub_fs_iterate 2010-03-27 00:27:42 +01:00
Vladimir 'phcoder' Serbinenko d56a6ac7f6 Remove handlers 2010-03-27 00:19:42 +01:00
Vladimir 'phcoder' Serbinenko 0959e5ec30 Remove grub_list_pop 2010-03-26 20:20:52 +01:00
Vladimir 'phcoder' Serbinenko 8cfa78770d cleanup list.h a bit 2010-03-26 20:05:25 +01:00
Vladimir 'phcoder' Serbinenko 82f542016e Eradicate grub_list_insert 2010-03-26 20:00:06 +01:00
Vladimir 'phcoder' Serbinenko fda282327f Complete eradication of grub_list_iterate 2010-03-26 19:44:18 +01:00
Vladimir 'phcoder' Serbinenko 3f8ae91c09 Use FOR_LIST_ELEMENTS convenience macros 2010-03-26 19:32:21 +01:00
Vladimir 'phcoder' Serbinenko 42ca71ca47 FOR_LIST_ELEMENTS convenience macros 2010-03-26 19:25:53 +01:00
Vladimir 'phcoder' Serbinenko d85da27cc0 Remove grub_commands_iterate 2010-03-26 19:14:24 +01:00
Vladimir 'phcoder' Serbinenko 0790690196 merge mainline into grub-file 2010-03-26 17:06:36 +01:00
BVK Chaitanya baae00df35 merged with mainline 2010-03-26 21:13:06 +05:30
BVK Chaitanya c299f3d6fb merged with mainline 2010-03-26 20:55:07 +05:30
Vladimir 'phcoder' Serbinenko c9ea504d25 merge mainline into nestpart 2010-03-26 15:44:13 +01:00
Vladimir 'phcoder' Serbinenko e6d428c1b8 Arabic shaping support 2010-03-24 22:33:00 +01:00
Vladimir 'phcoder' Serbinenko 03e4ef0293 Import data for arabic joining computation 2010-03-24 00:35:38 +01:00
Vladimir 'phcoder' Serbinenko 832d13705c Most hebrew diacritics support (except dagesh and final kaf rules) 2010-03-23 21:50:27 +01:00
Vladimir 'phcoder' Serbinenko 7624beba47 Above left support. Various fixups 2010-03-23 19:13:46 +01:00
Vladimir 'phcoder' Serbinenko 45511ee976 below right support 2010-03-23 18:39:02 +01:00
Vladimir 'phcoder' Serbinenko 1f22d20c8c Fix yeeloong compilation 2010-03-23 18:17:54 +01:00
Vladimir 'phcoder' Serbinenko 5c56cac95f Fix few pager bugs 2010-03-23 18:06:49 +01:00
Vladimir 'phcoder' Serbinenko 3c69fb81e1 Restore and enhance pager functionality 2010-03-23 17:54:31 +01:00
Vladimir 'phcoder' Serbinenko 6fcebedeed Replace line counter with char counter 2010-03-23 16:51:53 +01:00
BVK Chaitanya dd6fee39fa merged mainline 2010-03-21 11:03:41 +05:30
Vladimir 'phcoder' Serbinenko 09f9aa3b2e Move terminal-related function from normal/charset.c to normal/term.c 2010-03-17 08:57:23 +01:00
Vladimir 'phcoder' Serbinenko 34fac099a5 Make grub_console_real_putchar grub_console_putchar 2010-03-17 08:37:48 +01:00
Vladimir 'phcoder' Serbinenko eaa1f9a64b Fix few memory errors 2010-03-16 23:03:08 +01:00
Vladimir 'phcoder' Serbinenko 6f5568ed67 Add mirroring for visual UTF-8 2010-03-16 21:57:34 +01:00
Vladimir 'phcoder' Serbinenko 6c363dfd54 Fix doublewidth character handling 2010-03-16 21:29:15 +01:00
Vladimir 'phcoder' Serbinenko 50186d826d Fix combining characters messing with width counter 2010-03-16 19:55:09 +01:00
Vladimir 'phcoder' Serbinenko bf17ef45d6 Rename UCS4 to glyph description 2010-03-16 19:23:21 +01:00
Vladimir 'phcoder' Serbinenko f588f1c8b6 Add simple line wrapping 2010-03-16 14:13:32 +01:00
BVK Chaitanya 8a99e92a69 merge in mainline 2010-03-16 17:42:27 +05:30
Vladimir 'phcoder' Serbinenko 97b3fbb872 Handle initial position in bidi 2010-03-16 10:55:06 +01:00
Vladimir 'phcoder' Serbinenko 05c15154a2 Visual(sic) UTF-8 support 2010-03-16 10:39:18 +01:00
Vladimir 'phcoder' Serbinenko f10331edf2 Preliminary support for UTF-8 console 2010-03-16 00:48:34 +01:00
Vladimir 'phcoder' Serbinenko 53c648d2eb Break few dependencies on normal 2010-03-15 22:12:34 +01:00
Vladimir 'phcoder' Serbinenko 0a239a8211 bidi works in terminal in grub-emu 2010-03-15 21:14:11 +01:00
Vladimir 'phcoder' Serbinenko dfed5c6bb4 Removed grub_putchar 2010-03-15 11:49:27 +01:00
Vladimir 'phcoder' Serbinenko 53f312c1cf Merge mainline into bidi 2010-03-15 10:28:09 +01:00
BVK Chaitanya 8622549153 merged in mainline 2010-03-14 22:20:55 +05:30
Vladimir 'phcoder' Serbinenko 016a671b51 Merge mainline into cleanbuild 2010-03-14 16:01:31 +01:00
Vladimir 'phcoder' Serbinenko 9a1e70432b Merge mainline into ofwfb 2010-03-14 15:43:22 +01:00
Vladimir 'phcoder' Serbinenko 5dbb0fc055 Another round of macrofication 2010-03-12 14:08:26 +01:00
Vladimir 'phcoder' Serbinenko f9ef05770a Shutdown and reboot on yeeloong 2010-03-12 14:07:33 +01:00
Vladimir 'phcoder' Serbinenko d0c7485824 Macroify serial and PCI constants 2010-03-11 15:21:06 +01:00
Vladimir 'phcoder' Serbinenko edf717f5cb Macroify CP0 registers 2010-03-11 13:59:56 +01:00
Vladimir 'phcoder' Serbinenko 21eecb8e83 Set ROM delay to 1 2010-03-11 03:21:10 +01:00
Vladimir 'phcoder' Serbinenko bf8b8ab725 Enable caches on yeeloong 2010-03-11 02:47:08 +01:00
Vladimir 'phcoder' Serbinenko c3a8dfc8b7 Tagged header support 2010-03-10 11:40:20 +01:00
Vladimir 'phcoder' Serbinenko b1f6f35ae9 Preparation for mbh tag 2010-03-08 15:40:57 +01:00
Vladimir 'phcoder' Serbinenko c28e2d120b merge mainline into yeeloongfw 2010-03-07 23:21:09 +01:00
Vladimir 'phcoder' Serbinenko 8eb567e662 Update with newest mbtag spec 2010-03-07 14:59:15 +01:00
Vladimir 'phcoder' Serbinenko 3f5a90c616 merge mainline into mbtag 2010-03-07 13:01:43 +01:00
Vladimir 'phcoder' Serbinenko 1bf0e31cfb Network infrastructure 2010-03-03 20:09:48 +01:00
Vladimir 'phcoder' Serbinenko 4931b0984b Network infrastructure 2010-03-03 20:09:48 +01:00
Vladimir 'phcoder' Serbinenko 14532662ee merge mainline into sparc-mkimage 2010-03-03 11:24:36 +01:00
Vladimir 'phcoder' Serbinenko c6f2fe52f1 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
Wait for user entry basing on presence of output rather than on errors.

	* include/grub/normal.h (grub_normal_get_line_counter): New proto.
	(grub_install_newline_hook): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
	* normal/menu.c (show_menu): Check line_counter to determine presence
	of output.
	* normal/term.c (grub_normal_line_counter): New variable.
	(grub_normal_get_line_counter): New function.
	(grub_install_newline_hook): Likewise.
2010-03-01 20:58:45 +01:00
Vladimir 'phcoder' Serbinenko 813a5f2d33 Init DDR2 controller 2010-03-01 18:53:34 +01:00
Vladimir 'phcoder' Serbinenko c140a18037 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
Don't compile video modules on yeeloong since video subsystem is part
	of kernel.

	* conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
	video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
	* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
	video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
	* conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
	* include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
	* include/grub/bitmap_scale.h: Likewise.
	* include/grub/bufio.h: Likewise.
	* include/grub/font.h: Likewise.
	* include/grub/gfxterm.h: Likewise.
	* include/grub/video.h: Likewise.
	* include/grub/vbe.h: Don't include video_fb.h.
	* video/i386/pc/vbe.c: Include video_fb.h.
	* commands/i386/pc/vbetest.c: Include video.h.
2010-02-25 15:10:18 +01:00
Vladimir 'phcoder' Serbinenko 7517048135 Working SPD reading in fwstart.img 2010-02-17 21:10:58 +01:00
Vladimir 'phcoder' Serbinenko a1efcc79d3 Firmware startup block (for now just output a string on console) 2010-02-16 22:41:29 +01:00
Vladimir 'phcoder' Serbinenko 1eb746f274 Initialise remaining UART registers on Yeeloong 2010-02-16 22:40:53 +01:00
Vladimir 'phcoder' Serbinenko 232f7e29c9 SMBus on CS5536 support 2010-02-16 22:39:59 +01:00
Vladimir 'phcoder' Serbinenko 320dd174b5 Increase stack size on sparc 2010-02-14 14:32:21 +01:00
Vladimir 'phcoder' Serbinenko 10f6389453 Fix raw image addresses 2010-02-13 18:48:33 +01:00
Vladimir 'phcoder' Serbinenko 0b4ab8e54a Merge mainline int sparc-mkimage-unify 2010-02-13 16:49:21 +01:00
Vladimir 'phcoder' Serbinenko 904935c3ef 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Merge grub_ieee1275_map_physical into grub_map and rename to
	grub_ieee1275_map

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
	* include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
	Remove.
	* kern/ieee1275/openfw.c (grub_map): Rename to ...
	(grub_ieee1275_map): ... this. All users updated. Add phys_lo when
	necessary.
	* kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2010-02-13 16:48:22 +01:00
Vladimir 'phcoder' Serbinenko a49217cff7 aout image support 2010-02-13 16:26:50 +01:00
Vladimir 'phcoder' Serbinenko ca62070b69 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Fix over-4GiB seek on sparc64.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
	Replace pos_i and pos_lo with pos. All users updated.
	* include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
	New constant.
	* include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
	Likewise.
	* kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
	and pos_lo.
2010-02-13 16:13:28 +01:00
Vladimir 'phcoder' Serbinenko b274d734f3 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Properly create cross-endian images.

	* include/grub/types.h (grub_host_to_target_addr): New macro
	* util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2010-02-13 15:40:13 +01:00
Vladimir 'phcoder' Serbinenko 6bea3f8983 merge sparc grub-mkimage into grub-mkrawimage 2010-02-12 20:08:56 +01:00
Vladimir 'phcoder' Serbinenko 2d2a9cd5b6 GRUB_FILE implementation 2010-02-09 15:32:42 +01:00
Vladimir 'phcoder' Serbinenko 1876cfdb56 GCJ 2010-02-08 02:01:10 +01:00
Vladimir 'phcoder' Serbinenko 9d9dca02d9 Type 240 2010-02-08 01:44:06 +01:00
Vladimir 'phcoder' Serbinenko ca3112ba2d merge cleanbuild into emu-modload 2010-02-08 00:21:55 +01:00
Vladimir 'phcoder' Serbinenko ec0be08d40 Clean building system 2010-02-07 23:49:49 +01:00
Vladimir 'phcoder' Serbinenko b359aa1373 Merge ofwclock into cleanbuild 2010-02-07 23:01:41 +01:00
Vladimir 'phcoder' Serbinenko e28e32ae51 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
	* include/grub/partition.h [GRUB_UTIL]: Likewise.
2010-02-07 16:52:47 +01:00
Vladimir 'phcoder' Serbinenko 6e14234c87 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/multiboot2.h: Remove leftover file.
2010-02-07 16:51:16 +01:00
Vladimir 'phcoder' Serbinenko f38873b80b Build system support for grub-emu modules 2010-02-07 15:17:26 +01:00
Vladimir 'phcoder' Serbinenko 2083672af1 Remove -DGRUB_UTIL when compiling grub-emu 2010-02-07 04:23:44 +01:00
Vladimir 'phcoder' Serbinenko 74e4934e1c 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
	of disk to dsk to avoid shadowing.
	(find_free_slot): Fix prototype.
	* util/getroot.c (grub_util_is_dmraid): Make static.
	* include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
	Add missing prototype.
	* util/sdl.c (grub_video_sdl_set_viewport): Remove.
2010-02-07 02:47:18 +01:00
Vladimir 'phcoder' Serbinenko 58548abbc3 Remove data member in partition structure 2010-02-07 01:48:38 +01:00
Vladimir 'phcoder' Serbinenko 8f891adc6f 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
	* kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
	* kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
	* kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
	* kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
	* util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2010-02-07 00:52:31 +01:00
Vladimir 'phcoder' Serbinenko 74b45184e4 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/err.h (grub_err_printf): Don't export.
2010-02-07 00:46:09 +01:00
Vladimir 'phcoder' Serbinenko a4bced7752 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/dl.h (grub_dl_register_symbol): Don't export.
2010-02-07 00:40:17 +01:00
Vladimir 'phcoder' Serbinenko 007d0695e2 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i18n.h (grub_gettext_dummy): Removed.
	* kern/misc.c (grub_gettext_dummy): Make static.
2010-02-07 00:36:18 +01:00
Vladimir 'phcoder' Serbinenko cc306106b9 Merge mainline into intwrap 2010-02-06 23:49:41 +01:00
Vladimir 'phcoder' Serbinenko f3e309ad7d Use (hd0,msdos1) syntax. Eliminate partmap_iterate 2010-02-06 21:00:53 +01:00
Vladimir 'phcoder' Serbinenko bc6fcf0931 merge mainline into nestpart 2010-02-06 18:47:17 +01:00
Vladimir 'phcoder' Serbinenko 15cb7d433f Reimport nestpart 2010-02-06 18:43:37 +01:00
Vladimir 'phcoder' Serbinenko e190e3d2cc merge mainline into ofwfb 2010-02-06 15:54:01 +01:00
Vladimir 'phcoder' Serbinenko d1de6ed1dc First compiling newreloc for ppc (not yet tested) 2010-02-06 00:33:20 +01:00
Vladimir 'phcoder' Serbinenko 1f534b6908 Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
Vladimir 'phcoder' Serbinenko fbab7b0794 Framebuffer on PowerPC-based macs 2010-01-31 01:57:17 +01:00
Vladimir 'phcoder' Serbinenko 6e308bd942 merge mainline into newreloc 2010-01-30 16:46:16 +01:00
BVK Chaitanya 275d6f6bd4 fix grub-script-check 2010-01-28 21:43:28 +05:30
carles de0b7a4ed1 2010-01-25 Carles Pina i Estany <carles@pina.cat>
* font/font.c: Include `grub/fontformat.h.
	Remove font file format constants.
	(grub_font_load): Use the new macros.
	* include/grub/fontformat.h: New file.
	* util/grub-mkfont.c: Include `grub/fontformat.c'.
	(write_font_pf2): Use the new macros.
2010-01-26 20:16:08 +00:00
Robert Millan 3973a59a34 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
	
	* boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
	(_start): Macroify `0x7F'.
	
	* kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
	(make_install_device): Use "(pxe)" as fallback prefix when booting
	via PXE.
2010-01-26 16:39:37 +00:00
Vladimir 'phcoder' Serbinenko 6c624ae848 MErge mainline into lexer-rewrite 2010-01-23 19:37:13 +01:00
Vladimir 'phcoder' Serbinenko 7d8c9ec63d newreloc on yeeloong 2010-01-23 13:30:24 +01:00
BVK Chaitanya 10523df478 while and until loops support 2010-01-23 11:19:26 +05:30
BVK Chaitanya 4e6a305be4 for loop support to grub script 2010-01-23 11:03:41 +05:30
BVK Chaitanya 1fb08ed515 return arg count from grub_script_execute_arglist_to_argv 2010-01-23 09:12:46 +05:30
Vladimir 'phcoder' Serbinenko 454fcd1c9b 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for _restgpr_14_x.
	* include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
	and _savegpr_* prototypes.
2010-01-22 20:40:21 +01:00
BVK Chaitanya bae09d0d47 remove arbitrary limit on menuentry recording 2010-01-23 00:42:55 +05:30
BVK Chaitanya df6dc2113a removed arbitrary limit on token size 2010-01-23 00:14:00 +05:30
BVK Chaitanya 547e494f1b lexer-rewrite rebase commit 2010-01-22 19:07:27 +05:30
Vladimir 'phcoder' Serbinenko f9ab2e25d3 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
	(grub_freebsd_bootinfo): Rewritten.
	* loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2010-01-21 17:35:14 +01:00
Vladimir 'phcoder' Serbinenko 61c501a941 merge mainline into newenv 2010-01-20 21:31:39 +01:00
Vladimir 'phcoder' Serbinenko f7fcb23c76 merge mainline into pciclean 2010-01-20 20:40:30 +01:00
Vladimir 'phcoder' Serbinenko 3c83bc50db merge bootcheck and mainline into newreloc 2010-01-20 11:48:36 +01:00
Vladimir 'phcoder' Serbinenko ca46729091 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/misc.h (grub_sprintf): Removed. All users switched to
	grub_xasprintf or grub_snprintf.
	(grub_vsprintf): Likewise.
	(grub_snprintf): New proto.
	(grub_vsnprintf): Likewise.
	(grub_xasprintf): Likewise.
	(grub_xvasprintf): Likewise.
	* kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
	(grub_sprintf): Removed.
	(grub_vsnprintf): New function.
	(grub_snprintf): Likewise.
	(grub_xvasprintf): Likewise.
	(grub_xasprintf): Likewise.
	(grub_vsprintf): Renamed to ...
	(grub_vsnprintf_real): ...this. New argument max_len.
2010-01-20 09:53:23 +01:00
Vladimir 'phcoder' Serbinenko 61eb45eee7 Rename asprint into xasprintf and avsprintf into xvasprintf 2010-01-20 09:12:47 +01:00
BVK Chaitanya aca655fd20 fix grub-script-check warnings 2010-01-20 12:48:35 +05:30
Vladimir 'phcoder' Serbinenko 14284856a2 merge mainline into asprintf 2010-01-20 08:06:28 +01:00
Vladimir 'phcoder' Serbinenko 7ee92c32e1 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/font.h (grub_font_load): Fix prototype.
2010-01-20 08:04:39 +01:00
Vladimir 'phcoder' Serbinenko 119c50eab3 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/x86_64/at_keyboard.h: New file.
2010-01-20 08:02:45 +01:00
Vladimir 'phcoder' Serbinenko 2d49abe9e7 merge mainline into asprintf 2010-01-20 07:36:17 +01:00
Robert Millan ca2a220a74 Resync 2010-01-20 00:47:55 +00:00
Vladimir 'phcoder' Serbinenko 915fc1b8bf 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/multiboot.h: Resynced with spec.
	* include/multiboot2.h: Likewise.
	* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
	GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2010-01-20 01:08:46 +01:00
Vladimir 'phcoder' Serbinenko b5b6745c87 kopenbsd serial support 2010-01-19 14:29:02 +01:00
Vladimir 'phcoder' Serbinenko 5b512173a3 Tags for OpenBSD 2010-01-19 10:32:57 +01:00
Vladimir 'phcoder' Serbinenko 96c713b69d Eliminate variable-length types in parameters 2010-01-18 23:37:11 +01:00
Vladimir 'phcoder' Serbinenko 96bdd17579 merge mainline into newreloc 2010-01-18 22:38:25 +01:00
Robert Millan e022a2d667 Sync with trunk 2010-01-18 20:51:35 +00:00
Robert Millan 9444b678a1 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/term.h (grub_term_register_input,
	grub_term_register_output): Check return of terminal init()
	routines, and abort if errors are raised.
	
	* commands/terminal.c: Update copyright year.
2010-01-18 19:43:39 +00:00
Vladimir 'phcoder' Serbinenko 6f7db5d676 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/bsd.h: Fix include pathes.
2010-01-18 19:25:20 +01:00
Robert Millan d8a7de8d01 Remove memset() declaration (provided by <grub/misc.h>) 2010-01-18 17:39:04 +00:00
Vladimir 'phcoder' Serbinenko 262bff8d83 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
Add missing *BSD copyright headers.

	* include/grub/aout.h: Add BSD licence.
	* include/grub/i386/bsd.h: Parts under different licences moved to ...
	* include/grub/i386/freebsd_linker.h: ... here,
	* include/grub/i386/freebsd_reboot.h: ... here,
	* include/grub/i386/netbsd_bootinfo.h: ... here,
	* include/grub/i386/netbsd_reboot.h: ... here,
	* include/grub/i386/openbsd_bootarg.h: ... here,
	* include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
	licence to each file.
2010-01-18 17:40:23 +01:00
Robert Millan 85312e1933 kernel.h adjustments to fix build 2010-01-18 16:14:58 +00:00
Robert Millan e68d3b243f Resync with trunk 2010-01-18 15:02:21 +00:00
Robert Millan 45220d832e Third version of the patch (sent to grub-devel in 2008-01-30) 2010-01-18 14:28:03 +00:00
Robert Millan c8298743f3 Second version of the patch (sent to grub-devel in 2008-01-29) 2010-01-18 14:24:17 +00:00
Robert Millan 2c40cc7868 Import Tristan Gingold's ia64 port
(based on patch sent to grub-devel by Tristan in 2008-01-28)
2010-01-18 14:17:47 +00:00
Vladimir 'phcoder' Serbinenko 6b9e2c181f merge bootcheck into newreloc 2010-01-18 12:40:33 +01:00
Robert Millan 8040619d88 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
	(GRUB_VIDEO_LINUX_TYPE_TEXT): ... this.  Update all users.
	(GRUB_VIDEO_TYPE_VLFB): Rename to ...
	(GRUB_VIDEO_LINUX_TYPE_VESA): ... this.  Update all users.
	(GRUB_VIDEO_TYPE_EFI): Rename to ...
	(GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this.  Update all users.
2010-01-18 07:49:50 +00:00
Vladimir 'phcoder' Serbinenko 7728813a47 merge mainline into intwrap 2010-01-17 21:16:52 +01:00
Vladimir 'phcoder' Serbinenko 1453b2ec7f add extended regs support in bios_interrupt 2010-01-17 21:16:05 +01:00
Vladimir 'phcoder' Serbinenko 88d2919b7d Merge mainline into newreloc 2010-01-17 19:18:46 +01:00
Robert Millan a0c2a0f6ff 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/test.h: Add license header.
	* tests/example_functional_test.c: Likewise.
	* tests/example_unit_test.c: Likewise.
	* tests/lib/functional_test.c: Likewise.
	* tests/lib/test.c: Likewise.
	* tests/lib/unit_test.c: Likewise.
2010-01-17 17:29:57 +00:00
Vladimir 'phcoder' Serbinenko b0b139075e 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
Use flag-based instead of hook-based video mode selection and "auto"
	keyword.

	* include/grub/video.h (grub_video_adapter): Changed 'setup' member.
	(grub_video_set_mode): Changed prototype. All users updated.
	(grub_video_check_mode_flag): New inline function.
	* video/video.c (parse_modespec): New function.
	(grub_video_set_mode): Parse flags and keywords.
2010-01-17 17:52:01 +01:00
Vladimir 'phcoder' Serbinenko 72ebf8b87c Sort chunks 2010-01-17 12:42:28 +01:00
Vladimir 'phcoder' Serbinenko 5408044f4c Multiboot 2 tags support 2010-01-16 16:25:43 +01:00
Vladimir 'phcoder' Serbinenko ae9eb98c7d NetBSD module support 2010-01-16 11:47:12 +01:00
Vladimir 'phcoder' Serbinenko 262355247f merge mainline into newreloc 2010-01-16 00:05:33 +01:00
Vladimir 'phcoder' Serbinenko a0b766fc9b 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Enable multiboot on non-pc.

	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
	multiboot.mod and multiboot2.mod to ...
	* conf/i386.rmk (pkglib_MODULES): ... here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_SOURCES): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
	* conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
	relocator.mod.
	(ata_mod_SOURCES): Removed.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.
	(relocator_mod_SOURCES): Removed.
	(relocator_mod_CFLAGS): Likewise.
	(relocator_mod_ASFLAGS): Likewise.
	(relocator_mod_LDFLAGS): Likewise.
	Include i386.mk.
	* include/grub/x86_64/multiboot.h: New file.
	* loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
	Terminate EFI.
2010-01-15 21:11:51 +01:00
Vladimir 'phcoder' Serbinenko 884ade5654 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Video multiboot support.

	* include/grub/multiboot.h (grub_multiboot_set_accepts_video):
	New prototype.
	* include/multiboot.h: Resynced with multiboot specification.
	* include/multiboot2.h: Likewise.
	* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
	(grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
	* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
	(HAS_VGA_TEXT): Likewise.
	(accepts_video): New variable.
	(grub_multiboot_set_accepts_video): New function.
	(grub_multiboot_get_mbi_size): Account for video structures.
	(set_video_mode): New function.
	(retrieve_video_parameters): Likewise.
	(grub_multiboot_make_mbi): Fill video fields.
2010-01-15 16:30:57 +01:00
Vladimir 'phcoder' Serbinenko 0d90e8a6fb 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Video driver ids.

	* include/grub/video.h (grub_video_driver_id): New type.
	(grub_video_adapter): New member 'id'. All users updated.
	(grub_video_get_driver_id): New proto.
	* video/video.c (grub_video_get_driver_id): New function.
2010-01-15 16:11:18 +01:00
Vladimir 'phcoder' Serbinenko 53fbae94a6 netbsd framebuffer support 2010-01-15 13:40:37 +01:00
Vladimir 'phcoder' Serbinenko 9766dafa74 symtab support for knetbsd 2010-01-15 12:31:06 +01:00
Vladimir 'phcoder' Serbinenko 5fb5182f8a comX notation support 2010-01-15 11:48:15 +01:00
Vladimir 'phcoder' Serbinenko 2386d586b9 Merge some knetbsdcode into kfreebsd one. Serial supoort for knetbsd 2010-01-15 11:39:05 +01:00
Robert Millan 0a46429a55 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
	(grub_linux16_real_boot): ... this.
	* kern/i386/loader.S: Likewise.
	* loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
	(grub_linux16_boot): New function.  Switches to text mode and calls
	grub_linux16_real_boot().
	
	* loader/i386/bsd.c: Include `<grub/video.h>'.
	(grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
	text mode before calling grub_unix_real_boot().
	
	* loader/i386/multiboot.c: Include `<grub/video.h>'.
	(grub_multiboot_boot): Switch to text mode before calling
	grub_relocator32_boot().
	
	* loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
	(grub_chainloader_boot): Switch to text mode before calling
	grub_chainloader_real_boot().
2010-01-14 21:08:31 +00:00
Vladimir 'phcoder' Serbinenko 865a0f8aa7 elf symbols 2010-01-14 19:14:24 +01:00
BVK Chaitanya 96f60752d1 merge trunk 2010-01-14 18:45:19 +05:30
Vladimir 'phcoder' Serbinenko ea96d34596 Clarify type of bi_kernelname and bi_nfs_diskless 2010-01-14 13:40:17 +01:00
BVK Chaitanya 0b8891c276 removed unnecessary grub_test_* wrappers 2010-01-14 17:17:51 +05:30
Vladimir 'phcoder' Serbinenko 3f995850a4 declare grub_multiboot_relocator in multiboot.h. 2010-01-13 20:49:13 +01:00
Vladimir 'phcoder' Serbinenko 5ffb1b8494 Remove leftover grub_unix_real_boot 2010-01-13 20:47:05 +01:00
Vladimir 'phcoder' Serbinenko 319fc3d213 Remove became useless i386/multiboot.h 2010-01-13 18:44:12 +01:00
Vladimir 'phcoder' Serbinenko ad184204b2 Remove leftover multiboot elpers 2010-01-13 18:41:49 +01:00
Vladimir 'phcoder' Serbinenko d1b3ffe8ce merge efigfx into newreloc 2010-01-13 14:12:24 +01:00
Vladimir 'phcoder' Serbinenko c8142599fc Merge i386/efi/linux.c into i386/linux.c 2010-01-13 14:03:54 +01:00
Vladimir 'phcoder' Serbinenko ca732b36c1 Video driver ID. 2010-01-13 14:03:18 +01:00
Vladimir 'phcoder' Serbinenko 11aadbadfb fix compilation on coreboot 2010-01-12 23:03:56 +01:00
Vladimir 'phcoder' Serbinenko e6e7b4ea1f Remove i386/loader.h 2010-01-12 22:22:36 +01:00
Vladimir 'phcoder' Serbinenko c911e8791a Port linux16 to relocator framework 2010-01-12 22:17:26 +01:00
Vladimir 'phcoder' Serbinenko 14dacc815a Clarify type of cmd_line_ptr 2010-01-12 22:16:33 +01:00
Vladimir 'phcoder' Serbinenko cdab631686 Relocator16 support 2010-01-12 22:15:50 +01:00
Vladimir 'phcoder' Serbinenko 49a716be3b Possibility to prefer higher or lower chunks in relocator 2010-01-12 22:14:26 +01:00
Vladimir 'phcoder' Serbinenko 73910decff Fix various bugs in *bsd. Freebsd64 on relocators 2010-01-12 17:50:11 +01:00
Vladimir 'phcoder' Serbinenko 14933205d1 Relocator64 support 2010-01-12 17:48:51 +01:00
BVK Chaitanya 528aeaeabb merge trunk 2010-01-12 11:02:49 +05:30
BVK Chaitanya 350285caae removed unnecessary EXPORT_* macro usage 2010-01-12 09:23:24 +05:30
Vladimir 'phcoder' Serbinenko 108408aa39 BSD on relocators 2010-01-11 22:54:40 +01:00
Vladimir 'phcoder' Serbinenko 55b40bc68a Ported linux to relocator framework 2010-01-11 14:59:01 +01:00
Vladimir 'phcoder' Serbinenko cb1b2ad7e0 Reenable XNU 2010-01-11 13:43:44 +01:00
Vladimir 'phcoder' Serbinenko 5c8e58b0cb merge abstractmbi into newreloc 2010-01-11 11:29:52 +01:00
Vladimir 'phcoder' Serbinenko cd0514794a MAnipulate mbi in abstract way 2010-01-10 18:58:18 +01:00
Vladimir 'phcoder' Serbinenko 14e43c6e02 First working newreloc 2010-01-10 15:06:17 +01:00
Vladimir 'phcoder' Serbinenko 85a2cf749f merge mainline into mips 2010-01-10 13:34:48 +01:00
Vladimir 'phcoder' Serbinenko 6b60576149 merge mainline into newreloc 2010-01-10 01:56:47 +01:00
Vladimir 'phcoder' Serbinenko 95c7fc3f55 First compileable newreloc 2010-01-10 00:30:33 +01:00
Robert Millan 822873a7da Eliminate grub_term_register_{input,output}_active. Default terminals are
automatically activated because they're the only terminal that has been loaded.

This solution is temporary.  In the future, all terminals should auto-enable,
but this is non-trivial due to resource conflict, and it shouldn't prevent
merge in trunk.
2010-01-09 23:42:17 +01:00
Robert Millan 75cc5b682e Merge from trunk 2010-01-09 23:22:48 +01:00
Vladimir 'phcoder' Serbinenko 4361ca1c37 Restructure rendering to make extensions easier 2010-01-08 18:48:41 +01:00
BVK Chaitanya 5cc318eb35 replaced __func__ with simpler __FUNCTION__ macro 2010-01-08 22:06:46 +05:30
BVK Chaitanya 169b1cd2d8 added functional tests to make-check 2010-01-08 16:35:32 +05:30
BVK Chaitanya 6fc804ffbb unit testing framework 2010-01-08 15:19:10 +05:30
Vladimir 'phcoder' Serbinenko 82c5d8dcfc Support for 3 more combining marks types 2010-01-08 00:46:42 +01:00
Robert Millan bc8b32b3ec 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
Reset Multiboot 2 support.  New loader implements the draft in
	/branches/multiboot2 and shares as much code as possible with the
	production Multiboot 1 implementation.
	
	* loader/ieee1275/multiboot2.c: Remove file.  Update all users.
	* loader/multiboot2.c: Likewise.
	* loader/i386/multiboot_helper.S: Likewise.
	* include/multiboot2.h: Replace with latest version from the draft
	in /branches/multiboot2.
	
	* conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
	`loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
	and `loader/multiboot2.c'.
	(pkglib_MODULES): Add `multiboot2.mod'.
	(multiboot2_mod_SOURCES): New variable.
	(multiboot2_mod_LDFLAGS): Likewise.
	(multiboot2_mod_CFLAGS): Likewise.  Define `GRUB_USE_MULTIBOOT2'.
	
	* conf/i386-pc.rmk: Likewise.
	
	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
	(multiboot_mod_SOURCES): Remove variable.
	(multiboot_mod_LDFLAGS): Likewise.
	(multiboot_mod_CFLAGS): Likewise.
	
	* include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
	`<multiboot2.h>' instead of `<multiboot.h>'.
	[GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
	(MULTIBOOT_HEADER_MAGIC): New macros.
	
	* loader/multiboot_loader.c (module_version_status): Remove variable.
	(find_multi_boot2_header): Remove function.
	(grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
	logic.  Always check for the Multiboot version we're compiling for.
	(grub_cmd_module_loader): Likewise.
	[GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
	command instead of `multiboot'.
2010-01-07 21:05:25 +00:00
Vladimir 'phcoder' Serbinenko 44fcb2bc59 merge mainline into multiterm 2010-01-07 21:34:43 +01:00
Vladimir 'phcoder' Serbinenko 97ea65d432 Add mirroring and stacked combining marks 2010-01-07 21:25:56 +01:00
Robert Millan 5d2c52b8ca 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
	* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here.  Update
	all users.
2010-01-07 19:55:16 +00:00
Vladimir 'phcoder' Serbinenko 72f12cdcd9 Group combining diacritics 2010-01-07 16:37:53 +01:00
Vladimir 'phcoder' Serbinenko 607a3701db 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
Merge crypto branch.

	* Makefile.in (pkglib_DATA):  Add crypto.lst.
	(crypto.lst): New target.
	* commands/hashsum.c: New file.
	* commands/password.c (check_password): Use grub_crypto_memcmp.
	* commands/password_pbkdf2.c: New file.
	* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
	* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
	normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
	(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
	-I$(srcdir)/lib/libgcrypt_wrap.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
	(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
	password_pbkdf2.mod.
	(crypto_mod_SOURCES): New variable.
	(crypto_mod_CFLAGS): Likewise.
	(crypto_mod_LDFLAGS): Likewise.
	(hashsum_mod_SOURCES): New variable.
	(hashsum_mod_CFLAGS): Likewise.
	(hashsum_mod_LDFLAGS): Likewise.
	(pbkdf2_mod_SOURCES): New variable.
	(pbkdf2_mod_CFLAGS): Likewise.
	(pbkdf2_mod_LDFLAGS): Likewise.
	(password_pbkdf2_mod_SOURCES): New variable.
	(password_pbkdf2_mod_CFLAGS): Likewise.
	(password_pbkdf2_mod_LDFLAGS): Likewise.
	(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
	(grub_mkpasswd_pbkdf2_SOURCES): New variable.
	(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
	Include conf/gcry.rmk.
	* include/grub/auth.h: Rewritten.
	* include/grub/crypto.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
	* include/grub/normal.h (read_crypto_list): New prototype.
	* lib/crypto.c: New file.
	* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
	* lib/pbkdf2.c: Likewise.
	* normal/auth.c (grub_auth_strcmp): Removed.
	(grub_iswordseparator): Likewise.
	(grub_auth_strword): Likewise.
	(is_authenticated): Use grub_strword.
	(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
	and grub_strword. Pass entered password to authentication callback.
	* normal/crypto.c: New file.
	* normal/main.c: Call read_crypto_list.
	* util/grub-mkpasswd-pbkdf2.c: New file.
	* util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2010-01-07 01:13:01 +01:00
Vladimir 'phcoder' Serbinenko f0cfb703b8 Initial bidi support for gfxmenu 2010-01-06 20:37:16 +01:00
Vladimir 'phcoder' Serbinenko 4d253049d5 Fix non-clearing of timeout. Template support for timeout text. 2010-01-06 01:42:21 +01:00
Vladimir 'phcoder' Serbinenko 27708b75ca Merge gfxmenu into gfxmenu+multiterm 2010-01-05 19:38:50 +01:00
Vladimir 'phcoder' Serbinenko b9da170080 Preliminary support for mixed percent and linear declarations 2010-01-05 19:38:11 +01:00
Vladimir 'phcoder' Serbinenko e6e86df1de Merge multiterm into gfxmenu+multiterm 2010-01-05 16:34:10 +01:00
Vladimir 'phcoder' Serbinenko 519634516f Merge mainline into multiterm 2010-01-05 16:27:41 +01:00
Vladimir 'phcoder' Serbinenko 52c2d97f26 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
	New constant.
	(grub_efi_piwg_device_path): New structure
	(grub_efi_piwg_device_path_t): New type.
	* loader/efi/appleloader.c (piwg_full_device_path): New structure.
	(devpath_1): Transform to a structure. All users updated.
	(devpath_2): Likewise.
	(devpath_3): Likewise.
	(devpath_4): Likewise.
	(devpath_5): Likewise.
2010-01-04 14:59:06 +01:00
Robert Millan 3a73dcb6f5 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
* boot/i386/pc/diskboot.S: Fix inaccurate comment.
	
	* util/i386/pc/grub-setup.c: Include `<assert.h>'.
	(struct boot_blocklist): Move from here ...
	* include/grub/i386/pc/boot.h [ASM_FILE]
	(struct grub_boot_blocklist): ... to here.  Update all users.
	(setup): Only initialize `start' member of `first_block'
	structure.  Add assert() calls to verify the other members.
	
	* util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
	(generate_image): Fix broken blocklist length initialization.
	Add assert() call to verify blocklist `segment' field.
2010-01-03 22:34:03 +00:00
Robert Millan 58bc8bd5b1 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
* boot/i386/pc/boot.S: Update copyright year.
	* boot/i386/pc/cdboot.S: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* bus/pci.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/test.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gencmdlist.sh: Likewise.
	* genmk.rb: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/i386/at_keyboard.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/i386/pci.h: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/ntfs.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/libgcc.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/multiboot2.h: Likewise.
	* io/gzio.c: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/main.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
	* lib/hexdump.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* partmap/apple.c: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/hostfs.c: Likewise.
	* video/readers/png.c: Likewise.
2010-01-03 22:05:07 +00:00
Colin Watson e2d70b5cea 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
* include/grub/misc.h (GNUC_PREREQ): New macro.
	(ATTRIBUTE_ERROR): New macro.
	* include/grub/list.h (grub_bad_type_cast_real): Use
	ATTRIBUTE_ERROR.
2010-01-03 21:50:53 +00:00
Yves Blusseau 2f1a3acf75 2009-01-01 Yves Blusseau <yves.blusseau@zetam.org>
* configure.ac: check external intl library
	* Makefile.in: add compiler and linker flags to properly compile with
	intl library
	* include/grub/i18n.h: add a check to disable NLS
	* util/misc.c (grub_util_init_nls): new function
	* include/grub/util/misc.h: likewise
	* util/elf/grub-mkimage.c: use the new function below to initialize NLS
	* util/grub-editenv.c: likewise
	* util/grub-emu.c: likewise
	* util/grub-fstest.c: likewise
	* util/grub-mkdevicemap.c: likewise
	* util/grub-mkfont.c: likewise
	* util/grub-mkrelpath.c: likewise
	* util/grub-probe.c: likewise
	* util/i386/pc/grub-mkimage.c: likewise
	* util/i386/pc/grub-setup.c: likewise
	* util/sparc64/ieee1275/grub-mkimage.c: likewise
	* util/sparc64/ieee1275/grub-ofpathname.c: likewise
	* util/sparc64/ieee1275/grub-setup.c: likewise
	* util/mkisofs/mkisofs.h: add a check to disable NLS
	* util/mkisofs/mkisofs.c: likewise
2010-01-01 21:32:30 +01:00
carles 3393790450 2010-01-01 Carles Pina i Estany <carles@pina.cat>
* commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
	(grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
	string using string width.
	* normal/menu_text.c (grub_print_message_indented): Use
	grub_print_spaces and not print_spaces.
	(print_timeout): Likewise.
	(print_spaces): Move to...
	* include/grub/term.h: ... here. Change the name to grub_print_spaces.
2010-01-01 18:58:00 +01:00
Vladimir 'phcoder' Serbinenko 33433555f3 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
* include/grub/list.h (grub_assert_fail): Removed.
	(grub_bad_type_cast_real): New function.
	(grub_bad_type_cast): New macro.
	(GRUB_AS_LIST): Use grub_bad_type_cast.
	(GRUB_AS_LIST_P): Likewise.
	(GRUB_AS_NAMED_LIST): Likewise.
	(GRUB_AS_NAMED_LIST_P): Likewise.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	* include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
2009-12-31 15:03:09 +01:00
Vladimir 'phcoder' Serbinenko eb3f57d3c4 proof of concept interrupt wrapping 2009-12-31 13:07:51 +01:00
Vladimir 'phcoder' Serbinenko 16c8e9fd66 Reimport hotkey support 2009-12-29 23:01:12 +01:00
Vladimir 'phcoder' Serbinenko 5fab62c06e merge gfxmenu into gfxmenu+mulitterm 2009-12-29 17:33:35 +01:00
Vladimir 'phcoder' Serbinenko 9a17588459 Initial support for scalable gfxmenu 2009-12-29 17:31:02 +01:00
Vladimir 'phcoder' Serbinenko 8b442f3f4c asprintf and snprintf support 2009-12-29 10:04:06 +01:00
Vladimir 'phcoder' Serbinenko 7b74857658 Search hinting support 2009-12-28 14:02:23 +01:00
Vladimir 'phcoder' Serbinenko 742e1f7e72 merge mainline into mips 2009-12-28 01:05:47 +01:00
Vladimir 'phcoder' Serbinenko 2fb24921d8 Support for backtracing exceptions 2009-12-27 02:36:38 +01:00
Vladimir 'phcoder' Serbinenko e20d3e608c merge multiterm into gfxmenu+multiterm 2009-12-26 16:42:55 +01:00
Vladimir 'phcoder' Serbinenko d3ee2d201e Various fixes to make gfxmenu work smoothly in multioutput environment 2009-12-26 16:41:54 +01:00
Vladimir 'phcoder' Serbinenko 27a8ee52b4 Remove menu init hooks. They are useless 2009-12-26 16:39:16 +01:00
Vladimir 'phcoder' Serbinenko 9b1209ba15 Cache loaded theme 2009-12-26 02:37:01 +01:00
Vladimir 'phcoder' Serbinenko bee140683a Initial effort for gfxmenu on multiterm branch 2009-12-26 01:49:57 +01:00
Robert Millan d94000ed13 Merge from trunk 2009-12-25 22:29:47 +00:00
Vladimir 'phcoder' Serbinenko 9c288be27a 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
Use search command for preliminar UUID search.

	* commands/search.c: Split into ...
	* commands/search_wrap.c: ...this
	* commands/search.c: ...and this.
	* commands/search_file.c: New file.
	* commands/search_label.c: New file.
	* commands/search_uuid.c: New file.
	* conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
	Add commands/search_wrap.c, commands/search_file.c,
	commands/search_label.c and commands/search_uuid.c.
	* conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
	(search_mod_SOURCES): Set to commands/search_wrap.c.
	(pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
	search_label.mod.
	(search_fs_file_mod_SOURCES): New variable.
	(search_fs_file_mod_CFLAGS): Likewise.
	(search_fs_file_mod_LDFLAGS): Likewise.
	(search_label_mod_SOURCES): Likewise.
	(search_label_mod_CFLAGS): Likewise.
	(search_label_mod_LDFLAGS): Likewise.
	(search_fs_uuid_mod_SOURCES): New variable.
	(search_fs_uuid_mod_CFLAGS): Likewise.
	(search_fs_uuid_mod_LDFLAGS): Likewise.
	(fs_file_mod_SOURCES): Removed.
	(fs_file_mod_CFLAGS): Likewise.
	(fs_file_mod_LDFLAGS): Likewise.
	(fs_uuid_mod_SOURCES): Removed.
	(fs_uuid_mod_CFLAGS): Likewise.
	(fs_uuid_mod_LDFLAGS): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
	Set to util/grub-install.in.
	* disk/fs_file.c: Removed.
	* disk/fs_uuid.c: Likewise.
	* include/grub/search.h: New file.
	* util/grub-install.in: Handle sparc64.
	Create and use load.cfg.
	* util/sparc64/ieee1275/grub-install.in: Removed.
2009-12-25 23:06:52 +01:00
Vladimir 'phcoder' Serbinenko 7ebaa2b4ff 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
Support for (pxe[:server[:gateway]]) syntax and
	use environment variable for PXE.

	* commands/i386/pc/pxecmd.c (options): Removed.
	(print_ip): Removed.
	(grub_cmd_pxe): Removed
	(grub_cmd_pxe_unload): New function.
	* fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
	(grub_pxe_your_ip): Made static.
	(grub_pxe_default_server_ip): Likewise.
	(grub_pxe_default_gateway_ip): Likewise.
	(grub_pxe_blksize): Likewise.
	(parse_ip): New function.
	(grub_pxe_open): Support server and gateway specification.
	(grub_pxe_close): Free disk->data.
	(grub_pxefs_open): Use disk->data.
	(grub_pxefs_read): Likewise.
	(grub_env_write_readonly): New function.
	(set_mac_env): Likewise.
	(set_env_limn_ro): Likewise.
	(parse_dhcp_vendor): Likewise.
	(grub_pxe_detect): Set the environment variables.
	(set_ip_env): New function.
	(write_ip_env): Likewise.
	(grub_env_write_pxe_default_server): Likewise.
	(grub_env_write_pxe_default_gateway): Likewise.
	(grub_env_write_pxe_blocksize): Likewise.
	(GRUB_MOD_INIT(pxe)): Set environment variables.
	* include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
	(grub_pxe_mac_addr_t): ... this. All users updated.
	(grub_pxe_your_ip): Removed.
	(grub_pxe_server_ip): Likewise.
	(grub_pxe_gateway_ip): Likewise.
	(grub_pxe_blksize): Likewise.
2009-12-25 22:01:06 +01:00
Robert Millan 2281552630 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
	* term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
	(KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
	(led_status): New variable.
	(keyboard_controller_led): New function.
	(grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
	update led status for caps lock, num lock and scroll lock.
2009-12-25 20:33:41 +00:00
Vladimir 'phcoder' Serbinenko 9f293ab0df merge mainline into gfxmenu 2009-12-25 21:32:46 +01:00
Vladimir 'phcoder' Serbinenko 6066889c88 normal_exit command 2009-12-25 16:28:31 +01:00
Robert Millan 427d6aa453 Merge my local branch 2009-12-25 12:43:20 +01:00
Vladimir 'phcoder' Serbinenko 33c1ed4c8d terminal modules autoloading 2009-12-25 03:37:20 +01:00
Vladimir 'phcoder' Serbinenko fa533ebb5c Various fixes to make multiterm work 2009-12-25 01:13:21 +01:00
Vladimir 'phcoder' Serbinenko 840f2e6e08 Remove NEED_INIT. 2009-12-25 00:12:36 +01:00
carles 7fd0baee0f 2009-12-24 Carles Pina i Estany <carles@pina.cat>
* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
	grub_errno calls.
	* commands/acpi.c: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/password.c: Likewise.
	* commands/videotest.c: Likewise.
	* disk/ata.c: Likewise.
	* disk/ata_pthru.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/loopback.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/mdraid_linux.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/mm.c: Likewise.
	* efiemu/pnvram.c: Likewise.
	* efiemu/symbols.c: Likewise.
	* font/font.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/ntfscomp.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/auth.h: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/ieee1275/mmap.c: Likewise.
	* kern/ieee1275/openfw.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* lib/arg.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/bsdXX.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/efi/xnu.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/machoXX.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* loader/xnu.c: Likewise.
	* loader/xnu_resume.c: Likewise.
	* mmap/i386/pc/mmap.c: Likewise.
	* normal/menu_viewer.c: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* script/lexer.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/terminfo.c: Likewise.
	* video/bitmap.c: Likewise.
	* video/efi_gop.c: Likewise.
	* video/efi_uga.c: Likewise.
	* video/fb/video_fb.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* video/readers/tga.c: Likewise.
	* video/video.c: Likewise.
2009-12-24 23:53:05 +01:00
Vladimir 'phcoder' Serbinenko 9f0cd916a4 Restrict terminfo to serial 2009-12-24 23:20:43 +01:00
Vladimir 'phcoder' Serbinenko 0aa6339849 Working multi-terminal 2009-12-24 21:54:37 +01:00
Vladimir 'phcoder' Serbinenko 3be7f8de12 FORALL_ACTIVE_TERM_OUTPUTS macro 2009-12-24 17:51:43 +01:00
Robert Millan 8eca55a6eb Imported nyu's multi-input 2009-12-24 17:08:14 +01:00
Vladimir 'phcoder' Serbinenko 2e71383172 Core changes hopefully finished 2009-12-24 15:34:33 +01:00
Robert Millan d14d33704e 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot.h: Indentation fixes.
2009-12-24 14:19:22 +00:00
Robert Millan eeed10b4dd 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot.h (struct multiboot_aout_symbol_table)
	(struct multiboot_elf_section_header_table): New structure
	declarations (stolen from GRUB Legacy).
	(struct multiboot_info): Replace opaque `syms' with a.out and ELF
	table information.
	
	(multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
	(multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
	type aliases.
2009-12-24 14:15:32 +00:00
Robert Millan 681c70ab14 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot.h: Make comments src2texi-friendly.
2009-12-24 14:11:14 +00:00
Robert Millan e4d47d8d64 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
For consistency with [multiboot]/docs/boot.S.
	
	* include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
	(MULTIBOOT_HEADER_MAGIC): ... to this.  Update all users.
	(MULTIBOOT_MAGIC2): Rename from this ...
	(MULTIBOOT_BOOTLOADER_MAGIC): ... to this.  Update all users.
2009-12-24 14:09:06 +00:00
Robert Millan a0b70bda6c 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot.h: Remove `<grub/types.h>'.
	(multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
	types.  Update all users.
2009-12-24 14:03:22 +00:00
Vladimir 'phcoder' Serbinenko e48625a306 merge crypto into multiout 2009-12-24 00:38:41 +01:00
Vladimir 'phcoder' Serbinenko f4c623e170 Work on multi-out terminal 2009-12-24 00:37:11 +01:00
Vladimir 'phcoder' Serbinenko a2e77ce455 merge mainline into crypto 2009-12-23 20:34:26 +01:00
Felix Zielcke a2c1332b70 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
	* commands/lspci.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/xnu_uuid.c: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* fs/i386/pc/pxe.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/efi/graphics_output.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* kern/env.c: Likewise.
	* kern/i386/qemu/startup.S: Likewise.
	* lib/i386/pc/biosnum.c: Likewise.
	* lib/i386/relocator.c: Likewise.
	* lib/i386/relocator_asm.S: Likewise.
	* lib/relocator.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/xnu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu_text.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* video/efi_gop.c: Likewise.
2009-12-23 17:41:32 +01:00
Vladimir 'phcoder' Serbinenko 7316783f35 Crypto module autoloading 2009-12-23 17:33:35 +01:00
Vladimir 'phcoder' Serbinenko fbb8a88714 Byte-addressable PCI config space 2009-12-22 15:09:25 +01:00
Vladimir 'phcoder' Serbinenko ba136b293a merge mainline into crypto 2009-12-22 14:28:39 +01:00
Vladimir 'phcoder' Serbinenko 0866ec655e merge mainline to newenv 2009-12-22 14:14:28 +01:00
Vladimir 'phcoder' Serbinenko 2a2869b584 merge mainline into efigfx 2009-12-22 13:34:01 +01:00
carles 7f39d92f8d 2009-12-20 Carles Pina i Estany <carles@pina.cat>
* include/grub/auth.h: Include `<grub/i18n.h>'.
	(GRUB_GET_PASSWORD): Gettextizze string.
	* include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
	menu_text.c.
	(grub_utf8_to_ucs4_alloc): Fix indentation.
	(grub_print_ucs4): Likewise.
	(grub_getstringwidth): Likewise.
	(print_message_indented): New declaration.
	* normal/auth.c: Include `<grub/i18n.h>'.
	(grub_auth_check_authentication): Gettexttize string.
	* normal/cmdline.c: Include `<grub/i18n.h>'.
	(grub_cmdline_get): Gettextizze.
	* normal/color.c: Include `<grub/i18n.h>'.
	(grub_parse_color_name_pair): Gettexttize strings.
	* normal/main.c (grub_normal_reader_init): Cleanup gettexttized
	string (use `print_message_indented').
	* normal/menu_text.c (STANDARD_MARGIN): Moved from here to
	`include/grub/normal.h'.
	(print_message_indented): Renamed to ...
	(grub_print_message_indented): ... this. Remove `static' qualifer (now
	used in normal/main.c).
	(print_message): Use `grub_print_message_indented' instead of
	`print_message_indented'.
	(print_timeout): Likewise.
	* normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
	(grub_normal_print_device_info): Gettexttize strings.
	* po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2009-12-20 23:32:15 +00:00
Vladimir 'phcoder' Serbinenko 8140d50bdc PXE environment variables 2009-12-20 20:05:53 +01:00
Vladimir 'phcoder' Serbinenko 902a478aab merge trunk into newenv 2009-12-20 14:20:37 +01:00
Vladimir 'phcoder' Serbinenko e0a6ca52f2 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/types.h (UNUSED): Removed since it conflicts with
	NetBSD headers. All users changed to direct __attribute__ ((unused)).
	Reported by Grégoire Sutre.
2009-12-20 14:09:16 +01:00
Vladimir 'phcoder' Serbinenko 2fbcbbc389 Save 314 bytes on not handling contexts in core 2009-12-20 02:52:39 +01:00
carles b99518d1ce 2009-12-19 Carles Pina i Estany <carles@pina.cat>
* include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
	(grub_print_ucs4_alloc): Likewise.
	(grub_getstringwidth): Likewise.
	* normal/main.c (grub_normal_init_page): Gettextize version string.
	* normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
	(getstringwidth): Renamed to ...
	(grub_getstringwidth): ... this. Remove `static' qualifier (now used
	in normal/main.c).  Use `grub_utf8_to_ucs4_alloc'.
	(grub_print_ucs4): Remove `static' qualifer (now used in
	normal/main.c).
	* po/POTFILES: Add normal/main.c.
2009-12-19 23:00:30 +00:00
Vladimir 'phcoder' Serbinenko 0d48a435a0 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/types.h (UNUSED): Removed since it conflicts with
	NetBSD headers. All users changed to direct __attribute__ ((unused)).
	Reported by Grégoire Sutre.
2009-12-19 21:30:00 +01:00
Vladimir 'phcoder' Serbinenko 7ea73643f5 merge mtrunk into xnu 2009-12-18 03:57:32 +01:00
Vladimir 'phcoder' Serbinenko b044bf0351 use video subsystem on EFI 2009-12-16 19:04:58 +01:00
Vladimir 'phcoder' Serbinenko 45da21ff5a merge mainline into videomask 2009-12-16 17:52:17 +01:00
Vladimir 'phcoder' Serbinenko c179ebe4ee 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
UUID support for HFS.

	* fs/hfs.c (grub_hfs_uuid): New function.
	(grub_hfs_fs): New value .uuid.
	* include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2009-12-16 15:40:31 +01:00
Carles Pina i Estany c4a3e41a72 2009-12-13 Carles Pina i Estany <carles@pina.cat>
* include/grub/misc.h (grub_puts): New declaration.
	(grub_puts_): Likewise.
	* kern/mis.c (grub_puts): New definition.
	(grub_puts_): Likewise.
2009-12-13 19:51:08 +00:00
Robert Millan 648fb15b29 Merge from trunk 2009-12-13 18:41:21 +00:00
Robert Millan b50b77b9a8 Merge relocator branch 2009-12-13 18:37:44 +00:00
Vladimir 'phcoder' Serbinenko 4d902d3715 merge from trunk 2009-12-12 02:38:30 +01:00
Vladimir 'phcoder' Serbinenko b66948bd88 setjmp on mips 2009-12-12 02:33:41 +01:00
Robert Millan 37ba589a4e Merge from trunk 2009-12-12 00:07:45 +00:00
Robert Millan cbf73baaae Indentation fix & missing copyright year. 2009-12-11 23:10:57 +00:00
Robert Millan dfec2d96f9 Merge from trunk 2009-12-11 21:20:00 +00:00
Robert Millan 838114b687 Merge from trunk 2009-12-11 21:15:58 +00:00
Vladimir 'phcoder' Serbinenko d4af2a73dc datetime for yeeloong 2009-12-11 22:14:09 +01:00
Robert Millan 2a3aa4d570 Merge pciaccess branch 2009-12-11 21:12:57 +00:00
Robert Millan febfc12c6e 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/mips/libgcc.h: Only export symbols for functions
        that libgcc provides.
2009-12-10 22:38:54 +00:00
Vladimir 'phcoder' Serbinenko 2e59983c82 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
Eliminate NTFS 4Gib barrier.

	* fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
	(read_run_data): Likewise.
	(grub_ntfs_read_run_list): Likewise.
	(grub_ntfs_read_block): Likewise.
	(grub_ntfs_iterate_dir): Likewise.
	(read_mft): Likewise.
	(read_data): Likewise.
	Use COM_LOG_LEN.
	* fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
	to avoid 64-bit division
	* include/grub/ntfs.h (COM_LOG_LEN): New definition.
	(grub_ntfs_rlst): Use grub_disk_addr_t.
2009-12-10 14:45:00 +01:00
Vladimir 'phcoder' Serbinenko d114e89ca8 Add clock 2009-12-09 17:58:48 +01:00
Carles Pina i Estany e3069ec1a5 2009-12-08 Carles Pina i Estany <carles@pina.cat>
* include/grub/misc.h (grub_printf_): New declaration.
	* kern/misc.c (grub_printf_): New definition.
	* normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
	instead of `grub_printf' and `_'.
	* normal/menu_entry.c (store_completion): Likewise.
	(run): Likewise.
	(grub_menu_entry_run): Likewise.
	* normal/menu_text.c (grub_wait_after_message): Likewise.
	(notify_booting): Likewise.
	(notify_fallback): Likewise.
	(notify_execution_failure): Likewise.
2009-12-08 00:08:52 +00:00
Colin Watson d6ceebf1d9 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
* configure.ac: Check for vasprintf.
	* util/misc.c (asprintf): Move allocation from here ...
	(vasprintf): ... to here.  New function.
	(xasprintf): New function.
	* include/grub/util/misc.h (vasprintf, xasprintf): Add
	prototypes.
	* util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
	* util/grub-mkfont.c (write_font): Likewise.
	* util/grub-probe.c (probe): Likewise.
	* util/hostdisk.c (make_device_name): Likewise.
2009-12-07 16:46:24 +00:00
Vladimir 'phcoder' Serbinenko 0f355bc6b3 add memory routines 2009-12-07 16:16:10 +01:00
Vladimir 'phcoder' Serbinenko d5b44e501d retrieve firmware arguments 2009-12-07 02:09:39 +01:00
Vladimir 'phcoder' Serbinenko b391bdb2f2 Use dedicated simple password retriever for size of future crypto disks modules and simplify entering passwords routines 2009-12-06 20:11:50 +01:00
Vladimir 'phcoder' Serbinenko 7d624c2949 merge mainline into crypto 2009-12-05 16:34:27 +01:00
Vladimir 'phcoder' Serbinenko 9d1fafb96e Move include/grub/cipher_wrap.h to lib/libgcrypt_wrap/cipher_wrap.h 2009-12-05 16:33:39 +01:00
Robert Millan c4282e6cb3 Remove mips/reboot.h. 2009-12-04 00:05:48 +00:00
Robert Millan 69ac6c405a Merge from trunk 2009-12-04 00:04:41 +00:00
Robert Millan 6b8474f8e8 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
* commands/halt.c: Replace misc arch-specific headers with
        `<grub/misc.h>'.
        * commands/reboot.c: Likewise.
        * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
        `<grub/misc.h>'.
        * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
        (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
        (kernel_img_SOURCES): ... to here.

        * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
        * include/grub/i386/pc/init.h: Likewise.
        * include/grub/powerpc/ieee1275/kernel.h: Likewise.
        * include/grub/sparc64/ieee1275/kernel.h: Likewise.

        * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.

        * include/grub/i386/halt.h: Remove.
        * include/grub/i386/reboot.h: Likewise.

        * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
2009-12-03 23:07:29 +00:00
Robert Millan 5239348f18 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
Use the same reboot approach on i386 coreboot and qemu as we do on
        BIOS.

        * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
        (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
        * kern/i386/reboot.c: Remove.
        * include/grub/i386/reboot.h (grub_reboot): Export function.
        * kern/i386/pc/startup.S (grub_reboot): Move from here ...
        * kern/i386/realmode.S (grub_reboot): ... to here.  Jump to
        0xf000:0xfff0 instead of 0xffff:0x0000.
        [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
        * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
2009-12-02 22:48:02 +00:00
Vladimir 'phcoder' Serbinenko 035a008c13 Remove leftover 2009-12-02 11:44:29 +01:00
Vladimir 'phcoder' Serbinenko 537ee0a5f1 Merge relocators into mips 2009-12-02 09:55:04 +01:00
Vladimir 'phcoder' Serbinenko 4f41a23d4e merge mainline into mips 2009-12-02 09:51:36 +01:00
Vladimir 'phcoder' Serbinenko 7b5f334bc0 Rename qemu-r4k to qemu-mips 2009-12-02 08:49:36 +01:00
Vladimir 'phcoder' Serbinenko e6b9873356 Remove qemu-mipssim 2009-12-02 08:40:51 +01:00
Vladimir 'phcoder' Serbinenko 3e5c7dc3d8 Fix qemu-r4k 2009-12-02 08:39:17 +01:00
Vladimir 'phcoder' Serbinenko e45f7848e6 merged mainline into pci 2009-11-30 16:39:59 +01:00
Vladimir 'phcoder' Serbinenko 9ec25583a9 Merge bmpidx into gfxmenu 2009-11-29 15:25:13 +01:00
Vladimir 'phcoder' Serbinenko f704cae368 Fix declarations of previous commit 2009-11-28 00:46:09 +01:00
Vladimir 'phcoder' Serbinenko 1708050b6f GOP support
Also-By: Bean Lee <>
2009-11-28 00:15:04 +01:00
Vladimir 'phcoder' Serbinenko 3d1933fb20 Fix compilation on x86_64-efi 2009-11-27 10:57:52 +01:00
Vladimir 'phcoder' Serbinenko 159194989d Ported xnu to relocator framework 2009-11-27 09:42:50 +01:00
Vladimir 'phcoder' Serbinenko 105b69abbd merged relocators into mips 2009-11-26 21:42:31 +01:00
Vladimir 'phcoder' Serbinenko 53e08cc54c Merged mainstream into newuuid 2009-11-25 23:50:54 +01:00
Vladimir 'phcoder' Serbinenko 636813f768 Split relocators from mips branch 2009-11-25 23:39:59 +01:00
Vladimir 'phcoder' Serbinenko bde358ac91 merged with mainline 2009-11-25 23:17:32 +01:00
Robert Millan e4612999e6 Merge from trunk. 2009-11-25 21:34:53 +00:00
Vladimir 'phcoder' Serbinenko 0e8489094a mainstream merged into pci 2009-11-25 15:15:30 +01:00
Carles Pina i Estany 4a8572e9d8 2009-11-24 Carles Pina i Estany <carles@pina.cat>
* conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* gettext/gettex.c: Include <grub/i18n.h>.
	* include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
 	  here ...
	* include/grub/i18n.h: ... to here
	* include/grub/i18n.h: ... to here.
	* kern/misc.c: Include <grub/i18n.h>
	(grub_gettext_dummy): Move above user.
2009-11-24 21:42:14 +00:00
Felix Zielcke 4501250b6c 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkrelpath.c: New file.
	* conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
	(grub_mkrelpath_SOURCES): New variable.
	* include/grub/util/misc.h: New function prototype.
	* util/misc.c (make_system_path_relative_to_its_root): New function.

	* util/grub-mkconfig_lib.in (bindir): New variable.
	(grub_mkrelpath): Likewise.
	(make_system_path_relative_to_its_root): Use grub-mkrelpath.

	* util/probe.c (probe): Make the file path relative to its root.
	Change a info message to use the GRUB path.  Enable again the
	check if we can read the file with GRUB facilities.

	* util/i386/pc/grub-setup.c (setup): Make core.img path relative
	to its root.
2009-11-24 15:00:25 +01:00
Vladimir 'phcoder' Serbinenko 947fa16c8b Important speedup by not redrawing too much 2009-11-24 07:17:18 +01:00
Vladimir 'phcoder' Serbinenko 59f746dc5f merged mainstream into crypto 2009-11-24 02:54:35 +01:00
Vladimir 'phcoder' Serbinenko 3dcf83ba7d merged mainstream into gfxmenu 2009-11-24 01:22:41 +01:00
Carles Pina i Estany b58fc33c4f Merging with trunk 2009-11-23 20:34:42 +00:00
Vladimir 'phcoder' Serbinenko 4996893238 definition fixes 2009-11-23 21:15:44 +01:00
Robert Millan f84b481b35 Cheery-pick grub-emu split from experimental (rev 1361)
2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

        * configure.ac: Detect all `emu' platforms.  Define
        GRUB_MACHINE_* macros in TARGET_CFLAGS.  Remove
        --enable-grub-emu logic.  Disable include/grub/machine
        symlink on `emu' platforms.

        * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
        * gensymlist.sh.in: Likewise.

        * include/grub/i386/coreboot/machine.h: Remove file.
        * include/grub/i386/efi/machine.h: Likewise.
        * include/grub/i386/ieee1275/machine.h: Likewise.
        * include/grub/i386/pc/machine.h: Likewise.
        * include/grub/i386/qemu/machine.h: Likewise.
        * include/grub/powerpc/ieee1275/machine.h: Likewise.
        * include/grub/sparc64/ieee1275/machine.h: Likewise.
        * include/grub/x86_64/efi/machine.h: Likewise.

        * commands/acpi.c: Remove `<grub/machine/machine.h>'.
        * commands/halt.c: Likewise.
        * commands/reboot.c: Likewise.
        * include/grub/autoefi.h: Likewise.
        * include/grub/i386/at_keyboard.h: Likewise.
        * include/grub/i386/kernel.h: Likewise.
        * include/grub/i386/loader.h: Likewise.
        * include/grub/i386/pc/memory.h: Likewise.
        * kern/dl.c: Likewise.
        * kern/i386/coreboot/init.c: Likewise.
        * loader/i386/bsd.c: Likewise.
        * loader/i386/linux.c: Likewise.
        * loader/multiboot_loader.c: Likewise.
        * term/i386/pc/serial.c: Likewise.
        * term/usb_keyboard.c: Likewise.

        * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
        `<grub/machine/machine.h>'
        [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
        * util/misc.c: Remove `<grub/machine/machine.h>' and
        `<grub/machine/time.h>'.

        * Makefile.in (enable_grub_emu): Remove variable.
        Include $(srcdir)/conf/any-emu.mk for the `emu' platform.

        * conf/any-emu.rmk: New file.
        * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
        (grub_emu_init.c): Move from here ...
        * conf/any-emu.rmk: ... to here.

        * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
        (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
        * conf/any-emu.rmk: ... to here.
2009-11-23 15:31:54 +00:00
Robert Millan 4efeab03dc 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/parser.h (grub_parser_register): Document need
        of `name' parameter.
        * normal/main.c (grub_normal_read_line): Simplify prompt string.
        * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
        "sh" to "grub".
2009-11-23 15:23:55 +00:00
Robert Millan ea1dd8bf0a 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
* Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
        `$(XGETTEXT)'.
        * include/grub/i18n.h (N_): New macro.
        * util/mkisofs/mkisofs.h: Likewise.
        * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
        around N_().
        (usage): Use gettext() to translate help strings when printing them.
2009-11-23 13:18:07 +00:00
Vladimir 'phcoder' Serbinenko 5acc2aba78 merged mainline into PCI 2009-11-23 11:15:24 +01:00
Carles Pina i Estany e5fb78c684 This commit is the same than gettext08.patch (see mailing list) 2009-11-22 12:50:46 +00:00
Carles Pina i Estany 0648f857ea Different changes following Robert's email 20091121230904.GA29740@thorin 2009-11-22 11:49:54 +00:00
Vladimir 'phcoder' Serbinenko 5afcd00788 merge mainstream into mips 2009-11-21 21:45:32 +01:00
Vladimir 'phcoder' Serbinenko 6abdf8e20d Fix for native miscompilation 2009-11-21 17:33:52 +01:00
Colin D Bennett d45b547fa6 merge trigonometry 2009-11-20 16:03:44 +01:00
Colin D Bennett d920a32ab6 gfxmenu import 2009-11-20 16:02:58 +01:00
Colin D Bennett bd86691a07 2009-11-20 Colin D Bennett <colin@gibibit.com>
* include/grub/misc.h (grub_iscntrl): New inline function.
	(grub_isalnum): Likewise.
	(grub_strtol): Likewise.
2009-11-20 15:09:48 +01:00
Colin D Bennett cbf97a87d9 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
(grub_menu_viewer_should_return): Likewise.
	* normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
	* normal/menu_text.c (run_menu): Enable menu switching.
	* normal/menu_viewer.c (should_return): New variable.
	(menu_viewer_changed): Likewise.
	(grub_menu_viewer_show_menu): Handle menu viewer changes.
	(grub_menu_viewer_should_return): New function.
	(menuviewer_write_hook): Likewise.
	(grub_menu_viewer_init): Likewise.
2009-11-20 14:51:01 +01:00
Vladimir 'phcoder' Serbinenko ac3b7128d6 2009-11-20 Colin D Bennett <colin@gibibit.com>
* normal/menu_text.c (get_entry_number): Move from here ...
	* normal/menu.c (get_entry_number): ... moved here.
	* include/grub/menu.h (grub_menu_get_default_entry_index):
	New prototype.
	* normal/menu.c (grub_menu_get_default_entry_index): New function.
	* normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
2009-11-20 14:45:33 +01:00
Carles Pina i Estany 44883dfbd5 2009-11-19 Carles Pina i Estany <carles@pina.cat>
* include/grb/i18n_grub.h: same than i18n.h but for Grub Kernel.
	* include/grub/misc.h: includes i18n_grub.h.
	* normal/menu_text.c: gettize more strings.
	* po/POTFILES: Update with new file.
	* po/ca.po: New strings.
2009-11-19 21:43:09 +00:00
Carles Pina i Estany fbc5e89710 Syncs with trunk 2009-11-19 21:18:38 +00:00
Felix Zielcke b2f1e32746 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
* include/grub/x86_64/io.h: New file.
2009-11-19 09:33:56 +01:00
Robert Millan 769ae37bfd Merge my gettext branch (gettext support in build system for GRUB utilities) 2009-11-17 20:23:06 +00:00
Robert Millan 9a90f817a0 Move i18n declarations to their own file. 2009-11-17 09:52:08 +00:00
Vladimir 'phcoder' Serbinenko 0e3c54a5c5 PBKDF2 passwords available 2009-11-24 02:36:21 +01:00
Robert Millan 83bdecaf2a 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
Relicense multiboot.h, with RMS' blessing.

        * include/multiboot.h: Change to X11 license.
2009-11-15 23:22:45 +00:00
Vladimir 'phcoder' Serbinenko 228734ab02 MAX_PASSLEN based authentication 2009-11-15 23:36:42 +01:00
Vladimir 'phcoder' Serbinenko 10e53efaee crypto_memcmp 2009-11-15 23:31:27 +01:00
Vladimir 'phcoder' Serbinenko 6e7d9194d1 Add HMAC and PBKDF2 2009-11-24 02:32:29 +01:00
Colin D Bennet c51a5caeab 2009-11-14 Colin D Bennet <colin@gibibit.com>
2009-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for gfxterm in a window.

	* include/grub/gfxterm.h: New file.
	* include/grub/video.h (struct grub_video_rect): New declaration.
	(grub_video_rect_t): Likewise.
	* term/gfxterm.c (struct grub_gfxterm_window): New type.
	(refcount): New variable.
	(render_target): Likewise.
	(window): Likewise.
	(repaint_callback): Likewise.
	(grub_virtual_screen_setup): Use 'render_target'.
	(init_window): New function.
	(grub_gfxterm_init_window): Likewise.
	(grub_gfxterm_init): Check reference counter.
	Use init_window.
	(destroy_window): New function.
	(grub_gfxterm_destroy_window): Likewise.
	(grub_gfxterm_fini): Check reference counter.
	Use destroy_window.
	(redraw_screen_rect): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(write_char): Use 'render_target'.
	(draw_cursor): Likewise.
	(scroll_up): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(grub_gfxterm_cls): Likewise.
	(grub_gfxterm_refresh): Use 'window'.
	(grub_gfxterm_set_repaint_callback): New function.
	(grub_gfxterm_background_image_cmd): Use 'window'.
	(grub_gfxterm_get_term): New function.
	(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2009-11-15 00:03:03 +01:00
Vladimir 'phcoder' Serbinenko a9d407a81e Reimported scaling 2009-11-20 10:46:30 +01:00
Colin D Bennet 85536ab717 2009-11-14 Colin D Bennet <colin@gibibit.com>
Trigonometry support.

	* include/grub/trig.h: New file.
	* lib/trig.c: Likewise.
	* maintainance/gentrigtables.py: Likewise.
	* conf/common.rmk (pkglib_MODULES): Add trig.mod.
	(trig_mod_SOURCES): New variable.
	(trig_mod_CFLAGS): Likewise.
	(trig_mod_LDFLAGS): Likewise.
2009-11-14 23:11:55 +01:00
Vladimir 'phcoder' Serbinenko bbe73b0995 Improved performance by not requiring updating swap in gfxterm 2009-11-14 17:59:11 +01:00
Vladimir 'phcoder' Serbinenko 1f56d83788 Initial reimport of double buffering 2009-11-14 17:00:39 +01:00
Vladimir 'phcoder' Serbinenko df48e9e18d REimport of videomask patch 2009-11-14 16:25:50 +01:00
Carles Pina i Estany 203ffbfa31 Adds gettext support in Grub. Building system needs to be improved and maybe userland utilites improved.
YYYY-MM-DD  Carles Pina i Estany <carles@pina.cat>

	* Makefile.in: Add uptrans target to help to update .pot file
	* conf/common.rmk: Add grub-gettext_lib target, dependency and SOURCES, CFLAGS, LDFLAGS
	* kern/misc.c: Define grub_gettext symbol and add implement grub_gettext_dummy function
	* po/TODO: Temporary file with instructions of what Makefile.in will do
	* po/ca.po: Catalan translation stub
	* include/grub/misc.h: Define macro _(char *s). Declare grub_gettext_dummy and grub_gettext
	* gettext/gettext.c: New file with gettext implementation
	* normal/menu.c (print_message): add _( ) to some strings
	* util/grub.d/10_linux.in: include grub-gettext_lib file. For the Linux menuentry, call eval_gettext
	* util/grub.d/00_header.in: add locale_prefix and gettext locale detection and setting up the access to the mo directory
	* util/grub-mkconfig_lib.in: add get_locale_lang
	* util/grub-gettext_lib.in: new file
2009-11-13 20:39:33 +00:00
Robert Millan 8d0edf4abd 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/multiboot.h (struct grub_multiboot_header): Move
        from here ...
        * include/multiboot.h (struct multiboot_header): ... to here.  Update
        all users.
        * include/grub/multiboot.h (struct grub_multiboot_info): Move
        from here ...
        * include/multiboot.h (struct multiboot_info): ... to here.  Update
        all users.
        * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
        from here ...
        * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
        Update all users.
        * include/grub/multiboot.h (struct grub_mod_list): Move
        from here ...
        * include/multiboot.h (struct multiboot_mod_list): ... to here.
        Update all users.
2009-11-13 13:34:51 +00:00
Robert Millan 6944770e0c 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot2.h (multiboot_word): Rename from this ...
        (multiboot2_word): ... to this.  Update all users.
        (multiboot_header): Rename from this ...
        (multiboot2_header): ... to this.  Update all users.
        (multiboot_tag_header): Rename from this ...
        (multiboot2_tag_header): ... to this.  Update all users.
        (multiboot_tag_start): Rename from this ...
        (multiboot2_tag_start): ... to this.  Update all users.
        (multiboot_tag_name): Rename from this ...
        (multiboot2_tag_name): ... to this.  Update all users.
        (multiboot_tag_module): Rename from this ...
        (multiboot2_tag_module): ... to this.  Update all users.
        (multiboot_tag_memory): Rename from this ...
        (multiboot2_tag_memory): ... to this.  Update all users.
        (multiboot_tag_unused): Rename from this ...
        (multiboot2_tag_unused): ... to this.  Update all users.
        (multiboot_tag_end): Rename from this ...
        (multiboot2_tag_end): ... to this.  Update all users.
2009-11-13 13:30:55 +00:00
Felix Zielcke f4c62ed6ed Merge trunk 2009-11-13 14:15:36 +01:00
Vladimir 'phcoder' Serbinenko 37f7911f01 Fix compilation error 2009-11-13 01:27:38 +01:00
Vladimir 'phcoder' Serbinenko fbf62978dc Improved error handling 2009-11-13 00:27:04 +01:00
Vladimir 'phcoder' Serbinenko d944246c6a Created crypto module. Moved some functions to it. 2009-11-12 22:40:14 +01:00
Vladimir 'phcoder' Serbinenko 414f919237 Various cleanups and wrapper functions. Allocate disk id for LUKS. 2009-11-12 18:08:44 +01:00
Vladimir 'phcoder' Serbinenko a4bafc4710 First working cipher import 2009-11-10 20:51:22 +01:00
Vladimir 'phcoder' Serbinenko 39f7c91b50 base for ciphers and digests 2009-11-10 01:01:11 +01:00
Vladimir 'phcoder' Serbinenko 77546cfd8f Restored missing headers 2009-11-09 22:07:57 +01:00
Vladimir 'phcoder' Serbinenko 99145bdc4b Merged with mainline 2009-11-09 21:58:49 +01:00
Vladimir 'phcoder' Serbinenko da547ac323 merged with mainstream 2009-11-09 21:16:25 +01:00
Vladimir 'phcoder' Serbinenko 58806db847 Improvements in headers 2009-11-09 20:30:40 +01:00
Vladimir 'phcoder' Serbinenko 1d3c6f1de7 Manually reimported XNU branch 2009-11-09 18:43:53 +01:00
Vladimir 'phcoder' Serbinenko 3f02806841 Merged with trunk 2009-11-09 18:18:01 +01:00
Vladimir 'phcoder' Serbinenko c9b1ebc10b First try to gcry glue 2009-11-09 17:13:17 +01:00
Robert Millan 325f503783 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/list.h (struct grub_named_list): Remove `const'
        qualifier from `name'.
        (struct grub_prio_list): Likewise.
2009-11-09 14:25:03 +00:00
Robert Millan c02a733496 Add a few files that were lost during transition from svn. 2009-11-08 16:57:31 +00:00
Felix Zielcke 50ceeb7cb5 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
* util//grub-mkconfig_lib.in (bindir): New variable.
	(grub_mkrelpath): Likewise.
	Properly set path variable.  Use ${grub_mkrelpath} instead of
	calling it directly.

2009-11-02  Felix Zielcke  <fzielcke@z-51.de>

	* util/probe.c (probe): Make the file path relative to its root.
	Change a info message to use the GRUB path.  Enable again the
	check if we can read the file with GRUB facilities.

2009-11-01  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkrelpath.c: New file.
	* conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
	(grub_mkrelpath_SOURCES): New variable.
	* include/grub/util/misc.h: New function prototype.
	* util/misc.c (make_system_path_relative_to_its_root): New function.

	* util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
	Use grub-mkrelpath.
2009-11-08 01:49:15 +01:00
Vladimir 'phcoder' Serbinenko b0979f1191 Cleaned up CS5536 ATA compat support 2009-11-06 22:50:44 +01:00
Vladimir 'phcoder' Serbinenko 02602a7002 Cleaned __gnu_local_gp handling 2009-11-06 17:37:31 +01:00
Vladimir 'phcoder' Serbinenko cc32314161 Removed memset declaration 2009-11-03 00:05:41 +01:00
Vladimir 'phcoder' Serbinenko 811c0d8b5c missing kbd files 2009-11-03 00:00:59 +01:00
Vladimir 'phcoder' Serbinenko 1b4595cebf AT keyboard support for Yeeloong 2009-11-02 23:57:09 +01:00
Vladimir 'phcoder' Serbinenko 810d8224cd PCI cleanup 2009-11-02 23:42:07 +01:00
Vladimir 'phcoder' Serbinenko 6174923799 merged with upstream 2009-11-02 23:29:51 +01:00
robertmh 95b9239e13 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/misc.h: Stop checking for APPLE_CC.
2009-10-28 22:55:27 +00:00
robertmh 083d16798e 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
* gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
        from here ...
        * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
2009-10-26 18:04:37 +00:00
robertmh 042484d78e 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
        `reserved_first_sector' member.
        * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
        `reserved_first_sector' to 1.
        * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
        * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
        * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
        * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
        filesystems which begin at first sector.
        (options): New option --skip-fs-probe.   
        (main): Handle --skip-fs-probe and pass it to setup().
2009-10-25 15:23:48 +00:00
robertmh d64448a72c 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
        (memset): Fix function prototype.
2009-10-25 15:14:25 +00:00
robertmh 346e7fbedb 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
* configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
        `__trampoline_setup' and `__ucmpdi2'.
        * include/grub/powerpc/libgcc.h: Only export symbols for functions
        that libgcc provides.
2009-10-24 23:26:53 +00:00
robertmh cdb308b0e1 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/powerpc/libgcc.h (memset): Remove function prototype.
        * include/grub/sparc64/libgcc.h (memset): Likewise.
        * include/grub/misc.h (memset, memcmp): New function prototypes.
2009-10-24 23:26:42 +00:00
phcoder a9b7a540bd font preload 2009-10-24 12:44:42 +02:00
phcoder f0628ef04f additional "machines" 2009-10-23 18:21:15 +02:00
phcoder 270bd79ca7 kernel constants updated 2009-10-23 18:20:52 +02:00
phcoder 061282ed11 bonito impl. I/O cleanup 2009-10-22 17:10:54 +02:00
phcoder 0f8d98dad2 Merge branch 'pci' into mips 2009-10-22 14:32:09 +02:00
phcoder 1e4f46c162 fixed pci base address 2009-10-19 18:08:44 +02:00
phcoder 82b1f15b6b declaration fix 2009-10-19 13:06:16 +02:00
phcoder e145631831 pci for yeeloong 2009-10-19 13:03:38 +02:00
phcoder b78f2e6e10 Merge branch 'mainline' into mips 2009-10-18 16:12:53 +02:00
phcoder 4a1eefb623 Revert "simplify mipsel handling"
This reverts commit 3451c43f4938a20aee5a2c0d0fa17c29e40b989b.

Conflicts:

	configure.ac
2009-10-18 15:06:47 +02:00
phcoder a9a6948ac3 grub as flash for qemu-gdium 2009-10-18 15:04:14 +02:00
phcoder ad17a401d6 new image format for mips. Asm part 2009-10-18 14:10:31 +02:00
phcoder 1c2cdb26d3 yeeloong headers 2009-10-18 12:04:20 +02:00
phcoder cba2cae2f5 simplified serial 2009-10-18 11:49:09 +02:00
phcoder d71b572aea empty loader.h added 2009-10-18 00:25:22 +02:00
phcoder fdb3c3acb0 simplify mipsel handling 2009-10-18 00:22:15 +02:00
phcoder 81a642e8e2 linux.c 2009-10-16 17:40:59 +02:00
phcoder 6b5886ba66 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
Revert 2009-06-10  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Put checks for __bswapsi2 and __bswapdi2.
	* include/grub/powerpc/libgcc.h: Don't use weak attribute for all
	exports.
	* include/grub/sparc64/libgcc.h: Likewise.  Use
	preprocessor conditionals.
2009-10-15 11:55:06 +00:00
phcoder 459fed4b98 pciaccess 2009-10-14 18:17:18 +02:00
phcoder 325c8258e7 lspci works in grub-emu 2009-10-14 10:36:37 +02:00
phcoder 3affd0ece8 libpci initial stuff 2009-10-14 10:11:59 +02:00
phcoder 023593d766 relocator dor mips 2009-10-11 23:00:22 +02:00
phcoder 6cb9ffbd75 Merge branch 'relocator' into mips 2009-10-11 22:21:28 +02:00
phcoder 1540a08402 various fixes. MIPSsim support 2009-10-11 18:18:18 +02:00
phcoder 50739170db seems to work now. A lot is still missing though 2009-10-11 14:18:58 +02:00
phcoder ffa9860a86 various fixes 2009-10-11 02:07:52 +02:00
phcoder 7d4cfd00ee Merge branch 'serial' into mips 2009-10-10 20:59:33 +02:00
phcoder f651d13a18 split serial 2009-10-10 20:59:18 +02:00
phcoder 33dc6f74d2 bugfixes. Merge MIPS and MIPSel 2009-10-10 14:19:50 +02:00
phcoder 9a54aa14f8 Merge branch 'mainline' into mipsel 2009-10-10 13:47:58 +02:00
phcoder de75aa3d67 Hello from mipsel 2009-10-10 13:30:14 +02:00
robertmh 86564c267a 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/cpuid.h: Add header protection.
2009-10-09 18:23:48 +00:00
robertmh 5c936493d3 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.

        * include/grub/i386/cpuid.h: New file.
        * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
        (has_longmode): Rename to ...
        (grub_cpuid_has_longmode): ... this.  Update all users.  Remove
        `static' attribute.
        * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
        (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
        on a CPU that doesn't implement AMD64 instruction set.
2009-10-09 17:57:02 +00:00
phcoder e27fbc80e4 kernel.img compiles on mipsel-qemu-r4k 2009-10-09 19:50:31 +02:00
robertmh 6b9b6276d4 2009-09-24 Pavel Roskin <proski@gnu.org>
* include/grub/kernel.h (struct grub_module_header): Remove
        `grub_module_header_types'.  Make `type' unsigned.  Make `size'
        32-bit on all platforms.
        * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
        8-bit field.  Use grub_host_to_target32() for `size'.
        * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
        * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
        * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
2009-09-24 13:40:40 +00:00
robertmh 74c958b180 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
        return value.
        * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
        KEYBOARD_ISREADY check.
        (grub_at_keyboard_checkkey): Rename to ...
        (grub_at_keyboard_getkey_noblock): ... this.  Update all users.
        Remove gratuitous cast.
2009-09-24 13:15:51 +00:00
phcoder 8f2e29a2a3 Merge branch 'mainline' into relocator 2009-09-20 19:38:16 +02:00
cjwatson cda2a409b3 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
* include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
	to grub_uint64_t.
	* fs/ntfs.c (init_file): Understand 64-bit sizes for
	non-resident files.
2009-09-11 14:26:12 +00:00
phcoder 12d6fc8461 EFI support 2009-09-03 19:19:59 +02:00
phcoder 8a10b2c632 now hangs at maxDec 2009-09-02 13:34:40 +02:00
phcoder 72db7c22f3 crashing snow64 2009-09-02 02:52:10 +02:00
phcoder 965632c10f snow32 support. 2009-08-30 14:26:41 +02:00
phcoder 64bf71d0b1 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/xnu.h: Add license header.
	include grub/err.h explicitly.
2009-08-29 12:57:38 +00:00
phcoder e7c69859a2 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1-bit optimised blitters.

	* include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
	prototype.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
	function.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
	when possible.
	* video/video.c (grub_video_get_blit_format): Return
	GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
2009-08-28 13:54:20 +00:00
cjwatson 4cbe67e509 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
2009-08-28  Robert Millan  <rmh.grub@aybabtu.com>

	Add `getkeystatus' terminal method.  Add a new `keystatus' command
	to query it.

	* include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
	GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
	modifier key bitmasks.
	(struct grub_term_input): Add `getkeystatus' member.
	(grub_getkeystatus): Add prototype.
	* kern/term.c (grub_getkeystatus): New function.

	* include/grub/i386/pc/memory.h
	(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
	(struct grub_machine_bios_data_area): Define necessary parts of BIOS
	Data Area layout.
	* term/i386/pc/console.c (grub_console_getkeystatus): New function.
	(grub_console_term_input): Set `getkeystatus' member.
	* term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
	constants.
	(grub_usb_keyboard_getreport): Likewise.
	(grub_usb_keyboard_checkkey): Likewise.
	(grub_usb_keyboard_getkeystatus): New function.
	(grub_usb_keyboard_term): Set `getkeystatus' member.

	* commands/keystatus.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
	(keystatus_mod_SOURCES): New variable.
	(keystatus_mod_CFLAGS): Likewise.
	(keystatus_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
	commands/keystatus.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* DISTLIST: Add commands/keystatus.c.
2009-08-28 13:20:34 +00:00
phcoder 552bf6c568 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
NetBSD memory map support.

	* include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
	(grub_netbsd_btinfo_mmap_header): New structure.
	(grub_netbsd_btinfo_mmap_entry): Likewise.
	* loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2009-08-26 00:32:57 +00:00
phcoder e7e1f93ff6 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Authentication support.

	* commands/password.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add password.mod.
	(password_mod_SOURCES): New variable.
	(password_mod_CFLAGS): Likewise.
	(password_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Add normal/auth.c.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
	normal/auth.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* include/grub/auth.h: New file.
	* include/grub/err.h (grub_err_t): New enum value
	GRUB_ERR_ACCESS_DENIED.
	* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
	'users'.
	* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
	* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
	users updated.
	* normal/auth.c: New file.
	* normal/main.c (grub_normal_add_menu_entry): Handle --users option.
	(grub_cmdline_run): Don't allow to go to command line without
	authentication.
	* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
	* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
	menuentry without superuser rights.
	* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
	user isn't a superuser.
2009-08-24 23:55:06 +00:00
phcoder 70f1161d13 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Save space by inlining misc.c functions.

	* kern/misc.c (grub_iswordseparator): Made static.
	* kern/misc.c (grub_strcat): Moved from here ...
	* include/grub/misc.h (grub_strcat): ... here. Inlined.
	* kern/misc.c (grub_strncat): Moved from here ...
	* include/grub/misc.h (grub_strncat): ... here. Inlined.
	* kern/misc.c (grub_strcasecmp): Moved from here ...
	* include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
	* kern/misc.c (grub_strncasecmp): Moved from here ...
	* include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
	* kern/misc.c (grub_isalpha): Moved from here ...
	* include/grub/misc.h (grub_isalpha): ... here. Inlined.
	* kern/misc.c (grub_isdigit): Moved from here ...
	* include/grub/misc.h (grub_isdigit): ... here. Inlined.
	* kern/misc.c (grub_isgraph): Moved from here ...
	* include/grub/misc.h (grub_isgraph): ... here. Inlined.
	* kern/misc.c (grub_tolower): Moved from here ...
	* include/grub/misc.h (grub_tolower): ... here. Inlined.
2009-08-24 19:40:40 +00:00
phcoder dd103c4e04 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Fix OpenBSD and NetBSD support.

	* include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
	memory address conflict.
	(OPENBSD_MMAP_ACPI): New definition.
	(OPENBSD_MMAP_NVS): Likewise.
	* loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
	and OPENBSD_MMAP_NVS.
	Add memory map terminator
	Explicit cast when calling grub_unix_real_boot.
	(grub_nebsd_boot): Explicit cast when calling grub_unix_real_boot.
2009-08-24 13:20:24 +00:00
phcoder f5ae9f745f 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Support --no-smp and --no-acpi for NetBSD.

	* include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
	(NETBSD_AB_NOACPI): Likewise.
	* loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
	(netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2009-08-24 12:55:19 +00:00
robertmh 71acf5e54b 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
* partmap/pc.c: Rename to ...
        * partmap/msdos.c: ... this.  Update all users.
        (grub_pc_partition_map): Rename to ...
        (grub_msdos_partition_map): ... this.  Update all users.

        * parttool/pcpart.c: Rename to ...
        * parttool/msdospart.c: ... this.  Update all users.

        * include/grub/pc_partition.h: Rename to ...
        * include/grub/msdos_partition.h: ... this.  Update all users.
        (grub_pc_partition_bsd_entry): Rename to ...
        (grub_msdos_partition_bsd_entry): ... this.  Update all users.
        (grub_pc_partition_disk_label): Rename to ...
        (grub_msdos_partition_disk_label): ... this.  Update all users.
        (grub_pc_partition_entry): Rename to ...
        (grub_msdos_partition_entry): ... this.  Update all users.
        (grub_pc_partition_mbr): Rename to ...
        (grub_msdos_partition_mbr): ... this.  Update all users.
        (grub_pc_partition): Rename to ...
        (grub_msdos_partition): ... this.  Update all users.
        (grub_pc_partition_is_empty): Rename to ...
        (grub_msdos_partition_is_empty): ... this.  Update all users.
        (grub_pc_partition_is_extended): Rename to ...
        (grub_msdos_partition_is_extended): ... this.  Update all users.
        (grub_pc_partition_is_bsd): Rename to ...
        (grub_msdos_partition_is_bsd): ... this.  Update all users.

        * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
        (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
        (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
        (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
        (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
        (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
        (gpt_mod_LDFLAGS): Rename to ...
        (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
        (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
        (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
        (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
        (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
        (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
        (part_gpt_mod_LDFLAGS): ... this.
        (pkglib_MODULES): Prefix partition modules with `part_'.  Rename
        `pcpart.mod' to `msdospart.mod'.
        (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
        to ...
        (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
        (msdospart_mod_LDFLAGS): ... this.
2009-08-23 12:00:57 +00:00
Vladimir 'phcoder' Serbinenko 5e03640baf Merge branch 'mainline' into relocator
Conflicts:
	loader/i386/multiboot.c
2009-08-23 01:31:12 +02:00
proski b7da6babe8 2009-08-18 Pavel Roskin <proski@gnu.org>
* include/grub/fbfill.h (struct grub_video_fbrender_target): Use
	grub_uint8_t pointer for data.
	* include/grub/fbutil.h (struct grub_video_fbblit_info):
	Likewise.
	* video/fb/fbutil.c: Remove unnecessary casts.
2009-08-18 17:26:35 +00:00
phcoder 6025fcd7f9 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
Remove duplicate grub_video_fb_get_video_ptr.

	* include/grub/fbutil.h (get_data_ptr): Rename to ...
	(grub_video_fb_get_video_ptr): ... this.
	* include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
	* video/fb/fbutil.c: Add comment about addressing.
	(get_data_ptr): Rename to ...
	(grub_video_fb_get_video_ptr): ... this. All users updated.
	* video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2009-08-17 13:34:24 +00:00
phcoder d3539132cd 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
Framebuffer split.

	* commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
	subsystem at the end.
	* conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
	(video_fb_mod_SOURCES): New variable.
	(video_fb_mod_CFLAGS): Likewise.
	(video_fb_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
	video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
	* video/i386/pc/vbeblit.c: Moved from here ...
	* video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbefill.c: Moved from here ...
	* video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbeutil.c: Moved from here ...
	* video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbeblit.h: Moved from here ...
	* include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbefill.h: Moved from here ...
	* include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbeutil.h: Moved from here ...
	* include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbe.h: Moved framebuffer part ...
	* include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
	(GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
	(grub_video_adapter): Added 'get_info_and_fini'.
	(grub_video_get_info_and_fini): New prototype.
	(grub_video_set_mode): make modestring const char *.
	* loader/i386/linux.c (grub_linux_setup_video): Use
	grub_video_get_info_and_fini.
	(grub_linux_boot): Move modesetting just before booting.
	* loader/i386/pc/xnu.c (grub_xnu_set_video): Use
	grub_video_get_info_and_fini.
	* video/i386/pc/vbe.c: Moved framebuffer part ...
	* video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
	grub_video_fbstd_colors and grub_video_fb_set_palette.
	(grub_video_vbe_init): Clear 'framebuffer' variable and use
	grub_video_fb_init.
	(grub_video_vbe_fini): Use grub_video_fb_fini.
	(grub_video_vbe_setup): Use framebuffer.render_target instead of
	render_target and use grub_video_fb_set_active_render_target and
	grub_video_fb_set_palette.
	(grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
	(grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
	(grub_video_vbe_adapter): Use framebuffer.
	* video/video.c (grub_video_get_info_and_fini): New function.
	(grub_video_set_mode): Make modestring const char *.
	(GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
	values are already initialised.
2009-08-14 12:41:58 +00:00
proski be3c9ca7cb 2009-08-13 Yves Blusseau <blusseau@zetam.org>
* include/grub/symbol.h: Add the LOCAL macro.
	* boot/i386/pc/boot.S: Use the LOCAL macro for all labels
	starting with "L_".
2009-08-13 06:09:39 +00:00
robertmh 81623db677 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
        (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
        (bsd_kernel_types): ... this enum.

        * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
        (grub_cmd_freebsd_module_elf): Abort with "You need to load the
        kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.

        (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
        (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
        (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
        messages.
2009-08-10 15:42:39 +00:00
proski b5f16cc4cf 2009-08-08 Pavel Roskin <proski@gnu.org>
* include/grub/powerpc/libgcc.h: Export __ashrdi3() if
	available, xfs.mod needs it now.
2009-08-08 05:58:23 +00:00
Vladimir 'phcoder' Serbinenko b131c45455 Improvements for Apple? 2009-08-05 19:58:05 +02:00
Vladimir 'phcoder' Serbinenko 5c29f4d962 Improvements 2009-08-05 19:30:43 +02:00
robertmh f56a875639 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
Fix a bug resulting in black screen when loading Linux using a
        packed video mode.

        * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
        function.

        * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
        (grub_vbe_bios_getset_dac_palette_width): New function.
        (grub_vbe_bios_get_dac_palette_width)
        (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
        grub_vbe_bios_getset_dac_palette_width()).

        * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
        check for return status.
        (grub_vbe_get_video_mode_info): When getting information for a packed
        mode (<= 8 bpp), obtain DAC palette width using
        grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
        {red,green,blue}_mark_size.
2009-08-04 21:28:19 +00:00
Vladimir 'phcoder' Serbinenko 7c8f178d02 realloc 2009-08-03 14:30:51 +02:00
Vladimir 'phcoder' Serbinenko e7573c5ce2 lib/relocator 2009-08-03 12:48:25 +02:00
bean f45d6cfc48 2009-07-31 Bean <bean123ch@gmail.com>
* disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
	Don't change pv->disk if it's already set.

	* disk/raid.c (grub_raid_scan_device): Merge this function into ...
	(grub_raid_register): ... here.
	(grub_raid_rescan): Removed.

	* include/grub/raid.h (grub_raid_rescan): Removed.

	* util/grub-fstest.c: Remove include file <grub/raid.h>.
	(fstest): Replace grub_raid_rescan with module fini function followed
	by init function.

	* util/grub-probe.c: Add include file <grub/raid.h>.
	(probe_raid_level): New function.
	(probe): Detect abstraction by walking the disk device, support two
	level of abstraction (LVM on RAID) when detecting partition map.
2009-07-31 14:25:19 +00:00
proski 48904cd1a9 2009-07-23 Pavel Roskin <proski@gnu.org>
* include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
	to avoid loss of upper bits if align is unsigned and shorter
	than addr.
2009-07-23 16:41:29 +00:00
proski f76ce8896a 2009-07-21 Pavel Roskin <proski@gnu.org>
* kern/dl.c (grub_dl_check_header): Make static.
2009-07-21 20:18:44 +00:00
proski 5680109e00 2009-07-19 Pavel Roskin <proski@gnu.org>
* Makefile.in: Remove LIBLZO and enable_lzo.
	* conf/i386-pc.rmk: Remove lzo support.
	* configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
	* include/grub/i386/pc/kernel.h: Define ENABLE_LZMA.  Remove lzo
	support.
	* kern/i386/pc/lzo1x.S: Remove.
	* kern/i386/pc/startup.S: Remove lzo support.
	* util/i386/pc/grub-mkimage.c: Likewise.
2009-07-19 20:23:33 +00:00
phcoder ac70fa32dd 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
* disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
	* fs/xfs.c (grub_xfs_dir): Likewise.
	* fs/afs.c (grub_afs_dir): Likewise.
	* fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
	(grub_iso9660_open): Likewise.
	* fs/jfs.c (grub_jfs_open): Likewise.
	* fs/ext2.c (grub_ext2_dir): Likewise.
	* include/grub/macho.h (grub_macho_fat_arch): Likewise.
	* script/sh/lexer.c (grub_script_yylex): Likewise.
2009-07-19 13:59:21 +00:00
proski eab58da22c 2009-07-16 Pavel Roskin <proski@gnu.org>
* kern/mm.c (grub_zalloc): New function.
	(grub_debug_zalloc): Likewise.
	* include/grub/mm.h: Declare grub_zalloc() and
	grub_debug_zalloc().
	* util/misc.c (grub_zalloc): New function.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
	instead of grub_malloc(), remove unneeded initializations.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
	* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
	* commands/parttool.c (grub_cmd_parttool): Likewise.
	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
	* disk/raid5_recover.c (grub_raid5_recover): Likewise.
	* disk/raid6_recover.c (grub_raid6_recover): Likewise.
	* disk/usbms.c (grub_usbms_finddevs): Likewise.
	* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
	* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
	(grub_cmd_efiemu_pnvram): Likewise.
	* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
	* fs/iso9660.c (grub_iso9660_mount): Likewise.
	(grub_iso9660_iterate_dir): Likewise.
	* fs/jfs.c (grub_jfs_opendir): Likewise.
	* fs/ntfs.c (list_file): Likewise.
	(grub_ntfs_mount): Likewise.
	* kern/disk.c (grub_disk_open): Likewise.
	* kern/dl.c (grub_dl_load_core): Likewise.
	* kern/elf.c (grub_elf_file): Likewise.
	* kern/env.c (grub_env_context_open): Likewise.
	(grub_env_set): Likewise.
	(grub_env_set_data_slot): Likewise.
	* kern/file.c (grub_file_open): Likewise.
	* kern/fs.c (grub_fs_blocklist_open): Likewise.
	* loader/i386/multiboot.c (grub_module): Likewise.
	* loader/xnu.c (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	* normal/main.c (grub_normal_add_menu_entry): Likewise.
	(read_config_file): Likewise.
	* normal/menu_entry.c (make_screen): Likewise.
	* partmap/sun.c (sun_partition_map_iterate): Likewise.
	* script/sh/lexer.c (grub_script_lexer_init): Likewise.
	* script/sh/script.c (grub_script_parse): Likewise.
	* video/bitmap.c (grub_video_bitmap_create): Likewise.
	* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* video/readers/png.c (grub_png_output_byte): Likewise.
	(grub_video_reader_png): Likewise.
2009-07-16 22:14:09 +00:00
phcoder ee293aee1b 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Fix hang and segmentation fault in grub-emu-usb

	* disk/scsi.c (grub_scsi_open): return err and not grub_errno
	* util/usb.c (grub_libusb_devices): likewise
	(grub_libusb_init): rename to ...
	(GRUB_MOD_INIT (libusb)):...this
	(grub_libusb_fini): rename to ..
	(GRUB_MOD_FINI (libusb)):...this
	* disk/usbms.c (grub_usbms_transfer): fix retry logic
	* include/grub/disk.h (grub_raid_init): removed, it's useless
	(grub_raid_fini): likewise
	(grub_lvm_init): likewise
	(grub_lvm_fini): likewise
	* util/grub-emu.c (main): don't call grub_libusb_init, it's done
	by grub_init_all
2009-07-16 15:36:43 +00:00
phcoder a58da8c77b 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Fix 64-bit efiemu

	* include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
	correct wrong typedef
	* efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
2009-07-15 22:04:41 +00:00
proski 560ca572fa 2009-07-15 Pavel Roskin <proski@gnu.org>
* include/grub/disk.h (struct grub_disk_dev): Use enum for id.
	* kern/disk.c (struct grub_disk_cache): Likewise.
2009-07-15 19:45:44 +00:00
proski fde24e10a8 2009-07-15 Pavel Roskin <proski@gnu.org>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
	Increase to 0x5a to accommodate FAT32.  Adjust other offsets
	accordingly.
	Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
2009-07-15 15:06:12 +00:00
proski 40b132c562 2009-07-15 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S (boot_version): Remove.
	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
	Remove.
2009-07-15 14:55:24 +00:00
proski 2059157753 2009-07-15 Pavel Roskin <proski@gnu.org>
* include/grub/i386/pc/boot.h: Sort all offsets.
	(GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
	(GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
	* boot/i386/pc/boot.S: Assert location of every offset listed in
	include/grub/i386/pc/boot.h.
2009-07-15 14:54:18 +00:00
proski 44b5d87973 2009-07-13 Pavel Roskin <proski@gnu.org>
* include/grub/i386/coreboot/machine.h: Rename
	GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
	* loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
	multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2009-07-13 23:57:11 +00:00
proski 25f9a05a03 2009-07-07 Pavel Roskin <proski@gnu.org>
* include/grub/util/console.h: New file.
	* util/console.c: Use it instead of grub/machine/console.h.
	* util/grub-emu.c: Likewise.
2009-07-07 20:03:03 +00:00
proski bab7495862 2009-07-05 Pavel Roskin <proski@gnu.org>
* include/grub/i386/linux.h (struct linux_kernel_params):
	Restore padding3, it's still needed.
2009-07-06 02:10:57 +00:00
robertmh 2da9229550 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (struct linux_kernel_params): Add
        `capabilities' member.
2009-07-04 16:29:01 +00:00
proski c94b18a9e5 2009-07-01 Pavel Roskin <proski@gnu.org>
* include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
	using signed long int constants.
2009-07-01 23:38:40 +00:00
proski c8d229882a 2009-07-01 Pavel Roskin <proski@gnu.org>
* kern/dl.c (grub_dl_resolve_symbol): Make static.
	* include/grub/dl.h: Remove grub_dl_resolve_symbol().
2009-07-01 16:00:34 +00:00
proski 1b96e95249 2009-07-01 Pavel Roskin <proski@gnu.org>
* util/misc.c: Move grub_reboot() and grub_halt() ...
	* util/grub-emu.c: ... here.  Make main_env static.
	* include/grub/util/misc.h: Remove main_env.
2009-07-01 15:59:05 +00:00
proski 3262295617 2009-07-01 Pavel Roskin <proski@gnu.org>
* include/grub/elf.h: Define Elf_Sword and Elf_Xword.
	* kern/i386/dl.c: Use ELF symbols without "32" or "64".
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
2009-07-01 14:49:22 +00:00
robertmh a337130b25 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
        type to `grub_uint8_t', and adjust `padding9' accordingly.
2009-07-01 01:04:12 +00:00
robertmh b09db61ddd 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.

        * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
        assembly in final jump, using register constraints.

        (grub_linux_boot): For text mode, initialize `have_vga' using
        GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).

        Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
        right before the final jump.

        Set `video_mode' to 0x3.

        Document initialization of `video_page', `video_mode' and
        `video_ega_bx'.
2009-06-29 17:19:35 +00:00
robertmh 28333ad04f 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
        * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
        and set GRUB_LINUX_FLAG_QUIET appropiately.
2009-06-29 12:20:56 +00:00
robertmh 8231fb77c6 2009-06-27 Pavel Roskin <proski@gnu.org>
2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>

        * include/grub/dl.h: Include grub/elf.h.
        (struct grub_dl): Add symtab field.
        * kern/dl.c [GRUB_MACHINE_QEMU]: Define
        GRUB_MODULES_MACHINE_READONLY.
        (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
        of the header for read-only modules.
        (grub_dl_unload): Free mod->symtab for read-only modules.
        * kern/i386/dl.c: Use mod->symtab.
        * kern/powerpc/dl.c: Likewise.
        * kern/sparc64/dl.c: Likewise.
        * kern/x86_64/dl.c: Likewise.

        * conf/i386-qemu.rmk: New file.
        * kern/i386/qemu/startup.S: Likewise.
        * kern/i386/qemu/mmap.c: Likewise.
        * boot/i386/qemu/boot.S: Likewise.
        * include/grub/i386/qemu/time.h: Likewise.
        * include/grub/i386/qemu/serial.h: Likewise.
        * include/grub/i386/qemu/kernel.h: Likewise.
        * include/grub/i386/qemu/console.h: Likewise.
        * include/grub/i386/qemu/boot.h: Likewise.
        * include/grub/i386/qemu/init.h: Likewise.
        * include/grub/i386/qemu/machine.h: Likewise.
        * include/grub/i386/qemu/loader.h: Likewise.
        * include/grub/i386/qemu/memory.h: Likewise.

        * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
        (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
        [qemu] (pkglib_IMAGES): Add `boot.img'.
        [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
        [qemu] (boot_img_FORMAT): New variables.
        [qemu] (bin_UTILITIES): Add `grub-mkimage'.
        [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
        [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
        [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
        [qemu] (kernel_img_FORMAT): New variables.

        * configure.ac: Recognise `i386-qemu'.

        * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
        (for no compression).
        [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
        a valid i386 ROM image.  Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
        `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
        `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
        ifdefs).
2009-06-27 11:18:10 +00:00
proski c402ab1734 2009-06-26 Pavel Roskin <proski@gnu.org>
* include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
	* include/grub/elf.h: Define symbols without "32" or "64" based
	on GRUB_TARGET_WORDSIZE.
	* include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
	* efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
	ELF definitions.
	* efiemu/loadcore64.c: Likewise.
	* loader/i386/bsd32.c: Likewise.
	* loader/i386/bsd64.c: Likewise.
	* kern/dl.c: Remove own ELF definitions.
	* util/i386/efi/grub-mkimage.c: Likewise.
2009-06-27 03:01:42 +00:00
robertmh a42ce6e962 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
        [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2009-06-22 20:40:28 +00:00
phcoder 3f3ec72b38 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
Load BSD ELF modules

	* conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
	and loader/i386/bsd64.c
	* include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
	(FREEBSD_MODTYPE_ELF_MODULE): New definition
	(FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
	(grub_freebsd_load_elfmodule32): New declaration
	(grub_freebsd_load_elfmoduleobj64): Likewise
	(grub_freebsd_load_elf_meta32): Likewise
	(grub_freebsd_load_elf_meta64): Likewise
	(grub_freebsd_add_meta): Likewise
	(grub_freebsd_add_meta_module): Likewise
	* loader/i386/bsd.c (grub_freebsd_add_meta): Make global
	(grub_freebsd_add_meta_module): Likewise and move module-specific
	parts to grub_cmd_freebsd and grub_cmd_freebsd_module
	(grub_cmd_freebsd): Add elf-kernel specific parts
	based on grub_freebsd_add_meta_module
	(grub_cmd_freebsd_module): Add type parsing moved from
	grub_freebsd_add_meta_module
	(grub_cmd_freebsd_module_elf): New function
	(cmd_freebsd_module_elf): New variable
	(GRUB_MOD_INIT): Register freebsd_module_elf
	* loader/i386/bsd32.c: New file
	* loader/i386/bsd64.c: Likewise
	* loader/i386/bsdXX.c: Likewise
	* kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
	(grub_elf64_load): Likewise
	* include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
	All users updated
	(grub_elf64_load_hook_t): Likewise
2009-06-21 15:48:10 +00:00
robertmh cd7310d5d5 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/loader.h (grub_linux_prot_size)
        (grub_linux_tmp_addr, grub_linux_real_addr)
        (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
        GRUB_MACHINE_PCBIOS.
        * util/i386/pc/grub-mkimage.c (compress_kernel): Move
        common grub_util_info() call to ...
        (generate_image): ... here.
        Fix use of uninitialized memory, comparison of signed with
        unsigned integers and memory leak.
        Remove bogus module address message.
2009-06-20 14:11:45 +00:00
proski e14cd81437 2009-06-18 Pavel Roskin <proski@gnu.org>
* conf/common.rmk: Add fs_file.mod.
	* disk/fs_file.c: New file.
	* include/grub/disk.h (enum grub_disk_dev_id): Add
	GRUB_DISK_DEVICE_FILE_ID.
2009-06-18 20:00:34 +00:00
proski d363867871 2009-06-17 Pavel Roskin <proski@gnu.org>
* include/grub/i386/coreboot/console.h: Don't use the i386-pc
	version, use declarations needed to use vga_text as the startup
	console.
2009-06-17 19:42:06 +00:00
phcoder cf24ed9e2a 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
Fix newline handling

	* include/grub/script_sh.h (grub_lexer_param): new field was_newline
	* script/sh/lexer.c (grub_script_lexer_init): initilaise was_newline
	(grub_script_yylex): don't segfault on unterminated script
	newline terminates command and variable
2009-06-17 13:47:37 +00:00
proski 3ef17a2ebf 2009-06-16 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S: Remove root_drive.  Assert offset of
	boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK.  Don't
	save %dx, we only need %dl and we never change it.
	* boot/i386/pc/cdboot.S: Don't set the root drive.
	* boot/i386/pc/pxeboot.S: Likewise.
	* include/grub/i386/pc/boot.h: Remove
	GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
	GRUB_BOOT_MACHINE_DRIVE_CHECK.
	* include/grub/i386/pc/kernel.h: Remove grub_root_drive.
	* kern/i386/pc/init.c (make_install_device): Remove references
	to grub_root_drive.
	* kern/i386/pc/startup.S: Likewise.
	* util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2009-06-15 23:25:38 +00:00
phcoder 693fe63766 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
xnu_uuid command

	* commands/xnu_uuid.c: new file
	* conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
	(xnu_uuid_mod_SOURCES): new variable
	(xnu_uuid_mod_CFLAGS): likewise
	(xnu_uuid_mod_LDFLAGS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
	* conf/sparc64-ieee1275.rmk: likewise
	* util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
2009-06-15 22:57:39 +00:00
phcoder 63963d17d0 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
Drivemap fixes

	* commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
	new function
	(grub_get_root_biosnumber_saved): new variable
	(GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
	(GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
	* commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore 
	%dx after the call if necessary
	* conf/common.rmk (pkglib_MODULES): remove boot.mod
	(boot_mod_SOURCES): remove
	(boot_mod_CFLAGS): remove
	(boot_mod_LDFLAGS): remove
	* conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
	(boot_mod_SOURCES): new variable
	(boot_mod_CFLAGS): likewise
	(boot_mod_LDFLAGS): likewise
	* conf/i386-efi.rmk: likewise
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
	* conf/sparc64-ieee1275.rmk: likewise
	* conf/x86_64-efi.rmk: likewise
	* include/grub/i386/pc/biosnum.h: new file
	* lib/i386/pc/biosnum.c: likewise
	* loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
	* loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
	* loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
2009-06-11 16:13:39 +00:00
proski 5c5215d5e2 2009-06-10 Pavel Roskin <proski@gnu.org>
* kern/file.c (grub_file_read): Use void pointer for the buffer.
	Adjust all callers.
2009-06-10 23:47:49 +00:00
proski 27d5fef717 2009-06-10 Pavel Roskin <proski@gnu.org>
* kern/ieee1275/openfw.c: Remove libc includes.
	* kern/ieee1275/cmain.c: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
2009-06-10 23:25:10 +00:00
fzielcke b39f9d20a9 remove all trailing whitespace 2009-06-10 21:04:23 +00:00
proski 2763ac183d 2009-06-10 Pavel Roskin <proski@gnu.org>
* include/grub/multiboot2.h: Provide compatibility defines for
	multiboot2.h.
	* include/multiboot2.h: Include stdint.h only if needed, using
	angle brackets.
	* loader/i386/pc/multiboot2.c: Include multiboot2.h after
	grub/multiboot2.h.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
2009-06-10 20:11:12 +00:00
proski 06a6836c58 2009-06-10 Pavel Roskin <proski@gnu.org>
* configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
	they fail without libc headers for the target.
	* include/grub/powerpc/libgcc.h: Use weak attribute for all
	exports.
	* include/grub/sparc64/libgcc.h: Likewise.  Don't use
	preprocessor conditionals.
2009-06-10 18:26:50 +00:00
phcoder 9e7100fb5c 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/term.h (GRUB_TERM_BACKSPACE): explicitely define as 8
	instead of '\b'
2009-06-04 21:42:58 +00:00
phcoder ede21d7148 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Definitions for creating asm symbols with Apple's CC

	* include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
	[APPLE_CC] (VARIABLE): likewise
2009-06-04 21:38:17 +00:00
phcoder 6c68847712 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Avoid aliases when compiling with Apple's CC for PCBIOS machine

	* kern/misc.c [APPLE_CC] (memcpy): new function
	[APPLE_CC] (memmove): likewise
	[APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
	(memcpy): define alias conditionaly on !APPLE_CC
	(memset): likewise
	(abort): likewise
	* include/grub/misc.h (memove): don't define when both GRUB_UTIL and
	APPLE_CC are defined
	* include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
	(grub_assert_fail): make prototype conditional
2009-06-04 21:17:05 +00:00
phcoder d119a20ce5 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Define segment as well as section when compiling with
	Apple's CC

	* efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
	(efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
	(efiemu_convert_pointer): likewise
	(efiemu_set_virtual_address_map): likewise
	(efiemu_convert_pointer): likewise
	(efiemu_getcrc32): likewise
	(init_crc32_table): likewise
	(reflect): likewise
	* include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
	(GRUB_MOD_DEP): likewise
2009-06-04 20:40:51 +00:00
phcoder cc6c3ac1bf 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC

	* efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
	temporary storage
	* include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when 
	using Apple's CC 
	(grub_cpu_is_tsc_supported): likewise
	* loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
2009-06-04 20:10:51 +00:00
phcoder 5389763d12 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Use .asciz instead of .string

	* i386/pc/diskboot.S: use .asciz instead of .string
	* i386/pc/boot.S: likewise
	* include/grub/dl.h (GRUB_MOD_DEP): likewise
	(GRUB_MOD_NAME): likewise
2009-06-04 19:28:02 +00:00
phcoder 3eb5ed4ec0 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
gfxpayload support

	* commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
	(grub_video_setup): remove
	(grub_video_set_mode): new prototype
	* loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
	(vid_mode): remove
	(linux_vesafb_res): compile only on PCBIOS
	(grub_linux_boot): support gfxpayload
	* loader/i386/pc/xnu.c (video_hook): new function
	(grub_xnu_set_video): support gfxpayload
	* term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
	(DEFAULT_VIDEO_HEIGHT): likewise
	(DEFAULT_VIDEO_FLAGS): likewise
	(DEFAULT_VIDEO_MODE): new definition
	(video_hook): new function
	(grub_gfxterm_init): use grub_video_set_mode
	* util/grub.d/30_os-prober.in: remove explicit modesetting before 
	loading xnu
	* video/video.c (grub_video_setup): removed
	(grub_video_set_mode): new function based on grub_gfxterm_init and 
	grub_video_setup
2009-06-04 18:22:45 +00:00
phcoder fda6cb987f 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Script fixes

	* include/grub/script_sh.h (grub_script_cmdline): remove cmdline
	(grub_lexer_param): add tokenonhold
	(grub_script_create_cmdline): remove cmdline. All callers updated
	(grub_script_function_create): make functionname
	grub_script_arg. All callers updated
	(grub_script_execute_argument_to_string): new prototype
	* kern/parser.c (state_transitions): reorder
	(grub_parser_cmdline_state): fix a bug and make more compact
	* script/sh/execute.c (grub_script_execute_argument_to_string): 
	make global
	(grub_script_execute_cmdline): use new format
	* script/sh/function.c (grub_script_function_create): make functionname
	grub_script_arg. All callers updated
	* script/sh/lexer.c (grub_script_lexer_init): initilaize tokenonhold
	(grub_script_yylex): remove
	(grub_script_yylex2): renamed to ...
	(grub_script_yylex): ...renamed
	parse the expressions like a${b}c
	* script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
	(GRUB_PARSER_TOKEN_VAR): remove
	(GRUB_PARSER_TOKEN_NAME): likewise
	("if"): declare as typeless
	("while"): likewise
	("function"): likewise
	("else"): likewise
	("then"): likewise
	("fi"): likewise
	(text): remove
	(argument): likewise
	(script): accept empty scripts and make exit on error
	(arguments): use GRUB_PARSER_TOKEN_ARG
	(function): likewise
	(command): move error handling to script
	(menuentry): move grub_script_lexer_ref before
	* script/sh/script.c (grub_script_create_cmdline): remove cmdline 
	argument. All callers updated
2009-06-04 16:18:35 +00:00
cbennett 230c0ad633 2009-05-23 Colin D Bennett <colin@gibibit.com>
Cleaned up `include/grub/normal.h'.  Grouped prototypes by
	definition file, and functions defined in `normal/menu.c' have had
	their prototypes moved to `include/grub/menu.h' for consistency.

	* include/grub/menu.h (grub_menu_execute_callback): Added; moved
	from normal.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.

	* include/grub/normal.h: Re-ordered and grouped function
	prototypes by file that the function is defined in.
	(grub_menu_execute_callback): Removed; moved to menu.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.
	(grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* normal/main.c (grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* script/sh/execute.c (grub_script_execute_menuentry): Update
	reference to renamed grub_menu_addentry function.
2009-05-24 08:39:29 +00:00
proski 96b1619a75 2009-05-22 Pavel Roskin <proski@gnu.org>
* include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
	to grub_uint8_t.
	(grub_root_drive): Likewise.
	* kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
	remove alignment.
	(grub_root_drive): Change size to byte.
	(grub_start_addr): Remove.
	(grub_end_addr): Likewise.
	(grub_apm_bios_info): Likewise.
2009-05-22 19:52:43 +00:00
phcoder 22f53a96fd 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
trampoline for linux on 64-bit platform

	* conf/x86_64-efi.rmk (linux_mod_SOURCES): added 
	loader/i386/efi/linux_trampoline.S 
	* include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed 
	declration
	* kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from here
	* loader/i386/linux_trampoline.S: moved here
	* loader/i386/efi/linux.c (allocate_pages): reserve space for trampoline
	(jumpvector): removed
	(grub_linux_trampoline_start): new declaration
	(grub_linux_trampoline_end): likewise
	(grub_linux_boot): use trampoline when on 64-bit platform
	* loader/i386/linux.c: likewise
2009-05-17 11:27:08 +00:00
bean 9d87a1ba36 2009-05-16 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkglib_MODULES): Add lua.mod.
	(lua_mod_SOURCES): New variable.
	(lua_mod_CFLAGS): Likewise.
	(lua_mod_LDFLAGS): Likewise.

	* conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* normal/i386/setjmp.S: Moved from here ...
	* lib/i386/setjmp.S: ... Moved here
	* normal/x86_64/setjmp.S: Moved from here ...
	* lib/x86_64/setjmp.S: ... Moved here
	* normal/powerpc/setjmp.S: Moved from here ...
	* lib/powerpc/setjmp.S: ... Moved here
	* normal/sparc64/setjmp.S: Moved from here ...
	* lib/sparc64/setjmp.S: ... Moved here

	* include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
	returns_twice in mingw.

	* script/lua/grub_lib.c: New file.
	* script/lua/grub_lib.h: Likewise.
	* script/lua/grub_lua.h: Likewise.
	* script/lua/grub_main.c: Likewise.
	* script/lua/lapi.c: Likewise.
	* script/lua/lapi.h: Likewise.
	* script/lua/lauxlib.c: Likewise.
	* script/lua/lauxlib.h: Likewise.
	* script/lua/lbaselib.c: Likewise.
	* script/lua/lcode.c: Likewise.
	* script/lua/lcode.h: Likewise.
	* script/lua/ldblib.c: Likewise.
	* script/lua/ldebug.c: Likewise.
	* script/lua/ldebug.h: Likewise.
	* script/lua/ldo.c: Likewise.
	* script/lua/ldo.h: Likewise.
	* script/lua/ldump.c: Likewise.
	* script/lua/lfunc.c: Likewise.
	* script/lua/lfunc.h: Likewise.
	* script/lua/lgc.c: Likewise.
	* script/lua/lgc.h: Likewise.
	* script/lua/linit.c: Likewise.
	* script/lua/liolib.c: Likewise.
	* script/lua/llex.c: Likewise.
	* script/lua/llex.h: Likewise.
	* script/lua/llimits.h: Likewise.
	* script/lua/lmathlib.c: Likewise.
	* script/lua/lmem.c: Likewise.
	* script/lua/lmem.h: Likewise.
	* script/lua/loadlib.c: Likewise.
	* script/lua/lobject.c: Likewise.
	* script/lua/lobject.h: Likewise.
	* script/lua/lopcodes.c: Likewise.
	* script/lua/lopcodes.h: Likewise.
	* script/lua/loslib.c: Likewise.
	* script/lua/lparser.c: Likewise.
	* script/lua/lparser.h: Likewise.
	* script/lua/lstate.c: Likewise.
	* script/lua/lstate.h: Likewise.
	* script/lua/lstring.c: Likewise.
	* script/lua/lstring.h: Likewise.
	* script/lua/lstrlib.c: Likewise.
	* script/lua/ltable.c: Likewise.
	* script/lua/ltable.h: Likewise.
	* script/lua/ltablib.c: Likewise.
	* script/lua/ltm.c: Likewise.
	* script/lua/ltm.h: Likewise.
	* script/lua/lua.h: Likewise.
	* script/lua/luaconf.h: Likewise.
	* script/lua/lualib.h: Likewise.
	* script/lua/lundump.c: Likewise.
	* script/lua/lundump.h: Likewise.
	* script/lua/lvm.c: Likewise.
	* script/lua/lvm.h: Likewise.
	* script/lua/lzio.c: Likewise.
	* script/lua/lzio.h: Likewise.
2009-05-16 12:46:24 +00:00
bean 5e898c9d71 2009-05-16 Bean <bean123ch@gmail.com>
* include/grub/kernel.h (grub_module_header_types): Add type
	OBJ_TYPE_CONFIG.

	* kern/main.c (grub_load_config): New function.
	(grub_main): Call grub_load_config to read boot config.

	* grub-mkimage (generate_image): New parameter config_path.
	(options): New option --config.
	(main): Parse --config option, and pass it to generate_image.
2009-05-16 12:12:12 +00:00
proski 238e871fff 2009-05-13 Pavel Roskin <proski@gnu.org>
* kernel/disk.c (grub_disk_read): Use void pointer for the
	buffer.
	(grub_disk_write): Use const void pointer for the buffer.
	Adjust all callers.  Remove unnecessary casts.
2009-05-13 18:58:38 +00:00
phcoder 2eac4c1611 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
gptsync

	* commands/gptsync.c: new file
	* conf/common.rmk (pkglib_MODULES): add gptsync.mod
	(gptsync_mod_SOURCES): new variable
	(gptsync_mod_CFLAGS): likewise
	(gptsync_mod_LDFLAGS): likewise
	* include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS): 
	new definition
	(GRUB_PC_PARTITION_TYPE_HFS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
2009-05-09 11:04:08 +00:00
proski 752473c2b0 2009-05-08 Pavel Roskin <proski@gnu.org>
* disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
	not modified.
2009-05-08 19:29:04 +00:00
proski 119494b506 2009-05-05 Pavel Roskin <proski@gnu.org>
* include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
	of grub_dl_ref() and grub_dl_unref().
	* commands/parttool.c: Remove preprocessor conditionals around
	grub_dl_ref() and grub_dl_unref().
	* fs/affs.c: Likewise.
	* fs/afs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/fat.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* include/grub/dl.h: Likewise.
	* loader/xnu.c: Likewise.
2009-05-05 16:36:58 +00:00
robertmh 74bfdd2f77 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
        to 0x300.
        * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
        resolutions.
        (linux_vesafb_modes): Add a lot of additional modes to the list (based
        on documentation from Wikipedia).
2009-05-04 20:21:33 +00:00
proski 4241d2b13a 2009-05-04 Pavel Roskin <proski@gnu.org>
* disk/ata.c: Spelling fixes.
	* disk/raid.c: Likewise.
	* disk/usbms.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* kern/ieee1275/openfw.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/ieee1275/cmain.c: Likewise.
	* boot/i386/pc/cdboot.S: Likewise.
	* video/readers/png.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* efiemu/runtime/efiemu.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/mm.c: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/xnu.h: Likewise.
	* include/grub/usbdesc.h: Likewise.
	* include/grub/usb.h: Likewise.
	* include/grub/script_sh.h: Likewise.
	* include/grub/lib/LzmaEnc.h: Likewise.
	* include/grub/efiemu/efiemu.h: Likewise.
	* include/grub/command.h: Likewise.
	* normal/menu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/datetime.c: Likewise.
	* bus/usb/uhci.c: Likewise.
	* mmap/i386/uppermem.c: Likewise.
	* mmap/mmap.c: Likewise.
	* commands/acpi.c: Likewise.
	* commands/test.c: Likewise.
	* partmap/apple.c: Likewise.
	* font/font.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/i386/bsd_trampoline.S: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/xnu.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/usb_keyboard.c: Likewise.
	* util/resolve.c: Likewise.
	* util/getroot.c: Likewise.
2009-05-04 20:06:05 +00:00
phcoder ecc3eb22ee 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
Removed wrong semicolon in declaration

	* grub/misc.h (grub_dprintf): remove semicolon
2009-05-04 18:06:37 +00:00
robertmh ae0c0bdca9 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
* util/misc.c (grub_util_warn): New function.  Emmits a warning
        unconditionally.
        * include/grub/util/misc.h (grub_util_warn): New declaration.

        * util/i386/pc/grub-install.in: Understand --force and pass it down
        to grub-setup.

        * util/i386/pc/grub-setup.c (main): Understand --force and pass it
        down to setup().
        (setup): Improve error messages and add warnings when requested to
        install in odd layouts.  Refuse to install using blocklists unless
        --force was set.
2009-05-04 16:16:03 +00:00
proski 2fee74f1bb 2009-05-03 Pavel Roskin <proski@gnu.org>
* mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
	not char*.
	* mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
	Suggested by Javier Martín <lordhabbit@gmail.com>
2009-05-03 19:25:14 +00:00
phcoder cef17233d4 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
FreeBSD 64-bit support

	* conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S 
	and loader/i386/bsd_trampoline.S
	(bsd_mod_ASFLAGS): new variable
	* include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
	(FREEBSD_MODTYPE_KERNEL64): likewise
	(grub_bsd64_trampoline_start): likewise
	(grub_bsd64_trampoline_end): likewise
	(grub_bsd64_trampoline_selfjump): likewise
	(grub_bsd64_trampoline_gdt): likewise
	* include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
	* include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
	* kern/i386/loader.S (grub_unix_real_boot): moved from here ...
	* loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
	* include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type 
	of "attrib" member
	* loader/i386/bsd_pagetable.c: new file
	* loader/i386/bsd_trampoline.S: likewise
	* loader/i386/bsd.c (ALIGN_QWORD): new macro
	(ALIGN_VAR): likewise
	(entry_hi): new variable
	(kern_end_mdofs): likewise
	(is_64bit): likewise
	(grub_freebsd_add_meta): use ALIGN_VAR
	(grub_e820_mmap): new declaration
	(grub_freebsd_add_mmap): new function
	(grub_freebsd_add_meta_module): support 64 bit kernels
	(grub_freebsd_list_modules): use ALIGN_VAR
	(gdt_descriptor): new declaration
	(grub_freebsd_boot): support 64 bit kernels
	(grub_bsd_elf64_hook): new function
	(grub_bsd_load_elf): support elf64
2009-05-03 09:03:31 +00:00
phcoder bbee0f2b56 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
xnu support

	* conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
	(pkglib_MODULES): add xnu.mod
	(xnu_mod_SOURCES): new variable
	(xnu_mod_CFLAGS): likewise
	(xnu_mod_LDFLAGS): likewise
	(xnu_mod_ASFLAGS): likewise
	* conf/i386-pc.rmk: likewise
	* conf/x86_64-efi.rmk: likewise
	* include/grub/efi/efi.h (grub_efi_finish_boot_services): 
	new declaration
	* include/grub/i386/macho.h: new file
	* include/grub/i386/xnu.h: likewise
	* include/grub/macho.h: likewise
	* include/grub/machoload.h: likewise
	* include/grub/x86_64/macho.h: likewise
	* include/grub/x86_64/xnu.h: likewise
	* include/grub/xnu.h: likewise
	* kern/efi/efi.c (grub_efi_finish_boot_services): new function
	* kern/efi/mm.c (MAX_HEAP_SIZE): increase
	* loader/i386/efi/xnu.c: new file
	* loader/i386/pc/xnu.c: likewise
	* loader/i386/xnu.c: likewise
	* loader/i386/xnu_helper.S: likewise
	* loader/macho.c: likewise
	* loader/xnu.c: likewise
	* loader/xnu_resume.c: likewise
	* util/grub-dumpdevtree: likewise
	* include/grub/i386/pit.h: include grub/err.h
	(grub_pit_wait): export
	* util/grub.d/30_os-prober.in: support Darwin/Mac OS X
2009-05-02 23:19:20 +00:00
phcoder 5caf964d75 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
Efiemu
 
	* conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
	_linux_efi, linux_efi. 
	new files in grub-emu 
	new targets efiemu32.o and efiemu64.o
	* loader/linux_normal_efiemu.c: likewise
	* loader/i386/efi/linux.c: added preliminary efiemu support
	* util/i386/pc/grub-install.in: add efiemu??.o to the list of 
	files to copy
	* include/grub/autoefi.h: new file
	* nclude/grub/i386/efiemu.h: likewise
	* include/grub/i386/pc/efiemu.h: likewise
	* include/grub/efi/api.h: add LL suffix when necessary
	new definitions relating to tables
	* include/grub/efiemu/efiemu.h: new file
	* include/grub/efiemu/runtime.h: likewise
	* efiemu/prepare.c: likewise
	* efiemu/loadcore_common.c: likewise
	* efiemu/loadcore64.c: likewise
	* efiemu/runtime/efiemu.sh: likewise
	* efiemu/runtime/efiemu.S: likewise
	* efiemu/runtime/efiemu.c: likewise
	* efiemu/runtime/config.h: likewise
	* efiemu/prepare32.c: likewise
	* efiemu/main.c: likewise
	* efiemu/modules/pnvram.c: likewise
	* efiemu/modules/i386: likewise
	* efiemu/modules/i386/pc: likewise
	* efiemu/modules/acpi.c: likewise
	* efiemu/i386/pc/cfgtables.c: likewise
	* efiemu/i386/loadcore64.c: likewise
	* efiemu/i386/loadcore32.c: likewise
	* efiemu/prepare64.c: likewise
	* efiemu/loadcore.c: likewise
	* efiemu/symbols.c: likewise
	* efiemu/mm.c: likewise
	* efiemu/loadcore32.c: likewise
2009-05-02 22:40:21 +00:00
phcoder f8efe3ad2d 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
ACPI spoofing

	* commands/acpi.c: new file
	* commands/i386/pc/acpi.c: likewise
	* commands/efi/acpi.c: likewise
	* include/grub/acpi.h: likewise
	* conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
	(acpi_mod_SOURCES): new variable
	(acpi_mod_CFLAGS): likewise
	(acpi_mod_LDFLAGS): likewise
	* conf/i386-efi.rmk: likewise
	* conf/x86_64-efi.rmk: likewise
2009-05-02 22:31:29 +00:00
phcoder 09d842b9c6 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
Mmap services

	* loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
	* loader/i386/linux.c (find_mmap_size): likewise
	(allocate_pages): likewise
	* loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
	(grub_fill_multiboot_mmap): likewise
	(grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
	* loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
	* include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
	(OPENBSD_MMAP_RESERVED): likewise
	* include/grub/i386/pc/memory.h: include grub/memory.h
	(grub_lower_mem): removed
	(grub_upper_mem): likewise
	(GRUB_MACHINE_MEMORY_ACPI): new definition
	(GRUB_MACHINE_MEMORY_NVS): likewise
	(GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
	(GRUB_MACHINE_MEMORY_HOLE): likewise
	(grub_machine_mmap_register): likewise
	(grub_machine_mmap_unregister): likewise
	(grub_machine_get_upper): likewise
	(grub_machine_get_lower): likewise
	(grub_machine_get_post64): likewise
	* include/grub/i386/efi/memory.h: new file
	* include/grub/x86_64/efi/memory.h: likewise
	* include/grub/efi/memory.h: likewise
	* conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
	(mmap_mod_SOURCES): new variable
	(mmap_mod_LDFLAGS): likewise
	(mmap_mod_ASFLAGS): likewise
	* conf/i386-coreboot.rmk: likewise
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-efi.rmk: likewise
	* conf/x86_64-efi.rmk: likewise
	* include/grub/types.h (UINT_TO_PTR): new macro
	(PTR_TO_UINT32): likewise
	(PTR_TO_UINT64): likewise
	* include/grub/memory.h: new file
	* mmap/i386/pc/mmap.c: likewise
	* mmap/i386/pc/mmap_helper.S: likewise
	* mmap/i386/uppermem.c: likewise
	* mmap/mmap.c: likewise
	* mmap/efi/mmap.c: likewise
	* kern/i386/coreboot/init.c (grub_machine_init): don't use 
	grub_upper_mem
	* kern/i386/pc/init.c (grub_lower_mem): removed variable
	(grub_upper_mem): likewise
	(grub_machine_init): don't use grub_upper_mem,
	make grub_lower_mem local
	* loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
	grub_mmap_iterate and grub_mmap_get_upper
	(grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
2009-05-02 21:46:34 +00:00
bean d558e6b5ac 2009-05-02 Bean <bean123ch@gmail.com>
* conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
	script/sh/parser.y.
	(pkglib_MODULES): Add normal.mod and sh.mod.
	(normal_SOURCES): New variable.
	(normal_mod_CFLAGS): Likewise.
	(normal_mod_LDFLAGS): Likewise.
	(sh_mod_SOURCES): Likewise.
	(sh_mod_CFLAGS): Likewise.
	(sh_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
	script/sh/lexer.c_DEPENDENCIES.
	(kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
	kern/rescue_reader.c and kern/rescue_parser.c.
	(kernel_img_HEADERS): Remove rescue.h, add reader.h.
	(grub_emu_SOURCES): Change source files.
	(pkglib_MODULES): Remove normal.mod.
	(normal_SOURCES): Removed.
	(normal_mod_CFLAGS): Likewise.
	(normal_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1276.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

	* include/grub/command.h (grub_command_execute): New inline function.

	* include/grub/menu.h (grub_menu_entry): Removed commands field.

	* include/grub/normal.h: Remove <grub/setjmp.h>.
	(grub_fs_module_list): Moved to normal/autofs.c.
	(grub_exit_env): Removed.
	(grub_command_execute): Likewise.
	(grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
	parameter script.
	(read_command_list): New function declaration.
	(read_fs_list): Likewise.

	* include/parser.h: Include <grub/reader.h>.
	(grub_parser_split_cmdline): Change type of getline parameter.
	(grub_parser): New structure.
	(grub_parser_class): New variable.
	(grub_parser_execute): New function declaration.
	(grub_register_rescue_parser): Likewise.
	(grub_parser_register): New inline function.
	(grub_parser_unregister): Likewise.
	(grub_parser_get_current): Likewise.
	(grub_parser_set_current): Likewise.

	* include/grub/reader.h: New file.
	* kern/reader.c: Likewise.
	* kern/rescue_parser.c: Likewise.
	* kern/rescue_reader.c: Likewise.
	* normal/autofs.c: Likewise.
	* normal/dyncmd.c: Likewise.

	* include/grub/rescue.h: Removed.
	* normal/command.h: Likewise.

	* include/grub/script.h: Moved to ...
	* include/grub/script_sh.h: ... Moved here.
	* normal/execute.c: Moved to ...
	* script/sh/execute.c: ... Moved here.
	* normal/function.c: Moved to ...
	* script/sh/function.c: ... Moved here.
	* normal/lexer.c: Moved to ...
	* script/sh/lexer.c: ... Moved here.
	* normal/parser.y: Moved to ...
	* script/sh/parser.y: ... Moved here.
	* normal/script.c: Moved to ...
	* script/sh/script.c: ... Moved here.

	* normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
	<grub/reader.h>.
	(grub_exit_env): Removed.
	(fs_module_list): Moved to normal/autofs.c.
	(grub_file_getline): Don't handle comment here.
	(free_menu): Skip removed field entry->commands.
	(grub_normal_menu_addentry): Removed as grub_menu_entry, removed
	script parameter.
	(read_config_file): Removed nested parameter, change getline function.
	(grub_enter_normal_mode): Removed.
	(grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
	(read_command_list): Likewise.
	(autoload_fs_module): Moved to normal/autofs.c.
	(read_fs_list): Likewise.
	(reader_nested): New variable.
	(grub_normal_execute): Run parser.sh to switch to sh parser.
	(grub_cmd_rescue): Removed.
	(cmd_normal): Removed.
	(grub_cmd_normal): Unregister itself at the beginning. Don't register
	rescue command.
	(grub_cmdline_run): New function.
	(grub_normal_reader_init): Likewise.
	(grub_normal_read_line): Likewise.
	(grub_env_write_pager): Likewise.
	(cmdline): New variable.
	(grub_normal_reader): Likewise.
	(GRUB_MOD_INIT): Register normal reader and set as current, register
	pager hook, register normal command with grub_register_command_prio,
	so that it won't show up in command.lst.
	(GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
	grub_fs_autoload_hook.

	* normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
	(grub_menu_execute_entry): Replace grub_script_execute with
	grub_parser_execute, change parameter to grub_command_execute.

	* normal/menu_text.c: Remove <grub/script.h>.

	* normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
	and <grub/parser.h>.
	(run): Change editor_getline to use new parser interface. Change
	parameter to grub_command_execute.

	* kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
	<grub/reader.h> and <grub/parser.h>.
	(grub_load_normal_mode): Execute normal command.
	(grub_main): Call grub_register_core_commands,
	grub_register_rescue_parser and grub_register_rescue_reader, use
	grub_reader_loop to enter input loop.

	* kern/parser.c (grub_parser_spli_cmdline): Change type of getline
	parameter.
	(grub_parser_class): New variable.
	(grub_parser_execute): New function.

	* loader/i386/multiboot.c: Remove <grub/rescue.h>.
	* loader/multiboot2.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.

	* util/grub-emu.c (read_command_list): New dummy function.
2009-05-02 19:49:34 +00:00
davem e2bf39b2d7 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
* include/grub/sparc64/ieee1275/memory.h: Likewise.
2009-04-30 01:34:38 +00:00
phcoder 75a807cf00 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
Preboot hooks support

	* commands/boot.c (struct grub_preboot_t): new declaration
	(preboots_head): new variable
	(preboots_tail): likewise
	(grub_loader_register_preboot_hook): new function
	(grub_loader_unregister_preboot_hook): likewise
	(grub_loader_set): launch preboot hooks
	* include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
	(grub_loader_register_preboot_hook): new declaration
	(grub_loader_unregister_preboot_hook): likewise
2009-04-27 16:48:58 +00:00
phcoder a5562c306f 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
Bug and warning fixes

	* include/grub/i386/pc/init.h (grub_stop_floppy): added missing 
	declaration
	* commands/test.c (test_parse): fixed bug with file tests and corrected
	declaration of find_file
2009-04-26 15:09:30 +00:00
proski 91b72b4f42 Really remove lib/datetime.c and include/grub/lib/datetime.h 2009-04-24 17:05:19 +00:00
davem 0dcf7495d9 * disk/ieee1275/nand.c (grub_nand_iterate): Return
grub_devalias_iterate() result instead of unconditional 0.
	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
	Also, capture hook return value, either directly or via
	grub_children_iterate(), and propagate to caller.
	* include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
	grub_children_iterate): Return value is now 'int' instead of
	'grub_err_t'.
	* kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
	like a proper iterator, stopping when hooks return non-zero.
	(grub_devalias_iterate): Likewise.
2009-04-24 12:05:54 +00:00
davem a1447506fe * util/sparc64/ieee1275/misc.c: New file.
* util/sparc64/ieee1275/grub-setup.c: New file.
	* util/sparc64/ieee1275/grub-ofpathname.c: New file.
	* util/sparc64/ieee1275/grub-mkimage.c: New file.
	* util/sparc64/ieee1275/grub-install.in: New file.
	* util/ieee1275/ofpath.c: New file.
	* util/ieee1275/devicemap.c: New file.
	* util/devicemap.c: New file.
	* util/deviceiter.c: New file.
	* kern/sparc64/ieee1275/init.c: New file.
	* include/grub/util/ofpath.h: New file.
	* include/grub/util/deviceiter.h: New file.
	* util/grub-mkdevicemap.c: Include deviceiter.h.
	Implement using grub_util_emit_devicemap_entry and
	grub_util_iterate_devices.
	* conf/i386-corebook.rmk: Build util/deviceiter.c and
	util/devicemap.c into grub-mkdevicemap
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Add rules to build boot block
	images and installation utilities.  Build kernel as image
	instead of as elf binary.  Use common rules as much as possible.
2009-04-22 09:57:39 +00:00
davem 4e8269dad2 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
IEEE1275_MAX_PATH_LEN): Define.
	* kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
	allocate 'childtype', 'childpath', 'childname', and 'fullname'.
	(grub_devalias_iterate): Dynamically allocate 'aliasname' and
	'devtype'.  Explicitly NULL terminate devalias expansion.
2009-04-22 09:46:54 +00:00
phcoder 0aefc632d9 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
Correct GPT definition

	* include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type 
	of "attrib" member
2009-04-19 20:38:46 +00:00
proski 41bb0fe9a6 2009-04-15 Pavel Roskin <proski@gnu.org>
* include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
	LONG_MAX to GRUB_LONG_MAX.  Introduce GRUB_LONG_MIN.  Update all
	users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
	definitions.
2009-04-15 20:45:09 +00:00
phcoder 0d5d565326 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
Move loader out of the kernel

	* kern/loader.c: moved to ...
	* commands/boot.c: ... moved here
	* commands/minicmd.c (grub_mini_cmd_boot): moved to ...
	* commands/boot.c (grub_cmd_boot): moved here. All users updated
	* include/grub/kernel.h (grub_machine_fini): export
	* include/grub/loader.h (grub_loader_is_loaded): update declaration
	(grub_loader_set): likewise
	(grub_loader_unset): likewise
	(grub_loader_boot): likewise
	* conf/common.rmk: new module boot.mod
	(pkglib_MODULES): add boot.mod
	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
	(grub_emu_SOURCES): likewise
	* conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/sparcs64-ieee1275.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise   
	* conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
2009-04-15 12:45:50 +00:00
bean d05f0df3eb 2009-04-14 Bean <bean123ch@gmail.com>
* Makefile.in (pkglib_DATA): Add handler.lst.
	(handler.lst): New rule.

	* conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

	* genhandlerlist.sh: New file.

	* genmk.rb: Add rules to generate handler.lst.

	* include/grub/normal.h (grub_file_getline): New function definition.
	(read_handler_list): Likewise.
	(free_handler_list): Likewise.

	* include/grub/term.h (grub_term_register_input): Add name parameter
	for auto generation of handler.lst.
	(grub_term_register_output): Likewise.

	* normal/handler.c: New file.

	* normal/main.c (get_line): Renamed to grub_file_getline.
	(read_config_file): Use the newly renamed grub_file_getline.
	(read_command_list): Likewise.
	(read_fs_list): Likewise.
	(grub_normal_execute): Call read_handler_list to parse handler.lst.
	(GRUB_MOD_FINI): Call free_handler_list to free handler list.

	* term/efi/console.c (grub_console_init): Add name parameter for auto
	generation of handler.lst.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/console.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/usb_keyboard.c: Likewise.
2009-04-14 18:12:14 +00:00
davem d8e1836ca1 * include/grub/sparc64/ieee1275/loader.h: New file.
* include/grub/sparc64/ieee1275/memory.h: Likewise.
	* include/grub/sparc64/kernel.h: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
2009-04-13 07:08:10 +00:00
davem 234022fe7b * kern/sparc64/ieee1275/ieee1275.c: New file.
* include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
	IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
	IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
	IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
	(grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
	grub_ieee1275_alloc_physmem): Declare new exported functions.
2009-04-13 07:06:09 +00:00
davem 91c88b1219 * kern/sparc64/ieee1275/init.c: Delete, replace with...
* kern/sparc64/ieee1275/crt0.S: assembler implementation.
	* include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
	(GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
	GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
	GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
	GRUB_KERNEL_MACHINE_DATA_END): Define.
	(grub_kernel_image_size, grub_total_module_size): Declare.
2009-04-13 07:02:46 +00:00
okuji b1ac86445e 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
* util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
    (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
    FreeBSD. Check if a device is a character device. Use
    DIOCGMEDIASIZE to get the size.
    (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
    support for FreeBSD.
    (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
    is a character device instead of a block device. Add support for
    FreeBSD device names.

    * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
    a character device instead of a block device.
    (grub_util_check_char_device): New function.

    * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
    a character device instead of a block device.

    * include/grub/util/getroot.h (grub_util_check_char_device): New
    prototype.
2009-04-11 09:40:39 +00:00
davem 0f005da92a Missed these in previous commits, sorry. 2009-04-11 08:33:35 +00:00
davem a3f7515a6e * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
static libgcc.
	* configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
	* include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
	function, if present.
	(__bswapdi2): Likewise.
2009-04-11 08:24:49 +00:00
davem d3bfb59c51 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
slots are of type grub_ieee1275_cell_t.
	(grub_nand_read): Likewise.
	* kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
	IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
	macros are used to compare values in arg/ret block of the call.
	(grub_ieee1275_finddevice, grub_ieee1275_get_property,
	grub_ieee1275_next_property, grub_ieee1275_get_property_length,
	grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
	grub_ieee1275_instance_to_path, grub_ieee1275_write,
	grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
	grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
	grub_ieee1275_close, grub_ieee1275_set_property,
	grub_ieee1275_set_color): All ieee1275 call arg slots are of type
	grub_ieee1275_cell_t.
	* kern/ieee1275/openfw.c (grub_map): Likewise.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
	grub_ieee1275_phandle_t): Define as grub_unit32_t type.
2009-04-11 03:07:58 +00:00
bean e7e6862a4c 2009-04-10 Bean <bean123ch@gnail.com>
* include/grub/efi/api.h (grub_efi_configuration_table): Add packed
	attribute, otherwise the size would be wrong for i386 platform.

	* include/grub/pci.h (grub_pci_read_word): New inline function.
	(grub_pci_read_byte): Likewise.
	(grub_pci_write): Likewise.
	(grub_pci_write_word): Likewise.
	(grub_pci_write_byte): Likewise.

	* include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.

	* loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
	(find_framebuf): Scan pci to locate the frame buffer address.

	* commands/efi/fixvideo.c: New file.

	* commands/efi/loadbios.c: Likewise.

	* commands/memrw.c: Likewise.

	* util/grub-dumpbios.in: Likewise.

	* conf/common.rmk (grub-dumpbios): New utility.
	(pkglib_MODULES): New module memrw.mod.
	(memrw_mod_SOURCE): New macro.
	(memrw_mod_CFLAGS): Likewise.
	(memrw_mod_LDFLAGS): Likewise.

	* conf/i386-efi.rmk (pkglig_MODULES): New module loadbios.mod and
	fixvideo.mod.
	(loadbios_mod_SOURCE): New macro.
	(loadbios_mod_CFLAGS): Likewise.
	(loadbios_mod_LDFLAGS): Likewise.
	(fixvideo_mod_SOURCE): Likewise.
	(fixvideo_mod_CFLAGS): Likewise.
	(fixvideo_mod_LDFLAGS): Likewise.

	* conf/x86_64.rmk (pkglig_MODULES): New module loadbios.mod and
	fixvideo.mod.
	(loadbios_mod_SOURCE): New macro.
	(loadbios_mod_CFLAGS): Likewise.
	(loadbios_mod_LDFLAGS): Likewise.
	(fixvideo_mod_SOURCE): Likewise.
	(fixvideo_mod_CFLAGS): Likewise.
	(fixvideo_mod_LDFLAGS): Likewise.
2009-04-10 15:33:34 +00:00
proski 1007d1f562 2009-04-06 Pavel Roskin <proski@gnu.org>
* include/grub/misc.h (ARRAY_SIZE): New macro.
	* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
	New macro.
	* loader/i386/linux.c (allocate_pages): Use free_pages().
	(grub_linux_unload): Don't use free_pages().
	(grub_linux_boot): Prevent accessing linux_vesafb_modes with a
	wrong index.  Treat all other modes as text modes.
	(grub_cmd_linux): Initialize vid_mode unconditionally to
	GRUB_LINUX_VID_MODE_NORMAL.  Recognize and support "vga=ask".
2009-04-07 00:48:57 +00:00
phcoder ea761d4014 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
Parttool

	* parttool/pcpart.c: new file
	* commands/parttool.c: likewise
	* conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
	(parttool_mod_SOURCES): new variable
	(parttool_mod_CFLAGS): likewise
	(parttool_mod_LDFLAGS): likewise
	(pcpart_mod_SOURCES): likewise
	(pcpart_mod_CFLAGS): likewise
	(pcpart_mod_LDFLAGS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c 
	and parttool/pcpart.c
	* conf/i386-efi.rmk: likewise
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
	* conf/sparc64-ieee1275.rmk: likewise
	* conf/x86_64-ieee1275.rmk: likewise
2009-04-06 09:51:01 +00:00
phcoder 05aaebfb7b 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
Support for mtime and further expandability of dir command

	* include/grub/lib/datetime.h: moved to ...
	* include/grub/datetime.h: ... moved here and added 
	declaration of grub_unixtime2datetime. All users updated
	* include/grub/fs.h: new syntax for dir and mtime functionin 
	struct grub_fs 
	* include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
	and GRUB_FSHELP_FLAGS_MASK
	* commands/ls.c (grub_ls_list_files): Write mtime in long format
	* fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
	(grub_ext2_mtime): new function
	* fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
	(grub_hfsplus_mtime): new function
	* fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
	(GRUB_UFS_ATTR_FILE): likewise
	(GRUB_UFS_ATTR_LNK): likewise
	(struct grub_ufs_sblock): new fields mtime
	(grub_ufs_read_inode): new parameter to read inode to a separate buffer
	all users updated
	(grub_ufs_dir): mtime support
	(grub_ufs_mtime): new function
	* fs/affs.c (grub_affs_dir): use new dir syntax
	* fs/afs.c (grub_afs_dir): likewise
	* fs/cpio.c (grub_cpio_dir): likewise
	* fs/fat.c (grub_fat_find_dir): likewise
	* fs/hfs.c (grub_hfs_dir): likewise
	* fs/iso9660.c (grub_iso9660_dir): likewise
	* fs/jfs.c (grub_jfs_dir): likewise
	* fs/minix.c (grub_minix_dir): likewise
	* fs/ntfs.c (grub_ntfs_dir): likewise
	* fs/reiserfs.c (grub_reiserfs_dir): likewise
	* fs/sfs.c (grub_sfs_dir): likewise
	* fs/xfs.c (grub_xfs_dir): likewise
	* util/hostfs.c (grub_hostfs_dir): likewise
	* lib/datetime.c: moved to ...
	* normal/datetime.c: ... moved here
	(grub_unixtime2datetime): new function
	* kern/rescue.c (grub_rescue_print_files): use new dir syntax
	* normal/completition.c (iterate_dir): use new dir syntax
	* normal/misc.c (grub_normal_print_device_info): tell the 
	last modification time of a volume
	* kern/fs.c (grub_fs_probe): updated dummy function to use new syntax 
	* conf/common.rmk: added lib/datetime.c to ls.mod
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c  
	(normal_mod_SOURCES): likewise
	(datetime_mod_SOURCES): Removed lib/datetime.c
	* conf/i386-efi.rmk: likewise
	* conf/i386-ieee1275.rmk: likewise	
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
	* conf/sparc64-ieee1275.rmk: likewise	
	* conf/x86_64-efi.rmk: likewise
2009-04-05 20:19:05 +00:00
okuji 6842cec424 Undo r2063. 2009-04-04 09:22:35 +00:00
bean 838c454296 2009-04-04 Bean <bean123ch@gnail.com>
* include/grub/efi/api.h (grub_efi_configuration_table): Add packed
	attribute, otherwise the size would be wrong for i386 platform.

	* include/grub/pci.h (grub_pci_read_word): New inline function.
	(grub_pci_read_byte): Likewise.
	(grub_pci_write): Likewise.
	(grub_pci_write_word): Likewise.
	(grub_pci_write_byte): Likewise.

	* include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.

	* loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
	(find_framebuf): Scan pci to locate the frame buffer address.

	* commands/efi/fixvideo.c: New file.

	* commands/efi/loadbios.c: Likewise.

	* commands/memrw.c: Likewise.

	* util/grub-dumpbios.in: Likewise.

	* conf/common.rmk (grub-dumpbios): New utility.
	(pkglib_MODULES): New module memrw.mod.
	(memrw_mod_SOURCE): New macro.
	(memrw_mod_CFLAGS): Likewise.
	(memrw_mod_LDFLAGS): Likewise.

	* conf/i386-efi.rmk (pkglig_MODULES): New module loadbios.mod and
	fixvideo.mod.
	(loadbios_mod_SOURCE): New macro.
	(loadbios_mod_CFLAGS): Likewise.
	(loadbios_mod_LDFLAGS): Likewise.
	(fixvideo_mod_SOURCE): Likewise.
	(fixvideo_mod_CFLAGS): Likewise.
	(fixvideo_mod_LDFLAGS): Likewise.

	* conf/x86_64.rmk (pkglig_MODULES): New module loadbios.mod and
	fixvideo.mod.
	(loadbios_mod_SOURCE): New macro.
	(loadbios_mod_CFLAGS): Likewise.
	(loadbios_mod_LDFLAGS): Likewise.
	(fixvideo_mod_SOURCE): Likewise.
	(fixvideo_mod_CFLAGS): Likewise.
	(fixvideo_mod_LDFLAGS): Likewise.
2009-04-04 08:08:01 +00:00
bean da4c0bb629 2009-04-04 Bean <bean123ch@gnail.com>
* include/grub/util/misc.h: Add dummy function fsync for mingw.

	* util/misc.c: Likewise.
2009-04-04 07:42:13 +00:00
robertmh 5270cec8d7 2009-04-01 David S. Miller <davem@davemloft.net>
* normal/sparc64/setjmp.S: Fix setjmp implementation.
	* include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
	(grub_setjmp): Mark with 'returns_twice' attribute.
	* include/grub/i386/setjmp.h (grub_setjmp): Likewise
	* include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
	* include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
2009-04-01 13:01:05 +00:00
robertmh 95646d9232 2009-03-30 Robert Millan <rmh@aybabtu.com>
Fix i386-ieee1275 build.

        * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
        Remove declaration.
2009-04-01 00:04:50 +00:00
okuji 5709cfc4d1 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
Make the format of Environment Block plain text. The boot loader
    part is not tested well yet.
    
    * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
    (buffer): Removed.
    (envblk): Likewise.
    (usage): Remove "info" and "clear". Add "unset". Update the
    description of "set", as this does not delete variables any
    longer.
    (create_envblk_file): Complete rewrite.
    (open_envblk_file): Likewise.
    (cmd_info): Removed.
    (cmd_list): Likewise.
    (cmd_set): Likewise.
    (cmd_clear): Likewise.
    (list_variables): New function.
    (write_envblk): Likewise.
    (set_variables): Likewise.
    (unset_variables): Likewise.
    (main): Complete rewrite.

    * commands/loadenv.c (buffer): Removed.
    (envblk): Likewise.
    (open_envblk_file): New function.
    (read_envblk_file): Complete rewrite.
    (grub_cmd_load_env): Likewise.
    (grub_cmd_list_env): Likewise.
    (struct blocklist): New struct.
    (free_blocklists): New function.
    (check_blocklists): Likewise.
    (write_blocklists): Likewise.
    (grub_cmd_save_env): Complete rewrite.

    * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
    a plain text signature.
    (GRUB_ENVBLK_MAXLEN): Removed.
    (struct grub_envblk): Complete rewrite.
    (grub_envblk_find): Removed.
    (grub_envblk_insert): Likewise.
    (grub_envblk_open): New prototype.
    (grub_envblk_set): Likewise.
    (grub_envblk_delete): Put const to VALUE.
    (grub_envblk_iterate): Put const to NAME and VALUE.
    (grub_envblk_close): New prototype.
    (grub_envblk_buffer): New inline function.
    (grub_envblk_size): Likewise.

    * lib/envblk.c: Include grub/mm.h.
    (grub_env_find): Removed.
    (grub_envblk_open): New function.
    (grub_envblk_close): Likewise.
    (escaped_value_len): Likewise.
    (find_next_line): Likewise.
    (grub_envblk_insert): Removed.
    (grub_envblk_set): New function.
    (grub_envblk_delete): Complete rewrite.
    (grub_envblk_iterate): Likewise.
2009-03-28 19:58:15 +00:00
robertmh a9368fd30c 2009-03-28 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
        (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
        variables.  Use 16-bit loader.
        (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
        loader.
        * kern/i386/loader.S (grub_linux_boot): Rename to ...
        (grub_linux16_boot): ... this.  Update all users.
        * loader/i386/linux.c (grub_linux32_boot): Rename to ...
        (grub_linux_boot): ... this.  Update all users.

        * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
        (GRUB_MOD_INIT(linux16)): ... this.  Rename `linux' and `initrd'
        commands to `linux16' and `initrd16'.
        (GRUB_MOD_FINI(linux)): Rename to ...
        (GRUB_MOD_FINI(linux16)): ... this.
2009-03-28 12:53:16 +00:00
robertmh c04d6e0548 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
Move multiboot helper out of kernel

        * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
        `loader/i386/multiboot_helper.S'.
        * conf/i386-coreboot.rmk: Likewise
        * conf/i386-ieee1275.rmk: Likewise

        * kern/i386/loader.S: Move multiboot helpers from here...
        * loader/i386/multiboot_helper.S: ...moved here
        * include/grub/i386/loader.h: Move declarations of multiboot
        helpers from here...
        * include/grub/i386/multiboot.h: ...moved here
        * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
2009-03-22 12:28:00 +00:00
okuji 42a5b3fcc7 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
* kern/env.c (grub_env_context_open): Added an argument to specify
    whether a new context inherits exported variables from current
    one. This is useful when making a sandbox to interpret a config
    file.
    All callers updated.

    * include/grub/env.h (grub_env_context_open): Updated the prototype.
2009-03-22 10:45:06 +00:00
okuji f04f02e496 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
* normal/main.c (grub_normal_execute): Added an argument
    BATCH to specify if an interactive interface should be provided
    after reading a config file.
    All callers updated.
    (read_command_list): Prevent being executed twice.
    (read_fs_list): Likewise.

    * include/grub/normal.h (grub_normal_execute):
2009-03-22 10:05:31 +00:00
bean b1b797cb1b 2009-03-21 Bean <bean123ch@gmail.com>
* commands/blocklist.c: Add include file <grub/command.h>, remove
	<grub/normal.h> and <grub/arg.h>.
	(grub_cmd_blocklist): Use the new command interface.
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* commands/boot.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/configfile.c: Likewise.
	* commands/crc.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/halt.c: Likewise.
	* commands/handler.c: Likewise.
	* commands/hdparm.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/lsmmap.c: Likewise.
	* commands/lspci.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/read.c: Likewise.
	* commands/reboot.c: Likewise.
	* commands/search.c: Likewise.
	* commands/sleep.c: Likewise.
	* commands/test.c: Likewise.
	* commands/usbtest.c: Likewise.
	* commands/videotest.c: Likewise.
	* commands/i386/cpuid.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/pxecmd.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/ieee1275/suspend.c: Likewise.
	* disk/loopback.c: Likewise.
	* font/font_cmd.c: Likewise.
	* hello/hello.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/efi/chainloader.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/terminfo.c: Likewise.

	* term/i386/pc/vesafb.c: Removed <grub/arg.h>.
	* term/i386/pc/vga.c: Likewise.
	* video/readers/jpeg.c: Likewise.
	* video/readers/png.c: Likewise.
	* video/readers/tga.c: Likewise.

	* util/grub-fstest (cmd_loopback): Removed.
	(cmd_blocklist): Likewise.
	(cmd_ls): Likewise.
	(grub_register_command): Likewise.
	(grub_unregister_command): Likewise.
	(execute_command): Use grub_command_find to locate command and execute
	it.

	* include/grub/efi/chainloader.h: Removed.
	* loader/efi/chainloader_normal.c: Likewise.
	* loader/i386/bsd_normal.c: Likewise.
	* loader/i386/pc/chainloader_normal.c: Likewise.
	* loader/i386/pc/multiboot_normal.c: Likewise.
	* loader/linux_normal.c: Likewise.
	* loader/multiboot_loader_normal.c: Likewise.
	* loader/powerpc/ieee1275/linux_normal.c: Likewise.

	* gencmdlist.sh: Scan new registration command grub_register_extcmd
	and grub_register_command_p1.

	* conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
	kern/command.c, lib/arg.c and commands/extcmd.c.
	(pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
	(minicmd_mod_SOURCES): New variable.
	(minicmd_mod_CFLAGS): Likewise.
	(minicmd_mod_LDFLAGS): Likewise.
	(extcmd_mod_SOURCES): Likewise.
	(extcmd_mod_CFLAGS): Likewise.
	(extcmd_mod_LDFLAGS): Likewise.
	(boot_mod_SOURCES): Removed.
	(boot_mod_CFLAGS): Likewise.
	(boot_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
	kern/corecmd.c.
	(kernel_img_HEADERS): Add command.h.
	(grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
	commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
	and lib/arg.c.
	(pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
	_multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
	remove the corresponding normal mode command.
	(normal_mod_SOURCES): Remove normal/arg.c.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

	* include/grub/arg.h: Move from here ...
	* include/grub/lib/arg.h: ... to here.

	* normal/arg.c: Move from here ...
	* lib/arg.c: ... to here.

	* commands/extcmd.c: New file.
	* commands/minicmd.c: Likewise.
	* include/grub/command.h: Likewise.
	* include/grub/extcmd.h: Likewise.
	* kern/command.c: Likewise.
	* kern/corecmd.c: Likewise.

	* kern/list.c (grub_list_iterate): Return int instead of void.
	(grub_list_insert): New function.
	(grub_prio_list_insert): Likewise.

	* kern/rescue.c (grub_rescue_command): Removed.
	(grub_rescue_command_list): Likewise.
	(grub_rescue_register_command): Likewise.
	(grub_rescue_unregister_command): Likewise.
	(grub_rescue_cmd_boot): Move to minicmd.c
	(grub_rescue_cmd_help): Likewise.
	(grub_rescue_cmd_info): Likewise.
	(grub_rescue_cmd_boot): Likewise.
	(grub_rescue_cmd_testload): Likewise.
	(grub_rescue_cmd_dump): Likewise.
	(grub_rescue_cmd_rmmod): Likewise.
	(grub_rescue_cmd_lsmod): Likewise.
	(grub_rescue_cmd_exit): Likewise.
	(grub_rescue_print_devices): Moved to corecmd.c.
	(grub_rescue_print_files): Likewise.
	(grub_rescue_cmd_ls): Likewise.
	(grub_rescue_cmd_insmod): Likewise.
	(grub_rescue_cmd_set): Likewise.
	(grub_rescue_cmd_unset): Likewise.
	(attemp_normal_mode): Use grub_command_find to get normal module.
	(grub_enter_rescue_mode): Use grub_register_core_commands to register
	commands, remove grub_rescue_regiter_command calls.

	* normal/command.c (grub_regiser_command): Removed.
	(grub_unregister_command): Likewise.
	(grub_command_find): Likewise.
	(grub_iterate_commands): Likewise.
	(rescue_command): Likewise.
	(export_command): Moved to corecmd.c.
	(set_command): Removed.
	(unset_command): Likewise.
	(insmod_command): Likewise.
	(rmmod_command): Likewise.
	(lsmod_command): Likewise.
	(grub_command_init): Likewise.

	* normal/completion.c (iterate_command): Use cmd->prio to check for
	active command.
	(complete_arguments): Use grub_extcmd_t structure to find options.
	(grub_normal_do_completion): Change function grub_iterate_commands to
	grub_command_iterate.

	* normal/execute.c (grub_script_execute_cmd): No need to parse
	argument here.

	* normal/main.c (grub_dyncmd_dispatcher): New function.
	(read_command_list): Register unload commands as dyncmd.
	(grub_cmd_normal): Use new command interface, register rescue,
	unregister normal at entry, register normal, unregister rescue at exit.

	* include/grub/list.h (grub_list_test_t): New type.
	(grub_list_iterate): Return int instead of void.
	(grub_list_insert): New function.
	(GRUB_AS_NAMED_LIST_P): New macro.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	(GRUB_PRIO_LIST_PRIO_MASK): New constant.
	(GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
	(grub_prio_list): New structure.
	(grub_prio_list_insert): New function.
	(grub_prio_list_remove): New inline function.

	* include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
	(GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
	(GRUB_COMMAND_FLAG_MENU): Likewise.
	(GRUB_COMMAND_FLAG_BOTH): Likewise.
	(GRUB_COMMAND_FLAG_TITLE): Likewise.
	(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
	(GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
	(GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
	(grub_command): Likewise.
	(grub_register_command): Likewise.
	(grub_command_find): Likewise.
	(grub_iterate_commands): Likewise.
	(grub_command_init): Likewise.
	(grub_arg_parse): Likewise.
	(grub_arg_show_help): Likewise.

	* include/grub/rescue.h (grub_rescue_register_command): Removed.
	(grub_rescue_unregister_command): Likewise.

	* include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
	grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
	grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.

	* include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
	grub_rescue_cmd_initrd.
	* include/grub/i386/loader.h: Likewise.
	* include/grub/x86_64/loader.h: Likewise.

	* include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
2009-03-21 08:39:59 +00:00
bean 9902d04725 2009-03-01 Bean <bean123ch@gmail.com>
* include/grub/efi/api.h (GRUB_EFI_MPS_TABALE_GUID): New constant.
	(GRUB_EFI_ACPI_TABLE_GUID): Likewise.
	(GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
	(GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.

	* loader/i386/efi/linux.c (acpi_guid): New variable.
	(acpi_guid): Likewise.
	(EBDA_SEG_ADDR): New constant.
	(LOW_MEM_ADDR): Likewise.
	(FAKE_EBDA_SEG): Likewise.
	(fake_bios_data): New function.
	(grub_linux_boot): Call fake_bios_data.
2009-03-01 17:57:57 +00:00
bean 71b9f36193 2009-03-01 Bean <bean123ch@gmail.com>
* commands/terminal.c: Removed.

	* commands/handler.c: New file.

	* include/grub/list.h: Likewise.

	* include/grub/handler.h: Likewise.

	* kern/list.c: Likewise.

	* kern/handler.c: Likewise.

	* kern/term.h: Include header file <grub/handler.h>.
	(grub_term_input): Move next field to the beginning.
	(grub_term_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.
	(grub_term_register_input): Changed to inline function.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(grub_term_set_current_input): Likewise.
	(grub_term_set_current_output): Likewise.
	(grub_term_get_current_input): Likewise.
	(grub_term_get_current_output): Likewise.
	(grub_term_iterate_input): Removed.
	(grub_term_iterate_output): Likewise.

	* kern/term.c (grub_term_list_input): Removed.
	(grub_term_list_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.
	(grub_cur_term_input): Change varaible as macro.
	(grub_cur_term_output): Likewise.
	(grub_term_register_input): Removed.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(grub_term_set_current_input): Likewise.
	(grub_term_set_current_output): Likewise.
	(grub_term_iterate_input): Likewise.
	(grub_term_iterate_output): Likewise.
	(grub_term_get_current_input): Likewise.
	(grub_term_get_current_output): Likewise.

	* util/grub-editenv.c: Include header file <grub/handler.h>.
	(grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* util/grub-fstest.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* util/grub-probe.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
	(terminal_mod_SOURCES): Likewise.
	(terminal_mod_CFLAGS): Likewise.
	(terminal_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_img_SOURCES): Add list.c and handler.c.
	(kernel_img_HEADERS): Add list.h and handler.h.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_mod_SOURCES): Add list.c and handler.c.
	(kernel_mod_HEADERS): Add list.h and handler.h.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_mod_SOURCES): Add list.c and handler.c.
	(kernel_mod_HEADERS): Add list.h and handler.h.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.
2009-03-01 17:51:44 +00:00
bean 6e09b8b72e 2009-02-24 Bean <bean123ch@gmail.com>
* configure.ac: Check for -mcmodel=large in x86_64 target.

	* include/grub/efi/api.h (efi_call_10): New macro.
	(efi_wrap_10): New function.

	* include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
	(GRUB_PE32_REL_BASED_HIGH): Likewise.
	(GRUB_PE32_REL_BASED_LOW): Likewise.
	(GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
	(GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
	(GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
	(GRUB_PE32_REL_BASED_SECTION): Likewise.
	(GRUB_PE32_REL_BASED_REL): Likewise.
	(GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
	(GRUB_PE32_REL_BASED_DIR64): Likewise.
	(GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.

	* kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
	issue.

	* kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
	(efi_wrap_10): New function.

	* kern/x86_64/efi/startup.S (codestart): Use relative addressing.

	* loader/efi/appleloader.c (devpath_5): Add support for late 2008
	MB/MBP model (NV chipset).
	(devdata_devs): Add devpath_5 to the list.

	* load/i386/efi/linux.c (video_base): Remove variable.
	(RGB_MASK): New macro.
	(RGB_MAGIC): Likewise.
	(LINE_MIN): Likewise.
	(LINE_MAX): Likewise.
	(FBTEST_STEP): Likewise.
	(FBTEST_COUNT): Likewise.
	(fb_list): New variable.
	(grub_find_video_card): Remove function.
	(find_framebuf): New function.
	(grub_linux_setup_video): Use find_framebuf to get frame buffer and
	line length.

	* util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
	problem for x86_64.
2009-02-24 13:19:46 +00:00
robertmh a455f472aa 2009-02-22 Robert Millan <rmh@aybabtu.com>
* include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
        * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
        in our relocation, instead of using it directly from heap.  Also
        use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
2009-02-22 00:44:22 +00:00
chrfranke 9ff516f3eb 2009-02-14 Christian Franke <franke@computer.org>
* commands/hdparm.c: New file.  Provides `hdparm' command
	which sends ATA commands via grub_disk_ata_pass_through ().

	* conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.

	* disk/ata.c: Include <grub/ata.h>.  Move <grub/misc.h>
	and <grub/cpu/io.h> to include/grub/ata.h.
	(enum grub_ata_addressing_t): Move to include/grub/ata.h.
	(GRUB_CDROM_SECTOR_SIZE): Remove.
	(GRUB_ATA_*): Move to include/grub/ata.h.
	(GRUB_ATAPI_*): Likewise.
	(enum grub_ata_commands): Likewise.
	(enum grub_ata_timeout_milliseconds): Likewise.
	(struct grub_ata_device): Likewise.
	(grub_ata_regset): Likewise.
	(grub_ata_regget): Likewise.
	(grub_ata_regset2): Likewise.
	(grub_ata_regget2): Likewise.
	(grub_ata_check_ready): Likewise.
	(grub_ata_wait_not_busy): Remove static, exported in
	include/grub/ata.h.
	(grub_ata_wait_drq): Likewise.
	(grub_ata_pio_read): Likewise.

	* disk/ata_pthru.c: New file.  Provides grub_ata_pass_through ()
	function for hdparm.mod.

	* include/grub/ata.h: New file, contains declarations from
	disk/ata.c.
	(enum grub_ata_commands): Add new commands for commands/hdparm.c.

	* include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
	(grub_disk_ata_pass_through): New exported variable.

	* kern/disk.c (grub_disk_ata_pass_through): New variable.
2009-02-14 12:57:55 +00:00
cbennett 772e23dad2 2009-02-13 Colin D Bennett <colin@gibibit.com>
Support multiple fallback entries, and provide an API to support
	executing default+fallback menu entries.  Renamed the `terminal' menu
	viewer to `text'.

	* include/grub/normal.h (grub_normal_text_menu_viewer): New global
	variable declaration.
	(grub_menu_execute_callback): New structure declaration.
	(grub_menu_execute_callback_t): New typedef.
	(grub_menu_execute_with_fallback): New function declaration.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.

	* normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.

	* normal/menu.c (grub_wait_after_message): Moved to
	`normal/menu_text.c'.
	(draw_border): Likewise.
	(print_message): Likewise.
	(print_entry): Likewise.
	(print_entries): Likewise.
	(grub_menu_init_page): Likewise.
	(get_entry_number): Likewise.
	(print_timeout): Likewise.
	(run_menu): Likewise.
	(grub_menu_execute_entry): Likewise.
	(show_text_menu): Likewise.
	(get_and_remove_first_entry_number): New function.
	(grub_menu_execute_with_fallback): Likewise.
	(get_entry): Renamed to ...
	(grub_menu_get_entry): .. this and made it global.
	(get_timeout): Renamed to ...
	(grub_menu_get_timeout): ... this and made it global.
	(set_timeout): Renamed to ...
	(grub_menu_set_timeout): ... this and made it global.
	(grub_normal_terminal_menu_viewer): Renamed to ...
	(grub_normal_text_menu_viewer): ... this.

	* normal/menu_text.c: New file.  Extracted text-menu-specific code
	from normal/menu.c.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.
2009-02-13 20:06:27 +00:00
robertmh d64399b562 2009-02-08 Marco Gerards <marco@gnu.org>
* Makefile.in (enable_grub_emu_usb): New variable.
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
        (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
        `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
        (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
        (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
        `usbtest.mod' and `usbms.mod'.
        (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
        (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
        (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
        (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
        (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
        variables.

        * disk/usbms.c: New file.

        * include/grub/usb.h: Likewise.

        * include/grub/usbtrans.h: Likewise.

        * include/grub/usbdesc.h: Likewise.

        * bus/usb/usbtrans.c: Likewise.

        * bus/usb/ohci.c: Likewise.

        * bus/usb/uhci.c: Likewise.

        * bus/usb/usbhub.c: Likewise.

        * bus/usb/usb.c: Likewise.

        * commands/usbtest.c: Likewise.

        * util/usb.c: Likewise.

        * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.

        * configure.ac: Test for libusb presence.

        * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
2009-02-08 17:58:32 +00:00
chaac 6fa42fa65a 2009-01-31 Colin D Bennett <colin@gibibit.com>
* normal/main.c: Add include to grub/menu_viewer.h. 
	(free_menu_entry_classes): Added.
	(grub_normal_menu_addentry): Added class property handling.
	(grub_normal_execute): Changed to use new menu viewer for menu viewing.
	(GRUB_MOD_INIT(normal)): Added register for text based menu viewer.

	* normal/menu_viewer.c: New file.

	* normal/menu.c (run_menu_entry): Renamed to ...
	(grub_menu_execute_entry): ... this and	made it as global.
	(grub_menu_run): Renamed to ...
	(show_text_menu): ... this and made it local.
	(show_text_menu): Adapt to new function names.
	(grub_normal_terminal_menu_viewer): New global variable.

	* include/grub/menu.h: New file.

	* include/grub/menu_viewer.h: New file.

	* include/grub/normal.h: Added include to grub/menu.h.
	(grub_menu_entry): Moved to include/grub/menu.h.
	(grub_menu_entry_t): Likewise.
	(grub_menu): Likewise.
	(grub_menu_t): Likewise.
	(grub_normal_terminal_menu_viewer): Added.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_run): Removed.

	* DISTLIST: Added include/grub/menu.h.
	Added include/grub/menu_viewer.h.
	Added normal/menu_viewer.c.

2009-01-31  Vesa Jääskeläinen  <chaac@nic.fi>

	* normal/execute.c (grub_script_execute_menuentry): Changed to use
	arglist for menutitle arguments.

	* normal/main.c (grub_normal_menu_addentry): Likewise.

	* normal/parser.y (menuentry): Likewise.

	* normal/script.c (grub_script_create_cmdmenu): Likewise.

	* include/grub/script.h (grub_script_cmd_menuentry): Likewise.
	(grub_script_create_cmdmenu): Likewise.

	* include/grub/normal.h (grub_normal_menu_addentry): Likewise.

	* conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
	changes.

	* conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
2009-01-31 09:15:43 +00:00
proski 1806b56e2b 2009-01-26 Daniel Mierswa <impulze@impulze.org>
* kern/misc.c (grub_strcasecmp): New function.
	(grub_strcasecmp): Use grub_size_t instead of int for length.
	Fix return value.
	* include/grub/misc.h: Update function prototypes.
2009-01-26 04:22:44 +00:00
robertmh f36cc10867 2009-01-10 Robert Millan <rmh@aybabtu.com>
Update a few copyright years which we forgot to do in 2008 (only for
            files whose changes made in 2008 were copyright-significant)

            * Makefile.in: Add 2008 to Copyright line.
            * disk/ieee1275/ofdisk.c: Likewise.
            * disk/efi/efidisk.c: Likewise.
            * kern/dl.c: Likewise.
            * kern/sparc64/ieee1275/init.c: Likewise.
            * kern/mm.c: Likewise.
            * kern/efi/mm.c: Likewise.
            * boot/i386/pc/boot.S: Likewise.
            * genfslist.sh: Likewise.
            * fs/iso9660.c: Likewise.
            * fs/hfs.c: Likewise.
            * fs/jfs.c: Likewise.
            * fs/minix.c: Likewise.
            * fs/ufs.c: Likewise.
            * gensymlist.sh.in: Likewise.
            * genkernsyms.sh.in: Likewise.
            * include/grub/misc.h: Likewise.
            * include/grub/types.h: Likewise.
            * include/grub/symbol.h: Likewise.
            * include/grub/elf.h: Likewise.
            * include/grub/kernel.h: Likewise.
            * include/grub/disk.h: Likewise.
            * include/grub/dl.h: Likewise.
            * include/grub/i386/linux.h: Likewise.
            * include/grub/i386/pc/biosdisk.h: Likewise.
            * include/grub/efi/api.h: Likewise.
            * include/grub/efi/pe32.h: Likewise.
            * include/grub/util/misc.h: Likewise.
            * normal/execute.c: Likewise.
            * normal/arg.c: Likewise.
            * normal/completion.c: Likewise.
            * normal/lexer.c: Likewise.
            * normal/parser.y: Likewise.
            * normal/misc.c: Likewise.
            * commands/i386/pc/vbeinfo.c: Likewise.
            * commands/hexdump.c: Likewise.
            * commands/terminal.c: Likewise.
            * commands/ls.c: Likewise.
            * commands/help.c: Likewise.
            * partmap/pc.c: Likewise.
            * loader/efi/chainloader.c: Likewise.
            * loader/multiboot_loader.c: Likewise.
            * loader/i386/pc/multiboot2.c: Likewise.
            * term/efi/console.c: Likewise.
            * term/i386/pc/serial.c: Likewise.
            * util/lvm.c: Likewise.
            * util/console.c: Likewise.
            * util/i386/efi/grub-mkimage.c: Likewise.
            * util/raid.c: Likewise.
2009-01-10 13:07:44 +00:00
chaac 1e901a7573 2009-01-02 Colin D Bennett <colin@gibibit.com>
New font engine.
	
	Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
	build system and fixed gfxterm.c to work with different	sized fonts.

	* configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
	
	* configure: Re-generated.
	
	* DISTLIST: Removed font/manager.c.
	Added font/font.c.
	Added font/font_cmd.c.
	
	* Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF.  Added Font tool
	compilation.
	
	* include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype.  Changed users.
	
	* kern/misc.c (grub_utf8_to_ucs4): Changed prototype. 

	* kern/term.c: Changed users of grub_utf8_to_ucs4.
	
	* normal/menu.c: Likewise.
		
	* conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
	(font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
	
	* include/grub/font.h: Replaced with new file.
	
	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
	(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
	(GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
	(GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
	(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
	(grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha, 
	fg_red, fg_green, fg_blue, fg_alpha.
	(grub_video_adapter): Removed blit_glyph.
	(grub_video_blit_glyph): Removed.	
	
	* font/manager.c: Removed file.
	
	* font/font.c: New file. 
	
	* font/font_cmd.c: Likewise.
	
	* video/video.c (grub_video_blit_glyph): Removed.
	
	* video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
	(grub_video_vbe_map_rgba): Likewise.
	(grub_video_vbe_unmap_color_int): Likewise.
	(grub_video_vbe_blit_glyph): Removed.
	(grub_video_vbe_adapter): Removed blit_glyph.
	
	* video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
	(get_pixel): Likewise.
	(set_pixel): Likewise. 
	
	* commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
	
	* term/gfxterm.c: Adapted to new font engine.
	
	* term/i386/pc/vesafb.c: Marked as deprecated.  Made it compile.
	
	* term/i386/pc/vga.c: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.

	* util/grub.d/00_header.in: Changed to use new loadfont command.
	
	* util/grub-mkconfig_lib.in: Changed font extension.
2009-01-02 15:26:06 +00:00
robertmh 893137807d 2008-11-28 Robert Millan <rmh@aybabtu.com>
Fix build on powerpc-ieee1275.  Based on patch created by
        Manoel Abranches <mrabran@linux.vnet.ibm.com>.
        * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
        `kern/ieee1275/mmap.c'.
        * include/grub/powerpc/ieee1275/memory.h: New file.
2008-11-28 19:56:19 +00:00
robertmh 79d29fd7b8 Harmonize ieee1275's grub_available_iterate() with the generic
grub_machine_mmap_iterate() interface (fixes a recently-introduced
        build problem on i386-ieee1275):
        * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
        * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here.  Add third
        parameter `type'.  Update all users of this function.
        * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
        `kern/ieee1275/mmap.c'.
        * kern/ieee1275/init.c
        * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
        with ...
        (grub_machine_mmap_iterate): ... this.
        * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
        return type to `grub_err_t'.  Update all implementations of this
        function prototype.
        * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
        Likewise.
2008-11-20 20:30:24 +00:00
robertmh 10fc3eb9a7 2008-11-14 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
        Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000).  We
        don't want to mess with lower memory, because it is used in the Linux
        loader.

        * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
        an appropiate place in lower memory, between 0x10000 and 0x90000,
        like loader/i386/efi/linux.c does.  Linux often panics if real_mode_mem
        is in our heap (probably as a result of it being corrupted during
        decompression).
2008-11-14 19:04:26 +00:00
robertmh fe8e8d69e1 2008-11-12 Robert Millan <rmh@aybabtu.com>
Make loader/i386/linux.c buildable on i386-pc (although disabled).

        * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
        (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
        from here ...
        * include/grub/i386/pc/memory.h: ... to here.
2008-11-12 20:53:48 +00:00
robertmh 976b07d044 2008-11-12 Robert Millan <rmh@aybabtu.com>
Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
        split).

        * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
        (grub_console_cur_color, grub_console_real_putchar)
        (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
        (grub_console_setcolorstate, grub_console_setcolor)
        (grub_console_getcolor): Move from here ...
        * include/grub/i386/vga_common.h: ... to here (new file).

        * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
        `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
        `<grub/i386/io.h>'.
        * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
        `<grub/i386/vga_common.h>'.
2008-11-12 17:43:39 +00:00
robertmh 76679cd3a4 2008-11-12 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
        * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
        (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
        variables.
        * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
        `term/i386/pc/console.c' with `term/i386/vga_common.c'.

        * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
        grub_console_init() with call to grub_vga_text_init().
        (grub_machine_fini): Replace call to
        grub_console_fini() with call to grub_vga_text_fini() and
        grub_at_keyboard_fini().

        * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
        (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
        (grub_console_setcolorstate, grub_console_setcolor)
        (grub_console_getcolor): New function prototypes.

        * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
        (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
        (grub_vga_text_setcursor): Static-ize.
        (grub_vga_text_term): New structure.
        (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.

        * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
        (grub_console_cur_color, grub_console_standard_color)
        (grub_console_normal_color, grub_console_highlight_color)
        (map_char, grub_console_putchar, grub_console_getcharwidth)
        (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
        (grub_console_getcolor): Move from here ...
        * term/i386/vga_common.c: ... to here (same function names).
2008-11-12 15:02:17 +00:00
robertmh 95b841d37b 2008-11-12 Robert Millan <rmh@aybabtu.com>
Use newly-added Multiboot support in coreboot.

        * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
        `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.

        * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
        alignment, set `MULTIBOOT_MEMORY_INFO' flag.
        (codestart): Store the MBI in `startup_multiboot_info' when we're
        being loaded using Multiboot.

        * kern/i386/coreboot/init.c (grub_machine_init): Move
        grub_at_keyboard_init() call to beginning of function (useful for
        debugging).  Call grub_machine_mmap_init() before attempting to use
        grub_machine_mmap_iterate().
        (grub_lower_mem, grub_upper_mem): Move from here ...
        * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
        here (new file).

        * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
        function prototype.
2008-11-11 23:27:18 +00:00
robertmh c32ee8c9a8 2008-11-07 Robert Millan <rmh@aybabtu.com>
* include/multiboot2.h (struct multiboot_header): Add `flags' member as
        per specification.
        * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
        * loader/multiboot_loader.c (find_multi_boot2_header): New function
        (based on find_multi_boot1_header).
        (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
        using find_multi_boot2_header(), and abort if neither Multiboot or
        Multiboot headers were found.
2008-11-07 19:53:25 +00:00
robertmh 651c29b79e 2008-11-07 Robert Millan <rmh@aybabtu.com>
Modularize at_keyboard.mod:

            * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
            (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
            (at_keyboard_mod_LDFLAGS): New variables.

            Actual terminal split:

            * include/grub/term.h (struct grub_term): Split in ...
            (struct grub_term_input): ... this, and ...
            (struct grub_term_output): ... this.  Update all users.
            (grub_term_set_current): Split in ...
            (grub_term_set_current_input): ... this, and ...
            (grub_term_set_current_output): ... this.
            (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            (grub_term_register): Split in ...
            (grub_term_register_input): ... this, and ...
            (grub_term_register_output): ... this.
            (grub_term_unregister): Split in ...
            (grub_term_unregister_input): ... this, and ...
            (grub_term_unregister_output): ... this.
            (grub_term_iterate): Split in ...
            (grub_term_iterate_input): ... this, and ...
            (grub_term_iterate_output): ... this.

            * kern/term.c (grub_term_list): Split in ...
            (grub_term_list_input): ... this, and ...
            (grub_term_list_output): ... this.  Update all users.
            (grub_cur_term): Split in ...
            (grub_cur_term_input): ... this, and ...
            (grub_cur_term_output): ... this.  Update all users.
            (grub_term_set_current): Split in ...
            (grub_term_set_current_input): ... this, and ...
            (grub_term_set_current_output): ... this.
            (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            (grub_term_register): Split in ...
            (grub_term_register_input): ... this, and ...
            (grub_term_register_output): ... this.
            (grub_term_unregister): Split in ...
            (grub_term_unregister_input): ... this, and ...
            (grub_term_unregister_output): ... this.
            (grub_term_iterate): Split in ...
            (grub_term_iterate_input): ... this, and ...
            (grub_term_iterate_output): ... this.

            * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
            a check for input and one for output (and only attempt to get keys
            from user when input works).

            * util/grub-probe.c (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            * util/grub-fstest.c: Likewise.
            * util/i386/pc/grub-setup.c: Likewise.
            * util/grub-editenv.c: Likewise.

            Portability adjustments:

            * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
            `term/i386/pc/at_keyboard.c'.
            * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
            grub_keyboard_controller_init() (now handled by terminal .init).
            * kern/i386/coreboot/init.c (grub_machine_init): Add call to
            grub_at_keyboard_init().
            * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
            (grub_console_checkkey, grub_console_getkey): Remove (now provided by
            at_keyboard.mod via input terminal interface).
            * include/grub/i386/coreboot/console.h: Convert into a stub for
            `<grub/i386/pc/console.h>'.

            Migrate full terminals to new API:

            * term/efi/console.c (grub_console_term): Split into ...
            (grub_console_term_input): ... this, and ...
            (grub_console_term_output): ... this.  Update all users.
            * term/ieee1275/ofconsole.c: Remove __i386__ hack.
            (grub_ofconsole_init): Split into ...
            (grub_ofconsole_init_input): ... this, and ...
            (grub_ofconsole_init_output): ... this.
            (grub_ofconsole_term): Split into ...
            (grub_ofconsole_term_input): ... this, and ...
            (grub_ofconsole_term_output): ... this.  Update all users.
            * term/i386/pc/serial.c (grub_serial_term): Split into ...
            (grub_serial_term_input): ... this, and ...
            (grub_serial_term_output): ... this.  Update all users.
            * term/i386/pc/console.c (grub_console_term): Split into ...
            (grub_console_term_input): ... this, and ...
            (grub_console_term_output): ... this.  Update all users.
            (grub_console_term_input): Only enable it on PC/BIOS platform.
            (grub_console_init): Remove grub_keyboard_controller_init() call.

            Migrate input terminals to new API:

            * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
            `i386' and `i386/pc' to enable build on x86_64 (this driver is
            i386-specific anyway).
            (grub_console_checkkey): Rename to ...
            (grub_at_keyboard_checkkey): ... this.  Static-ize.  Update all
            users.
            (grub_keyboard_controller_orig): New variable.
            (grub_console_getkey): Rename to ...
            (grub_at_keyboard_getkey): ... this.  Static-ize.  Update all
            users.
            (grub_keyboard_controller_init): Static-ize.  Save original
            controller value so that it can be restored ...
            (grub_keyboard_controller_fini): ... here (new function).
            (grub_at_keyboard_term): New structure.
            (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
            functions.

            Migrate output terminals to new API:

            * term/i386/pc/vga.c (grub_vga_term): Change type to
            `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
            members.  Update all users.
            * term/gfxterm.c (grub_video_term): Change type to
            `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
            members.  Update all users.
            * include/grub/i386/pc/console.h (grub_console_checkkey)
            (grub_console_getkey): Do not export (no longer needed by gfxterm,
            etc).

            Migrate `terminal' command and userland tools to new API:

            * commands/terminal.c (grub_cmd_terminal): Split into ...
            (grub_cmd_terminal_input): ... this, and ...
            (grub_cmd_terminal_output): ... this.
            (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
            `terminal_input' and `terminal_output'.
            * util/grub.d/00_header.in: Adjust `terminal' calls to new
            `terminal_input' / `terminal_output' API.
            * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
            ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
            provided ${GRUB_TERMINAL}, convert it).
2008-11-07 19:11:39 +00:00
robertmh 1b7748eb13 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
* disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
        circular metadata worst case scenario. If the metadata is circular
        then copy the wrap in place.
        * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
        project lib/format_text/layout.h
        Circular metadata bug found and patch debugged by Jan Derk Gerlings.
2008-10-05 10:51:23 +00:00
robertmh d2a367b86f 2008-09-25 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
        `util/i386/get_disk_name.c'.
        * conf/i386-efi.rmk: Likewise.
        * conf/x86_64-efi.rmk: Likewise.
        * conf/i386-coreboot.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
        `util/ieee1275/get_disk_name.c'.
        * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
        * util/ieee1275/get_disk_name.c: Remove file.
        * util/i386/get_disk_name.c: Remove file.
        * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
        "hd%d" for device.map entries, rather than using
        grub_util_get_disk_name().
2008-09-25 14:15:24 +00:00
robertmh 5a0042794d 2008-09-24 Carles Pina i Estany <carles@pina.cat>
* include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
        Changed to 0x5100.
        (GRUB_TERM_PPAGE): Changed to 0x4900.
2008-09-24 10:22:18 +00:00
robertmh 397093d331 2008-09-24 Robert Millan <rmh@aybabtu.com>
* include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
        macros (they were i386-pc specific).
        * include/grub/sparc64/ieee1275/console.h: Likewise.
        * include/grub/efi/console.h: Likewise.
2008-09-24 10:17:56 +00:00
bean a91b6c7c8f 2008-09-22 Bean <bean123ch@gmail.com>
* fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
	resident and in attribute list.

	* include/grub/ntfs.h (BMP_LEN): Removed.
2008-09-22 04:18:57 +00:00
chrfranke 9035dce47f 2008-09-19 Christian Franke <franke@computer.org>
* aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
	* configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
	* include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
	Export __enable_execute_stack() to modules.
	* kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
	New function.
2008-09-19 06:55:20 +00:00
robertmh ddbf5556a7 2008-09-08 Robert Millan <rmh@aybabtu.com>
* include/grub/util/biosdisk.h: Move to ...
        * include/grub/util/hostdisk.h: ... here.  Update all users.
        * util/biosdisk.c: Move to ...
        * util/hostdisk.c: ... here.  Update all users.
2008-09-08 13:52:30 +00:00
chaac 0ea85a3787 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
Based on patch created by Colin D Bennett <colin@gibibit.com>.
	Adds optimization support for BGR based modes.

	* include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
	(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_index): Likewise.
	(grub_video_i386_vbeblit_replace_directN): Added.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.	
	(grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
	(grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.

	* include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
	(grub_video_i386_vbefill_R8G8B8): Likewise.
	(grub_video_i386_vbefill_index): Likewise.
	(grub_video_i386_vbefill_direct32): Added.
	(grub_video_i386_vbefill_direct24): Likewise.
	(grub_video_i386_vbefill_direct16): Likewise.
	(grub_video_i386_vbefill_direct8): Likewise.

	* include/grub/video.h (grub_video_blit_format): Removed 
	GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
	(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
	GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
	GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
	GRUB_VIDEO_BLIT_FORMAT_BGR_565.
	
	* video/video.c (grub_video_get_blit_format): Updated to use new
	blit formats.  Added handling for 16 bit color modes.
	
	* video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new 
	fillers.
	(common_blitter): Updated to use new blitters.

	* video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
	Removed.
	(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_index): Likewise.
	(grub_video_i386_vbeblit_replace_directN): Added.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
	(grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
	
	* video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
	(grub_video_i386_vbefill_R8G8B8): Likewise.
	(grub_video_i386_vbefill_index): Likewise.
	(grub_video_i386_vbefill_direct32): Added.
	(grub_video_i386_vbefill_direct24): Likewise.
	(grub_video_i386_vbefill_direct16): Likewise.
	(grub_video_i386_vbefill_direct8): Likewise.
	
	* video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
	types.
	
	* video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
	types.
	
	* video/readers/png.c (grub_png_decode_image_header): Adapt to new
	blitter types.
	
	* video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
	types.
2008-09-07 15:55:58 +00:00
bean 5926115732 2008-09-05 Bean <bean123ch@gmail.com>
* fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.

	* fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
	insensitive bit for names in Win32 and Win32 & DOS namespace.

	* include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.

	* include/grub/types.h (LONG_MAX): Likewise.
2008-09-05 15:48:37 +00:00
chaac a0224a4e62 2008-09-01 Colin D Bennett <colin@gibibit.com>
* include/grub/normal.h: Fixed incorrect comment for
	GRUB_COMMAND_FLAG_NO_ARG_PARSE.
2008-09-01 19:03:16 +00:00
chaac f06199587d 2008-09-01 Colin D Bennett <colin@gibibit.com>
* commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
        values with defines.

        * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
        (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
        (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
        (GRUB_VBE_MODEATTR_COLOR): Likewise.
        (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
        (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
        (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
        (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
        (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
        (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
        (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
        (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
        (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
2008-09-01 15:58:13 +00:00
proski b497a269db 2008-08-29 Pavel Roskin <proski@gnu.org>
* kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
	grub/cpu/kernel.h.  Add start label for consistency with other
	platforms.  Add grub_prefix immediately after start.  Add jump
	to the code after grub_prefix.
	* include/grub/powerpc/kernel.h: Provide valid values for
	GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
2008-08-29 21:46:17 +00:00
bean 6e5a42fe9a 2008-08-29 Bean <bean123ch@gmail.com>
* configure.ac: Change host_os to cygwin for mingw.
	(asprintf): New check for function.

	* include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
	#if ! defined (__CYGWIN__) && ! defined (__MINGW32__).

	* include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
	declear asprintf if HAVE_ASPRINTF is not set, declear fseeko, ftello,
	sync, sleep and grub_util_get_disk_size for mingw.

	* util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
	to get size in mingw.
	(open_device): Use flag O_BINARY if it's defined.
	(find_root_device): Add dummy code for mingw.

	* util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
	(get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
	(get_scsi_disk_name): Return 0 for mingw.

	* util/hostfs.c: #include <grub/util/misc.h>.
	(grub_hostfs_open): Use "rb" flag to open file, use
	grub_util_get_disk_size to get disk size for mingw.

	* util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
	(asprintf): New function if HAVE_ASPRINTF is not set.
	(sync): New function for mingw.
	(sleep): Likewise.
	(grub_util_get_disk_size): Likewise.
2008-08-29 19:55:23 +00:00
marco_g 965c75ca69 2008-08-27 Marco Gerards <marco@gnu.org>
* conf/common.rmk (pkglib_MODULES): Add scsi.mod.
	(scsi_mod_SOURCES): New variable.
	(scsi_mod_CFLAGS): Likewise
	(scsi_mod_LDFLAGS): Likewise.

	* disk/scsi.c: New file.

	* include/grub/scsi.h: Likewise.

	* include/grub/scsicmd.h: Likewise.

	* disk/ata.c: Include <grub/scsi.h>.
	(grub_atapi_packet): Do not use grub_ata_cmd, use registers
	instead.
	(grub_ata_iterate): Skip ATAPI devices.
	(grub_ata_open): Only handle ATAPI devices.
	(struct grub_atapi_read): Removed.
	(grub_atapi_readsector): Likewise.
	(grub_ata_read): No longer handle ATAPI devices.
	(grub_ata_write): Likewise.
	(grub_atapi_iterate): New function.
	(grub_atapi_read): Likewise.
	(grub_atapi_write): Likewise.
	(grub_atapi_open): Likewise.
	(grub_atapi_close): Likewise.
	(grub_atapi_dev): New variable.
	(GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
	(GRUB_MOD_FINI(ata)): Unregister ATAPI.

	* include/grub/disk.h (enum grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_SCSI_ID'.
2008-08-27 15:05:00 +00:00
bean 5ed20adcb9 2008-08-23 Bean <bean123ch@gmail.com>
* conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
	(grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
	disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
	(pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
	dm_nv.mod.
	(raid5rec_mod_SOURCES): New macro.
	(raid5rec_mod_CFLAGS): Likewise.
	(raid5rec_mod_LDFLAGS): Likewise.
	(raid6rec_mod_SOURCES): Likewise.
	(raid6rec_mod_CFLAGS): Likewise.
	(raid6rec_mod_LDFLAGS): Likewise.
	(mdraid_mod_SOURCES): Likewise.
	(mdraid_mod_CFLAGS): Likewise.
	(mdraid_mod_LDFLAGS): Likewise.
	(dm_nv_mod_SOURCES): Likewise.
	(dm_nv_mod_CFLAGS): Likewise.
	(dm_nv_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
	(grub_emu_SOURCES):  Add disk/raid5_recover.c, disk/raid6_recover.c,
	disk/mdraid_linux.c and disk/dmraid_nvidia.c.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
	disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* disk/raid5_recover.c: New file.

	* disk/raid6_recover.c: Likewise.

	* disk/mdraid_linux.c: Likewise.

	* disk/dmraid_nvidia.c: Likewise.

	* disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
	ULONG_MAX.

	* disk/raid.c (grub_raid_open): Use the size of the smallest disk to
	calculate the size of raid device.
	(grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
	different layout of raid5.
	(grub_raid_scan_device): Remove code specific to mdraid.
	(grub_raid_list): New variable.
	(free_array): New function.
	(grub_raid_register): Likewise.
	(grub_raid_unregister): Likewise.
	(grub_raid_rescan): Likewise.
	(GRUB_MOD_INIT): Don't iterate device here.
	(GRUB_MOD_FINI): Use free_array to release resource.

	* include/grub/raid.h: Remove macro and structure specific to mdraid.
	(grub_raid5_recover_func_t): New function variable type.
	(grub_raid6_recover_func_t): Likewise.
	(grub_raid5_recover_func): New variable.
	(grub_raid6_recover_func): Likewise.
	(grub_raid_register): New function.
	(grub_raid_unregister): Likewise.
	(grub_raid_rescan): Likewise.
	(grub_raid_block_xor): Likewise.

	* util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
	(CMD_CRC): New macro.
	(part): Removed.
	(read_file): Handle device as well as file.
	(cmd_crc): New function.
	(fstest): Handle multiple disks.
	(options): Remove part, raw and long, add root and diskcount.
	(usage): Add crc, remove -p, -r, -l, add -r and -c.
	(main): Find the first non option entry and ignore subsequence options,
	add handling for the new options, support multiple disks.

	* util/grub-probe.c (probe): Add mdraid to abstraction_name.
2008-08-23 14:51:19 +00:00
robertmh 7f42f83e87 2008-08-18 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
        (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
        (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
        (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
        (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
        New macros.
        (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
        * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
        (GRUB_LINUX_CL_END_OFFSET): ... to here.
        * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
        (GRUB_LINUX_CL_OFFSET): ... this.  Update all users.
        (GRUB_EFI_CL_END_OFFSET): Rename to ...
        (GRUB_LINUX_CL_END_OFFSET): ... this.  Update all users.
        (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
        Initialize `params->video_cursor_x' and `params->video_cursor_y'
        portably using grub_getxy().
        Replace `-EFI' with `-bzImage' in boot message.
2008-08-18 13:01:01 +00:00
robertmh 38487ddbd2 2008-08-17 Robert Millan <rmh@aybabtu.com>
* include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
2008-08-17 20:28:00 +00:00
robertmh deceb3ecd3 2008-08-17 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.

        * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
        (GRUB_MACHINE_MEMORY_RESERVED): New macros.
        (grub_machine_mmap_iterate): New function declaration.
        * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
        structure.
        (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
        macros.

        * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
        type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
        Move e820 parsing from here ...
        * kern/i386/pc/mmap.c: New file.
        (grub_machine_mmap_iterate): ... to here.

        * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
        (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
        (GRUB_MACHINE_MEMORY_AVAILABLE): ... this.  Update all users.
        (grub_available_iterate): Redeclare to return `void', and redeclare
        its hook to use grub_uint64_t as addr and size parameters, and rename
        to ...
        (grub_machine_mmap_iterate): ... this.  Update all users.

        * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
        to make it more readable.  Rename to ...
        (grub_machine_mmap_iterate): ... this.

        * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
        (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
        (grub_multiboot): Allocate an extra region after the payload, and fill
        it with a Multiboot memory map.  Adjust a.out loader to calculate size
        with the extra space.
        (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
        with the extra space.
2008-08-17 16:32:18 +00:00
bean 42ce5170b7 2008-08-15 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(datetime_mod_CFLAGS): Likewise.
	(datetime_mod_LDFLAGS): Likewise.
	(date_mod_SOURCES): Likewise.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(datehook_mod_SOURCES): Likewise.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.

	* conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(datetime_mod_CFLAGS): Likewise.
	(datetime_mod_LDFLAGS): Likewise.
	(date_mod_SOURCES): Likewise.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(datehook_mod_SOURCES): Likewise.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.

	* conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(datetime_mod_CFLAGS): Likewise.
	(datetime_mod_LDFLAGS): Likewise.
	(date_mod_SOURCES): Likewise.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(datehook_mod_SOURCES): Likewise.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.

	* conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(datetime_mod_CFLAGS): Likewise.
	(datetime_mod_LDFLAGS): Likewise.
	(date_mod_SOURCES): Likewise.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(datehook_mod_SOURCES): Likewise.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.

	* conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(datetime_mod_CFLAGS): Likewise.
	(datetime_mod_LDFLAGS): Likewise.
	(date_mod_SOURCES): Likewise.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(datehook_mod_SOURCES): Likewise.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.

	* kern/env.c (grub_env_insert): Fix a bug in prevp pointer.

	* commands/date.c: New file.

	* hook/datehook.c: Likewise.

	* include/grub/lib/datetime.h: Likewise.

	* include/grub/i386/cmos.h: Likewise.

	* lib/datetime.c: Likewise.

	* lib/i386/datetime.c: Likewise.

	* lib/efi/datetime.c: Likewise.
2008-08-15 15:39:02 +00:00
robertmh eba0ce9f97 2008-08-14 Robert Millan <rmh@aybabtu.com>
* conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
        (grub_mkelfimage_SOURCES): New variable.
        (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.

        * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
        (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
        * conf/powerpc-ieee1275.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.

        * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
        * kern/i386/coreboot/init.c: Likewise.

        * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
        with `<grub/cpu/kernel.h>'.
        (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
        to ...
        (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
        * kern/i386/coreboot/startup.S: Likewise.

        * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
        (GRUB_MOD_GAP): Remove.
        * include/grub/powerpc/kernel.h: New file.
        * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
        (GRUB_KERNEL_MACHINE_DATA_END): Remove.
        * include/grub/i386/kernel.h: New file.
        * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
        (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
        (GRUB_KERNEL_MACHINE_DATA_END): Remove.

        * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
        `grub-mkelfimage'.
        Use --directory when invoking grub_mkimage.

        * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
        (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
        GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
        and GRUB_KERNEL_CPU_PREFIX.
2008-08-14 18:59:33 +00:00
fzielcke b86408f869 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
* include/grub/err.h (grub_err_printf): New function prototype.
        * util/misc.c (grub_err_printf): New function.
        * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
        grub_printf.
        * kern/err.c (grub_print_error): Use grub_err_printf.
2008-08-14 18:46:47 +00:00
robertmh 371458b576 2008-08-12 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
        of the relocation code from here ...
        (grub_multiboot): ... to here.
        (forward_relocator, backward_relocator): Move from here ...
        * kern/i386/loader.S (grub_multiboot_forward_relocator)
        (grub_multiboot_backward_relocator): ... to here.
        (grub_multiboot_real_boot): Use %edx for entry offset.  Put Multiboot
        magic in %eax.  Use %ebp for jumping (so %edx is not trashed).
        * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
        (grub_multiboot_forward_relocator_end)
        (grub_multiboot_backward_relocator)
        (grub_multiboot_backward_relocator_end): New variables.
2008-08-12 15:40:26 +00:00
marco_g 7f280db554 2008-08-08 Marco Gerards <marco@gnu.org>
* disk/ata.c (grub_ata_regget): Change return type to
	`grub_uint8_t'.
	(grub_ata_regget2): Likewise.
	(grub_ata_wait_status): New function.
	(grub_ata_wait_busy): Removed function, updated all users to use
	`grub_ata_wait_status'.
	(grub_ata_wait_drq): Likewise.
	(grub_ata_cmd): New function.
	(grub_ata_pio_read): Change return type to `grub_uint8_t'.  Add
	error handling.
	(grub_ata_pio_write): Add error handling.
	(grub_atapi_identify): Likewise.
	(grub_atapi_packet): Use `grub_ata_cmd' and improve error
	handling.
	(grub_ata_identify): Use `grub_ata_cmd' and improve error
	handling.  Actually use the detected registers.  Reorder the
	detection logic such that it is easier to read.
	(grub_ata_pciinit): Do not assign the same ID to each controller.
	(grub_ata_setaddress): Use `grub_ata_cmd' and improve error
	handling.
	(grub_atapi_readsector): Check the result of `grub_ata_pio_read'.

	* include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
2008-08-07 23:37:33 +00:00
bean 819ce6c0a9 2008-08-07 Bean <bean123ch@gmail.com>
* include/grub/x86_64/pci.h: New file.
2008-08-07 20:16:59 +00:00
bean 5ebc275d6f 2008-08-07 Bean <bean123ch@gmail.com>
* conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
	kern/i386/tsc.c and kern/i386/pit.c.

	* include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
	x86_64 platform.

	* kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
	<grub/i386/tsc.h>.

	* kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
2008-08-07 19:21:25 +00:00
bean e383b3d0c8 2008-08-07 Bean <bean123ch@gmail.com>
* conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,

	* include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
	multiple inclusion. Add #include <grub/types.h>.
2008-08-07 11:58:55 +00:00
robertmh a55d42e0e0 2008-08-06 Robert Millan <rmh@aybabtu.com>
* conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
        `halt.mod'.
        (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
        (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.

        * kern/i386/halt.c: New file.
        * kern/i386/reboot.c: Likewise.
        * include/grub/i386/reboot.h: Likewise.
        * include/grub/i386/halt.h: Likewise.

        * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
        Include `<grub/cpu/halt.h>'.
        * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
        [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.

        * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
        (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
        (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
        (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
        (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
        (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
        from here ...
        * include/grub/i386/at_keyboard.h: ... to here.
2008-08-06 00:20:04 +00:00
robertmh 24371d2620 2008-08-05 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
        * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
        * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
        `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
        `kern/generic/millisleep.c'.

        * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
        instead of grub_get_rtc().
        (grub_tsc_init): Initialize `tsc_boot_time'.

        * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
        (grub_machine_init): Use grub_tsc_init() rather than
        installing an RTC-based handler via grub_install_get_time_ms().

        * kern/i386/pit.c: New file.
        * include/grub/i386/pit.h: Likewise.
2008-08-05 20:24:00 +00:00
bean 9e7007b310 2008-08-05 Bean <bean123ch@gmail.com>
* boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.

	* conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
	(pkglib_MODULES): Add pxe.mod and pxecmd.mod.
	(pxe_mod_SOURCES): New macro.
	(pxe_mod_CFLAGS): Likewise.
	(pxe_mod_LDFLAGS): Likewise.
	(pxecmd_mod_SOURCES): Likewise.
	(pxecmd_mod_CFLAGS): Likewise.
	(pxecmd_mod_LDFLAGS): Likewise.

	* kern/i386/pc/startup.S (grub_pxe_scan): New function.
	(grub_pxe_call): Likewise.

	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.

	* commands/i386/pc/pxecmd.c: New file.

	* disk/i386/pc/pxe.c: Likewise.

	* include/grub/i386/pc/pxe.h: Likewise.
2008-08-05 15:15:59 +00:00
marco_g a829251bdb Urgh, and now actually add the files :-) 2008-08-05 12:26:29 +00:00
marco_g 9c2ff3eefe 2008-08-05 Colin D Bennett <colin@gibibit.com>
High resolution timer support.  Implemented for x86 CPUs using TSC.
	Extracted generic grub_millisleep() so it's linked in only as needed.
	This requires a Pentium compatible CPU; if the RDTSC instruction is
	not supported, then it falls back on the generic grub_get_time_ms()
	implementation that uses the machine's RTC.

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
	`kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
	`kern/generic/millisleep.c'.

	* conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
	`kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.

	* conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
	`kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.

	* conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
	`kern/generic/millisleep.c'.

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.

	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.

	* kern/generic/rtc_get_time_ms.c: New file.

	* kern/generic/millisleep.c: New file.
 	
	* kern/misc.c: Don't include
	<kern/time.h> anymore.
	(grub_millisleep_generic): Removed.

	* commands/sleep.c (grub_interruptible_millisleep): Uses
	grub_get_time_ms() instead of grub_get_rtc().

	* include/grub/i386/tsc.h (grub_get_tsc): New file.  New inline
	function.
	(grub_cpu_is_cpuid_supported): New inline function.
	(grub_cpu_is_tsc_supported): New inline function.
	(grub_tsc_init): New function prototype.
	(grub_tsc_get_time_ms): New function prototype.

	* kern/i386/tsc.c (grub_get_time_ms): New file.

	* include/grub/time.h: Include <grub/types.h.
	(grub_millisleep_generic): Removed.
	(grub_get_time_ms): New prototype.
	(grub_install_get_time_ms): New prototype.
	(grub_rtc_get_time_ms): New prototype.

	* kern/time.c (grub_get_time_ms): New function.
	(grub_install_get_time_ms): New function.

	* kern/i386/efi/init.c: Include <grub/cpu/tsc.h>.  Don't include
	<grub/time.h> anymore.
	(grub_millisleep): Removed.
	(grub_machine_init): Call grub_tsc_init.

	* kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
	get_time_ms() implementation.

	* kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
	(ieee1275_get_time_ms): New function.
	(grub_machine_init): Install get_time_ms() implementation.

	* kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
	(grub_machine_init): Call grub_tsc_init().
	(grub_millisleep): Removed.
 
	* kern/ieee1275/init.c (grub_millisleep): Removed.
	(grub_machine_init): Install ieee1275_get_time_ms()
	implementation.
	(ieee1275_get_time_ms): New function.
	(grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
	real work.
2008-08-05 11:54:37 +00:00
robertmh dd19c7d795 2008-08-03 Robert Millan <rmh@aybabtu.com>
Make PCI available on all i386 architectures.

        * include/grub/i386/pc/pci.h: Move from here ...
        * include/grub/i386/pci.h: ... to here.

        * include/grub/i386/pc/pci.h: Remove.
        * include/grub/i386/efi/pci.h: Remove.
        * include/grub/x86_64/efi/pci.h: Remove.

        * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
        `<grub/cpu/pci.h>'.

        * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
        (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
        (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.

        * conf/i386-ieee1275.rmk: Likewise.
2008-08-03 18:14:07 +00:00
robertmh 3bd0a12aca 2008-08-02 Robert Millan <rmh@aybabtu.com>
* disk/memdisk.c (memdisk_size): Don't initialize.
        (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().

        * include/grub/i386/pc/kernel.h
        (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
        (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
        (grub_memdisk_image_size, grub_arch_memdisk_addr)
        (grub_arch_memdisk_size): Remove.

        * include/grub/kernel.h (struct grub_module_header): Remove `offset'
        field (was only used to transfer a constant).  Add `type' field to
        support multiple module types.
        (grub_module_iterate): New function.

        * kern/device.c (grub_device_open): Do not hide error messages
        when grub_disk_open() fails.  Use grub_print_error() instead.

        * kern/i386/pc/init.c (grub_arch_modules_addr)
        (grub_arch_memdisk_size): Remove functions.
        (grub_arch_modules_addr): Return the module address in high memory
        (now that it isn't copied anymore).

        * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
        (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
        decompression routine (grub_total_module_size already includes that
        now).  Don't copy modules back to low memory.

        * kern/main.c: Include `<grub/mm.h>'.
        (grub_load_modules): Split out (and use) ...
        (grub_module_iterate): ... this function, which iterates through
        module objects and runs a hook.
        Comment out grub_mm_init_region() call, as it would cause non-ELF
        modules to be overwritten.

        * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
        the memdisk image in its own region, make it part of the module list.
        * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
        (main): Parse --memdisk|-m option, and pass user-provided path as
        parameter to generate_image().
        (add_segments): Pass `memdisk_path' down to load_modules().
        (load_modules): Embed memdisk image in module section when requested.
        * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
        `header.type' instead of `header.offset'.

        * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
        (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
        (memdisk_mod_LDFLAGS): New variables.
        * conf/i386-coreboot.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.
2008-08-02 12:17:44 +00:00
robertmh a927cc7383 2008-08-02 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/multiboot.c (playground, forward_relocator)
        (backward_relocator): New variables.  Used to allocate and relocate
        the payload, respectively.
        (grub_multiboot_load_elf32): Load into heap instead of requested
        address, install the appropiate relocator code in each bound of
        the payload, and set the entry point such that
        grub_multiboot_real_boot() will jump to one of them.

        * kern/i386/loader.S (grub_multiboot_payload_size)
        (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
        (grub_multiboot_payload_entry_offset): New variables.
        (grub_multiboot_real_boot): Set cpu context to what the relocator
        expects, and jump to the relocator instead of the payload.

        * include/grub/i386/loader.h (grub_multiboot_payload_size)
        (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
        (grub_multiboot_payload_entry_offset): Export.
2008-08-02 12:12:14 +00:00
bean 9175e93d11 2008-08-01 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkglib_MODULES): Add bufio.mod.
	(bufio_mod_SOURCES): New macro.
	(bufio_mod_CFLAGS): Likewise.
	(bufio_mod_LDFLAGS): Likewise.

	* include/grub/bufio.h: New file.

	* io/bufio.c: Likewise.

	* video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
	(grub_video_reader_png): Use grub_buffile_open to open file.

	* video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
	(grub_video_reader_jpeg): Use grub_buffile_open to open file.

	* video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
	(grub_video_reader_tga): Use grub_buffile_open to open file.

	* font/manager.c: Include <grub/bufio.h>.
	(add_font): Use grub_buffile_open to open file.
2008-08-01 04:06:55 +00:00
robertmh edb3d5c272 Add missing copyright years for recent changes 2008-07-31 19:33:23 +00:00
robertmh 59198b722c 2008-07-30 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
        Increase from 0x50 to 0x60.
        * util/i386/pc/grub-install.in: Detect cross-disk installs, and
        use UUIDs to identify the root drive for them.  If that's not
        possible, abort.
        * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
        check, for cross-disk installs.
2008-07-30 10:44:38 +00:00
robertmh ae88bca301 2008-07-30 Robert Millan <rmh@aybabtu.com>
* kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
        is non-empty, use it to set the `prefix' environment variable instead
        of the usual approach.
        * kern/i386/linuxbios/init.c (make_install_device): Remove function.
        (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
        environment variable instead of dummy make_install_device().

        * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
        (start): Insert a data section, with `grub_prefix' variable.
        * kern/i386/linuxbios/startup.S: Likewise.

        * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
        New variable reference.
        * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
        New macro.  Defines offset of `grub_prefix' within startup.S (relative
        to `start').
        (GRUB_KERNEL_MACHINE_DATA_END): New macro.  Defines the end of data
        section within startup.S (relative to `start').
        * include/grub/i386/coreboot/kernel.h: Likewise.

        * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
        Overwrite grub_prefix with its contents, at the beginning of the
        first segment.
        (main): Understand -p|--prefix.
2008-07-30 10:42:11 +00:00