1. 23 Sep, 2014 1 commit
    • Colin Watson's avatar
      Add a new "none" platform that only builds utilities · 5d90f6e5
      Colin Watson authored
      This makes it possible to build generally-useful utilities such as
      grub-mount even if the rest of GRUB has not been ported to the target
      CPU.
      
      * configure.ac: Add "none" platform.  Default to it for unsupported
      CPUs rather than stopping with a fatal error.  Don't downgrade
      x86_64-none to i386.  Define COND_real_platform Automake conditional
      if the platform is anything other than "none".  Don't do any include
      directory linking for "none".
      * Makefile.am: Skip building grub-core and all bootcheck targets if
      !COND_real_platform.
      * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
      is defined.
      5d90f6e5
  2. 08 Dec, 2013 1 commit
  3. 08 Oct, 2013 1 commit
  4. 12 Jun, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Remove non-functional EFI grub_get_rtc. Put a better fatal message · 7da036bb
      Vladimir 'phcoder' Serbinenko authored
      	than current grub_get_rtc() not implemented when booted with
      	coreboot without TSC.
      
      	* grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
      	Add machine/time.h to kernel headers on loongson.
      	* grub-core/Makefile.core.def (kernel): Remove
      	kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
      	* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
      	(grub_get_rtc): Likewise.
      	* grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
      	* grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
      	* grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
      	* grub-core/kern/i386/tsc.c (grub_tsc_init)
      	[!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
      	rather than installing known non-working time source.
      	* grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
      	* grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
      	* include/grub/time.h: Don't include machine/time.h.
      	* include/grub/efi/time.h: Removed.
      	* include/grub/i386/efi/time.h: Likewise.
      	* include/grub/i386/ieee1275/time.h: Likewise.
      	* include/grub/powerpc/ieee1275/time.h: Likewise.
      	* include/grub/sparc64/ieee1275/time.h: Likewise.
      	* include/grub/x86_64/efi/time.h: Likewise.
      7da036bb
  5. 17 Aug, 2010 1 commit
  6. 06 May, 2010 1 commit
  7. 07 Feb, 2010 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      2010-02-07 Vladimir Serbinenko <phcoder@gmail.com> · 74e4934e
      Vladimir 'phcoder' Serbinenko authored
      	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
      	of disk to dsk to avoid shadowing.
      	(find_free_slot): Fix prototype.
      	* util/getroot.c (grub_util_is_dmraid): Make static.
      	* include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
      	Add missing prototype.
      	* util/sdl.c (grub_video_sdl_set_viewport): Remove.
      74e4934e
  8. 09 Dec, 2009 1 commit
  9. 23 Nov, 2009 1 commit
    • Robert Millan's avatar
      Cheery-pick grub-emu split from experimental (rev 1361) · f84b481b
      Robert Millan authored
      2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
      
              * configure.ac: Detect all `emu' platforms.  Define
              GRUB_MACHINE_* macros in TARGET_CFLAGS.  Remove
              --enable-grub-emu logic.  Disable include/grub/machine
              symlink on `emu' platforms.
      
              * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
              * gensymlist.sh.in: Likewise.
      
              * include/grub/i386/coreboot/machine.h: Remove file.
              * include/grub/i386/efi/machine.h: Likewise.
              * include/grub/i386/ieee1275/machine.h: Likewise.
              * include/grub/i386/pc/machine.h: Likewise.
              * include/grub/i386/qemu/machine.h: Likewise.
              * include/grub/powerpc/ieee1275/machine.h: Likewise.
              * include/grub/sparc64/ieee1275/machine.h: Likewise.
              * include/grub/x86_64/efi/machine.h: Likewise.
      
              * commands/acpi.c: Remove `<grub/machine/machine.h>'.
              * commands/halt.c: Likewise.
              * commands/reboot.c: Likewise.
              * include/grub/autoefi.h: Likewise.
              * include/grub/i386/at_keyboard.h: Likewise.
              * include/grub/i386/kernel.h: Likewise.
              * include/grub/i386/loader.h: Likewise.
              * include/grub/i386/pc/memory.h: Likewise.
              * kern/dl.c: Likewise.
              * kern/i386/coreboot/init.c: Likewise.
              * loader/i386/bsd.c: Likewise.
              * loader/i386/linux.c: Likewise.
              * loader/multiboot_loader.c: Likewise.
              * term/i386/pc/serial.c: Likewise.
              * term/usb_keyboard.c: Likewise.
      
              * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
              `<grub/machine/machine.h>'
              [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
              * util/misc.c: Remove `<grub/machine/machine.h>' and
              `<grub/machine/time.h>'.
      
              * Makefile.in (enable_grub_emu): Remove variable.
              Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
      
              * conf/any-emu.rmk: New file.
              * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
              (grub_emu_init.c): Move from here ...
              * conf/any-emu.rmk: ... to here.
      
              * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
              (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
              * conf/any-emu.rmk: ... to here.
      f84b481b
  10. 05 Aug, 2008 1 commit
    • marco_g's avatar
      2008-08-05 Colin D Bennett <colin@gibibit.com> · 9c2ff3ee
      marco_g authored
       
      	High resolution timer support.  Implemented for x86 CPUs using TSC.
      	Extracted generic grub_millisleep() so it's linked in only as needed.
      	This requires a Pentium compatible CPU; if the RDTSC instruction is
      	not supported, then it falls back on the generic grub_get_time_ms()
      	implementation that uses the machine's RTC.
      
      	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
      	`kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
      	`kern/generic/millisleep.c'.
      
      	* conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
      	`kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
      
      	* conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
      	`kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
      
      	* conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
      
      	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
      	`kern/generic/millisleep.c'.
      
      	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
      
      	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
      
      	* kern/generic/rtc_get_time_ms.c: New file.
      
      	* kern/generic/millisleep.c: New file.
       	
      	* kern/misc.c: Don't include
      	<kern/time.h> anymore.
      	(grub_millisleep_generic): Removed.
      
      	* commands/sleep.c (grub_interruptible_millisleep): Uses
      	grub_get_time_ms() instead of grub_get_rtc().
      
      	* include/grub/i386/tsc.h (grub_get_tsc): New file.  New inline
      	function.
      	(grub_cpu_is_cpuid_supported): New inline function.
      	(grub_cpu_is_tsc_supported): New inline function.
      	(grub_tsc_init): New function prototype.
      	(grub_tsc_get_time_ms): New function prototype.
      
      	* kern/i386/tsc.c (grub_get_time_ms): New file.
      
      	* include/grub/time.h: Include <grub/types.h.
      	(grub_millisleep_generic): Removed.
      	(grub_get_time_ms): New prototype.
      	(grub_install_get_time_ms): New prototype.
      	(grub_rtc_get_time_ms): New prototype.
      
      	* kern/time.c (grub_get_time_ms): New function.
      	(grub_install_get_time_ms): New function.
      
      	* kern/i386/efi/init.c: Include <grub/cpu/tsc.h>.  Don't include
      	<grub/time.h> anymore.
      	(grub_millisleep): Removed.
      	(grub_machine_init): Call grub_tsc_init.
      
      	* kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
      	get_time_ms() implementation.
      
      	* kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
      	(ieee1275_get_time_ms): New function.
      	(grub_machine_init): Install get_time_ms() implementation.
      
      	* kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
      	(grub_machine_init): Call grub_tsc_init().
      	(grub_millisleep): Removed.
       
      	* kern/ieee1275/init.c (grub_millisleep): Removed.
      	(grub_machine_init): Install ieee1275_get_time_ms()
      	implementation.
      	(ieee1275_get_time_ms): New function.
      	(grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
      	real work.
      9c2ff3ee
  11. 23 Oct, 2007 2 commits
    • robertmh's avatar
      Actually add the files, and propagate changes.. · 46e5e5cb
      robertmh authored
      46e5e5cb
    • robertmh's avatar
      2007-10-22 Robert Millan <rmh@aybabtu.com> · 3381d274
      robertmh authored
      	* 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.
      3381d274
  12. 22 Jul, 2007 1 commit
    • okuji's avatar
      2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> · 5a79f472
      okuji authored
          Migrate to GNU General Public License Version 3.
      
          * COPYING: Replaced with the plain text version of GPLv3.
      
          * config.guess: Updated from gnulib.
          * config.sub: Likewise.
      
          * geninit.sh: Output a GPLv3 copyright notice.
          * geninitheader.sh: Likewise.
          * genmodsrc.sh: Likewise.
          * gensymlist.sh.in: Likewise.
      
          * boot/i386/pc/boot.S: Upgraded to GPLv3.
          * boot/i386/pc/diskboot.S: Likewise.
          * boot/i386/pc/pxeboot.S: Likewise.
          * commands/blocklist.c: Likewise.
          * commands/boot.c: Likewise.
          * commands/cat.c: Likewise.
          * commands/cmp.c: Likewise.
          * commands/configfile.c: Likewise.
          * commands/echo.c: Likewise.
          * commands/help.c: Likewise.
          * commands/ls.c: Likewise.
          * commands/search.c: Likewise.
          * commands/terminal.c: Likewise.
          * commands/test.c: Likewise.
          * commands/videotest.c: Likewise.
          * commands/i386/cpuid.c: Likewise.
          * commands/i386/pc/halt.c: Likewise.
          * commands/i386/pc/play.c: Likewise.
          * commands/i386/pc/reboot.c: Likewise.
          * commands/i386/pc/vbeinfo.c: Likewise.
          * commands/i386/pc/vbetest.c: Likewise.
          * commands/ieee1275/halt.c: Likewise.
          * commands/ieee1275/reboot.c: Likewise.
          * commands/ieee1275/suspend.c: Likewise.
          * disk/loopback.c: Likewise.
          * disk/lvm.c: Likewise.
          * disk/raid.c: Likewise.
          * disk/efi/efidisk.c: Likewise.
          * disk/i386/pc/biosdisk.c: Likewise.
          * disk/ieee1275/ofdisk.c: Likewise.
          * font/manager.c: Likewise.
          * fs/affs.c: Likewise.
          * fs/ext2.c: Likewise.
          * fs/fat.c: Likewise.
          * fs/fshelp.c: Likewise.
          * fs/hfs.c: Likewise.
          * fs/hfsplus.c: Likewise.
          * fs/iso9660.c: Likewise.
          * fs/jfs.c: Likewise.
          * fs/minix.c: Likewise.
          * fs/sfs.c: Likewise.
          * fs/ufs.c: Likewise.
          * fs/xfs.c: Likewise.
          * hello/hello.c: Likewise.
          * include/grub/acorn_filecore.h: Likewise.
          * include/grub/arg.h: Likewise.
          * include/grub/bitmap.h: Likewise.
          * include/grub/boot.h: Likewise.
          * include/grub/cache.h: Likewise.
          * include/grub/device.h: Likewise.
          * include/grub/disk.h: Likewise.
          * include/grub/dl.h: Likewise.
          * include/grub/elfload.h: Likewise.
          * include/grub/env.h: Likewise.
          * include/grub/err.h: Likewise.
          * include/grub/file.h: Likewise.
          * include/grub/font.h: Likewise.
          * include/grub/fs.h: Likewise.
          * include/grub/fshelp.h: Likewise.
          * include/grub/gzio.h: Likewise.
          * include/grub/hfs.h: Likewise.
          * include/grub/kernel.h: Likewise.
          * include/grub/loader.h: Likewise.
          * include/grub/lvm.h: Likewise.
          * include/grub/misc.h: Likewise.
          * include/grub/mm.h: Likewise.
          * include/grub/net.h: Likewise.
          * include/grub/normal.h: Likewise.
          * include/grub/parser.h: Likewise.
          * include/grub/partition.h: Likewise.
          * include/grub/pc_partition.h: Likewise.
          * include/grub/raid.h: Likewise.
          * include/grub/rescue.h: Likewise.
          * include/grub/script.h: Likewise.
          * include/grub/setjmp.h: Likewise.
          * include/grub/symbol.h: Likewise.
          * include/grub/term.h: Likewise.
          * include/grub/terminfo.h: Likewise.
          * include/grub/tparm.h: Likewise.
          * include/grub/types.h: Likewise.
          * include/grub/video.h: Likewise.
          * include/grub/efi/api.h: Likewise.
          * include/grub/efi/chainloader.h: Likewise.
          * include/grub/efi/console.h: Likewise.
          * include/grub/efi/console_control.h: Likewise.
          * include/grub/efi/disk.h: Likewise.
          * include/grub/efi/efi.h: Likewise.
          * include/grub/efi/pe32.h: Likewise.
          * include/grub/efi/time.h: Likewise.
          * include/grub/i386/linux.h: Likewise.
          * include/grub/i386/setjmp.h: Likewise.
          * include/grub/i386/types.h: Likewise.
          * include/grub/i386/efi/kernel.h: Likewise.
          * include/grub/i386/efi/loader.h: Likewise.
          * include/grub/i386/efi/time.h: Likewise.
          * include/grub/i386/pc/biosdisk.h: Likewise.
          * include/grub/i386/pc/boot.h: Likewise.
          * include/grub/i386/pc/chainloader.h: Likewise.
          * include/grub/i386/pc/console.h: Likewise.
          * include/grub/i386/pc/init.h: Likewise.
          * include/grub/i386/pc/kernel.h: Likewise.
          * include/grub/i386/pc/loader.h: Likewise.
          * include/grub/i386/pc/memory.h: Likewise.
          * include/grub/i386/pc/multiboot.h: Likewise.
          * include/grub/i386/pc/serial.h: Likewise.
          * include/grub/i386/pc/time.h: Likewise.
          * include/grub/i386/pc/vbe.h: Likewise.
          * include/grub/i386/pc/vbeblit.h: Likewise.
          * include/grub/i386/pc/vbefill.h: Likewise.
          * include/grub/i386/pc/vbeutil.h: Likewise.
          * include/grub/i386/pc/vga.h: Likewise.
          * include/grub/ieee1275/ieee1275.h: Likewise.
          * include/grub/ieee1275/ofdisk.h: Likewise.
          * include/grub/powerpc/libgcc.h: Likewise.
          * include/grub/powerpc/setjmp.h: Likewise.
          * include/grub/powerpc/types.h: Likewise.
          * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
          * include/grub/powerpc/ieee1275/console.h: Likewise.
          * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
          * include/grub/powerpc/ieee1275/kernel.h: Likewise.
          * include/grub/powerpc/ieee1275/loader.h: Likewise.
          * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
          * include/grub/powerpc/ieee1275/time.h: Likewise.
          * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
          * include/grub/sparc64/libgcc.h: Likewise.
          * include/grub/sparc64/setjmp.h: Likewise.
          * include/grub/sparc64/types.h: Likewise.
          * include/grub/sparc64/ieee1275/console.h: Likewise.
          * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
          * include/grub/sparc64/ieee1275/kernel.h: Likewise.
          * include/grub/sparc64/ieee1275/time.h: Likewise.
          * include/grub/util/biosdisk.h: Likewise.
          * include/grub/util/getroot.h: Likewise.
          * include/grub/util/lvm.h: Likewise.
          * include/grub/util/misc.h: Likewise.
          * include/grub/util/raid.h: Likewise.
          * include/grub/util/resolve.h: Likewise.
          * io/gzio.c: Likewise.
          * kern/device.c: Likewise.
          * kern/disk.c: Likewise.
          * kern/dl.c: Likewise.
          * kern/elf.c: Likewise.
          * kern/env.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/parser.c: Likewise.
          * kern/partition.c: Likewise.
          * kern/rescue.c: Likewise.
          * kern/term.c: Likewise.
          * kern/efi/efi.c: Likewise.
          * kern/efi/init.c: Likewise.
          * kern/efi/mm.c: Likewise.
          * kern/i386/dl.c: Likewise.
          * kern/i386/efi/init.c: Likewise.
          * kern/i386/efi/startup.S: Likewise.
          * kern/i386/pc/init.c: Likewise.
          * kern/i386/pc/lzo1x.S: Likewise.
          * kern/i386/pc/startup.S: Likewise.
          * kern/ieee1275/ieee1275.c: Likewise.
          * kern/powerpc/cache.S: Likewise.
          * kern/powerpc/dl.c: Likewise.
          * kern/powerpc/ieee1275/cmain.c: Likewise.
          * kern/powerpc/ieee1275/crt0.S: Likewise.
          * kern/powerpc/ieee1275/init.c: Likewise.
          * kern/powerpc/ieee1275/openfw.c: Likewise.
          * kern/sparc64/cache.S: Likewise.
          * kern/sparc64/dl.c: Likewise.
          * kern/sparc64/ieee1275/init.c: Likewise.
          * kern/sparc64/ieee1275/openfw.c: Likewise.
          * loader/efi/chainloader.c: Likewise.
          * loader/efi/chainloader_normal.c: Likewise.
          * loader/i386/efi/linux.c: Likewise.
          * loader/i386/efi/linux_normal.c: Likewise.
          * loader/i386/pc/chainloader.c: Likewise.
          * loader/i386/pc/chainloader_normal.c: Likewise.
          * loader/i386/pc/linux.c: Likewise.
          * loader/i386/pc/linux_normal.c: Likewise.
          * loader/i386/pc/multiboot.c: Likewise.
          * loader/i386/pc/multiboot_normal.c: Likewise.
          * loader/powerpc/ieee1275/linux.c: Likewise.
          * loader/powerpc/ieee1275/linux_normal.c: Likewise.
          * normal/arg.c: Likewise.
          * normal/cmdline.c: Likewise.
          * normal/command.c: Likewise.
          * normal/completion.c: Likewise.
          * normal/execute.c: Likewise.
          * normal/function.c: Likewise.
          * normal/lexer.c: Likewise.
          * normal/main.c: Likewise.
          * normal/menu.c: Likewise.
          * normal/menu_entry.c: Likewise.
          * normal/misc.c: Likewise.
          * normal/parser.y: Likewise.
          * normal/script.c: Likewise.
          * normal/i386/setjmp.S: Likewise.
          * normal/powerpc/setjmp.S: Likewise.
          * normal/sparc64/setjmp.S: Likewise.
          * partmap/acorn.c: Likewise.
          * partmap/amiga.c: Likewise.
          * partmap/apple.c: Likewise.
          * partmap/gpt.c: Likewise.
          * partmap/pc.c: Likewise.
          * partmap/sun.c: Likewise.
          * term/gfxterm.c: Likewise.
          * term/terminfo.c: Likewise.
          * term/efi/console.c: Likewise.
          * term/i386/pc/console.c: Likewise.
          * term/i386/pc/serial.c: Likewise.
          * term/i386/pc/vesafb.c: Likewise.
          * term/i386/pc/vga.c: Likewise.
          * term/ieee1275/ofconsole.c: Likewise.
          * util/biosdisk.c: Likewise.
          * util/console.c: Likewise.
          * util/genmoddep.c: Likewise.
          * util/getroot.c: Likewise.
          * util/grub-emu.c: Likewise.
          * util/grub-mkdevicemap.c: Likewise.
          * util/grub-probe.c: Likewise.
          * util/lvm.c: Likewise.
          * util/misc.c: Likewise.
          * util/raid.c: Likewise.
          * util/resolve.c: Likewise.
          * util/update-grub.in: Likewise.
          * util/update-grub_lib.in: Likewise.
          * util/grub.d/00_header.in: Likewise.
          * util/grub.d/10_hurd.in: Likewise.
          * util/grub.d/10_linux.in: Likewise.
          * util/i386/efi/grub-install.in: Likewise.
          * util/i386/efi/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-install.in: Likewise.
          * util/i386/pc/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-mkrescue.in: Likewise.
          * util/i386/pc/grub-setup.c: Likewise.
          * util/i386/pc/misc.c: Likewise.
          * util/powerpc/ieee1275/grub-install.in: Likewise.
          * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
          * util/powerpc/ieee1275/misc.c: Likewise.
          * video/bitmap.c: Likewise.
          * video/video.c: Likewise.
          * video/i386/pc/vbe.c: Likewise.
          * video/i386/pc/vbeblit.c: Likewise.
          * video/i386/pc/vbefill.c: Likewise.
          * video/i386/pc/vbeutil.c: Likewise.
          * video/readers/tga.c: Likewise.
      5a79f472
  13. 28 Feb, 2005 1 commit
    • okuji's avatar
      2005-02-27 Yoshinori K. Okuji <okuji@enbug.org> · 93f3a1d8
      okuji authored
        * commands/default.h: New file.
        * commands/timeout.h: Likewise.
        * normal/context.c: Likewise.
      
        * util/misc.c: Do not include sys/times.h.
        Include sys/time.h and grub/machine/time.h.
        (grub_get_rtc): Rewritten with gettimeofday.
      
        * util/grub-emu.c (main): Call grub_default_init and
        grub_timeout_init before grub_normal_init, and call
        grub_timeout_fini and grub_default_fini after grub_main.
      
        * util/console.c (grub_ncurses_checkkey): Return the read
        character or -1.
      
        * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
        timeouts.
      
        * normal/main.c (read_config_file): Push MENU. If this fails,
        print an error and wait for a user input.
        Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
        If a menu is empty or an error occurs, pop MENU.
        (grub_normal_execute): Pop and free MENU after grub_menu_run
        returns.
      
        * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
      
        * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
        include time.h.
        [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
        without GRUB_UTIL.
        * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
        time.h.
        [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
        without GRUB_UTIL.
      
        * include/grub/normal.h (struct grub_menu_list): New struct.
        (grub_menu_list_t): New type.
        (struct grub_context): New struct.
        (grub_context_t): New type.
        (grub_register_command): Got rid of EXPORT_FUNC.
        (grub_unregister_command): Likewise.
        (grub_context_get): New prototype.
        (grub_context_get_current_menu): Likewise.
        (grub_context_push_menu): Likewise.
        (grub_context_pop_menu): Likewise.
        [GRUB_UTIL] (grub_default_init): Likewise.
        [GRUB_UTIL] (grub_default_fini): Likewise.
        [GRUB_UTIL] (grub_timeout_init): Likewise.
        [GRUB_UTIL] (grub_timeout_fini): Likewise.
      
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
        commands/timeout.c and normal/context.c.
        (pkgdata_MODULES): Added default.mod and timeout.mod.
        (normal_mod_SOURCES): Added normal/context.c.
        (default_mod_SOURCES): New variable.
        (default_mod_CFLAGS): Likewise.
        (timeout_mod_SOURCES): Likewise.
        (timeout_mod_CFLAGS): Likewise.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
        conf/i386-pc.rmk.
        (pkgdata_MODULES): Added default.mod and timeout.mod.
        (normal_mod_SOURCES): Added normal/context.c.
        (default_mod_SOURCES): New variable.
        (default_mod_CFLAGS): Likewise.
        (timeout_mod_SOURCES): Likewise.
        (timeout_mod_CFLAGS): Likewise.
      
        * Makefile.in (all-local): Added $(MKFILES).
      93f3a1d8
  14. 04 Jan, 2005 1 commit
    • hollisb's avatar
      2005-01-03 Hollis Blanchard <hollis@penguinppc.org> · 458786f8
      hollisb authored
      	* 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.
      458786f8
  15. 11 Sep, 2004 1 commit
    • okuji's avatar
      2004-09-10 Yoshinori K. Okuji <okuji@enbug.org> · 3c52136a
      okuji authored
        * 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.
      3c52136a
  16. 04 Apr, 2004 1 commit
    • okuji's avatar
      2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> · 4b13b216
      okuji authored
      	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.
      4b13b216
  17. 29 Mar, 2004 1 commit
    • marco_g's avatar
      2004-03-29 Marco Gerards <metgerards@student.han.nl> · e56cdf21
      marco_g authored
      	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.
      e56cdf21
  18. 24 Feb, 2004 1 commit
    • okuji's avatar
      shinori K. Okuji <okuji@enbug.org> · 8367695c
      okuji authored
      	* 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.
      8367695c
  19. 13 Nov, 2003 1 commit
    • marco_g's avatar
      2003-11-12 Marco Gerards <metgerards@student.han.nl> · 8e72a9c0
      marco_g authored
      	* 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.
      8e72a9c0
  20. 26 Sep, 2003 1 commit
    • okuji's avatar
      2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> · 18d9c7cd
      okuji authored
      	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.
      18d9c7cd
  21. 20 Jan, 2003 1 commit
    • okuji's avatar
      2003-01-20 Yoshinori K. Okuji <okuji@enbug.org> · ce5bf700
      okuji authored
      	* 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.
      ce5bf700
  22. 27 Dec, 2002 1 commit