Commit graph

261 commits

Author SHA1 Message Date
robertmh
7dc15d8e6a 2008-02-28 Robert Millan <rmh@aybabtu.com>
* conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
        (aout_mod_SOURCES): New variable.
        (aout_mod_CFLAGS): Likewise.
        (aout_mod_LDFLAGS): Likewise.

        * conf/i386-ieee1275.rmk: Likewise.
2008-02-28 13:04:35 +00:00
bean
0d16e571f1 2008-02-24 Bean <bean123ch@gmail.com>
* fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
	(GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
	(GRUB_ISO9660_VOLDESC_SUPP): Likewise.
	(GRUB_ISO9660_VOLDESC_PART): Likewise.
	(GRUB_ISO9660_VOLDESC_END): Likewise.
	(grub_iso9660_primary_voldesc): New member escape.
	(grub_iso9660_data): New member joliet.
	(grub_iso9660_convert_string): New function.
	(grub_iso9660_mount): Detect joliet extension.
	(grub_iso9660_iterate_dir): Convert filename when joliet is detected.
	(grub_iso9660_iso9660_label): Likewise.

	* conf/common.rmk (pkgdata_MODULES): Add udf.mod.
	(grub_setup_SOURCES): Add fs/udf.c.
	(grub_fstest_SOURCES): Likewise.
	(udf_mod_SOURCES): New variable.
	(udf_mod_CFLAGS): Likewise.
	(udf_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
	(grub_emu_SOURCES): Likewise.

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

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

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

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

	* fs/udf.c: New file.
2008-02-24 15:34:15 +00:00
robertmh
8a594a17c7 2008-02-24 Robert Millan <rmh@aybabtu.com>
* conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
        (normal/lexer.c_DEPENDENCIES): New variables.
        * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
        (normal/lexer.c_DEPENDENCIES): Likewise.
        * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
        (normal/lexer.c_DEPENDENCIES): Likewise.
        * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
        (normal/lexer.c_DEPENDENCIES): Likewise.
        * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
        (normal/lexer.c_DEPENDENCIES): Likewise.
        * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
        (normal/lexer.c_DEPENDENCIES): Likewise.
2008-02-24 15:06:30 +00:00
bean
d38e24c285 2008-02-19 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
	(aout_mod_SOURCES): New variable.
	(aout_mod_CFLAGS): Likewise.
	(aout_mod_LDFLAGS): Likewise.
	(_bsd_mod_SOURCES): New variable.
	(_bsd_mod_CFLAGS): Likewise.
	(_bsd_mod_LDFLAGS): Likewise.
	(bsd_mod_SOURCES): New variable.
	(bsd_mod_CFLAGS): Likewise.
	(bsd_mod_LDFLAGS): Likewise.

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

	* include/grub/i386/loader.h (grub_unix_real_boot): New function.

	* include/grub/i386/bsd.h: New file.

	* include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
	to make it public.

	* kern/elf.c (grub_elf32_load): Get the physical address after the hook
	function is called, so that it's possible to change it inside the hook.
	(grub_elf64_load): Likewise.
	(grub_elf_file): Don't close the file if elf header is not found.
	(grub_elf_close): Close the file if grub_elf_file fails (The new
	grub_elf_file won't close it).
	(grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
	(grub_elf64_size): Likewise.

	* kern/i386/loader.S (grub_unix_real_boot): New function.

	* loader/aout.c: New file.

	* loader/i386/bsd.c: New file.

	* loader/i386/bsd_normal.c: New file.

	* loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.

	* loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
	can test othe formats.
2008-02-19 16:40:45 +00:00
robertmh
66cb40f6c1 2008-02-19 Robert Millan <rmh@aybabtu.com>
* DISTLIST: Replace `commands/ieee1275/halt.c' and
        `commands/ieee1275/reboot.c' with `commands/halt.c' and
        `commands/reboot.c'.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
        (halt_mod_SOURCES): Likewise.
        * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
        (halt_mod_SOURCES): Likewise.
2008-02-19 07:33:41 +00:00
robertmh
0de8be863b 2008-02-13 Robert Millan <rmh@aybabtu.com>
* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
        `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
        * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
2008-02-13 20:04:37 +00:00
okuji
c3db83643a 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
* configure.ac: Only a cosmetic change on the handling of
      -fno-stack-protector.
2008-02-13 03:35:48 +00:00
boeglin
f714229e34 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
* conf/i386-efi.rmk (grub_emu_SOURCES): Replace commands/i386/pc/halt.c and
  reboot.c by commands/halt.c and reboot.c.
  (grub_install_SOURCES): Add halt.mod and reboot.mod.
  (halt_mod_SOURCES): New variable.
  (halt_mod_CFLAGS): Likewise.
  (halt_mod_LDFLAGS): Likewise.
  (reboot_mod_SOURCES): Likewise.
  (reboot_mod_CFLAGS): Likewise.
  (reboot_mod_LDFLAGS): Likewise.

  * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace commands/ieee1275/halt.c
  and reboot.c by commands/halt.c and reboot.c.
  (halt_mod_SOURCES): Likewise.
  (reboot_mod_SOURCES): Likewise.

  * conf/i386-pc.rmk (grub_emu_SOURCES): Replace commands/i386/pc/reboot.c by
  commands/reboot.c.
  (reboot_mod_SOURCES): Likewise.

  * commands/i386/pc/reboot.c: merge this file ...

  * commands/ieee1275/reboot.c: ... and this file ...

  * commands/reboot.c: ... to this file.
  Add some precompiler directive to include the correct header for each
  machine.

  * commands/ieee1275/halt.c: move this file ...

  * commands/halt.c: ... to here.
  Add some precompiler directive to include the correct header for each
  machine.

  * include/grub/efi/efi.h (grub_reboot): New function declaration.
  (grub_halt): Likewise.

  * kern/efi/efi.c (grub_reboot): New function.
  (grub_halt): Likewise.
2008-02-12 23:47:07 +00:00
robertmh
bf7486424d 2008-02-10 Robert Millan <rmh@aybabtu.com>
* conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
        `disk/lvm.c'.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
        * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.

        * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
        `disk/lvm.c' to the end of the list.
        * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
        * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2008-02-10 20:00:37 +00:00
robertmh
3dac2e3fdd 2008-02-09 Robert Millan <rmh@aybabtu.com>
* commands/sleep.c: New file.
        * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
        (sleep_mod_SOURCES): New variable.
        (sleep_mod_CFLAGS): Likewise.
        (sleep_mod_LDFLAGS): Likewise.
2008-02-09 10:58:19 +00:00
bean
c32865bfcf 2008-02-05 Bean <bean123ch@gmail.com>
* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
	address of entry.
	(grub_multiboot_load_elf64): Likewise.
	(grub_multiboot): Initialize mbi structure.

	* util/grub-fstest.c: Don't include unused header file script.h.

	* conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the begginning
	of file.
	(grub_fstest_SOURCES): Likewise.
2008-02-06 16:02:44 +00:00
bean
99fadbaafd 2008-02-04 Bean <bean123ch@gmail.com>
* Makefile.in (enable_grub_fstest): New variable.

	* conf/common.rmk (grub_fstest_init.lst): New rule.
	(grub_fstest_init.h): Likewise.
	(grub_fstest_init.c): Likewise.
	(util/grub-fstest.c_DEPENDENCIES): New variable.
	(grub_fstest_SOURCES): Likewise.

	* configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.

	* util/grub-fstest.c: New file.
2008-02-04 08:45:07 +00:00
bean
9be665dd11 2008-01-31 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
        (cdboot_img_SOURCES): New variable.
        (cdboot_img_ASFLAGS): New variable.
        (cdboot_img_LDFLAGS): New variable.

        * boot/i386/pc/cdboot.S: New file.

        * disk/i386/pc/biosdisk.c (cd_start): New variable.
        (cd_count): Likewise.
        (grub_biosdisk_get_drive): Add support for cd device.
        (grub_biosdisk_call_hook): Likewise.
        (grub_biosdisk_iterate): Likewise.
        (grub_biosdisk_open): Likewise.
        (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
        (grub_biosdisk_rw): Support reading from cd device.
        (GRUB_MOD_INIT): Iterate cd devices.

        * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
        (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
        (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.

        * kern/i386/pc/init.c (make_install_device): Check for cd device.
2008-02-03 08:27:15 +00:00
robertmh
4020aa53c0 2008-02-02 Robert Millan <rmh@aybabtu.com>
* commands/read.c: New file.
        * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
        (read_mod_SOURCES): New variable.
        (read_mod_CFLAGS): Likewise.
        (read_mod_LDFLAGS): Likewise.
2008-02-02 20:35:08 +00:00
marco_g
58c6922006 2008-02-02 Marco Gerards <marco@gnu.org>
* bus/pci.c: New file.

	* include/grub/pci.h: Likewise.

	* include/grub/i386/pc/pci.h: Likewise.

	* commands/lspci.c: Likewise.

	* conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
	`lspci.mod'.
	(pci_mod_SOURCES): New variable.
	(pci_mod_CFLAGS): Likewise.
	(pci_mod_LDFLAGS): Likewise.
	(lspci_mod_SOURCES): Likewise.
	(lspci_mod_CFLAGS): Likewise.
	(lspci_mod_LDFLAGS): Likewise.
2008-02-02 15:33:05 +00:00
robertmh
f95562bf52 2008-02-01 Robert Millan <rmh@aybabtu.com>
Correct a mistake in previous commit.

        * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
        top.
        (normal/command.c_DEPENDENCIES): New variable.
2008-02-01 18:54:52 +00:00
robertmh
7d31f41fc6 2008-02-01 Robert Millan <rmh@aybabtu.com>
* conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
        top.
        (normal/command.c_DEPENDENCIES): New variable.
        (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/i386-linuxbios.rmk: Likewise.
        * conf/i386-pc.rmk: Likewise.
        * conf/sparc64-ieee1275.rmk: Likewise.
        * conf/powerpc-ieee1275.rmk: Likewise.
        (grub_emu_SOURCES): Add `fs/fshelp.c'.

        * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
2008-02-01 15:45:17 +00:00
proski
078522ab28 2008-01-31 Pavel Roskin <proski@gnu.org>
* util/powerpc/ieee1275/grub-mkrescue.in: New file.
	* conf/powerpc-ieee1275.rmk: Add grub-mkrescue support for
	PowerPC.
	* DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
2008-01-31 17:09:39 +00:00
robertmh
ccaa8a5f50 2008-01-30 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
        (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
        * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
        (grub_probe_SOURCES): ... to here.

        * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
        (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/i386-linuxbios.rmk: Likewise.
        * conf/powerpc-ieee1275.rmk: Likewise.
2008-01-30 15:32:56 +00:00
bean
6a4d50ead0 2008-01-29 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
        (png_mod_SOURCES): New variable.
        (png_mod_CFLAGS): Likewise.
        (png_mod_LDFLAGS): Likewise.

        * video/readers/png.c: New file.
2008-01-29 09:45:06 +00:00
robertmh
e1907778a1 2008-01-27 Robert Millan <rmh@aybabtu.com>
Get grub-emu to build again (including parallel builds).

        * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
        Split into ...
        (util/grub-emu.c_DEPENDENCIES): ... this, ...
        (normal/execute.c_DEPENDENCIES): ... this, ...
        (grub-emu_DEPENDENCIES): ... and this.

        * conf/i386-efi.rmk: Likewise.
        * conf/i386-linuxbios.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/powerpc-ieee1275.rmk: Likewise.
        (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
2008-01-27 22:44:02 +00:00
robertmh
f75172d9e7 2008-01-27 Robert Millan <rmh@aybabtu.com>
Fix parallel builds with grub-emu.  Based on earlier commit for
        grub-probe and grub-setup.

        * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
        (util/grub-emu.c_DEPENDENCIES): ... this.
        * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
        (util/grub-emu.c_DEPENDENCIES): ... this.
        * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
        (util/grub-emu.c_DEPENDENCIES): ... this.
        * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
        (util/grub-emu.c_DEPENDENCIES): ... this.
        * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
        (util/grub-emu.c_DEPENDENCIES): ... this.
2008-01-27 21:35:44 +00:00
robertmh
2a9525e6c3 2008-01-25 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
        make all filesystem sources appear together (possibly fixing omissions
        while at it).
        * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
        * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
        * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.  Additionally,
        add `kern/file.c'.
        * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
        * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
        * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
        * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.

        * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
        (probe): Add a sanity check to make sure of our ability to read
        requested files when probing for filesystem type.

        * genmk.rb: Update copyright year (2007).

        * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
        (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
        (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
        (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
        (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
        : Remove function prototypes.
2008-01-25 22:33:57 +00:00
robertmh
5882ae4b0e 2008-01-23 Robert Millan <rmh@aybabtu.com>
* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
        `term/i386/pc/at_keyboard.c'.
        (pkglib_MODULES): Add `serial.mod'.
        (serial_mod_SOURCES): New variable.
        (serial_mod_CFLAGS): Likewise.
        (serial_mod_LDFLAGS): Likewise.

        * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'.  Remove
        `<grub/powerpc/ieee1275/console.h>'.
        (grub_keyboard_controller_init): New function prototype.
        (grub_console_checkkey): Likewise.
        (grub_console_getkey): Likewise.

        * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
        keyboard on i386.

        * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
        grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
2008-01-23 11:57:22 +00:00
robertmh
dbb475a441 2008-01-23 Robert Millan <rmh@aybabtu.com>
* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
        and `machine/memory.h'.
        (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
        (_multiboot_mod_SOURCES): New variable.
        (_multiboot_mod_CFLAGS): Likewise.
        (_multiboot_mod_LDFLAGS): Likewise.
        (multiboot_mod_SOURCES): Likewise.
        (multiboot_mod_CFLAGS): Likewise.
        (multiboot_mod_LDFLAGS): Likewise.

        * include/grub/i386/ieee1275/loader.h: New file.

        * include/grub/i386/ieee1275/machine.h: Likewise.

        * include/grub/i386/ieee1275/memory.h: Likewise.

        * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
        variable declaration.
        (grub_os_area_size): Likewise.

        * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
        (grub_lower_mem, grub_upper_mem): New variables.
        (grub_stop_floppy): New function (just to make
        grub_multiboot2_real_boot() happy).

        * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
        `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
        (grub_stop): New function.
        Include `"../realmode.S"' and `"../loader.S"'.

        * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
        Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.

        * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
        rely on grub_multiboot2_real_boot() for final boot.
2008-01-23 09:57:26 +00:00
bean
34842f2d6b 2008-01-22 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
        (jpeg_mod_SOURCES): New variable.
        (jpeg_mod_CFLAGS): Likewise.
        (jpeg_mod_LDFLAGS): Likewise.

        * video/readers/jpeg.c : New file.
2008-01-22 13:50:38 +00:00
robertmh
261bd4bc56 2008-01-21 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
        (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
        address.
        (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
        a C macro.
        * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
        Indicates start of upper memory.
        * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
        (generate_image): Abort when image size is big enough to corrupt
        upper memory.

        * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
        (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
        * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
        instead of hardcoding 0xA0000.
        * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
        (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
        instead of hardcoding 0xA0000.
2008-01-21 15:48:27 +00:00
robertmh
55a581dc06 2008-01-21 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
        (pkglib_MODULES): Add `memdisk.mod'.
        (memdisk_mod_SOURCES): New variable.
        (memdisk_mod_CFLAGS): Likewise.
        (memdisk_mod_LDFLAGS): Likewise.

        * disk/memdisk.c: New file.

        * include/grub/disk.h (grub_disk_dev_id): Add
        `GRUB_DISK_DEVICE_MEMDISK_ID'.

        * include/grub/i386/pc/kernel.h
        (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
        (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
        (grub_kernel_image_size): New variable declaration.
        (grub_total_module_size): Likewise.
        (grub_memdisk_image_size): Likewise.

        * include/grub/i386/pc/memory.h
        (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.

        * include/grub/kernel.h: Include `<grub/symbol.h>'.
        (grub_arch_memdisk_addr): New variable declaration.
        (grub_arch_memdisk_size): Likewise.

        * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
        (grub_arch_memdisk_size): Likewise.

        * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
        (codestart): Replace hardcoded `0x100000' with
        `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.

        * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
        (generate_image): Add `memdisk_path' parameter.  When `memdisk_path' is
        not NULL, append the contents of the file it refers to, at the end of
        the compressed kernel image.  Initialize `grub_memdisk_image_size'
        variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
        (options): Add "memdisk"|'m' option.
        (main): Parse --memdisk|-m option, and pass user-provided path as
        parameter to generate_image().
2008-01-20 23:20:36 +00:00
robertmh
3d04eab83e 2008-01-15 Robert Millan <rmh@aybabtu.com>
* configure.ac: Add `i386-ieee1275' to the list of supported targets.
        * conf/i386-ieee1275.rmk: New file.
        * include/grub/i386/ieee1275/console.h: Likewise.
        * include/grub/i386/ieee1275/ieee1275.h: Likewise.
        * include/grub/i386/ieee1275/kernel.h: Likewise.
        * include/grub/i386/ieee1275/time.h: Likewise.
        * kern/i386/ieee1275/init.c: Likewise.
        * kern/i386/ieee1275/startup.S: Likewise.
2008-01-15 20:05:44 +00:00
bean
a83ccafd50 2008-01-15 Bean <bean123ch@gmail.com>
* normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
	(grub_script_execute_cmdline): Reset grub_errno.

	* normal/main.c (read_config_file): Reset grub_errno.

	* normal/parse.y (script_init): New.
	(script): Move function and menuentry here.
	(delimiter): New.
	(command): Add delimiter at the end of command.
	(commands): Adjust to match the new command.
	(commandblock): Remove grub_script_lexer_record_start.
	(menuentry): Add grub_script_lexer_record_start, use the new commands.
	(if): Use the new commands.

	* conf/common.rmk (pkgdata_MODULES): Add echo.mod.
2008-01-15 15:32:17 +00:00
okuji
f5db429174 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
* fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
    allocated from the heap, due to the fshelp implementation.
    (grub_reiserfs_dir): Free NODE, due to the same reason.
2008-01-06 15:34:11 +00:00
okuji
492e6d9d4b 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
Mostly from Vincent Pelletier:

    * fs/reiserfs.c: New file.

    * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
    (reiserfs_mod_SOURCES): New variable.
    (reiserfs_mod_CFLAGS): Likewise.
    (reiserfs_mod_LDFLAGS): Likewise.

    * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
    disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
    include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
    normal/color.c.
2008-01-06 14:14:31 +00:00
robertmh
fd79f3cf0b Actually apply change described in:
* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
        (normal_mod_DEPENDENCIES): Likewise.
2008-01-05 17:13:08 +00:00
robertmh
0ece25b1e1 2008-01-05 Robert Millan <rmh@aybabtu.com>
* include/grub/normal.h (grub_env_write_color_normal): New prototype.
	(grub_env_write_color_highlight): Likewise.
	(grub_wait_after_message): Likewise.

	* normal/color.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* normal/menu_entry.c (run): Rely on grub_wait_after_message()
	for waiting after a message is printed.
	* normal/main.c (read_config_file): Likewise.
	(grub_normal_init): Register grub_env_write_color_normal() and
	grub_env_write_color_highlight() hooks.  Mark `color_normal' and
	`color_highlight' variables as global.

	* normal/menu.c (grub_wait_after_message): New function.
	(grub_color_menu_normal): New variable.  Replaces ...
	(GRUB_COLOR_MENU_NORMAL): ... this macro.
	(grub_color_menu_highlight): New variable.  Replaces ...
	(GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
	(draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
	`GRUB_TERM_COLOR_STANDARD'.
	(print_message): Use `grub_setcolorstate' to reload colors.  Rename
	`normal_code' and `highlight_code' to `old_color_normal' and
	`old_color_highlight', respectively.
	(grub_menu_init_page): Update colors when drawing the menu, based on
	`menu_color_normal' and `menu_color_highlight' variables.
	(grub_menu_run): Rely on grub_wait_after_message() for waiting after
	a message is printed.
2008-01-05 12:10:28 +00:00
robertmh
fc6e896cc5 2007-12-26 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
	(cpio_mod_SOURCES): New variable.
	(cpio_mod_CFLAGS): Likewise.
	(cpio_mod_LDFLAGS): Likewise.

	* fs/cpio.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.

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

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

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2007-12-26 07:51:19 +00:00
robertmh
4931827fe4 2007-12-25 Robert Millan <rmh@aybabtu.com>
* configure.ac: Search for possible unifont.hex locations, and
	define UNIFONT_HEX if found.

	* Makefile.in (UNIFONT_HEX): Define variable.
	(DATA): Rename to ...
	(PKGLIB): ... this.  Update all users.
	(PKGDATA): New variable.
	(pkgdata_IMAGES): Rename to ...
	(pkglib_IMAGES): ... this. Update all users.
	(pkgdata_MODULES): Rename to ...
	(pkglib_MODULES): ... this. Update all users.
	(pkgdata_PROGRAMS): Rename to ...
	(pkglib_PROGRAMS): ... this. Update all users.
	(pkgdata_DATA): Rename to ...
	(pkglib_DATA): ... this. Update all users.
	(CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
	(unicode.pff, ascii.pff): New rules.
	(all-local): Add `$(PKGDATA)' dependency.
	(install-local): Process `$(PKGDATA)'.

	* util/update-grub_lib.in (font_path): Search for *.pff files in
	a few more locations, including `${pkgdata}'.
2007-12-25 09:09:43 +00:00
robertmh
4bc72aa96f 2007-12-21 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
	(ntfscomp_mod_SOURCES): New variable.
	(ntfscomp_mod_CFLAGS): Likewise.
	(ntfscomp_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
	(grub_probe_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* fs/ntfs.c (grub_ntfscomp_func): New variable.
	(read_run_list): Renamed to grub_ntfs_read_run_list.
	(decomp_nextvcn): Moved to ntfscomp.c.
	(decomp_getch): Likewise.
	(decomp_get16): Likewise.
	(decomp_block): Likewise.
	(read_block): Likewise.
	(read_data): Partially moved to ntfscomp.c.
	(fixup): Change unsigned to grub_uint16_t.
	(read_mft): Change unsigned long to grub_uint32_t.
	(read_attr): Likewise.
	(read_data): Likewise.
	(read_run_data): Likewise.
	(read_run_list): Likewise.
	(read_mft): Likewise.

	* fs/ntfscomp.c: New file.

	* include/grub/ntfs.h: New file.
2007-12-21 11:41:23 +00:00
robertmh
84be7599f6 2007-12-15 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
	(lnxboot_img_SOURCES): New variable.
	(lnxboot_img_ASFLAGS): Likewise.
	(lnxboot_img_LDFLAGS): Likewise.

	* boot/i386/pc/lnxboot.S: New file.
2007-12-15 10:42:17 +00:00
proski
f7f9d35210 Regenerate 2007-11-25 01:49:22 +00:00
robertmh
c405c39191 2007-11-18 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
	(hexdump_mod_SOURCES): New variable.
	(hexdump_mod_CFLAGS): Likewise.
	(hexdump_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.

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

	* commands/hexdump.c: New file.
2007-11-18 06:41:46 +00:00
chaac
a87783bfa1 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
* conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
        (vga_mod_SOURCES): Added.
        (vga_mod_CFLAGS): Likewise.
        (vga_mod_LDFLAGS): Likewise.

        * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
        grub_outb() calls.
        (set_map_mask): Likewise.
        (set_read_map): Likewise.
        (set_read_address): Likewise.
        (vga_font): Removed variable.
        (get_vga_glyph): Removed function.
        (invalidate_char): Likewise.
        (write_char): Changed to use grub_font_get_glyph() for font
        information.
        (grub_vga_putchar): Likewise.
        (grub_vga_getcharwidth): Likewise.
2007-11-10 18:34:48 +00:00
chaac
6433b448ac 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
* conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
        flags.
        (pxeboot_img_LDFLAGS): Likewise.
        (diskboot_img_LDFLAGS): Likewise.
        (kernel_img_LDFLAGS): Likewise.
2007-11-10 18:30:40 +00:00
robertmh
5ab33bba2f 2007-11-05 Robert Millan <rmh@aybabtu.com>
* kern/disk.c (grub_disk_firmware_fini)
	(grub_disk_firmware_is_tainted): New variables.

	* include/grub/disk.h (grub_disk_firmware_fini)
	(grub_disk_firmware_is_tainted): Likewise.

	* disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
	(grub_disk_biosdisk_fini): ... to here.
	(GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
	(GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
	is set.  Register grub_disk_biosdisk_fini() in
	`grub_disk_firmware_fini'.

	* disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
	(GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
	Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
	to finish existing firmware disk interface.

	* conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
	(ata_mod_SOURCES): New variable.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.
2007-11-05 16:15:27 +00:00
robertmh
0149ab7c63 2007-11-05 Robert Millan <rmh@aybabtu.com>
* disk/ata.c: Remove `<grub/machine/time.h>'.  Include `<grub/time.h>'.
	(grub_ata_wait): Reimplement using grub_millisleep().

	* include/grub/misc.h (grub_div_roundup): Fix parenthesization.
	* include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
2007-11-05 14:54:00 +00:00
robertmh
ca25d8f0c1 2007-10-31 Robert Millan <rmh@aybabtu.com>
* configure.ac: Add `i386-linuxbios' to the list of supported targets.

	* conf/i386-linuxbios.rmk: New file.

	* kern/i386/pc/hardware.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.

	* include/grub/i386/linuxbios/boot.h: Likewise.
	* include/grub/i386/linuxbios/console.h: Likewise.
	* include/grub/i386/linuxbios/init.h: Likewise.
	* include/grub/i386/linuxbios/kernel.h: Likewise.
	* include/grub/i386/linuxbios/loader.h: Likewise.
	* include/grub/i386/linuxbios/memory.h: Likewise.
	* include/grub/i386/linuxbios/serial.h: Likewise.
	* include/grub/i386/linuxbios/time.h: Likewise.

	* kern/i386/linuxbios/init.c: Likewise.
	* kern/i386/linuxbios/startup.S: Likewise.
	* kern/i386/linuxbios/table.c: Likewise.
2007-10-31 22:35:13 +00:00
marco_g
e911ecc1c2 2007-10-31 Marco Gerards <marco@gnu.org>
* conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
	(ata_mod_SOURCES): New variable.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.

	* disk/ata.c: New file.

	* include/grub/disk.h (grub_disk_dev_id): Add
	`GRUB_DISK_DEV_ATA_ID'.
2007-10-31 22:29:20 +00:00
robertmh
73fcb0f38d 2007-10-22 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
	(pkgdata_MODULES): Add `biosdisk.mod'.
	(biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
	variables.

	* disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
	(grub_biosdisk_init): Replace with ...
	(GRUB_MOD_INIT(biosdisk)): ... this.
	(grub_biosdisk_fini): Replace with ...
	(GRUB_MOD_FINI(biosdisk)): ... this.

	* kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
	(grub_machine_init): Remove call to grub_biosdisk_init().
	(grub_machine_fini): Remove call to grub_machine_fini().

	* util/i386/pc/grub-install.in (modules): Add `biosdisk'.
2007-10-22 20:05:27 +00:00
robertmh
46e5e5cb89 Actually add the files, and propagate changes.. 2007-10-22 20:02:16 +00:00
robertmh
3381d27403 2007-10-22 Robert Millan <rmh@aybabtu.com>
* include/grub/time.h: New file.
	* include/grub/i386/time.h: Likewise.
	* include/grub/powerpc/time.h: Likewise.
	* include/grub/sparc64/time.h: Likewise.

	* include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.
	* include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.
	* include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.

	* kern/i386/efi/init.c: Include `<grub/time.h>'.
	(grub_millisleep): New function.
	* kern/i386/pc/init.c: Include `<grub/time.h>'.
	(grub_millisleep): New function.
	* kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
	Remove `grub/machine/time.h' include.
	(grub_millisleep): New function.
	* kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
	Remove `grub/machine/time.h' include.
	(grub_millisleep): New function.

	* include/grub/misc.h (grub_div_roundup): New function.

	* kern/misc.c: Include `<grub/time.h>'.
	(grub_millisleep_generic): New function.

	* conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
	Add `time.h'.
	* conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
	Add `time.h'.
	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
	`machine/time.h'.  Add `time.h'.
	* conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
2007-10-22 19:59:33 +00:00
robertmh
5db82af689 2007-10-12 Robert Millan <rmh@aybabtu.com>
* conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
	to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.

	* include/grub/types.h (#ifdef GRUB_CPU_WORDS_BIGENDIAN): Define
	grub_host_to_target16, grub_host_to_target32, grub_host_to_target64,
	grub_target_to_host16, grub_target_to_host32 and grub_target_to_host64.
	(#else): Likewise.

	* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
	Renamed from to ...
	(GRUB_MOD_ALIGN): ...this.  Update all users.

	* util/elf/grub-mkimage.c: Replace grub_cpu_to_be16, grub_cpu_to_be32,
	grub_be_to_cpu16 and grub_be_to_cpu32 macros with grub_host_to_target16,
	grub_host_to_target32, grub_target_to_host16 and grub_target_to_host32,
	respectively.
2007-10-12 10:22:31 +00:00
robertmh
c8cc369234 2007-10-07 Robert Millan <rmh@aybabtu.com>
* kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
	and make it easier to figure out.
	Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
	(grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
	Do not avoid claiming a region above HEAP_MAX_ADDR if that would
	leave us with less than HEAP_MIN_SIZE total heap.
	Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
2007-10-07 15:32:52 +00:00
robertmh
1a477ed638 2007-10-02 Robert Millan <rmh@aybabtu.com>
* conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	Reported by Marcin Kurek.
2007-10-02 21:38:44 +00:00
robertmh
38da651643 2007-08-29 Robert Millan <rmh@aybabtu.com>
Patch from Simon Peter <dn.tlp@gmx.net>:
	* genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
	* conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
	util/grub-probe.c_DEPENDENCIES.  Replace grub-setup_DEPENDENCIES with
	util/i386/pc/grub-setup.c_DEPENDENCIES.
	* conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
	util/grub-probe.c_DEPENDENCIES.
	* conf/powerpc-ieee1275.rmk: Likewise.
2007-08-29 10:39:42 +00:00
robertmh
7720a4483f Oops. Propagate to *.mk. 2007-08-28 10:21:15 +00:00
robertmh
29d0928cd7 2007-08-28 Robert Millan <rmh@aybabtu.com>
* util/i386/get_disk_name.c: New.  Implement grub_util_get_disk_name()
	to tell grub-mkdevicemap how to name devices.
	* util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
	feature).

	* conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
	util/i386/get_disk_name.c.
	* conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
	util/ieee1275/get_disk_name.c.

	* include/grub/util/misc.h: grub_util_get_disk_name() declaration.

	* DISTLIST: Add util/i386/get_disk_name.c and
	util/ieee1275/get_disk_name.c.

	* util/grub-mkdevicemap.c: Replace device naming logic with
	grub_util_get_disk_name() calls.
2007-08-28 10:18:10 +00:00
marco_g
8f096014e4 2007-08-02 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
	(ntfs_mod_SOURCES): New variable.
	(ntfs_mod_CFLAGS): Likewise.
	(ntfs_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
	(grub_probe_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
	(grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
	(grub_emu_SOURCES): Likewise.

	* conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.

	* fs/ntfs.c: New file.
2007-08-02 19:12:52 +00:00
marco_g
0a203f83ff 2007-08-02 Marco Gerards <marco@gnu.org>
* conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
	`util/hostfs.c'.

	* disk/host.c: New file.

	* util/hostfs.c: Likewise.

	* fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
	return `GRUB_ERR_BAD_FS'.
	* fs/sfs.c (grub_sfs_mount): Likewise.
	* fs/xfs.c (grub_xfs_mount): Likewise.

	* include/grub/disk.h (enum grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_HOST_ID'.

	* util/grub-emu.c (main): Initialize and de-initialize hostfs.
2007-08-02 17:24:06 +00:00
jerone
d3cec7ce6d Generate new .mk files for i386-pc & powerpc-ieee1275 in conf 2007-07-25 20:26:24 +00:00
jerone
e5dfe7775a This patch is to introduce multiboot 2 loading capabilities to grub2
for powerpc & i386-pc. This patch was more so started by Hollis
Blanchard getting multiboot 2 working for powerpc and I added to it
and cleaned it up.

One of the ideas with this patch is to keep everything under one
command for the user. So instead of having a "multiboot2" & "module2"
command, I created a proxy like mechanism so that you have only one
command for both multiboot 1 & 2 ... "multiboot". This is where
"loader/multiboot_loader.c" comes from. I could have integrated things
more but I figure the current approach will less likely break
anything.

So if your OS is multiboot 2 capable, the user would do the following
to load it up from a grub prompt:

grub> multiboot <location of kernel> <kernel args>
grub> module <some image> <multiboot tag> <image arguments>
grub> module <isome mage> <multiboot tag> <image arguments>
grub .....


The other thing that this patch does is it begins to make the
multiboot 1 code a bit more architecture agnostic so IF someone wanted
to implement it on another architecture they can.

A bit of file moving around and definition renaming is also apart of
this patch. I have also taken the time to make sure that it does not
break multiboot 1 loading on i386-pc. But mulitboot 2 may still need a
little more testing and work for i386-pc. Powerpc multiboot 2 has been
heavily tested and does work.
2007-07-25 00:44:03 +00:00
robertmh
daf0f0ba3e 2007-07-22 Robert Millan <rmh@aybabtu.com>
* geninitheader.sh: Process file specified in first parameter rather
	than hardcoding grub_modules_init.lst.
	* geninit.sh: Likewise.  Also, construct header name dynamicaly rather
	than hardcoding grub_modules_init.h.

	* conf/common.rmk: Rename grub_modules_init.[ch] files associated with
	grub-emu to grub_emu_init.[ch].  Add rules to build analogous
	grub_probe_init.[ch] and grub_setup_init.[ch].

	* conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
	grub_modules_init.h with grub_emu_init.h.
	(grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
	grub_probe_init.[ch] files.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	(grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
	grub_setup_init.[ch] files.

	* util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
	* util/grub-probe.c: Include grub_probe_init.h.  Use grub_init_all()
	to initialize modules rather than a list of hardcoded functions.
	* util/i386/pc/grub-setup.c: Include grub_setup_init.h.  Use
	grub_init_all() to initialize modules rather than a list of hardcoded
	functions.
2007-07-22 19:17:27 +00:00
okuji
969c02ec31 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
* conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
    because this rule is automatically generated.
    (grub-mkrescue): Removed for the same reason as above.
2007-07-21 23:34:57 +00:00
robertmh
3572d015fd 2007-07-02 Robert Millan <rmh@aybabtu.com>
* conf/i386-efi.rmk: Replace obsolete reference to
	util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
	with util/getroot.c.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

	* util/grub-emu.c (main): Fix unchecked pointer handling.
2007-07-02 20:38:01 +00:00
robertmh
eface1dc8a 2007-06-23 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk: (pkgdata_MODULES): Add serial.mod.
2007-06-23 14:44:37 +00:00
robertmh
7ee367e49b 2007-06-11 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-mkrescue.in: New file.
	* conf/i386-pc.rmk: Add its build declarations.  Put it in bin_SCRIPTS.
	* Makefile.in: Handle bin_SCRIPTS.
2007-06-11 06:26:18 +00:00
robertmh
fb36dc2693 2007-06-04 Robert Millan <rmh@aybabtu.com>
* conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.

	* conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
2007-06-04 19:48:53 +00:00
robertmh
0c68c93e62 2007-06-04 Robert Millan <rmh@aybabtu.com>
* conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.

	* include/grub/partition.h: Declare grub_apple_partition_map_init and
	grub_apple_partition_map_fini.

	* util/biosdisk.c
	(grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
	to access >2 TiB disks).

	Print disk->total_sectors with %llu instead of %lu, since this
	variable is always 64-bit (prevents wrong disk size from being displayed
	on either >2 TiB disk or big-endian CPU).

	(grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
	into a generic case that supports all (sane) partition maps.

	Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
	breaks big-endian.

	* util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
	and grub_apple_partition_map_fini() after that.
2007-06-04 18:58:17 +00:00
robertmh
42c71976c6 2007-05-20 Robert Millan <rmh@aybabtu.com>
* util/update-grub_lib.in: New file.
	* DISTLIST: Add update-grub_lib.in.
	* conf/common.rmk: Generate update-grub_lib and install it in
	$(lib_DATA).
	* Makefile.in: Add install routine for $(lib_DATA).

	* util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
	function provided by update-grub_lib to support arbitrary paths of
	unifont.pff.
	* util/update-grub.in: Use convert_system_path_to_grub_path() to
	initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
2007-05-20 09:10:06 +00:00
robertmh
5beb22914d 2007-05-19 Robert Millan <rmh@aybabtu.com>
* commands/i386/cpuid.c: New module.
	* DISTLIST: Add it.
	* conf/i386-efi.rmk: Enable cpuid.mod.
	* conf/i386-pc.rmk: Likewise.
2007-05-20 07:20:43 +00:00
robertmh
8fff7c2f2a 2007-05-16 Robert Millan <rmh@aybabtu.com>
* DISTLIST: Update for the latest changes.
	* conf/i386-pc.rmk: Use the new paths for util/getroot.c,
	util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
	* util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
	grub/util/biosdisk.h.
	* util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
	grub/util/biosdisk.h.
2007-05-16 15:19:38 +00:00
robertmh
46b9d12846 2007-05-16 Robert Millan <rmh@aybabtu.com>
* util/i386/efi/grub-install.in: New.
	* conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
	newly added grub-install.
	* util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
	include.
	* util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
	grub/util/biosdisk.h.
	* util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
	grub/util/biosdisk.h.
2007-05-16 15:05:02 +00:00
jeroen
bdc79cd1b3 Regenerate 2007-05-16 13:30:58 +00:00
robertmh
20b976586e 2007-05-05 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
	(grub_probe_SOURCES): Likewise.
	* util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
	GPT and initialize dos_part and bsd_part accordingly.
	* util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
	install_bsd_part.
	(main): Activate gpt module for use during partition identification,
	and deactivate it afterwards.
	* util/i386/pc/grub-install.in: Add gpt module to core.img.
	* util/i386/pc/grub-probe.c (main): Activate gpt module for use during
	partition identification, and deactivate it afterwards.
2007-05-04 23:00:56 +00:00
robertmh
ebd97f6e46 2007-05-04 Robert Millan <rmh@aybabtu.com>
* DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
	util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
	* Makefile.in: Build update-grub_SCRIPTS.  Install update-grub_SCRIPTS
	and update-grub_DATA.
	* conf/common.rmk: Build and install update-grub components.
	* conf/common.mk: Regenerate.
	* util/update-grub.in: New.  Core of update-grub.
	* util/grub.d/00_header.in: New.  Generates grub.cfg header.
	* util/grub.d/10_hurd.in: New.  Generates boot entries for the Hurd.
	* util/grub.d/10_linux.in: New.  Generates boot entries for Linux.
	* util/grub.d/README: New.  Document grub.d directory layout.
2007-05-04 07:11:44 +00:00
hollisb
a0cbb02386 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
* conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
	* kern/powerpc/ieee1275/init.c (_end): Add declaration.
	(_start): Likewise.
	(grub_arch_modules_addr): Return address after `_end'.
	* util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
	(load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
	(add_segments): Calculate `_end' from phdr size and location.
	(ALIGN_UP): Moved to ...
	* include/grub/misc.h: here.
	* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
	New macro.
	(GRUB_IEEE1275_MODULE_BASE): Removed.
2007-02-21 23:22:20 +00:00
tschwinge
fd3e4ea524 Regenerate files. 2006-12-13 22:34:04 +00:00
tschwinge
4fe9862ebb 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
* Makefile.in (enable_grub_emu): New variable.
	* configure.ac (--enable-grub-emu): New option.
	Do the checks for (n)curses only if `--enable-grub-emu' is requested.
	* conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
2006-12-13 22:30:19 +00:00
jeroen
790707f254 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
* kern/disk.c (grub_disk_read): When there is a read error, always
	try to read only the necessary data.

	* conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
	disk/raid.c.
	* include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
	prototype.
	[GRUB_UTIL] (grub_raid_fini): Likewise.
	[GRUB_UTIL] (grub_lvm_init): Likewise.
	[GRUB_UTIL] (grub_lvm_fini): Likewise.
	* util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
	RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
	(main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
	and grub_raid_fini().
2006-11-10 23:31:55 +00:00
jeroen
8b6a8d2ae2 regenerate i386-pc.mk and i386-efi.mk to get rid of bogus loader/multiboot_normal.c in dependencies 2006-11-08 23:17:22 +00:00
hollisb
2166cc8349 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
* conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(kernel_elf_SOURCES): Likewise.
	* conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
	* conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
	* conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
	* conf/common.rmk (pkgdata_MODULES): Add elf.mod.
	(elf_mod_SOURCES): New variable.
	(elf_mod_CFLAGS): Likewise.
	(elf_mod_LDFLAGS): Likewise.
	* include/grub/types.h (__unused): New macro.
	* include/grub/elfload.h: New file.
	* kern/elf.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Include elfload.h.
	(ELF32_LOADMASK): New macro.
	(ELF64_LOADMASK): Likewise.
	(vmlinux): Removed.
	(grub_linux_load32): New function.
	(grub_linux_load64): Likewise.
	(grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
	Use grub_elf_t instead of grub_file_t.
2006-11-03 20:28:04 +00:00
robertmh
b55828aa35 Oops. Regenerate conf/i386-efi.mk and conf/i386-pc.mk (Using: ruby genmk.rb < conf/foo.rmk > conf/foo.mk) 2006-10-14 19:50:53 +00:00
robertmh
ddd5cee9a9 2006-10-14 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/getroot.c (grub_guess_root_device): Stop using
	grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
	* util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
	string returned by grub_guess_root_device.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/i386/pc/grub-probefs.c: Likewise.

	* util/i386/pc/grub-probefs.c: Rename to ...
	* util/i386/pc/grub-probe.c: ... this.
	* DISTLIST: Remove grub-probefs, add grub-probe.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* util/i386/pc/grub-install.in: Likewise.

	* util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
	choose which information we want to print.
2006-10-14 18:59:34 +00:00
okuji
2b00217369 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
* DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
        include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
        include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
        include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
        video/readers/tga.c and video/i386/pc/vbeutil.c.

2006-10-14  Jeroen Dekkers  <jeroen@dekkers.cx>

        Added support for RAID and LVM.

        * disk/lvm.c: New file.
        * disk/raid.c: Likewise.
        * include/grub/lvm.h: Likewise.
        * include/grub/raid.h: Likewise.
        * include/grub/util/lvm.h: Likewise.
        * include/grub/util/raid.h: Likewise.
        * util/lvm.c: Likewise.
        * util/raid.c: Likewise.

        * include/grub/disk.h (grub_disk_dev_id): Add
        GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
        (grub_disk_get_size): New prototype.
        * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
        returns a partition.
        (grub_disk_get_size): New function.

        * kern/i386/pc/init.c (make_install_device): Copy the prefix
        verbatim if grub_install_dos_part is -2.

        * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
        and LVM devices.

        * util/i386/pc/grub-setup.c (setup): New argument
        MUST_EMBED. Force embedding of GRUB when the argument is
        true. Close FILE before returning.
        (main): Add support for RAID and LVM.

        * conf/common.rmk: Add RAID and LVM modules.
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
        util/lvm.c.
        (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.

        * kern/misc.c (grub_strstr): New function.
        * include/grub/misc.h (grub_strstr): New prototype.
2006-10-14 15:24:53 +00:00
marco_g
b5ef11025a 2006-09-22 Marco Gerards <marco@gnu.org>
* commands/echo.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.

	* conf/common.rmk (echo_mod_SOURCES): New variable.
	(echo_mod_CFLAGS): Likewise.
	(echo_mod_LDFLAGS): Likewise.
2006-09-22 21:09:14 +00:00
marco_g
6ba4688b23 2006-09-22 Marco Gerards <marco@gnu.org>
* conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
	(normal_mod_DEPENDENCIES): Likewise.

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

	* conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
2006-09-22 19:36:32 +00:00
jrydberg
e02ac02c5f 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
* genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
        programs.
        * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
        (normal_mod_DEPENDENCIES): Likewise.
        * conf/i386-pc.mk: Regenerate.
        * conf/i386-efi.mk: Likewise
        * conf/common.mk: Likewise.
        * conf/powerpc-ieee1275.mk: Likewise.
        * conf/sparc64-ieee1275.mk: Likewise.
2006-09-22 00:27:38 +00:00
robertmh
8d252e442c 2006-09-22 Robert Millan <rmh@aybabtu.com>
Sync with i386 version.
	* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
	* conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
2006-09-21 22:24:05 +00:00
marco_g
6b14609040 2006-09-14 Marco Gerards <marco@gnu.org>
* conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
	`-melf_i386'.
2006-09-14 19:04:18 +00:00
jrydberg
01b82a64e2 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
* genmk.rb: Let GCC generate dependenceies the first time it
        compiles a file; using the -MD option.
        * conf/common.mk: Regenerate.
        * conf/i386-pc.mk: Likewise.
        * conf/i386-efi.mk: Likewise.
        * conf/powerpc-ieee1275.mk: Likewise.
        * conf/sparc64-ieee1275.mk: Likewise.
2006-08-15 12:29:08 +00:00
chaac
ad2a06edba 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
* include/grub/bitmap.h: New file.

	* include/grub/i386/pc/vbeutil.h: Likewise.

	* video/bitmap.c: Likewise.

	* video/readers/tga.c: Likewise.

	* video/i386/pc/vbeutil.c: Likewise.

	* commands/videotest.c: Code cleanup and updated to reflect to new
	video API.

	* term/gfxterm.c: Likewise.

	* video/video.c: Likewise.

	* conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
	(vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
	(bitmap_mod_SOURCES): New entry.
	(bitmap_mod_CFLAGS): Likewise.
	(bitmap_mod_LDFLAGS): Likewise.
	(tga_mod_SOURCES): Likewise.
	(tga_mod_CFLAGS): Likewise.
	(tga_mod_LDFLAGS): Likewise.

	* include/grub/video.h (grub_video_blit_operators): New enum type.
	(grub_video_render_target): Changed as forward declaration and moved
	actual definition to be video driver specific.
	(grub_video_adapter.blit_bitmap): Added blitting operator.
	(grub_video_adapter.blit_render_target): Likewise.
	(grub_video_blit_bitmap): Likewise.
	(grub_video_blit_render_target): Likewise.

	* include/grub/i386/pc/vbe.h (grub_video_render_target): Added
	driver specific render target definition.
	(grub_video_vbe_map_rgba): Added driver internal helper.
	(grub_video_vbe_unmap_color): Updated to use
	grub_video_i386_vbeblit_info.
	(grub_video_vbe_get_video_ptr): Likewise.

	* include/grub/i386/pc/vbeblit.h
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
	grub_video_i386_vbeblit_info.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_index): Likewise.
	(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_blend): Added generic blitter for blend
	operator.
	(grub_video_i386_vbeblit_replace): Added generic blitter for replace
	operator.

	* video/i386/pc/vbeblit.c: Updated to reflect changes on
	include/grub/i386/pc/vbeblit.h.

	* include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
	Updated to use grub_video_i386_vbeblit_info.
	(grub_video_i386_vbefill_R8G8B8): Likewise.
	(grub_video_i386_vbefill_index): Likewise.
	(grub_video_i386_vbefill): Added generic filler.

	* video/i386/pc/vbefill.c: Updated to reflect changes on
	include/grub/i386/pc/vbefill.h.

	* video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
	grub_video_i386_vbeblit_info.
	(grub_video_vbe_unmap_color): Likewise.
	(grub_video_vbe_blit_glyph): Likewise.
	(grub_video_vbe_scroll): Likewise.
	(grub_video_vbe_draw_pixel): Removed function.
	(grub_video_vbe_get_pixel): Likewise.
	(grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
	updated code to use it.
	(common_blitter): Added common blitter for render target and bitmap.
	(grub_video_vbe_blit_bitmap): Updated to use common_blitter.
	(grub_video_vbe_blit_render_target): Likewise.
2006-07-31 14:21:36 +00:00
jeroen
5dcace568a Regenerate conf/i386-pc.mk. 2006-07-04 20:00:28 +00:00
jeroen
43e7f879ae 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
* conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
	(normal_mod_ASFLAGS): Remove "-m32".
2006-07-02 15:30:43 +00:00
okuji
53af98ad17 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
* DISTLIST: Added include/grub/i386/linux.h. Removed
        include/grub/i386/pc/linux.h

        * configure.ac (AC_INIT): Bumped to 1.94.

        * config.guess: Updated from gnulib.
        * config.sub: Likewise.
        * install-sh: Likewise.
        * mkinstalldirs: Likewise.
2006-06-04 12:59:19 +00:00
okuji
b4c1940a25 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
* conf/common.rmk (grub_modules_init.lst): Depended on
        grub_emu_SOURCES, excluding grub_emu_init.c, instead of
        MODSRCFILES.

        * genmk.rb (PModule::rule): Reverted the previous change.
2006-06-02 19:33:58 +00:00
okuji
cfca1cfd8e 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
* conf/common.rmk (grub_modules_init.lst): Depends on
        $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
        that the target does not exist before producing.
        (grub_modules_init.h): Remove the target before generating.
        (grub_emu_init.c): Likewise.

        * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
2006-06-02 19:23:08 +00:00
okuji
26c607b932 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
* genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
        (PModule::rule): Likewise.
2006-05-31 00:46:37 +00:00
okuji
0162321a93 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
* genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
        TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
        target-specific flags should be prefixed.
        (PModule::rule): Likewise.
2006-05-31 00:28:03 +00:00
okuji
b977bf01b3 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
* util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
        (target_cpu): New variable.
        (pkglibdir): Use target_cpu instead of host_cpu.

        * util/i386/pc/grub-install.in (host_cpu): Removed.
        (target_cpu): New variable.
        (pkglibdir): Use target_cpu instead of host_cpu.

        * util/genmoddep.c: Removed.

        * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
        instead of GRUB_HOST_SIZEOF_VOID_P.
        * kern/dl.c: Likewise.

        * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
        ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
        * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
        to ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
        * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
        to ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.

        * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
        GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
        [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
        instead of GRUB_HOST_SIZEOF_LONG.
        [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
        GRUB_HOST_WORDS_BIGENDIAN to define or undefine
        GRUB_CPU_WORDS_BIGENDIAN.
        Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
        define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
        grub_host_ssize_t.

        * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
        (genmoddep_SOURCES): Likewise.
        * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
        (genmoddep_SOURCES): Likewise.
        * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
        (genmoddep_SOURCES): Likewise.
        * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
        Likewise.
        (genmoddep_SOURCES): Likewise.

        * genmoddep.awk: New file.

        * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
        TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
        CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
        (PModule::rule): Likewise.
        (Program::rule): Likewise.
        (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
        BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
        respectively.

        * configure.ac: Rewritten intensively to use host and target
        instead of build and host, respectively.

        * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
        (host_cpu): Removed.
        (target_cpu): New variable.
        (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
        (BUILD_CC): Removed.
        (BUILD_CFLAGS): Likewise.
        (BUILD_CPPFLAGS): Likewise.
        (TARGET_CC): New variable.
        (TARGET_CFLAGS): Likewise.
        (TARGET_CPPFLAGS): Likewise.
        (TARGET_LDFLAGS): Likewise.
        (AWK): Likewise.
        (include): Use target_cpu instead of host_cpu.
        (moddep.lst:): Use genmoddep.awk instead of genmoddep.

        * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
2006-05-28 23:01:43 +00:00
okuji
118f4fb31e 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
* fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
        top.
        (grub_hfsplus_btree_recptr): Likewise.
        (grub_hfsplus_find_block): Do not take RETRY any longer. Use
        FILEBLOCK both to pass a block number and store next block
        number.
        (grub_hfsplus_read_block): Rewritten heavily to support an extent
        overflow file correctly. Specify errors appropriately, because
        fshelp expects that GRUB_ERRNO is set when fails. Reuse
        grub_hfsplus_btree_recptr to get the pointer to a found key.
        (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
        is found.

        * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
        linux.mod.
        (_linux_mod_SOURCES): New variable.
        (_linux_mod_CFLAGS): Likewise.
        (_linux_mod_LDFLAGS): Likewise.
        (linux_mod_SOURCES): Likewise.
        (linux_mod_CFLAGS): Likewise.
        (linux_mod_LDFLAGS): Likewise.

        * DISTLIST: Added loader/i386/efi/linux.c,
        loader/i386/efi/linux_normal.c and
        include/grub/i386/efi/loader.h.

        * loader/i386/efi/linux.c: New file.
        * loader/i386/efi/linux_normal.c: Likewise.
        * include/grub/i386/efi/loader.h: Likewise.
2006-05-28 03:20:18 +00:00
okuji
89a7d726f9 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
* commands/blocklist.c: New file.

        * DISTLIST: Added commands/blocklist.c.

        * term/efi/console.c (grub_console_highlight_color): Use a lighter
        color for the background, and a daker color for the foreground.
        (grub_console_checkkey): Return READ_KEY.
        (grub_console_cls): Set the background to
        GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.

        * kern/efi/efi.c (grub_efi_exit_boot_services): New function.

        * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
        the size of "padding5", "hd0_drive_info" and "hd1_drive_info".

        * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
        prototype.

        * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
        BG. The spec is wrong again.

        * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
        prototype.
        [GRUB_UTIL] (grub_blocklist_fini): Likewise.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
        commands/blocklist.c.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
        (blocklist_mod_SOURCES): New variable.
        (blocklist_mod_CFLAGS): Likewise.
        (blocklist_mod_LDFLAGS): Likewise.
2006-05-27 21:09:25 +00:00
marco_g
5f0413bd2a 2006-05-08 Marco Gerards <marco@gnu.org>
* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
	this...
	(kernel_elf_HEADERS): ...to this.  Updated all users.
	(grubof_symlist.c): Renamed from this...
	(kernel_elf_symlist.c): ...to this.  Updated all users.
	(pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
	(grubof_SOURCES): Renamed from this...
	(kernel_elf_SOURCES): ...to this.
	(grubof_HEADERS): Renamed from this...
	(kernel_elf_HEADERS): ...to this.
	(grubof_CFLAGS): Renamed from this...
	(kernel_elf_CFLAGS): ...to this.
	(grubof_ASFLAGS): Renamed from this...
	(kernel_elf_ASFLAGS): ...to this.
	(grubof_LDFLAGS): Renamed from this...
	(kernel_elf_LDFLAGS): ...to this.

	* conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
	this...
	(kernel_elf_HEADERS): ...to this.  Updated all users.
	(grubof_symlist.c): Renamed from this...
	(kernel_elf_symlist.c): ...to this.  Updated all users.
	(pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
	(grubof_SOURCES): Renamed from this...
	(kernel_elf_SOURCES): ...to this.
	(grubof_HEADERS): Renamed from this...
	(kernel_elf_HEADERS): ...to this.
	(grubof_CFLAGS): Renamed from this...
	(kernel_elf_CFLAGS): ...to this.
	(grubof_ASFLAGS): Renamed from this...
	(kernel_elf_ASFLAGS): ...to this.
	(grubof_LDFLAGS): Renamed from this...
	(kernel_elf_LDFLAGS): ...to this.

	* util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
	`kernel.elf' instead of `grubof'.
2006-05-08 21:47:20 +00:00