* util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>. (note_path): Remove variable. (GRUB_IEEE1275_NOTE_NAME): New macro. (GRUB_IEEE1275_NOTE_TYPE): Likewise. (grub_ieee1275_note_hdr): New structure. (grub_ieee1275_note_desc): Likewise. (grub_ieee1275_note): Likewise. (load_note): Remove `dir' argument. All callers updated. Remove `note_img' and `path'. Do not load a file from `note_path'. Initialize a struct grub_ieee1275_note and write that to `out'. Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
		
			
				
	
	
		
			1794 lines
		
	
	
	
		
			64 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			1794 lines
		
	
	
	
		
			64 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 2005-01-09  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
 | |
| 	(note_path): Remove variable.
 | |
| 	(GRUB_IEEE1275_NOTE_NAME): New macro.
 | |
| 	(GRUB_IEEE1275_NOTE_TYPE): Likewise.
 | |
| 	(grub_ieee1275_note_hdr): New structure.
 | |
| 	(grub_ieee1275_note_desc): Likewise.
 | |
| 	(grub_ieee1275_note): Likewise.
 | |
| 	(load_note): Remove `dir' argument.  All callers updated.  Remove
 | |
| 	`note_img' and `path'.  Do not load a file from `note_path'.
 | |
| 	Initialize a struct grub_ieee1275_note and write that to `out'.
 | |
| 	Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
 | |
| 
 | |
| 2005-01-05  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* util/misc.c (grub_util_read_image): Revert last change.  It
 | |
| 	called `grub_util_read_at', which seeks from the beginning of the
 | |
| 	file.
 | |
| 
 | |
| 2005-01-04  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* TODO: Add note about endianness in grub-mkimage.
 | |
| 	* boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
 | |
| 	section.
 | |
| 	* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
 | |
| 	(grub_mkimage_SOURCES): New target.
 | |
| 	* include/grub/kernel.h (grub_start_addr): Remove variable.
 | |
| 	(grub_end_addr): Likewise.
 | |
| 	(grub_total_module_size): Likewise.
 | |
| 	(grub_kernel_image_size): Likewise.
 | |
| 	(GRUB_MODULE_MAGIC): New constant.
 | |
| 	(grub_module_info): New structure.
 | |
| 	(grub_arch_modules_addr): New prototype.
 | |
| 	(grub_get_end_addr): Remove prototype.
 | |
| 	* include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
 | |
| 	* include/grub/powerpc/ieee1275/kernel.h: New file.
 | |
| 	* include/grub/util/misc.h (grub_util_get_fp_size): New
 | |
| 	prototype.
 | |
| 	(grub_util_read_at): Likewise.
 | |
| 	(grub_util_write_image_at): Likewise.
 | |
| 	* kern/main.c (grub_get_end_addr): Remove function.
 | |
| 	(grub_load_modules): Call grub_arch_modules_addr instead of using
 | |
| 	grub_end_addr.  Look for a grub_module_info struct in memory.  Use
 | |
| 	the grub_module_info fields instead of calling grub_get_end_addr
 | |
| 	as loop conditions.  Move grub_add_unused_region code here.
 | |
| 	(grub_add_unused_region): Remove function.
 | |
| 	* kern/i386/pc/init.c: Include grub/cache.h.
 | |
| 	(grub_machine_init): Remove call to grub_get_end_addr.  Remove
 | |
| 	one call to add_mem_region.
 | |
| 	(grub_arch_modules_addr): New function.
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
 | |
| 	(grub_total_module_size): Likewise.
 | |
| 	Include grub/machine/kernel.h.
 | |
| 	(grub_arch_modules_addr): New function.
 | |
| 	* util/grub-emu.c (grub_end_addr): Remove variable.
 | |
| 	(grub_total_module_size): Likewise.
 | |
| 	(grub_arch_modules_addr): New function.
 | |
| 	* util/misc.c: Include unistd.h.
 | |
| 	(grub_util_get_fp_size): New function.
 | |
| 	(grub_util_read_at): Likewise.
 | |
| 	(grub_util_write_image_at): Likewise.
 | |
| 	(grub_util_read_image): Call grub_util_read_at.
 | |
| 	(grub_util_write_image): Call grub_util_write_image_at.
 | |
| 	* util/i386/pc/grub-mkimage.c (generate_image): Allocate
 | |
| 	additional memory in kernel_img for a struct grub_module_info.
 | |
| 	Fill in that grub_module_info.
 | |
| 	* util/powerpc/ieee1275/grub-mkimage.c: New file.
 | |
| 
 | |
| 2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
 | |
| 	New function.
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h
 | |
| 	(grub_ieee1275_milliseconds): New prototype.
 | |
| 	* include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
 | |
| 	Change to 1000.
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
 | |
| 	grub_ieee1275_milliseconds.
 | |
| 
 | |
| 2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
 | |
| 	variable.
 | |
| 	(find_options): New function.
 | |
| 	(cmain): Call find_options.
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h
 | |
| 	(grub_ieee1275_realmode): New extern variable.
 | |
| 	* kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
 | |
| 	grub_map if grub_ieee1275_realmode is false.
 | |
| 
 | |
| 2004-12-29  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
 | |
| 	lines are inserted and make it work like readline.  Reported by
 | |
| 	Vincent Pelletier <subdino2004@yahoo.fr>.
 | |
| 
 | |
| 2004-12-28  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
 | |
| 
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
 | |
| 	`kern/powerpc/cache.S'.
 | |
| 
 | |
| 2004-12-27  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* genmk.rb: Handle the `Program' class in the main loop.  Written
 | |
| 	by Johan Rydberg <jrydberg@gnu.org>.
 | |
| 	(Program): New class.
 | |
| 	(programs): New variable.
 | |
| 	* boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
 | |
| 	instead of "grub/machine/ieee1275.h".  Include <grub/kernel.h>
 | |
| 	instead of "grub/kernel.h".  Include <grub/machine/init.h>.
 | |
| 	(help_arch): Function removed.
 | |
| 	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
 | |
| 	`powerpc/libgcc.h' and `loader.h'.
 | |
| 	(pkgdata_PROGRAMS): New variable.
 | |
| 	(sbin_UTILITIES): Variable removed.
 | |
| 	(grub_emu_SOURCES): Added kern/powerpc/cache.S.
 | |
| 	(grubof_SOURCES): Variable re-defined so it only includes the
 | |
| 	core functionality.
 | |
| 	(grubof_CFLAGS): Remove `-DGRUBOF'.
 | |
| 	(pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
 | |
| 	(fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
 | |
| 	(ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
 | |
| 	(minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
 | |
| 	(hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
 | |
| 	(iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
 | |
| 	(_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
 | |
| 	(normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
 | |
| 	(hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
 | |
| 	(boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
 | |
| 	(ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
 | |
| 	(cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
 | |
| 	(font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
 | |
| 	(apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
 | |
| 	(pc_mod_CFLAGS): New variables.
 | |
| 	* disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
 | |
| 	(grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
 | |
| 	* include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
 | |
| 	* include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
 | |
| 	Moved from here...
 | |
| 	* include/grub/i386/pc/init.h (grub_os_area_addr)
 | |
| 	(rub_os_area_size): ... to here.
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h
 | |
| 	(grub_ieee1275_entry_fn): Export symbol.
 | |
| 	* include/grub/powerpc/ieee1275/init.h: New file.
 | |
| 	* include/grub/powerpc/libgcc.h: Likewise.
 | |
| 	* include/grub/cache.h: Likewise.
 | |
| 	* kern/powerpc/cache.S: Likewise.  Written by Hollis Blanchard
 | |
| 	<hollis@penguinppc.org>.
 | |
| 	* kern/dl.c: Include <grub/cache.h>.
 | |
| 	(grub_dl_flush_cache): New function.
 | |
| 	(grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
 | |
| 	for this module.
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
 | |
| 	(grub_console_init): Removed prototypes.
 | |
| 	(grub_machine_init): Don't initialize the modules anymore.
 | |
| 	* kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
 | |
| 	static.
 | |
| 	* include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
 | |
| 	Macro undef removed.
 | |
| 	(GRUB_HOST_WORDS_BIGENDIAN): New macro.
 | |
| 	* kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
 | |
| 	relocation `R_PPC_REL32'.  Return an error when the relocation is
 | |
| 	unknown.
 | |
| 	* Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
 | |
| 	* kern/i386/pc/init.c (grub_arch_sync_caches): New function.
 | |
| 	* util/misc.c (grub_arch_sync_caches): Likewise.
 | |
| 
 | |
| 2004-12-19  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
 | |
| 	`symlist.c', add `grubof_symlist.c'.
 | |
| 	(symlist.c): Variable removed.
 | |
| 	(grubof_HEADERS): Variable added.
 | |
| 	(grubof_symlist.c): New target.
 | |
| 	(kernel_syms.lst): Use `grubof_HEADERS' instead of
 | |
| 	`kernel_img_HEADERS'.
 | |
