Commit graph

722 commits

Author SHA1 Message Date
BVK Chaitanya
db45b311cc pull-in block-arg branch 2010-06-10 17:57:16 +05:30
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
Colin Watson
ab6316112c * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2010-06-02 01:23:34 +01: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
c49abfdd24 merge mainline into cmostest 2010-05-22 20:28:09 +02:00
BVK Chaitanya
868bebea0c merge with mainline 2010-05-19 14:39:58 +05:30
Colin Watson
74cbf5bdcb * configure.ac: Check for Linux device-mapper support.
* util/hostdisk.c (device_is_mapped): New function.
(find_partition_start): New function, partly broken out from
linux_find_partition and grub_util_biosdisk_get_grub_dev but with
device-mapper support added.
(linux_find_partition): Use find_partition_start.
(convert_system_partition_to_system_disk): Add `st' argument.
Support Linux /dev/mapper/* devices if device-mapper support is
available; only DM-RAID devices are understood at present.
(find_system_device): Add `st' argument.  Pass it to
convert_system_partition_to_system_disk.
(grub_util_biosdisk_get_grub_dev): Pass stat result to
find_system_device and convert_system_partition_to_system_disk.  Use
find_partition_start.
* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
* util/deviceiter.c [__linux__]: Define MINOR.
(grub_util_iterate_devices): Add support for DM-RAID disk devices.
* util/mkdevicemap.c (grub_putchar): New function.
(grub_getkey): New function.
(grub_refresh): New function.
(main): Set debug=all if -v -v is used.
2010-05-18 12:33:35 +01:00
Colin Watson
e6127bed25 merge from trunk 2010-05-18 11:14:13 +01:00
Vladimir 'phcoder' Serbinenko
1d3293d67d Remove grub-mkisofs.
* conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
	(grub_mkisofs_SOURCES): Removed.
	(grub_mkisofs_CFLAGS): Removed.
	* util/mkisofs/defaults.h: Removed.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/include/: Likewise.
	* util/mkisofs/include/fctldefs.h: Likewise.
	* util/mkisofs/include/mconfig.h: Likewise.
	* util/mkisofs/include/prototyp.h: Likewise.
	* util/mkisofs/include/statdefs.h: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/match.c: Likewise.
	* util/mkisofs/match.h: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/msdos_partition.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.
2010-05-17 23:33:03 +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
BVK Chaitanya
263b0fa757 merge with mainline 2010-05-12 10:41:24 +05:30
BVK Chaitanya
a0167e8bdf rewrote arglist to argv conversion and added $@, $* support 2010-05-12 10:19:12 +05:30
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
BVK Chaitanya
ab4da2cd36 build fixes for real platforms 2010-05-06 09:33:45 +05:30
BVK Chaitanya
da6e6f17f3 cygwin emu build fixes 2010-05-06 08:45:39 +05:30
BVK Chaitanya
342bf06e58 function parameters support 2010-05-05 14:47:50 +05:30
BVK Chaitanya
81827e248c merge with mainline 2010-05-04 09:09:03 +05:30
Vladimir 'phcoder' Serbinenko
165134bcc1 * commands/iorw.c: New file.
* conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
	(iorw_mod_SOURCES): New variable.
	(iorw_mod_CFLAGS): Likewise.
	(iorw_mod_LDFLAGS): Likewise.
2010-05-01 19:37:04 +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
BVK Chaitanya
6fdda85ae6 fix comment and brace handling 2010-04-30 13:50:41 +05:30
Vladimir 'phcoder' Serbinenko
cc9d24254f * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
autogen issues.
2010-04-27 22:08:24 +02:00
BVK Chaitanya
f07ccea799 removed some duplicate code 2010-04-27 20:55:12 +05:30
Vladimir 'phcoder' Serbinenko
19ba92760a merge merge-mkimage into rescue-efi 2010-04-27 10:47:29 +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
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
0253aeb7a1 Unified grub-mkimage achieved 2010-04-26 13:11:43 +02:00
Vladimir 'phcoder' Serbinenko
7576adef7c Remove grub-mkelfimage 2010-04-25 23:04:29 +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
2fa6a5dd44 rename grub-mkrawimage to grub-mkimage 2010-04-25 19:41:51 +02:00
Vladimir 'phcoder' Serbinenko
d31bc9964c migrate kernel.img to elf 2010-04-25 01:54:46 +02:00
Jiro SEKIBA
f67dc308f6 Nilfs2 support.
* conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add nilfs2.mod.
	(nilfs2_mod_SOURCES): New variable.
	(nilfs2_mod_CFLAGS): Likewise.
	(nilfs2_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
	* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
	* fs/nilfs2.c: New file.
2010-04-24 22:09:08 +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
7428eb2cf6 Revert useless and wrong parts 2010-04-18 20:38:40 +02:00
Vladimir 'phcoder' Serbinenko
d0faf8a1b3 Correct path to grub-ofpathname 2010-04-18 16:31:27 +02:00
Vladimir 'phcoder' Serbinenko
6e86896ed8 Use ofpathname in grub-setup on sparc 2010-04-18 14:02:13 +02:00
Vladimir 'phcoder' Serbinenko
1989170fd5 merge mainline into rescue-efi 2010-04-17 02:32:05 +02:00
BVK Chaitanya
4e6da157dd fix and testcase for \$ in grub script dquote strings 2010-04-13 20:58:12 +05:30
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
BVK Chaitanya
20072d3ad5 merged with mainline 2010-04-10 18:09:56 +05:30
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
BVK Chaitanya
68b31b54f5 merged with mainline 2010-04-09 22:32:58 +05:30
BVK Chaitanya
c41c00eab6 merged with mainline 2010-04-09 21:44:59 +05:30
BVK Chaitanya
9705115b22 merged with mainline 2010-04-09 20:53:57 +05:30