Commit Graph
35 Commits
Author SHA1 Message Date
davem 515b50793a * normal/menu.c: Include grub/parser.h 2009-05-03 22:05:29 +00:00
davem ad22a610fe * util/hostdisk.c (device_is_wholedisk): New function.
(grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
	zero only if device_is_wholedisk() returns true.
2009-04-30 13:23:48 +00:00
davem 6966215ddb * util/hostdisk.c (convert_system_partition_to_system_disk):
Handle virtual disk devices named /dev/vdiskX as found on sparc
	and powerpc.
2009-04-30 13:21:14 +00:00
davem ac8a2baae4 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
lettered partition specifier is found, convert to numbered.
2009-04-30 13:17:10 +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
davem 3c64e10417 * normal/command.c: Add missing newline at end of file. 2009-04-30 01:28:22 +00:00
davem 979b4fb416 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
warnings.
	* kern/ieee1275/openfw.c (grub_claimmap): Likewise.
	* disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
	grub_ofdisk_read): Likewise, and deal similarly with the fact that
	ihandles have a 32-bit type but need to be stored in a "void *".
2009-04-30 01:18:43 +00:00
davem 5c77c3de65 * util/grub-mkdevicemap.c (make_device_map): Add missing
NESTED_FUNC_ATTR to process_device().
2009-04-26 08:44:36 +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 ac20caff54 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
on disk->data.
2009-04-24 12:05:14 +00:00
davem 0d31250038 Avoiding openning same device multiple times in device iterator.
* kern/device.c (grub_device_iterate): Define struct part_ent,
	and use it to build a list of partitions in interate_disk() and
	iterate_partition().
2009-04-24 12:04:10 +00:00
davem c8c08833e3 * kern/sparc64/ieee1275/openfw.c: Unused, delete. 2009-04-23 10:03:41 +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
davem f01005a832 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
is larger than address_cells, use that value for address_cells too.
2009-04-22 09:45:43 +00:00
davem 0552ff9f81 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
(grub_rescue_cmd_linux): Rename to...
	(grub_cmd_linux): and fix prototype.
	(grub_rescue_cmd_initrd): Rename to...
	(grub_cmd_initrd): and fix prototype.
	(cmd_linux, cmd_initrd): New.
	(GRUB_MOD_INIT(linux)): Use grub_register_command().
	(GRUB_MOD_FINI(linux): Use grub_unregister_command().
2009-04-19 08:51:04 +00:00
davem 5c5bf96ae6 * util/hostdisk.c (make_device_name): Fix buffer length
calculations.
2009-04-14 09:07:25 +00:00
davem 1d7a72fd8c * kern/dl.c (grub_dl_load_file): Close file immediately when
we are done using it.
2009-04-13 23:03:50 +00:00
davem 6a4737e5d8 * util/hostdisk.c (make_device_name): Do not make any assumptions
about the length of drive names.
2009-04-13 23:01:54 +00:00
davem 96bd81ecf9 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
(grub_fstest_SOURCES): Likewise.
2009-04-13 20:35:59 +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
davem f5dbbca97f * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
(OFDISK_HASH_SZ): Define.
	(ofdisk_hash): New hash table.
	(ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
	(grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
	instead of device phandle which is not unique.
2009-04-13 06:40:34 +00:00
davem e382e93a88 * genmk.rb: Add more flexible image type specification, also
pass --strip-unneeded to objcopy.
	* conf/i386-pc.rmk: Use *_FORMAT.
	* conf/i386-pc.mk: Rebuilt.
2009-04-13 06:37:50 +00:00
davem df38d0bb75 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
target compiler.
2009-04-13 06:31:05 +00:00
davem 56bc2471ad * kern/misc.c (grub_ltoa): Fix cast when handling negative
values.  Noticed by Pavel Roskin.
2009-04-12 08:06:26 +00:00
davem ed3d2bc23d * kern/misc.c (grub_ltoa): New function.
(grub_vsprintf): Use it to format 'long' integers.
2009-04-11 11:48:34 +00:00
davem 0f005da92a Missed these in previous commits, sorry. 2009-04-11 08:33:35 +00:00
davem 0d44993d69 * include/grub/sparc64/ieee1275/boot.h: New file.
* boot/sparc64/ieee1275/boot.S: Likewise.
	* boot/sparc64/ieee1275/diskboot.S: Likewise.
2009-04-11 08:31:10 +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 450e22389f * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
* kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
	(grub_devalias_iterate): Likewise.
2009-04-11 03:09:17 +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
davem ea3f72cf0e * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation. 2009-04-07 23:49:27 +00:00
davem c2cdde70b3 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
support for R_SPARC_OLO10 relocations.  Fix compile warning for
	R_SPARC_WDISP30 case.
2009-04-07 23:48:28 +00:00