| 	(grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
 | |
| 	* kern/powerpc/dl.c: New file.
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
 | |
| 	Function removed.
 | |
| 	(grub_arch_dl_relocate_symbols): Likewise.
 | |
| 	(grub_register_exported_symbols): Likewise.
 | |
| 
 | |
| 2004-12-13  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
 | |
| 	(grub_ext2_dir): Likewise.  Don't return in case of an error, jump
 | |
| 	to fail instead.  Reported by Vincent Pelletier
 | |
| 	<subdino2004@yahoo.fr>.
 | |
| 
 | |
| 	* fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
 | |
| 	it is not allocated.  Reported by Vincent Pelletier
 | |
| 	<subdino2004@yahoo.fr>.
 | |
| 
 | |
| 	* normal/cmdline.c (grub_tab_complete): Add a blank line to the
 | |
| 	output so the output looks better.
 | |
| 	
 | |
| 2004-12-04  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	Modulize the partition map support and add support for the amiga
 | |
| 	partition map.
 | |
| 	
 | |
| 	* commands/ls.c: Include <grub/partition.h> instead of
 | |
| 	<grub/machine/partition.h>.
 | |
| 	* kern/disk.c: Likewise.
 | |
| 	* kern/rescue.c: Likewise.
 | |
| 	* loader/i386/pc/chainloader.c: Likewise.
 | |
| 	* normal/cmdline.c: Likewise.
 | |
| 	* kern/powerpc/ieee1275/init.c: Likewise.
 | |
| 	(grub_machine_init): Call `grub_pc_partition_map_init',
 | |
| 	`grub_amiga_partition_map_init' and
 | |
| 	`grub_apple_partition_map_init'.
 | |
| 	* conf/i386-pc.rmk (kernel_img_SOURCES): Remove
 | |
| 	`disk/i386/pc/partition.c'.  Add `kern/partition.c'.
 | |
| 	(kernel_img_HEADERS): Remove `machine/partition.h'.  Add
 | |
| 	`partition.h' and `pc_partition.h'.
 | |
| 	(grub_setup_SOURCES): Remove
 | |
| 	`disk/i386/pc/partition.c'.  Add `kern/partition.c',
 | |
| 	`partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
 | |
| 	(grub_emu_SOURCES): Likewise.
 | |
| 	(pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
 | |
| 	(amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
 | |
| 	(apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
 | |
| 	`disk/powerpc/ieee1275/partition.c'.  Add `kern/partition.c',
 | |
| 	`partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
 | |
| 	(grubof_SOURCES): Likewise.
 | |
| 	* disk/i386/pc/partition.c: File removed.
 | |
| 	* disk/powerpc/ieee1275/partition.c: Likewise.
 | |
| 	* include/grub/powerpc/ieee1275/partition.h: Likewise.
 | |
| 	* include/grub/i386/pc/partition.h: Likewise.
 | |
| 	* kern/partition.c: New file.
 | |
| 	* partmap/amiga.c: Likewise.
 | |
| 	* partmap/apple.c: Likewise.
 | |
| 	* partmap/pc.c: Likewise.
 | |
| 	* include/grub/partition.h: Likewise..
 | |
| 	* include/grub/pc_partition.h: Likewise.
 | |
| 	* util/grub-emu.c: Include <grub/partition.h> instead of
 | |
| 	<grub/machine/partition.h>.
 | |
| 	(main): Call `grub_pc_partition_map_init',
 | |
| 	`grub_amiga_partition_map_init' and
 | |
| 	`grub_apple_partition_map_init' and deinitialize afterwards.
 | |
| 	* util/i386/pc/biosdisk.c: Include `#include
 | |
| 	<grub/partition.h>' and `include <grub/pc_partition.h>' instead of
 | |
| 	`<grub/machine/partition.h>'.
 | |
| 	* util/i386/pc/grub-setup.c: Likewise.
 | |
| 	* util/i386/pc/biosdisk.c: Likewise.
 | |
| 	(grub_util_biosdisk_get_grub_dev): Only access the PC specific
 | |
| 	partition information in case of a PC partition.
 | |
| 	* util/i386/pc/grub-setup.c: Include `#include
 | |
| 	<grub/partition.h>' and `include <grub/pc_partition.h>' instead of
 | |
| 	`<grub/machine/partition.h>'.
 | |
| 	(setup): Only access the PC specific partition information in case
 | |
| 	of a PC partition.
 | |
| 
 | |
| 2004-11-17  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 	
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
 | |
| 	(grub_longjmp): Likewise.
 | |
| 	* include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
 | |
| 	20.
 | |
| 	* normal/powerpc/setjmp.S: New file.
 | |
| 	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
 | |
| 	`normal/powerpc/setjmp.S'.
 | |
| 	(grubof_CFLAGS): Add `-DGRUBOF'.
 | |
| 	* include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
 | |
| 	[GRUB_UTIL && !GRUBOF].
 | |
| 	
 | |
| 2004-11-16  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
 | |
| 	property named `name'.  Correctly handle the error returned by
 | |
| 	`grub_ieee1275_finddevice' if a device can not be opened.
 | |
| 
 | |
| 2004-11-02  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
 | |
| 	`actual' for negativity.
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
 | |
| 	kern/fshelp.c.
 | |
| 
 | |
| 2004-11-01  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
 | |
| 	(PAGE_OFFSET): New macro.
 | |
| 	(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.
 | |
| 	(page): New variable.
 | |
| 	(wait_vretrace): New function.
 | |
| 	(set_read_map): Likewise.
 | |
| 	(set_start_address): Likewise.
 | |
| 	(grub_vga_init): Use mode 0x10 instead of mode 0x12.  Switch to
 | |
| 	the right page.
 | |
| 	(check_vga_mem): Take the page into account.
 | |
| 	(write_char): Likewise.
 | |
| 	(write_cursor): Likewise.
 | |
| 	(scroll_up): Likewise.  Copy the page to the page that is not
 | |
| 	shown and switch between both pages.
 | |
| 	(grub_vga_putchar): Fix off by one error.
 | |
| 	(grub_vga_cls): Wait for the vertical retrace.  Take the page into
 | |
| 	account.
 | |
| 
 | |
| 2004-11-01  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	Add support for iso9660 (including rockridge).
 | |
| 	
 | |
| 	* conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
 | |
| 	(iso9660_mod_SOURCES): New variable.
 | |
| 	(iso9660_mod_CFLAGS): Likewise.
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
 | |
| 	* include/grub/fs.h (grub_iso9660_init): New prototype.
 | |
| 	* util/grub-emu.c (main): Call `grub_iso9660_init'.
 | |
| 	* fs/iso9660.c: New file.
 | |
| 
 | |
| 	* include/grub/misc.h (grub_strncat): New prototype.
 | |
| 	* kern/misc.c (grub_strncat): New function.
 | |
| 	
 | |
| 	* fs/hfs.c (grub_hfs_mount): Translate the error
 | |
| 	`GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
 | |
| 	* fs/jfs.c (grub_jfs_mount): Likewise.
 | |
| 	* fs/ufs.c (grub_ufs_mount): Likewise.
 | |
| 
 | |
| 2004-10-28  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
 | |
| 	which initialized BAT registers.
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
 | |
| 	grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
 | |
| 	Move from here...
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
 | |
| 	grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
 | |
| 	... to here.
 | |
| 	* kern/powerpc/ieee1275/openfw.c (grub_map): New function.
 | |
| 	(grub_mapclaim): Likewise.
 | |
| 	* loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
 | |
| 	grub_mapclaim instead of grub_ieee1275_claim.  Assign linux_addr by
 | |
| 	hand.
 | |
| 
 | |
| 2004-10-19  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
 | |
| 	(COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
 | |
| 	-ffreestanding and -msoft-float.
 | |
| 
 | |
| 2004-10-15  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
 | |
| 	append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
 | |
| 	set in grub_ieee1275_flags.
 | |
| 
 | |
| 2004-10-14  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
 | |
| 	prototype.
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_machine_init): Call
 | |
| 	grub_console_init first.
 | |
| 	Change the memory range used for grub_ieee1275_claim and
 | |
| 	grub_mm_init_region.
 | |
| 	Print an error message if the claim fails.
 | |
| 	Include <grub/misc.h>.
 | |
| 
 | |
| 2004-10-13  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
 | |
| 	Call grub_children_iterate for device nodes of type `scsi',
 | |
| 	`ide', or `ata'.
 | |
| 	(grub_ofdisk_open): Remove manual device alias resolution.
 | |
| 	Fix memory leak when device cannot be opened.
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h 
 | |
| 	(grub_children_iterate): New prototype.
 | |
| 	* kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
 | |
| 	New function.
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
 | |
| 	Return -1 if args.size was -1.
 | |
| 
 | |
| 2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
 | |
| 	(cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
 | |
| 	World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
 | |
| 	Open Firmware's memory for it; claim memory from _start to _end.
 | |
| 	* boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
 | |
| 	(_end): New extern.
 | |
| 	(_start): Zero BSS from __bss_start to _end.
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
 | |
| 	New extern.
 | |
| 	(GRUB_IEEE1275_NO_PARTITION_0): New #define.
 | |
| 
 | |
| 2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
 | |
| 	-1 if args.base was -1.
 | |
| 
 | |
| 2004-10-08  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
 | |
| 	escape sequence instead of a literal ^L. Also call
 | |
| 	grub_ofconsole_gotoxy.
 | |
| 
 | |
| 2004-10-03  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
 | |
| 	void *	arguments to grub_addr_t.  All callers updated.  Also make
 | |
| 	the `result' argument optional.
 | |
| 	(grub_ieee1275_release): change void * arguments to grub_addr_t.
 | |
| 	All callers updated.
 | |
| 
 | |
| 2004-09-22  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* commands/ls.c (grub_ls_list_files): Use the string following the
 | |
| 	initial ')', if present, as the filesystem path.
 | |
| 	* kern/rescue.c (grub_rescue_cmd_ls): Likewise.
 | |
| 
 | |
| 	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
 | |
| 
 | |
| 2004-09-18  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	Make the source code of the menu interface more readable.
 | |
| 	
 | |
| 	* normal/menu.c: Include grub/mm.h.
 | |
| 	(TERM_WIDTH): New macro.
 | |
| 	(TERM_HEIGHT): Likewise.
 | |
| 	(TERM_INFO_HEIGHT): Likewise.
 | |
| 	(TERM_MARGIN): Likewise.
 | |
| 	(TERM_SCROLL_WIDTH): Likewise.
 | |
| 	(TERM_TOP_BORDER_Y): Likewise.
 | |
| 	(TERM_LEFT_BORDER_X): Likewise.
 | |
| 	(TERM_BORDER_WIDTH): Likewise.
 | |
| 	(TERM_MESSAGE_HEIGHT): Likewise.
 | |
| 	(TERM_BORDER_HEIGHT): Likewise.
 | |
| 	(TERM_NUM_ENTRIES): Likewise.
 | |
| 	(TERM_FIRST_ENTRY_Y): Likewise.
 | |
| 	(TERM_ENTRY_WIDTH): Likewise.
 | |
| 	(TERM_CURSOR_X): Likewise.
 | |
| 	(draw_border): Use macros instead of magic numbers.
 | |
| 	(print_entry): Likewise.
 | |
| 	(print_entries): Likewise.
 | |
| 	(run_menu): Likewise. Also, handle the key 'e'.
 | |
| 	(run_menu_entry): Ignore empty command lines.
 | |
| 	(print_message): Added a new argument EDIT. If EDIT is true,
 | |
| 	print a different message.
 | |
| 	(init_page): Likewise.
 | |
| 	(edit_menu_entry): New function. Not implemented yet.
 | |
| 
 | |
| 2004-09-17  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
 | |
| 	can be loaded from normal mode.
 | |
| 	
 | |
| 	* conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
 | |
| 	`multiboot.mod'.
 | |
| 	(linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
 | |
| 	(multiboot_mod_CFLAGS): New variables.
 | |
| 	* loader/i386/pc/linux_normal.c: New file.
 | |
| 	* loader/i386/pc/multiboot_normal.c: Likewise.	
 | |
| 	
 | |
| 	* loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
 | |
| 	attribute `unused'.
 | |
| 	
 | |
| 	* fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type.  Use
 | |
| 	`fdiro' to read the mode information from instead of `diro'.
 | |
| 
 | |
| 	* fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
 | |
| 	looking up a symlink.
 | |
| 
 | |
| 	* include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
 | |
| 	macro.
 | |
| 	* normal/command.c (grub_command_execute): Don't parse the
 | |
| 	arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
 | |
| 	flags of the command.
 | |
| 
 | |
| 	* normal/menu.c (grub_menu_run): Fix typo.
 | |
| 
 | |
| 2004-09-14  Hollis Blanchard  <hollis@penguinppc.org>
 | |
| 
 | |
| 	* kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
 | |
| 
 | |
| 	* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
 | |
| 	`y + 1' instead of `y - 1'.
 | |
| 
 | |
| 	* conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
 | |
| 	
 | |
| 2004-09-14  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	From Hollis Blanchard <hollis@penguinppc.org>:
 | |
| 	* kern/misc.c (memmove): New alias for grub_memmove.
 | |
| 	(memcmp): New alias for grub_memcmp.
 | |
| 	(memset): New alias for grub_memset.
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property): 
 | |
| 	Change "int handle" to "grub_ieee1275_phandle_t handle".
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h 
 | |
| 	(grub_ieee1275_get_property): Likewise.
 | |
| 	
 | |
| 2004-09-12  Tomas Ebenlendr  <ebik@ucw.cz>
 | |
| 
 | |
| 	Added normal mode command `chainloader' as module chain.mod, which
 | |
| 	depends on normal.mod and _chain.mod.
 | |
| 	
 | |
| 	* conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
 | |
| 	(chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
 | |
| 	* include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
 | |
| 	Deleted prototype.
 | |
| 	* loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
 | |
| 	but arguments parsing moved to ...
 | |
| 	(grub_chainloader_cmd): ... here.  New function.
 | |
| 	* include/grub/i386/pc/chainloader.h: New file.
 | |
| 	* loader/i386/pc/chainloader_normal.c: Likewise.
 | |
| 
 | |
| 2004-09-11  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
 | |
| 	(grub_mkimage_LDFLAGS): Likewise.
 | |
| 	(grub_emu_SOURCES): Likewise.
 | |
| 	(kernel_img_HEADERS): Added fshelp.h.
 | |
| 	* fs/ext2.c: Include <grub/fshelp.h>.
 | |
| 	(FILETYPE_REG): New macro.
 | |
| 	(FILETYPE_INO_REG): Likewise.
 | |
| 	(grub_ext_sblock): Renamed to `grub_ext2_sblock'.
 | |
| 	Changed all users.
 | |
| 	(ext2_block_group): Renamed to `grub_ext2_block_group'.  Changed
 | |
| 	all users.
 | |
| 	(grub_fshelp_node): New struct.
 | |
| 	(grub_ext2_data): Added member `diropen'.  Changed member `inode'
 | |
| 	to a pointer.
 | |
| 	(grub_ext2_get_file_block): Removed function.
 | |
| 	(grub_ext2_read_block): New function.
 | |
| 	(grub_ext2_read_file): Replaced parameter `data' by `node'.
 | |
| 	This function was written.
 | |
| 	(grub_ext2_mount): Read the root inode.  Create a diropen struct.
 | |
| 	(grub_ext2_find_file): Removed function.
 | |
| 	(grub_ext2_read_symlink): New function.
 | |
| 	(grub_ext2_iterate_dir): Likewise.
 | |
| 	(grub_ext2_open): Rewritten.
 | |
| 	(grub_ext2_dir): Rewritten.
 | |
| 	* include/grub/fshelp.h: New file.
 | |
| 	* fs/fshelp.c: Likewise.
 | |
| 
 | |
| 2004-09-10  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* normal/menu.c: Include grub/loader.h and grub/machine/time.h.
 | |
| 	(print_message): Add a missing newline.
 | |
| 	(run_menu): Added timeout support.
 | |
| 	(run_menu_entry): New local function.
 | |
| 	(grub_menu_run): Added support for booting.
 | |
| 
 | |
| 	* kern/loader.c (grub_loader_is_loaded): New function.
 | |
| 
 | |
| 	* include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
 | |
| 	(grub_get_rtc): Exported.
 | |
| 
 | |
| 	* include/grub/i386/pc/time.h: Include grub/symbol.h.
 | |
| 	(grub_get_rtc): Exported.
 | |
| 
 | |
| 	* include/grub/normal.h (struct grub_command_list): Remove
 | |
| 	constant from the member `command'.
 | |
| 
 | |
| 	* include/grub/loader.h (grub_loader_is_loaded): Declared.
 | |
| 
 | |
| 	* include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
 | |
| 
 | |
| 2004-08-28  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	Add support for the JFS filesystem.
 | |
| 
 | |
| 	* fs/jfs.c: New file.
 | |
| 	* include/grub/fs.h (grub_jfs_init): New prototype.
 | |
| 	(grub_jfs_fini): New prototype.
 | |
| 	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
 | |
| 	(grub_emu_SOURCES): Likewise.
 | |
| 	(pkgdata_MODULES): Add jfs.mod.
 | |
| 	(jfs_mod_SOURCES): New variable.
 | |
| 	(jfs_mod_CFLAGS): Likewise.
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
 | |
| 	(grubof_SOURCES): Likewise.
 | |
| 	* util/grub-emu.c (main): Initialize and deinitialize JFS support.
 | |
| 
 | |
| 	* fs/fat.c (grub_fat_find_dir): Convert the filename little
 | |
| 	endian to the host endian.
 | |
| 	(grub_fat_utf16_to_utf8): Move function from there...
 | |
| 	* kern/misc.c (grub_utf16_to_utf8): ...to here.  Do not convert
 | |
| 	the endianess of the source string anymore.
 | |
| 	* include/grub/misc.h (grub_utf16_to_utf8): New prototype.
 | |
| 
 | |
| 2004-08-24  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
 | |
| 	(grub_boot_fini) [GRUB_UTIL]: Likewise.
 | |
| 	(GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
 | |
| 	(GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
 | |
| 	
 | |
| 	* fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
 | |
| 	(grub_hfs_iterate_dir): Make the function static.  Add prototypes
 | |
| 	for `node_found' and `it_dir'.
 | |
| 	(grub_hfs_dir): Add prototype for `dir_hook'.
 | |
| 
 | |
| 	* fs/minix.c (grub_minix_get_file_block): Add prototype for
 | |
| 	`grub_get_indir'.  Rename `indir' in two blocks to `indir16'
 | |
| 	and `indir32' to silence a gcc warning.
 | |
| 
 | |
| 	* include/grub/fs.h (grub_hfs_init): New prototype.
 | |
| 	(grub_hfs_fini): Likewise.
 | |
| 	
 | |
| 	
 | |
| 2004-08-21  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	Each disk device has its own id now. This is useful to make use
 | |
| 	of multiple disk devices.
 | |
| 	
 | |
| 	* include/grub/disk.h (grub_disk_dev_id): New enum.
 | |
| 	(GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
 | |
| 	(GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
 | |
| 
 | |
| 	* disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
 | |
| 	GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
 | |
| 
 | |
| 	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
 | |
| 	GRUB_DISK_DEVICE_OFDISK_ID as an id.
 | |
| 
 | |
| 	* util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
 | |
| 	GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
 | |
| 
 | |
| 	* include/grub/disk.h (struct grub_disk_dev): Added a new member
 | |
| 	"id" which is used by the cache manager.
 | |
| 
 | |
| 	* normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
 | |
| 	of just "GRUB".
 | |
| 
 | |
| 2004-08-18  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* fs/hfs.c: New file.
 | |
| 	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
 | |
| 	(grub_emu_SOURCES): Likewise.
 | |
| 	(pkgdata_MODULES): Add hfs.mod.
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
 | |
| 	(grubof_SOURCES): Likewise.
 | |
| 	* util/grub-emu.c (main): Initialize and deinitialize HFS support.
 | |
| 
 | |
| 	* include/grub/misc.h (grub_strncasecmp): Add prototype.
 | |
| 	* kern/misc.c (grub_strncasecmp): Add function.
 | |
| 
 | |
| 2004-08-14  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
 | |
| 	with parentheses.
 | |
| 
 | |
| 	* fs/ext2.c (FILETYPE_UNKNOWN): New macro.
 | |
| 	(grub_ext2_dir): In case the directory entry type is unknown, read
 | |
| 	it from the inode.
 | |
| 
 | |
| 2004-08-02  Peter Bruin  <pjbruin@dds.nl>
 | |
| 
 | |
| 	* loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
 | |
| 	grub_load_linux instead of grub_rescue_cmd_linux as second
 | |
| 	argument of grub_rescue_register_command.
 | |
| 
 | |
| 	* Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
 | |
| 
 | |
| 2004-07-27  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
 | |
| 	function.
 | |
| 	* commands/boot.c: Remove the check for `GRUB_UTIL'.
 | |
| 	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
 | |
| 	`loader/powerpc/ieee1275/linux.c',
 | |
| 	`loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
 | |
| 	* include/grub/powerpc/ieee1275/ieee1275.h
 | |
| 	(grub_ieee1275_release): New prototype.
 | |
| 	* include/grub/powerpc/ieee1275/loader.h: Rewritten.
 | |
| 	* kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
 | |
| 	normal, boot, linux and linux_normal.
 | |
| 	* loader/powerpc/ieee1275/linux.c: New file.
 | |
| 	* loader/powerpc/ieee1275/linux_normal.c: Likewise.
 | |
| 
 | |
| 2004-07-12  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* normal/arg.c (grub_arg_parse): Correct error handling after
 | |
| 	reallocating the argumentlist (check if `argl' is not null instead
 | |
| 	of checking if `args' is not null).
 | |
| 	* kern/mm.c (grub_realloc): Return the same pointer when using the
 | |
| 	same region, instead of returning the header address.
 | |
| 
 | |
| 2004-07-11  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
 | |
| 	one block instead of two when looking for the initial partition.
 | |
| 	(grub_partition_probe): Initialize the local variable `p' with 0.
 | |
| 	Use base 10 for the grub_strtoul call.
 | |
| 	* kern/misc.c (grub_strncpy): Fix off by one bug.  Eliminated the
 | |
| 	need for one local variable.
 | |
| 	(grub_strtoul): Don't add the new value to `num', instead of that
 | |
| 	just assign it.
 | |
| 
 | |
| 2004-07-11  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
 | |
| 	(pxeboot_img_SOURCES): New variable.
 | |
| 	(pxeboot_img_ASFLAGS): Likewise.
 | |
| 	(pxeboot_img_LDFLAGS): Likewise.
 | |
| 	* boot/i386/pc/pxeboot.S: New file.  Based on pxeloader.S from
 | |
| 	GRUB Legacy and boot.S.  Adopted for GRUB 2 by lode leroy
 | |
| 	<lode_leroy@hotmail.com>.
 | |
| 
 | |
| 2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
 | |
| 
 | |
| 	* kern/rescue.c (grub_enter_rescue_mode): Don't continue when
 | |
| 	there was no input.
 | |
| 
 | |
| 2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
 | |
| 
 | |
| 	* normal/cmdline.c (grub_set_history): Fix off by one bug.  Fixed
 | |
| 	the history buffer logic.
 | |
| 
 | |
| 2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
 | |
| 
 | |
| 	* fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
 | |
| 	(FILETYPE_INO_SYMLINK): New macros.
 | |
| 	(grub_ext2_find_file): Check if the node is a directory using the
 | |
| 	inode stat information instead of using the filetype in the
 | |
| 	dirent.  Exclude the first character of an absolute symlink.
 | |
| 	(grub_ext2_dir): Mask out the filetype part of the mode member of
 | |
| 	the inode.
 | |
| 
 | |
| 2004-05-24  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	Add support for UFS version 1 and 2.  Add support for the minix
 | |
| 	filesystem version 1 and 2, both the variants with 14 and 30 long
 | |
| 	filenames.
 | |
| 	
 | |
| 	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
 | |
| 	fs/minix.c.
 | |
| 	(grub_emu_SOURCES): Likewise.
 | |
| 	(pkgdata_MODULES): Add ufs.mod and minix.mod.
 | |
| 	(ufs_mod_SOURCES): New variable.
 | |
| 	(ufs_mod_CFLAGS): Likewise.
 | |
| 	(minix_mod_SOURCES): Likewise.
 | |
| 	(minix_mod_CFLAGS): Likewise.
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
 | |
| 	fs/minix.c.
 | |
| 	(grubof_SOURCES): Likewise.
 | |
| 	* fs/ufs.c: New file.
 | |
| 	* fs/minix.c: New file.
 | |
| 	* include/grub/fs.h (grub_ufs_init): New prototype.
 | |
| 	(grub_ufs_fini): Likewise.
 | |
| 	(grub_minix_init): Likewise.
 | |
| 	(grub_minix_fini): Likewise.
 | |
| 	* util/grub-emu.c (main): Initialize and deinitialize UFS and
 | |
| 	minix fs.
 | |
| 
 | |
| 2004-04-30  Jeroen Dekkers  <jeroen@dekkers.cx>
 | |
| 
 | |
| 	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
 | |
| 	commands/ls.c, commands/terminal.c, commands/boot.c,
 | |
| 	commands/cmp.c and commands/cat.c.
 | |
| 	(grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
 | |
| 
 | |
| 	* kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
 | |
| 	"env.h"
 | |
| 
 | |
| 2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
 | |
| 	and grub_, respectively. Because the conversion is trivial and
 | |
| 	mechanical, I omit the details here. Please refer to the CVS
 | |
| 	if you need more information.
 | |
| 
 | |
| 2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* include/pupa: Renamed to ...
 | |
| 	* include/grub: ... this.
 | |
| 	* util/i386/pc/pupa-mkimage.c: Renamed to ...
 | |
| 	* util/i386/pc/grub-mkimage.c: ... this.
 | |
| 	* util/i386/pc/pupa-setup.c: Renamed to ...
 | |
| 	* util/i386/pc/grub-setup.c: ... this.
 | |
| 	* util/pupa-emu.c: Renamed to ...
 | |
| 	* util/grub-emu.c: ... this.
 | |
| 
 | |
| 2004-03-29  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	Add support for the newworld apple macintosh (PPC).  This has been
 | |
| 	tested on the powerbook 2000 only.  It only adds support for
 | |
| 	generic ieee1275 functions, console and disk support.  This should
 | |
| 	be easy to port to other architectures with support for Open
 | |
| 	Firmware.
 | |
| 	
 | |
| 	* configure.ac: Accept the powerpc as host_cpu.  In the case of
 | |
| 	the powerpc cpu set the host_vendor to ieee1275.  Make sure the i386
 | |
| 	specific tests are only executed while building for the i386.
 | |
| 	Inverse test for crosscompile.
 | |
| 	* genmk.rb (Utility): Allow assembler files.
 | |
| 	* normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
 | |
| 	* conf/powerpc-ieee1275.rmk: New file.
 | |
| 	* disk/powerpc/ieee1275/ofdisk.c: Likewise.
 | |
| 	* disk/powerpc/ieee1275/partition.c: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/console.h: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/partition.h: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/time.h: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/loader.h
 | |
| 	* include/pupa/powerpc/setjmp.h: Likewise.
 | |
| 	* include/pupa/powerpc/types.h: Likewise.
 | |
| 	* kern/powerpc/ieee1275/init.c: Likewise.
 | |
| 	* kern/powerpc/ieee1275/openfw.c: Likewise.
 | |
| 	* term/powerpc/ieee1275/ofconsole.c: Likewise.
 | |
| 
 | |
| 	These files were written by Johan Rydberg
 | |
| 	(jrydberg@night.trouble.net) and I only modified them slightly.
 | |
| 		
 | |
| 	* boot/powerpc/ieee1275/cmain.c: New file.
 | |
| 	* boot/powerpc/ieee1275/crt0.S: Likewise.
 | |
| 	* boot/powerpc/ieee1275/ieee1275.c: Likewise.
 | |
| 	* include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
 | |
| 
 | |
| 2004-03-14  Jeroen Dekkers  <jeroen@dekkers.cx>
 | |
| 
 | |
| 	* Makefile.in: Update copyright.
 | |
| 	* genmodsrc.sh: Likewise.
 | |
| 	* gensymlist.sh: Likewise.
 | |
| 	* term/i386/pc/vga.c: Indent correctly.
 | |
| 
 | |
| 	* util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
 | |
| 	bugreporting address.
 | |
| 	* util/i386/pc/pupa-setup.c (usage): Likewise,
 | |
| 	(main): Call pupa_ext2_init and pupa_ext2_fini.
 | |
| 
 | |
| 	* fs/fat.c (log2): Renamed to ... 
 | |
| 	(fat_log2): ... this.
 | |
| 	All callers changed.
 | |
| 	* kern/misc.c (memcpy): Alias to pupa_memmove.
 | |
| 	* loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
 | |
| 	lvalue cast.
 | |
| 	* util/console.c (pupa_ncurses_fini): Return 0.
 | |
| 
 | |
| 	* util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
 | |
| 	Move fail label here.
 | |
| 	[__GNU__]: Don't warn when using stat.
 | |
| 	(open_device)[!__linux__]: Check if FD < 0 instead of !FD.
 | |
| 	(pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
 | |
| 	long int. Use strtol instead of strtoul.
 | |
| 	
 | |
| 2004-03-14  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* commands/boot.c: New file.
 | |
| 	* commands/cat.c: Likewise.
 | |
| 	* commands/cmp.c: Likewise.
 | |
| 	* commands/ls.c: Likewise.
 | |
| 	* commands/terminal.c: Likewise.
 | |
| 	* normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
 | |
| 	(pupa_register_command): Changed interface to match the new
 | |
| 	argument parser.
 | |
| 	(pupa_command_execute): Changed (almost rewritten) so it uses
 | |
| 	pupa_split_command.  Added support for setting variables using the
 | |
| 	syntax `foo=bar'.
 | |
| 	(rescue_command): Changed to work with the new argument parser.
 | |
| 	(terminal_command): Moved from here to commands/terminal.c.
 | |
| 	(set_command): New function.
 | |
| 	(unset_command): New function.
 | |
| 	(insmod_command): New function.
 | |
| 	(rmmod_command): New function.
 | |
| 	(lsmod_command): New function.
 | |
| 	(pupa_command_init): Don't initialize the command terminal
 | |
| 	anymore.  Initialize the commands set, unset, insmod, rmmod and
 | |
| 	lsmod.
 | |
| 	* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
 | |
| 	(kernel_img_HEADERS): Add arg.h and env.h.
 | |
| 	(pupa_mkimage_LDFLAGS): Add kern/env.c.
 | |
| 	(pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
 | |
| 	commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
 | |
| 	normal/arg.c.
 | |
| 	(pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
 | |
| 	terminal.mod.
 | |
| 	(normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
 | |
| 	(boot_mod_SOURCES): New variable.
 | |
| 	(terminal_mod_SOURCES): Likewise.
 | |
| 	(ls_mod_SOURCES): Likewise.
 | |
| 	(cmp_mod_SOURCES): Likewise.
 | |
| 	(cat_mod_SOURCES): Likewise.
 | |
| 
 | |
| 	* normal/arg.c: New file.
 | |
| 	* kern/env.c: Likewise.
 | |
| 	* include/pupa/arg.h: Likewise.
 | |
| 	* include/pupa/env.h: Likewise.
 | |
| 	* font/manager.c (font_command): Changed to match argument parsing
 | |
| 	interface changes.
 | |
| 	(PUPA_MOD_INIT): Likewise.
 | |
| 	* hello/hello.c (pupa_cmd_hello): Likewise.
 | |
| 	(PUPA_MOD_INIT): Likewise.
 | |
| 	* include/pupa/disk.h: Include <pupa/device.h>.
 | |
| 	(pupa_print_partinfo): New prototype.
 | |
| 	* include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
 | |
| 	(pupa_dl_get_prefix): Likewise.
 | |
| 	* include/pupa/misc.h: Include <pupa/err.h>.
 | |
| 	(pupa_isgraph): New prototype.
 | |
| 	(pupa_isdigit): Likewise.
 | |
| 	(pupa_split_cmdline): Likewise.
 | |
| 	* include/pupa/normal.h: Include <pupa/arg.h>.
 | |
| 	(pupa_command): Changed the prototype of the member `func' to
 | |
| 	match the argument parsing interface.  Added member `options'.
 | |
| 	(pupa_register_command): Updated to match function.
 | |
| 	(pupa_arg_parse): New prototype.
 | |
| 	(pupa_hello_init) [PUPA_UTIL]: New prototype.
 | |
| 	(pupa_hello_fini) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_ls_init) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_ls_fini) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_cat_init) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_cat_fini) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_boot_init) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_boot_fini) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_cmp_init) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_cmp_fini) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_terminal_init) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_terminal_fini) [PUPA_UTIL]: Likewise.
 | |
| 	* kern/disk.c: Include <pupa/file.h>.
 | |
| 	(pupa_print_partinfo): New function.
 | |
| 	* kern/dl.c: Include <pupa/env.h>.
 | |
| 	(pupa_dl_dir): Variable removed.
 | |
| 	(pupa_dl_load): Use the environment variable `prefix' instead of
 | |
| 	the variable pupa_dl_dir.
 | |
| 	(pupa_dl_set_prefix): Function removed.
 | |
| 	(pupa_dl_get_prefix): Likewise.
 | |
| 	* kern/i386/pc/init.c: Include <pupa/env.h>.
 | |
| 	(pupa_machine_init): Use the environment variable `prefix' instead of
 | |
| 	using pupa_dl_set_prefix to set the prefix.
 | |
| 	* kern/main.c: Include <pupa/env.h>.
 | |
| 	(pupa_set_root_dev): Use the environment variable `prefix' instead of
 | |
| 	using pupa_dl_get_prefix to get the prefix.
 | |
| 	* kern/misc.c: Include <pupa/env.h>.
 | |
| 	(pupa_isdigit): New function.
 | |
| 	(pupa_isgraph): Likewise.
 | |
| 	(pupa_ftoa): Likewise.
 | |
| 	(pupa_vsprintf): Added support for printing values of the type
 | |
| 	`double'.  Make it possible to format variable output when using
 | |
| 	formatting like `%1.2%f'.
 | |
| 	(pupa_split_cmdline): New function.
 | |
| 	* kern/rescue.c: Include <pupa/env.h>.
 | |
| 	(next_word): Removed function.
 | |
| 	(pupa_rescue_cmd_prefix): Likewise.
 | |
| 	(pupa_rescue_cmd_set): New function.
 | |
| 	(pupa_rescue_cmd_unset): New function.
 | |
| 	(pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
 | |
| 	split the command line instead of splitting it here.  Added
 | |
| 	support for setting variables using the syntax `foo=bar'.  Don't
 | |
| 	initialize the prefix command anymore.  Initialized the set and
 | |
| 	unset commands.
 | |
| 	* normal/cmdline.c: Include <pupa/env.h>.
 | |
| 	(pupa_tab_complete): Added prototypes for print_simple_completion,
 | |
| 	print_partition_completion, add_completion, iterate_commands,
 | |
| 	iterate_dev, iterate_part and iterate_dir. Moved code to print
 | |
| 	partition information from here to kern/disk.c.
 | |
| 	(pupa_cmdline_run): Don't check if the funtion exists anymore.
 | |
| 	* normal/main.c: Include <pupa/env.h>.
 | |
| 	(pupa_rescue_cmd_normal): Use the environment variable `prefix'
 | |
| 	instead of using pupa_dl_get_prefix to get the prefix.
 | |
| 	* term/i386/pc/vga.c: Include <pupa/arg.h>.
 | |
| 	(check_vga_mem): Cast pointers to `void *' to silence a gcc
 | |
| 	warning.
 | |
| 	(pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
 | |
| 	(pupa_vga_setcolor): Declare unused variables with `__attribute__
 | |
| 	((unused))' to silence a gcc warning.
 | |
| 	(pupa_vga_setcolor): Likewise.
 | |
| 	(debug_command): Changed to match argument parsing
 | |
| 	interface changes.
 | |
| 	* util/pupa-emu.c: Include <pupa/env.h>.
 | |
| 	(options): Added 0's for unused fields to silence a gcc warning.
 | |
| 	(argp): Likewise.
 | |
| 	(main): Use the environment variable `prefix' instead of using
 | |
| 	pupa_dl_set_prefix to set the prefix.  Initialize the commands ls,
 | |
| 	boot, cmp, cat and terminal.  Finish the commands boot, cmp, cat
 | |
| 	and terminal.
 | |
| 
 | |
| 	* util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
 | |
| 	* util/misc.c: Include <malloc.h>.
 | |
| 	(pupa_malloc): Rewritten so errors are correctly reported.
 | |
| 	(pupa_realloc): Likewise.
 | |
| 	(pupa_memalign): Likewise.
 | |
| 	(pupa_mm_init_region): Declare unused variables with
 | |
| 	`__attribute__ ((unused))' to silence a gcc warning.
 | |
| 	* normal/i386/setjmp.S: Remove tab at the end of the file to
 | |
| 	silence a gcc warning.
 | |
| 	* loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
 | |
| 	variables with `__attribute__ ((unused))' to silence a gcc
 | |
| 	warning.
 | |
| 	* loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
 | |
| 	local variable i unsigned to silence a gcc warning.
 | |
| 
 | |
| 	* kern/term.c: Include <pupa/misc.h>.
 | |
| 	(pupa_more_lines): New variable.
 | |
| 	(pupa_more): Likewise.
 | |
| 	(pupa_putcode): When the pager is active pause at the end of every
 | |
| 	screen.
 | |
| 	(pupa_set_more): New function.
 | |
| 	* include/pupa/term.h (pupa_set_more): New prototype.
 | |
| 
 | |
| 
 | |
| 2004-03-07  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	Now this project is GRUB 2 rather than PUPA. The location of
 | |
| 	the CVS repository was moved to GRUB's.
 | |
| 	
 | |
| 	* configure.ac: Use bug-grub as the reporting address.
 | |
| 	Use GRUB instead of PUPA.
 | |
| 	Change the version number to 1.90.
 | |
| 
 | |
| 2004-02-24  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* genkernsyms.sh: Updated copyright information.
 | |
| 	* genmk.rb: Likewise.
 | |
| 	* genmodsrc.sh: Likewise.
 | |
| 	* gensymlist.sh: Likewise.
 | |
| 	* boot/i386/pc/boot.S: Likewise.
 | |
| 	* boot/i386/pc/diskboot.S: Likewise.
 | |
| 	* disk/i386/pc/biosdisk.c: Likewise.
 | |
| 	* disk/i386/pc/partition.c: Likewise.
 | |
| 	* font/manager.c: Likewise.
 | |
| 	* fs/ext2.c: Likewise.
 | |
| 	* fs/fat.c: Likewise.
 | |
| 	* include/pupa/boot.h: Likewise.
 | |
| 	* include/pupa/device.h: Likewise.
 | |
| 	* include/pupa/disk.h: Likewise.
 | |
| 	* include/pupa/dl.h: Likewise.
 | |
| 	* include/pupa/elf.h: Likewise.
 | |
| 	* include/pupa/err.h: Likewise.
 | |
| 	* include/pupa/file.h: Likewise.
 | |
| 	* include/pupa/font.h: Likewise.
 | |
| 	* include/pupa/fs.h: Likewise.
 | |
| 	* include/pupa/kernel.h: Likewise.
 | |
| 	* include/pupa/loader.h: Likewise.
 | |
| 	* include/pupa/misc.h: Likewise.
 | |
| 	* include/pupa/mm.h: Likewise.
 | |
| 	* include/pupa/net.h: Likewise.
 | |
| 	* include/pupa/normal.h: Likewise.
 | |
| 	* include/pupa/rescue.h: Likewise.
 | |
| 	* include/pupa/setjmp.h: Likewise.
 | |
| 	* include/pupa/symbol.h: Likewise.
 | |
| 	* include/pupa/term.h: Likewise.
 | |
| 	* include/pupa/types.h: Likewise.
 | |
| 	* include/pupa/i386/setjmp.h: Likewise.
 | |
| 	* include/pupa/i386/types.h: Likewise.
 | |
| 	* include/pupa/i386/pc/biosdisk.h: Likewise.
 | |
| 	* include/pupa/i386/pc/boot.h: Likewise.
 | |
| 	* include/pupa/i386/pc/console.h: Likewise.
 | |
| 	* include/pupa/i386/pc/init.h: Likewise.
 | |
| 	* include/pupa/i386/pc/kernel.h: Likewise.
 | |
| 	* include/pupa/i386/pc/linux.h: Likewise.
 | |
| 	* include/pupa/i386/pc/loader.h: Likewise.
 | |
| 	* include/pupa/i386/pc/memory.h: Likewise.
 | |
| 	* include/pupa/i386/pc/multiboot.h: Likewise.
 | |
| 	* include/pupa/i386/pc/partition.h: Likewise.
 | |
| 	* include/pupa/i386/pc/time.h: Likewise.
 | |
| 	* include/pupa/i386/pc/vga.h: Likewise.
 | |
| 	* include/pupa/i386/pc/util/biosdisk.h: Likewise.
 | |
| 	* include/pupa/util/getroot.h: Likewise.
 | |
| 	* include/pupa/util/misc.h: Likewise.
 | |
| 	* include/pupa/util/resolve.h: Likewise.
 | |
| 	* kern/device.c: Likewise.
 | |
| 	* kern/disk.c: Likewise.
 | |
| 	* kern/dl.c: Likewise.
 | |
| 	* kern/err.c: Likewise.
 | |
| 	* kern/file.c: Likewise.
 | |
| 	* kern/fs.c: Likewise.
 | |
| 	* kern/loader.c: Likewise.
 | |
| 	* kern/main.c: Likewise.
 | |
| 	* kern/misc.c: Likewise.
 | |
| 	* kern/mm.c: Likewise.
 | |
| 	* kern/rescue.c: Likewise.
 | |
| 	* kern/term.c: Likewise.
 | |
| 	* kern/i386/dl.c: Likewise.
 | |
| 	* kern/i386/pc/init.c: Likewise.
 | |
| 	* kern/i386/pc/lzo1x.S: Likewise.
 | |
| 	* kern/i386/pc/startup.S: Likewise.
 | |
| 	* loader/i386/pc/chainloader.c: Likewise.
 | |
| 	* loader/i386/pc/linux.c: Likewise.
 | |
| 	* loader/i386/pc/multiboot.c: Likewise.
 | |
| 	* normal/cmdline.c: Likewise.
 | |
| 	* normal/command.c: Likewise.
 | |
| 	* normal/main.c: Likewise.
 | |
| 	* normal/menu.c: Likewise.
 | |
| 	* normal/i386/setjmp.S: Likewise.
 | |
| 	* term/i386/pc/console.c: Likewise.
 | |
| 	* term/i386/pc/vga.c: Likewise.
 | |
| 	* util/console.c: Likewise.
 | |
| 	* util/genmoddep.c: Likewise.
 | |
| 	* util/misc.c: Likewise.
 | |
| 	* util/pupa-emu.c: Likewise.
 | |
| 	* util/resolve.c: Likewise.
 | |
| 	* util/unifont2pff.rb: Likewise.
 | |
| 	* util/i386/pc/biosdisk.c: Likewise.
 | |
| 	* util/i386/pc/getroot.c: Likewise.
 | |
| 	* util/i386/pc/pupa-mkimage.c: Likewise.
 | |
| 	* util/i386/pc/pupa-setup.c: Likewise.
 | |
| 
 | |
| 2004-02-15  Jeroen Dekkers  <jeroen@dekkers.cx>
 | |
| 
 | |
| 	* fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
 | |
| 	when it is EXT2_BLOCK_SIZE (data).  New argument READ_HOOK, all
 | |
| 	callers changed.  Set DATA->DISK->READ_HOOK to READ_HOOK before
 | |
| 	reading and reset it after reading.
 | |
| 	(pupa_ext2_close): Return PUPA_ERR_NONE.
 | |
| 
 | |
| 	* include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
 | |
| 	Correct value.
 | |
| 	(struct linux_kernel_header): Add kernel_version and
 | |
| 	initrd_addr_max.
 | |
| 	* loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
 | |
| 	pupa_file_read succeeds.
 | |
| 	(pupa_rescue_cmd_initrd): Implement.
 | |
| 
 | |
| 2003-12-03  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* fs/ext2.c (pupa_ext2_label): New function.
 | |
| 	(pupa_ext2_fs): Added label.
 | |
| 	* fs/fat.c (pupa_fat_label): New function.
 | |
| 	(pupa_fat_fs): Added label.
 | |
| 	* include/pupa/fs.h (struct pupa_fs): Added prototype label.
 | |
| 
 | |
| 	* kern/misc.c (pupa_strndup): New function.
 | |
| 	* include/pupa/misc.h (pupa_strndup): New prototype.
 | |
| 
 | |
| 	* include/pupa/normal.h: Include <pupa/err.h>.
 | |
| 	(pupa_set_history): New prototype.
 | |
| 	(pupa_iterate_commands): New prototype.
 | |
| 	* normal/cmdline.c: Include <pupa/machine/partition.h>,
 | |
| 	<pupa/disk.h>, <pupa/file.h>.
 | |
| 	(hist_size): New variable.
 | |
| 	(hist_lines): Likewise.
 | |
| 	(hist_end): Likewise.
 | |
| 	(hist_used): Likewise.
 | |
| 	(pupa_set_history): New function.
 | |
| 	(pupa_history_get): Likewise.
 | |
| 	(pupa_history_add): Likewise.
 | |
| 	(pupa_history_replace): Likewise.
 | |
| 	(pupa_tab_complete): Likewise.
 | |
| 	(pupa_cmdline_run): Added tab completion and history buffer.  Tab
 | |
| 	completion shows partitionnames while completing partitions, this
 | |
| 	feature was suggested by Jeff Bailey.
 | |
| 	* normal/command.c (pupa_iterate_commands): New function.
 | |
| 	* normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
 | |
| 	(pupa_normal_init): Initialize history buffer.
 | |
| 	(PUPA_MOD_INIT): Likewise.
 | |
| 	(pupa_normal_fini): Free the history buffer.
 | |
| 	(PUPA_MOD_FINI): Likewise.
 | |
| 
 | |
| 	* util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
 | |
| 	key.
 | |
| 
 | |
| 	* aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
 | |
| 	* configure.ac [i386]: Check for regparam bug.
 | |
| 	(NESTED_FUNC_ATTR) [! i386]: Defined.
 | |
| 
 | |
| 2003-11-17  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
 | |
| 	(pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
 | |
| 	(pupa_emu_SOURCES): New variable.
 | |
| 	(pupa_emu_LDFLAGS): Likewise.
 | |
| 	* include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
 | |
| 	(pupa_ext2_fini) [PUPA_UTIL]: Likewise.
 | |
| 	* include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
 | |
| 	(pupa_normal_fini) [PUPA_UTIL]: Likewise.
 | |
| 	* include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
 | |
| 	(pupa_jmp_buf): New typedef.
 | |
| 	(pupa_setjmp) [PUPA_UTIL]: New macro.
 | |
| 	(pupa_longjmp) [PUPA_UTIL]: Likewise.
 | |
| 	* include/pupa/term.h (struct pupa_term): New member `refresh'.
 | |
| 	(pupa_refresh): New prototype.
 | |
| 	* include/pupa/util/getroot.h: New file.
 | |
| 	* kern/misc.c (pupa_vsprintf): Refresh the screen after updating
 | |
| 	it.
 | |
| 	* kern/rescue.c (pupa_rescue_get_command_line): Likewise.
 | |
| 	(pupa_rescue_cmd_cat): Likewise.
 | |
| 	(pupa_rescue_cmd_ls): Likewise.
 | |
| 	(pupa_rescue_cmd_testload): Likewise.
 | |
| 	(pupa_rescue_cmd_lsmod): Likewise.
 | |
| 	* normal/cmdline.c (pupa_cmdline_get): Likewise.
 | |
| 	* normal/menu.c (run_menu): Likewise.
 | |
| 	* kern/term.c (pupa_cls): Likewise.
 | |
| 	(pupa_refresh): New function.
 | |
| 	* normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
 | |
| 	(pupa_normal_fini) [PUPA_UTIL]: Likewise.
 | |
| 	* util/console.c: New file.
 | |
| 	
 | |
| 	* util/i386/pc/getroot.c: New file.
 | |
| 	* util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
 | |
| 	(pupa_putchar): New function.
 | |
| 	(pupa_refresh): Likewise.
 | |
| 	(xgetcwd): Function moved to ...
 | |
| 	(strip_extra_slashes): Likewise.
 | |
| 	(get_prefix): Likewise.
 | |
| 	* util/i386/pc/getroot.c: ... here.	
 | |
| 	(find_root_device): Function moved and renamed to...
 | |
| 	* util/i386/pc/getroot.c (pupa_find_root_device): ... here.
 | |
| 	Changed all callers.
 | |
| 	* util/i386/pc/pupa-setup.c (guess_root_device): Function moved
 | |
| 	and renamed to...
 | |
| 	* util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
 | |
| 	Changed all callers.
 | |
| 	* util/misc.c (pupa_memalign): New function.
 | |
| 	(pupa_mm_init_region): Likewise.
 | |
| 	(pupa_register_exported_symbols): Likewise.
 | |
| 	(pupa_putchar): Function removed.
 | |
| 	* util/pupa-emu.c: New file.
 | |
| 
 | |
| 2003-11-16  Jeroen Dekkers  <jeroen@dekkers.cx>
 | |
| 
 | |
| 	* conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
 | |
| 	(_multiboot_mod_SOURCES): New variable.
 | |
| 	(_multiboot_mod_CFLAGS): Likewise.
 | |
| 	* loader/i386/pc/multiboot.c: New file.
 | |
| 	* include/pupa/i386/pc/multiboot.h: Likewise.
 | |
| 	* kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
 | |
| 	(pupa_multiboot_real_boot): New function.
 | |
| 	* include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
 | |
| 	(pupa_multiboot_real_boot): New prototype.
 | |
| 	(pupa_rescue_cmd_multiboot): Likewise
 | |
| 	(pupa_rescue_cmd_module): Likewise.
 | |
| 
 | |
| 	* kern/loader.c (pupa_loader_set): Continue when
 | |
| 	pupa_loader_unload_func() fails.
 | |
| 	(pupa_loader_unset): New function.
 | |
| 	* include/pupa/loader.h (pupa_loader_unset): New prototype.
 | |
| 
 | |
| 	* kern/misc.c (pupa_stpcpy): New function.
 | |
| 	* include/pupa/misc.h (pupa_stpcpy): New prototype.
 | |
| 
 | |
| 2003-11-12  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
 | |
| 	for available extensions.
 | |
| 
 | |
| 	* include/pupa/i386/pc/time.h: New file.
 | |
| 	* kern/disk.c: Include <pupa/machine/time.h>.
 | |
| 	(PUPA_CACHE_TIMEOUT): New macro.
 | |
| 	(pupa_last_time): New variable.
 | |
| 	(pupa_disk_open): Flush the cache when there was a timeout.
 | |
| 	(pupa_disk_close): Reset the timer.
 | |
| 	* kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
 | |
| 	pupa_currticks.
 | |
| 	* util/misc.c: Include <sys/times.h>
 | |
| 	(pupa_get_rtc): New function.
 | |
| 
 | |
| 2003-11-09  Jeroen Dekkers  <jeroen@dekkers.cx>
 | |
| 
 | |
| 	* fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
 | |
| 	as blocks.
 | |
| 	(pupa_ext2_get_file_block): Use blocks member.
 | |
| 
 | |
| 	* fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
 | |
| 	first block. Return -1 instead of pupa_errno on error.
 | |
| 
 | |
| 2003-10-27  Marco Gerards  <metgerards@student.han.nl>
 | |
| 
 | |
| 	* README: In the pupa-mkimage example use _chain instead of chain
 | |
| 	and ext2 instead of fat.
 | |
| 	* TODO: Replace ext2fs with jfs as an example.  Add an item for
 | |
| 	adding journal playback for ext2fs.
 | |
| 	* conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
 | |
| 	(pkgdata_MODULES): Added ext2.mod.
 | |
| 	(ext2_mod_SOURCES): New variable.
 | |
| 	(ext2_mod_CFLAGS): Likewise.
 | |
| 	* include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
 | |
| 	* include/pupa/misc.h (pupa_strncpy): New prototype.
 | |
| 	(pupa_strcat): Likewise.
 | |
| 	(pupa_strncmp): Likewise.
 | |
| 	* kern/misc.c (pupa_strcat): Enable function.
 | |
| 	(pupa_strncpy): New function.
 | |
| 	(pupa_strncmp): Likewise.
 | |
| 	* fs/ext2.c: New file.
 | |
| 	
 | |
| 	* kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
 | |
| 	when the read failed before retrying.
 | |
| 	* util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
 | |
| 	(_FILE_OFFSET_BITS): Likewise.
 | |
| 	* configure.ac: Added AC_SYS_LARGEFILE.
 | |
| 
 | |
| 2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* genmk.rb (PModule#rule): Make sure to get only symbol names
 | |
| 	from the output of nm.
 | |
| 	Reported by Robert Millan <zeratul2@wanadoo.es>.
 | |
| 
 | |
| 2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	I forgot to check in these changes for a long time. This adds
 | |
| 	incomplete support for VGA console, and this is still very
 | |
| 	buggy. Also, a lot of consideration is required for I18N,
 | |
| 	UNICODE, and VGA font issues. Therefore, assume that this is
 | |
| 	such that "better than nothing".
 | |
| 	
 | |
| 	* font/manager.c: New file.
 | |
| 	* include/pupa/font.h: Likewise.
 | |
| 	* include/pupa/i386/pc/vga.h: Likewise.
 | |
| 	* term/i386/pc/vga.c: Likewise.
 | |
| 	* util/unifont2pff.rb: Likewise.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
 | |
| 	(pkgdata_MODULES): Added vga.mod and font.mod.
 | |
| 	(vga_mod_SOURCES): New variables.
 | |
| 	(vga_mod_CFLAGS): Likewise.
 | |
| 	(font_mod_SOURCES): Likewise.
 | |
| 	(font_mod_CFLAGS): Likewise.
 | |
| 
 | |
| 	* include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
 | |
| 
 | |
| 	* include/pupa/term.h: Include pupa/err.h.
 | |
| 	(struct pupa_term): Added init and fini. 
 | |
| 	Changed the argument of putchar to pupa_uint32_t.
 | |
| 
 | |
| 	* include/pupa/i386/pc/console.h: Include pupa/symbol.h.
 | |
| 	(pupa_console_real_putchar): New prototype.
 | |
| 	(pupa_console_putchar): Removed.
 | |
| 	(pupa_console_checkkey): Exported.
 | |
| 	(pupa_console_getkey): Likewise.
 | |
| 
 | |
| 	* kern/misc.c (pupa_vsprintf): Add support for UNICODE
 | |
| 	characters.
 | |
| 
 | |
| 	* kern/term.c (pupa_term_set_current): Rewritten.
 | |
| 	(pupa_putchar): Likewise.
 | |
| 	(pupa_putcode): New function.
 | |
| 
 | |
| 	* kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
 | |
| 	(pupa_console_real_putchar): ... this.
 | |
| 	(pupa_vga_set_mode): New function.
 | |
| 	(pupa_vga_get_font): Likewise.
 | |
| 
 | |
| 	* normal/command.c: Include pupa/term.h.
 | |
| 	(terminal_command): New function.
 | |
| 	(pupa_command_init): Register the command "terminal".
 | |
| 
 | |
| 	* normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
 | |
| 	(DISP_UP): Likewise.
 | |
| 	(DISP_RIGHT): Likewise.
 | |
| 	(DISP_DOWN): Likewise.
 | |
| 	(DISP_HLINE): Likewise.
 | |
| 	(DISP_VLINE): Likewise.
 | |
| 	(DISP_UL): Likewise.
 | |
| 	(DISP_UR): Likewise.
 | |
| 	(DISP_LL): Likewise.
 | |
| 	(DISP_LR): Likewise.
 | |
| 
 | |
| 	* term/i386/pc/console.c (pupa_console_putchar): New function.
 | |
| 	
 | |
| 2003-02-08  NIIBE Yutaka  <gniibe@m17n.org>
 | |
| 
 | |
| 	* util/resolve.c (pupa_util_resolve_dependencies): BUG
 | |
| 	FIX. Reverse the path_list.
 | |
| 
 | |
| 	* include/pupa/normal.h: Export pupa_register_command and
 | |
| 	pupa_unregister_command.
 | |
| 
 | |
| 	* hello/hello.c (pupa_cmd_hello): New module.
 | |
| 	* conf/i386-pc.rmk: Added hello.mod.
 | |
| 
 | |
| 2003-01-31  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* kern/i386/pc/lzo1x.S: New file.
 | |
| 	
 | |
| 	* util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
 | |
| 	(compress_kernel): New variable.
 | |
| 	(generate_image): Heavily modified to support compressing a
 | |
| 	large part of the core image.
 | |
| 
 | |
| 	* util/misc.c (pupa_util_read_image): Fix a file descriptor
 | |
| 	leak.
 | |
| 	(pupa_util_load_image): New function.
 | |
| 
 | |
| 	* kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
 | |
| 	(pupa_compressed_size): New variable.
 | |
| 	(codestart): Enable Gate A20 here.
 | |
| 	Decompress the compressed part of the core image.
 | |
| 	Rearrange the code to put functions and variables which are
 | |
| 	required for initialization in the non-compressed part.
 | |
| 	Include lzo1x.S.
 | |
| 
 | |
| 	* kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
 | |
| 	here.
 | |
| 
 | |
| 	* include/pupa/util/misc.h (pupa_util_write_image): Declared.
 | |
| 
 | |
| 	* include/pupa/i386/pc/kernel.h 
 | |
| 	(PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
 | |
| 	(PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
 | |
| 	(PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
 | |
| 	(PUPA_KERNEL_MACHINE_PREFIX): Likewise.
 | |
| 	(PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
 | |
| 
 | |
| 	* genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
 | |
| 	(Utility#rule): Likewise.
 | |
| 
 | |
| 	* configure.ac: Check if LZO is available.
 | |
| 
 | |
| 2003-01-20  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* include/pupa/normal.h: New file.
 | |
| 	* include/pupa/setjmp.h: Likewise.
 | |
| 	* include/pupa/i386/setjmp.h: Likewise.
 | |
| 	* normal/cmdline.c: Likewise.
 | |
| 	* normal/command.c: Likewise.
 | |
| 	* normal/main.c: Likewise.
 | |
| 	* normal/menu.c: Likewise.
 | |
| 	* normal/i386/setjmp.S: Likewise.
 | |
| 	
 | |
| 	* loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
 | |
| 	(pupa_rescue_cmd_initrd): Likewise.
 | |
| 
 | |
| 	* loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
 | |
| 	Likewise.
 | |
| 
 | |
| 	* kern/i386/pc/startup.S (translation_table): New variable.
 | |
| 	(translate_keycode): New function.
 | |
| 	(pupa_console_getkey): Call translate_keycode.
 | |
| 
 | |
| 	* kern/rescue.c (attempt_normal_mode): New function.
 | |
| 	(pupa_enter_rescue_mode): Attempt to execute the normal mode. If
 | |
| 	it failed, print a message.
 | |
| 
 | |
| 	* kern/mm.c (pupa_real_malloc): Print more information when a
 | |
| 	free magic is broken.
 | |
| 	(pupa_free): If the first free header is not free actually, set
 | |
| 	it to P.
 | |
| 
 | |
| 	* kern/main.c (pupa_load_normal_mode): Just load the module
 | |
| 	"normal".
 | |
| 	(pupa_main): Don't print the message
 | |
| 	"Entering into rescue mode..." here.
 | |
| 
 | |
| 	* include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
 | |
| 	Declared.
 | |
| 	(pupa_rescue_cmd_initrd): Likewise.
 | |
| 	(pupa_rescue_cmd_initrd): Likewise.
 | |
| 
 | |
| 	* include/pupa/symbol.h (FUNCTION): Specify the type.
 | |
| 	(VARIABLE): Likewise.
 | |
| 
 | |
| 	* include/pupa/err.h (pupa_err_t): Added
 | |
| 	PUPA_ERR_UNKNOWN_COMMAND.
 | |
| 
 | |
| 	* include/pupa/dl.h (pupa_dl_set_prefix): Exported.
 | |
| 	(pupa_dl_get_prefix): Likewise.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
 | |
| 	Added _chain.mod and _linux.mod instead of chain.mod and
 | |
| 	linux.mod.
 | |
| 	(chain_mod_SOURCES): Renamed to ...
 | |
| 	(_chain_mod_SOURCES): ... this.
 | |
| 	(chain_mod_CFLAGS): Renamed to ...
 | |
| 	(_chain_mod_CFLAGS): ... this.
 | |
| 	(linux_mod_SOURCES): Renamed to ...
 | |
| 	(_linux_mod_SOURCES): ... this.
 | |
| 	(linux_mod_CFLAGS): Renamed to ...
 | |
| 	(_linux_mod_CFLAGS): ... this.
 | |
| 	(normal_mod_SOURCES): New variable.
 | |
| 	(normal_mod_CFLAGS): Likewise.
 | |
| 	(normal_mod_ASFLAGS): Likewise.
 | |
| 
 | |
| 2003-01-18  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
 | |
| 	possible.
 | |
| 
 | |
| 	* kern/dl.c (pupa_dl_ref): Refer dependending modules
 | |
| 	recursively.
 | |
| 	(pupa_dl_unref): Unrefer depending modules recursively.
 | |
| 	Don't call pupa_dl_unload implicitly, because PUPA can crash if
 | |
| 	a module is unloaded before one depending on that module is
 | |
| 	unloaded.
 | |
| 	(pupa_dl_unload): Unload depending modules explicitly,
 | |
| 	if possible.
 | |
| 
 | |
| 2003-01-17  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* include/pupa/i386/pc/linux.h: New file.
 | |
| 	* loader/i386/pc/linux.c: Likewise.
 | |
| 	
 | |
| 	* loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
 | |
| 	Removed.
 | |
| 	(pupa_chainloader_unload): Return PUPA_ERR_NONE.
 | |
| 	(pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
 | |
| 	of PUPA_CHAINLOADER_BOOT_SECTOR.
 | |
| 
 | |
| 	* kern/i386/pc/startup.S: Include pupa/machine/linux.h.
 | |
| 	(pupa_linux_prot_size): New variable.
 | |
| 	(pupa_linux_tmp_addr): Likewise.
 | |
| 	(pupa_linux_real_addr): Likewise.
 | |
| 	(pupa_linux_boot_zimage): New function.
 | |
| 	(pupa_linux_boot_bzimage): Likewise.
 | |
| 
 | |
| 	* kern/i386/pc/init.c (struct mem_region): New structure.
 | |
| 	(MAX_REGIONS): New macro.
 | |
| 	(mem_regions): New variable.
 | |
| 	(num_regions): Likewise.
 | |
| 	(pupa_os_area_addr): Likewise.
 | |
| 	(pupa_os_area_size): Likewise.
 | |
| 	(pupa_lower_mem): Likewise.
 | |
| 	(pupa_upper_mem): Likewise.
 | |
| 	(add_mem_region): New function.
 | |
| 	(compact_mem_regions): Likewise.
 | |
| 	(pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
 | |
| 	the size of the conventional memory and that of so-called upper
 | |
| 	memory (before the first memory hole).
 | |
| 	Instead of adding each found region to free memory, use
 | |
| 	add_mem_region and add them after removing overlaps.
 | |
| 	Also, add only 1/4 of the upper memory to free memory. The rest
 | |
| 	is used for loading OS images. Maybe this is ad hoc, but this
 | |
| 	makes it much easier to relocate OS images when booting.
 | |
| 
 | |
| 	* kern/rescue.c (pupa_rescue_cmd_module): Removed.
 | |
| 	(pupa_enter_rescue_mode): Don't register initrd and module.
 | |
| 
 | |
| 	* kern/mm.c: Include pupa/dl.h.
 | |
| 
 | |
| 	* kern/main.c: Include pupa/file.h and pupa/device.h.
 | |
| 
 | |
| 	* kern/loader.c (pupa_loader_load_module_func): Removed.
 | |
| 	(pupa_loader_load_module): Likewise.
 | |
| 
 | |
| 	* kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
 | |
| 	``.o''.
 | |
| 
 | |
| 	* include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
 | |
| 	(pupa_linux_tmp_addr): Likewise.
 | |
| 	(pupa_linux_real_addr): Likewise.
 | |
| 	(pupa_linux_boot_zimage): Likewise.
 | |
| 	(pupa_linux_boot_bzimage): Likewise.
 | |
| 
 | |
| 	* include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
 | |
| 	(pupa_upper_mem): Likewise.
 | |
| 	(pupa_gate_a20): Don't export, because turning off Gate A20 in a
 | |
| 	module is too dangerous.
 | |
| 
 | |
| 	* include/pupa/loader.h (pupa_os_area_addr): Declared.
 | |
| 	(pupa_os_area_size): Likewise.
 | |
| 	(pupa_loader_set): Remove the first argument. Loader doesn't
 | |
| 	manage modules or initrd any longer.
 | |
| 	(pupa_loader_load_module): Removed.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
 | |
| 	(linux_mod_SOURCES): New variable.
 | |
| 	(linux_mod_CFLAGS): Likewise.
 | |
| 
 | |
| 2003-01-07  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* util/i386/pc/pupa-setup.c (setup): Convert the endianness of
 | |
| 	the length of a blocklist correctly.
 | |
| 
 | |
| 	* util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
 | |
| 	Use ioctl only if the OS file is a block device.
 | |
| 	(pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
 | |
| 	not very useful for normal files.
 | |
| 
 | |
| 	* kern/main.c (pupa_set_root_dev): New function.
 | |
| 	(pupa_load_normal_mode): Likewise.
 | |
| 	(pupa_main): Call those above.
 | |
| 
 | |
| 	* include/pupa/types.h (pupa_swap_bytes16): Cast the result to
 | |
| 	pupa_uint16_t.
 | |
| 
 | |
| 	* include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
 | |
| 
 | |
| 2003-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
 | |
| 	(setup): Configure the installed partition information and the
 | |
| 	dl prefix.
 | |
| 
 | |
| 	* loader/i386/pc/chainloader.c (my_mod): New variable.
 | |
| 	(pupa_chainloader_unload): New function.
 | |
| 	(pupa_rescue_cmd_chainloader): Refer itself.
 | |
| 	(PUPA_MOD_INIT): Save its own module in MY_MOD.
 | |
| 
 | |
| 	* kern/i386/pc/startup.S (install_partition): Removed.
 | |
| 	(version_string): Likewise.
 | |
| 	(config_file): Likewise.
 | |
| 	(pupa_install_dos_part): New variable.
 | |
| 	(pupa_install_bsd_part): Likewise.
 | |
| 	(pupa_prefix): Likewise.
 | |
| 	(pupa_chainloader_real_boot): Call pupa_dl_unload_all.
 | |
| 
 | |
| 	* kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
 | |
| 	and pupa/misc.h.
 | |
| 	(make_install_device): New function.
 | |
| 	(pupa_machine_init): Set the dl prefix.
 | |
| 
 | |
| 	* kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
 | |
| 	(buf): Renamed to ...
 | |
| 	(linebuf): ... this.
 | |
| 	(pupa_rescue_cmd_prefix): New function.
 | |
| 	(pupa_rescue_cmd_insmod): Likewise.
 | |
| 	(pupa_rescue_cmd_rmmod): Likewise.
 | |
| 	(pupa_rescue_cmd_lsmod): Likewise.
 | |
| 	(pupa_enter_rescue_mode): Register new commands: prefix, insmod,
 | |
| 	rmmod and lsmod.
 | |
| 
 | |
| 	* kern/mm.c (pupa_memalign): If failed even after invalidating
 | |
| 	disk caches, unload unneeded modules and retry.
 | |
| 
 | |
| 	* kern/misc.c (pupa_memmove): New function.
 | |
| 	(pupa_memcpy): Removed.
 | |
| 	(pupa_strcpy): New function.
 | |
| 	(pupa_itoa): Made static.
 | |
| 
 | |
| 	* kern/dl.c (pupa_dl_iterate): New function.
 | |
| 	(pupa_dl_ref): Likewise.
 | |
| 	(pupa_dl_unref): Likewise.
 | |
| 	(pupa_dl_unload): Return if succeeded or not.
 | |
| 	(pupa_dl_unload_unneeded): New function.
 | |
| 	(pupa_dl_unload_all): Likewise.
 | |
| 	(pupa_dl_init): Renamed to ...
 | |
| 	(pupa_dl_set_prefix): ... this.
 | |
| 	(pupa_dl_get_prefix): New function.
 | |
| 
 | |
| 	* include/pupa/i386/pc/kernel.h: Include pupa/types.h.
 | |
| 	(PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
 | |
| 	(PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
 | |
| 	(PUPA_KERNEL_MACHINE_PREFIX): Likewise.
 | |
| 	(pupa_install_dos_part): Declared.
 | |
| 	(pupa_install_bsd_part): Likewise.
 | |
| 	(pupa_prefix): Likewise.
 | |
| 	(pupa_boot_drive): Likewise.
 | |
| 
 | |
| 	* include/pupa/types.h: Fix a typo.
 | |
| 
 | |
| 	* include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
 | |
| 	pupa_memmove.
 | |
| 	(pupa_memmove): Declared.
 | |
| 	(pupa_strcpy): Likewise.
 | |
| 
 | |
| 	* include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
 | |
| 	pupa_mod_init takes one argument, its own module.
 | |
| 	(pupa_dl_unload_unneeded): Declared.
 | |
| 	(pupa_dl_unload_all): Likewise.
 | |
| 	(pupa_dl_ref): Likewise.
 | |
| 	(pupa_dl_unref): Likewise.
 | |
| 	(pupa_dl_iterate): Likewise.
 | |
| 	(pupa_dl_init): Renamed to ...
 | |
| 	(pupa_dl_set_prefix): ... this.
 | |
| 	(pupa_dl_get_prefix): Declared.
 | |
| 
 | |
| 	* fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
 | |
| 	(pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being 
 | |
| 	unloaded.
 | |
| 	(pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
 | |
| 	(pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
 | |
| 
 | |
| 	* configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
 | |
| 	-Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
 | |
| 
 | |
| 2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* util/i386/pc/pupa-setup.c (setup): Define the internal
 | |
| 	function find_first_partition_start at the top level, because GCC
 | |
| 	3.0.x cannot compile internal functions in deeper scopes
 | |
| 	correctly.
 | |
| 	(find_root_device): Use lstat instead of stat.
 | |
| 	Don't follow symbolic links.
 | |
| 	Fix the path-constructing code.
 | |
| 
 | |
| 	* util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
 | |
| 	(pupa_util_biosdisk_open) [__linux__]: Get the size of a device
 | |
| 	by a BLKGETSIZE ioctl first, because block devices don't fill
 | |
| 	the member st_mode of the structure stat on Linux.
 | |
| 	[__linux__] (linux_find_partition): Use a temporary buffer
 | |
| 	REAL_DEV for the working space. Copy it to DEV before returning.
 | |
| 	(open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
 | |
| 	buffer cache consistent.
 | |
| 	(get_os_disk) [__linux__]: Use the length 5 instead of 4 for
 | |
| 	strncmp. The previous value was merely wrong.
 | |
| 	(pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
 | |
| 
 | |
| 	* fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
 | |
| 	FAT size is 12. The previous value was merely wrong.
 | |
| 
 | |
| 	* kern/main.c (pupa_main): Don't split the starting message from
 | |
| 	newlines.
 | |
| 
 | |
| 	* kern/term.c (pupa_putchar): Put CR after LF instead of before
 | |
| 	LF, because BIOS goes crazy about character attributes in this
 | |
| 	case.
 | |
| 
 | |
| 2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* include/i386/pc/util/biosdisk.h: New file.
 | |
| 	* util/i386/pc/biosdisk.c: Likewise.
 | |
| 	* util/i386/pc/pupa-setup.c: Likewise.
 | |
| 	
 | |
| 	* Makefile.in (INCLUDE_DISTFILES): Added
 | |
| 	include/pupa/i386/pc/util/biosdisk.h.
 | |
| 	(UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
 | |
| 	directory util/i386/pc.
 | |
| 	(install-local): Added a rule for sbin_UTILITIES.
 | |
| 	(uninstall): Likewise.
 | |
| 
 | |
| 	* util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
 | |
| 
 | |
| 	* util/misc.c (xrealloc): New function.
 | |
| 	(pupa_malloc): Likewise.
 | |
| 	(pupa_free): Likewise.
 | |
| 	(pupa_realloc): Likewise.
 | |
| 	(pupa_stop): Likewise.
 | |
| 	(pupa_putchar): Likewise.
 | |
| 
 | |
| 	* kern/disk.c (pupa_disk_read): Prevent L from underflowing.
 | |
| 
 | |
| 	* include/pupa/util/misc.h (xrealloc): Declared.
 | |
| 
 | |
| 	* include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
 | |
| 	macro.
 | |
| 	(PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
 | |
| 	(PUPA_BOOT_MACHINE_BPB_END): ... this.
 | |
| 
 | |
| 	* include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
 | |
| 	[PUPA_UTIL] (pupa_fat_fini): Likewise.
 | |
| 
 | |
| 	* fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
 | |
| 	way should be implemented.
 | |
| 	[PUPA_UTIL] (pupa_fat_fini): Likewise.
 | |
| 
 | |
| 	* disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
 | |
| 	the size of NAME for safety.
 | |
| 	(pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
 | |
| 	0x88.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (sbin_UTILITIES): New variable.
 | |
| 	(pupa_setup_SOURCES): Likewise.
 | |
| 
 | |
| 	* genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
 | |
| 
 | |
| 2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
 | |
| 	bunch of pushl's from pusha, because this destroys the return
 | |
| 	value.
 | |
| 
 | |
| 2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	Use -mrtd and -mregparm=3 to reduce the generated code sizes.
 | |
| 	This means that any missing prototypes could be fatal. Also, you
 | |
| 	must take care when writing assembly code. See the comments at
 | |
| 	the beginning of startup.S, for more details.
 | |
| 	
 | |
| 	* kern/i386/pc/startup.S (pupa_halt): Modified for the new
 | |
| 	compilation mechanism.
 | |
| 	(pupa_chainloader_real_boot): Likewise.
 | |
| 	(pupa_biosdisk_rw_int13_extensions): Likewise.
 | |
| 	(pupa_biosdisk_rw_standard): Likewise.
 | |
| 	(pupa_biosdisk_check_int13_extensions): Likewise.
 | |
| 	(pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
 | |
| 	(pupa_biosdisk_get_diskinfo_standard): Likewise.
 | |
| 	(pupa_get_memsize): Likewise.
 | |
| 	(pupa_get_mmap_entry): Likewise.
 | |
| 	(pupa_console_putchar): Likewise.
 | |
| 	(pupa_console_setcursor): Likewise.
 | |
| 	(pupa_getrtsecs): Use pushl instead of push.
 | |
| 
 | |
| 	* kern/i386/pc/init.c (pupa_machine_init): Use the scratch
 | |
| 	memory instead of the stack for a mmap entry, because some
 | |
| 	BIOSes may ignore the maximum size and overflow.
 | |
| 
 | |
| 	* conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
 | |
| 
 | |
| 	* genmk.rb (PModule#rule): Compile automatically generated
 | |
| 	sources with module-specific CFLAGS as well as other sources.
 | |
| 
 | |
| 2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* configure.ac: Check ld.
 | |
| 	Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
 | |
| 	respectively, before checking endianness and sizes.
 | |
| 
 | |
| 	* Makefile.in (LD): New variable.
 | |
| 	
 | |
| 2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* Makefile.in (BUILD_CC): CC -> BUILD_CC.
 | |
| 
 | |
| 2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
 | |
| 
 | |
| 	* Changelog: New file.
 | |
| 
 |