1. 07 May, 2013 1 commit
  2. 09 Jul, 2011 1 commit
  3. 08 Jul, 2011 1 commit
  4. 02 Jul, 2011 1 commit
  5. 06 May, 2010 1 commit
  6. 07 Feb, 2010 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      2010-02-07 Vladimir Serbinenko <phcoder@gmail.com> · 8f891adc
      Vladimir 'phcoder' Serbinenko authored
      	* include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
      	* kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
      	* kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
      	* kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
      	* kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
      	* util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
      8f891adc
  7. 08 Aug, 2008 1 commit
    • bean's avatar
      2008-08-07 Bean <bean123ch@gmail.com> · 5ebc275d
      bean authored
      	* conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
      	kern/i386/tsc.c and kern/i386/pit.c.
      
      	* include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
      	x86_64 platform.
      
      	* kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
      	<grub/i386/tsc.h>.
      
      	* kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
      5ebc275d
  8. 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
  9. 23 Oct, 2007 1 commit
    • 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
  10. 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
  11. 26 Apr, 2006 1 commit
    • okuji's avatar
      2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> · 2965c7cc
      okuji authored
              A new machine-specific function "grub_machine_set_prefix" is
              defined. This is called after loading modules, so that a prefix
              initialization can use modules. Also, this change adds an
              intensive debugging feature for the memory manager via the
              configure option "--enable-mm-debug".
      
              * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
              PART.LEN.
      
              * kern/sparc64/ieee1275/init.c (abort): Removed.
              (grub_stop): Likewise.
              (grub_exit): New function.
              (grub_set_prefix): Renamed to ...
              (grub_machine_set_prefix): ... this.
              (grub_machine_init): Do not call grub_set_prefix.
      
              * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
              (grub_machine_set_prefix): ... this.
              (grub_machine_init): Do not call grub_set_prefix.
      
              * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
              (grub_machine_init): Do not set the prefix here.
      
              * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
      
              * kern/efi/init.c: Include grub/mm.h.
              (grub_efi_set_prefix): New function.
      
              * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
              (grub_efi_get_filename): New function.
              (grub_print_device_path): Renamed to ...
              (grub_efi_print_device_path): ... this.
      
              * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
              [MM_DEBUG] (grub_realloc): Likewise.
              [MM_DEBUG] (grub_free): Likewise.
              [MM_DEBUG] (grub_memalign): Likewise.
              [MM_DEBUG] (grub_mm_debug): New variable.
              [MM_DEBUG] (grub_debug_malloc): New function.
              [MM_DEBUG] (grub_debug_free): New function.
              [MM_DEBUG] (grub_debug_realloc): New function.
              [MM_DEBUG] (grub_debug_memalign): New function.
      
              * kern/misc.c (grub_abort): Print a newline to distinguish
              the message.
      
              * kern/main.c (grub_main): Call grub_machine_set_prefix and
              grub_set_root_dev after loading modules. This is necessary when
              setting a prefix depends on modules.
      
              * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
              (grub_efi_print_device_path): ... this.
              (grub_efi_get_filename): New prototype.
              (grub_efi_set_prefix): Likewise.
      
              * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
              and grub/disk.h.
              (grub_efidisk_get_device_handle): New prototype.
              (grub_efidisk_get_device_name): Likewise.
      
              * include/grub/mm.h: Include config.h.
              (MM_DEBUG): Removed.
              [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
              [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
              [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
              [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
              [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
              [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
              [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
              [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
              [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
      
              * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
      
              * disk/efi/efidisk.c: Include grub/partition.h.
              (iterate_child_devices): New function.
              (add_device): First, compare only last device path nodes, so that
              devices are sorted by the types.
              (grub_efidisk_get_device_handle): New function.
              (grub_efidisk_get_device_name): Likewise.
      
              * configure.ac (--enable-mm-debug): New option to enable the
              memory manager debugging feature. This makes the binary much
              bigger, so is disabled by default.
      2965c7cc
  12. 20 Apr, 2006 1 commit
    • okuji's avatar
      2006-04-20 Yoshinori K. Okuji <okuji@enbug.org> · 2eab1c0d
      okuji authored
              Add support for pre-loaded modules into the EFI port.
      
              * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
              completely. Accept one more argument DIR. The caller has changed.
      
              * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
      
              * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
              (grub_efi_loaded_image_guid): New variable.
              (grub_efi_get_loaded_image): New function.
              (grub_arch_modules_addr): Likewise.
      
              * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
              prototype.
      
              * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
              (struct grub_efi_loaded_image): New structure.
              (grub_efi_loaded_image_t): New type.
      2eab1c0d
  13. 19 Apr, 2006 1 commit
    • okuji's avatar
      2006-04-19 Yoshinori K. Okuji <okuji@enbug.org> · 976a4ea0
      okuji authored
              * DISTLIST: Added include/grub/efi/console.h,
              include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
              kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
      
              * include/grub/efi/console.h: New file.
              * include/grub/efi/time.h: Likewise.
              * include/grub/i386/efi/kernel.h: Likewise.
              * kern/efi/init.c: Likewise.
              * kern/efi/mm.c: Likewise.
              * term/efi/console.c: Likewise.
      
              * kern/i386/efi/init.c: Do not include grub/machine/time.h.
              (grub_stop): Removed.
              (grub_get_rtc): Likewise.
              (grub_machine_init): Simply call grub_efi_init.
              (grub_machine_fini): Call grub_efi_fini.
      
              * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
              (grub_efi_output_string): Removed.
              (grub_efi_stall): New function.
              (grub_stop): Likewise.
              (grub_get_rtc): Likewise.
      
              * include/grub/efi/efi.h (grub_efi_output_string): Removed.
              (grub_efi_stall): New prototype.
              (grub_efi_allocate_pages): Likewise.
              (grub_efi_free_pages): Likewise.
              (grub_efi_get_memory_map): Likewise.
              (grub_efi_mm_init): Likewise.
              (grub_efi_mm_fini): Likewise.
              (grub_efi_init): Likewise.
              (grub_efi_fini): Likewise.
      
              * include/grub/i386/efi/time.h: Do not include
              grub/symbol.h. Include grub/efi/time.h.
              (GRUB_TICKS_PER_SECOND): Removed.
              (grub_get_rtc): Likewise.
      
              * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
              Added padding. The EFI spec is buggy.
              (GRUB_EFI_BLACK): New macro.
              (GRUB_EFI_BLUE): Likewise.
              (GRUB_EFI_GREEN): Likewise.
              (GRUB_EFI_CYAN): Likewise.
              (GRUB_EFI_RED): Likewise.
              (GRUB_EFI_MAGENTA): Likewise.
              (GRUB_EFI_BROWN): Likewise.
              (GRUB_EFI_LIGHTGRAY): Likewise.
              (GRUB_EFI_BRIGHT): Likewise.
              (GRUB_EFI_DARKGRAY): Likewise.
              (GRUB_EFI_LIGHTBLUE): Likewise.
              (GRUB_EFI_LIGHTGREEN): Likewise.
              (GRUB_EFI_LIGHTCYAN): Likewise.
              (GRUB_EFI_LIGHTRED): Likewise.
              (GRUB_EFI_LIGHTMAGENTA): Likewise.
              (GRUB_EFI_YELLOW): Likewise.
              (GRUB_EFI_WHITE): Likewise.
              (GRUB_EFI_BACKGROUND_BLACK): Likewise.
              (GRUB_EFI_BACKGROUND_BLUE): Likewise.
              (GRUB_EFI_BACKGROUND_GREEN): Likewise.
              (GRUB_EFI_BACKGROUND_CYAN): Likewise.
              (GRUB_EFI_BACKGROUND_RED): Likewise.
              (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
              (GRUB_EFI_BACKGROUND_BROWN): Likewise.
              (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
              (GRUB_EFI_TEXT_ATTR): Likewise.
      
              * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
              kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
              (kernel_mod_HEADERS): Added efi/time.h.
      976a4ea0
  14. 18 Apr, 2006 1 commit
    • okuji's avatar
      2006-04-18 Yoshinori K. Okuji <okuji@enbug.org> · 83709125
      okuji authored
              * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
              include/grub/efi/api.h, include/grub/efi/console_control.h,
              include/grub/efi/efi.h, include/grub/efi/pe32.h,
              include/grub/i386/efi/time.h, kern/efi/efi.c,
              kern/i386/efi/init.c, kern/i386/efi/startup.S,
              and util/i386/efi/grub-mkimage.c.
      
              * Makefile.in (RMKFILES): Added i386-efi.rmk.
      
              * genmk.rb (PModule#rule): Do not export symbols if
              #{prefix}_EXPORTS is set to "no".
      
              * conf/i386-efi.mk: New file.
              * conf/i386-efi.rmk: Likewise.
              * include/grub/efi/api.h: Likewise.
              * include/grub/efi/console_control.h: Likewise.
              * include/grub/efi/efi.h: Likewise.
              * include/grub/efi/pe32.h: Likewise.
              * include/grub/i386/efi/time.h: Likewise.
              * kern/efi/efi.c: Likewise.
              * kern/i386/efi/init.c: Likewise.
              * kern/i386/efi/startup.S: Likewise.
              * util/i386/efi/grub-mkimage.c: Likewise.
      83709125
  15. 13 Nov, 2005 1 commit
    • marco_g's avatar
      2005-11-13 Marco Gerards <mgerards@xs4all.nl> · 6d099807
      marco_g authored
      	* geninit.sh: New file.
      
      	* geninitheader.sh: Likewise.
      
      	* commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
      	* commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
      	* commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
      	* commands/configfile.c (grub_configfile_init)
      	(grub_configfile_fini): Likewise.
      	* commands/default.c (grub_default_init, grub_default_fini):
      	Likewise.
      	* commands/help.c (grub_help_init, grub_help_fini): Likewise.
      	* commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
      	* commands/search.c (grub_search_init, grub_search_fini): Likewise.
      	* commands/terminal.c (grub_terminal_init, grub_terminal_fini):
      	Likewise.
      	* commands/test.c (grub_test_init, grub_test_fini): Likewise.
      	* commands/timeout.c (grub_timeout_init, grub_timeout_fini):
      	Likewise.
      	* commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
      	* commands/iee1275/halt.c (grub_halt_init, grub_halt_fini):
      	Likewise.
      	* commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
      	Likewise.
      	* commands/iee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
      	Likewise.
      	* disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
      	* fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
      	* fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
      	* fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
      	* fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
      	* fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
      	* fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
      	* fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
      	* fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
      	* fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
      	* fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
      	* normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
      	* partmap/amiga.c (grub_amiga_partition_map_init)
      	(grub_amiga_partition_map_fini): Likewise.
      	* partmap/apple.c (grub_apple_partition_map_init)
      	(grub_apple_partition_map_fini): Likewise.
      	* partmap/pc.c (grub_pc_partition_map_init)
      	(grub_pc_partition_map_fini): Likewise.
      	* partmap/sun.c (grub_sun_partition_map_init,
      	grub_sun_partition_map_fini): Likewise.
      	* term/terminfo.c (grub_terminal_init, grub_terminal_fini):
      	Likewise.
      
      	* util/grub-emu.c: Include <grub_modules_init.h>.
      	(main): Don't initialize and de-initialize any modules directly,
      	use `grub_init_all' and `grub_fini_all' instead.
      
      	* term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
      	`grub_vesafb_mod_init'.
      	(grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'.  Updated
      	all users.
      	* term/i386/pc/vga.c (grub_vga_init): Renamed to
      	`grub_vga_mod_init'.  Updated all users.
      	(grub_vga_fini): Renamed to `grub_vga_mod_fini'.
      
      	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
      	(grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
      	rules.
      
      	* include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
      	Generate a function to initialize the module in utilities.
      	Updated all callers.
      	(GRUB_MOD_FINI): Add argument `name'.  Generate a function to
      	initialize the module in utilities.  Updated all callers.
      6d099807
  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. 13 Mar, 2004 1 commit
    • marco_g's avatar
      2004-03-14 Marco Gerards <metgerards@student.han.nl> · db1771cf
      marco_g authored
      	* commands/boot.c: New file.
      	* commands/cat.c: Likewise.
      	* commands/cmp.c: Likewise.
      	* commands/ls.c: Likewise.
      	* commands/terminal.c: Likewise.
      	* normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
      	(pupa_register_command): Changed interface to match the new
      	argument parser.
      	(pupa_command_execute): Changed (almost rewritten) so it uses
      	pupa_split_command.  Added support for setting variables using the
      	syntax `foo=bar'.
      	(rescue_command): Changed to work with the new argument parser.
      	(terminal_command): Moved from here to commands/terminal.c.
      	(set_command): New function.
      	(unset_command): New function.
      	(insmod_command): New function.
      	(rmmod_command): New function.
      	(lsmod_command): New function.
      	(pupa_command_init): Don't initialize the command terminal
      	anymore.  Initialize the commands set, unset, insmod, rmmod and
      	lsmod.
      	* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
      	(kernel_img_HEADERS): Add arg.h and env.h.
      	(pupa_mkimage_LDFLAGS): Add kern/env.c.
      	(pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
      	commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
      	normal/arg.c.
      	(pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
      	terminal.mod.
      	(normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
      	(boot_mod_SOURCES): New variable.
      	(terminal_mod_SOURCES): Likewise.
      	(ls_mod_SOURCES): Likewise.
      	(cmp_mod_SOURCES): Likewise.
      	(cat_mod_SOURCES): Likewise.
      
      	* normal/arg.c: New file.
      	* kern/env.c: Likewise.
      	* include/pupa/arg.h: Likewise.
      	* include/pupa/env.h: Likewise.
      	* font/manager.c (font_command): Changed to match argument parsing
      	interface changes.
      	(PUPA_MOD_INIT): Likewise.
      	* hello/hello.c (pupa_cmd_hello): Likewise.
      	(PUPA_MOD_INIT): Likewise.
      	* include/pupa/disk.h: Include <pupa/device.h>.
      	(pupa_print_partinfo): New prototype.
      	* include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
      	(pupa_dl_get_prefix): Likewise.
      	* include/pupa/misc.h: Include <pupa/err.h>.
      	(pupa_isgraph): New prototype.
      	(pupa_isdigit): Likewise.
      	(pupa_split_cmdline): Likewise.
      	* include/pupa/normal.h: Include <pupa/arg.h>.
      	(pupa_command): Changed the prototype of the member `func' to
      	match the argument parsing interface.  Added member `options'.
      	(pupa_register_command): Updated to match function.
      	(pupa_arg_parse): New prototype.
      	(pupa_hello_init) [PUPA_UTIL]: New prototype.
      	(pupa_hello_fini) [PUPA_UTIL]: Likewise.
      	(pupa_ls_init) [PUPA_UTIL]: Likewise.
      	(pupa_ls_fini) [PUPA_UTIL]: Likewise.
      	(pupa_cat_init) [PUPA_UTIL]: Likewise.
      	(pupa_cat_fini) [PUPA_UTIL]: Likewise.
      	(pupa_boot_init) [PUPA_UTIL]: Likewise.
      	(pupa_boot_fini) [PUPA_UTIL]: Likewise.
      	(pupa_cmp_init) [PUPA_UTIL]: Likewise.
      	(pupa_cmp_fini) [PUPA_UTIL]: Likewise.
      	(pupa_terminal_init) [PUPA_UTIL]: Likewise.
      	(pupa_terminal_fini) [PUPA_UTIL]: Likewise.
      	* kern/disk.c: Include <pupa/file.h>.
      	(pupa_print_partinfo): New function.
      	* kern/dl.c: Include <pupa/env.h>.
      	(pupa_dl_dir): Variable removed.
      	(pupa_dl_load): Use the environment variable `prefix' instead of
      	the variable pupa_dl_dir.
      	(pupa_dl_set_prefix): Function removed.
      	(pupa_dl_get_prefix): Likewise.
      	* kern/i386/pc/init.c: Include <pupa/env.h>.
      	(pupa_machine_init): Use the environment variable `prefix' instead of
      	using pupa_dl_set_prefix to set the prefix.
      	* kern/main.c: Include <pupa/env.h>.
      	(pupa_set_root_dev): Use the environment variable `prefix' instead of
      	using pupa_dl_get_prefix to get the prefix.
      	* kern/misc.c: Include <pupa/env.h>.
      	(pupa_isdigit): New function.
      	(pupa_isgraph): Likewise.
      	(pupa_ftoa): Likewise.
      	(pupa_vsprintf): Added support for printing values of the type
      	`double'.  Make it possible to format variable output when using
      	formatting like `%1.2%f'.
      	(pupa_split_cmdline): New function.
      	* kern/rescue.c: Include <pupa/env.h>.
      	(next_word): Removed function.
      	(pupa_rescue_cmd_prefix): Likewise.
      	(pupa_rescue_cmd_set): New function.
      	(pupa_rescue_cmd_unset): New function.
      	(pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
      	split the command line instead of splitting it here.  Added
      	support for setting variables using the syntax `foo=bar'.  Don't
      	initialize the prefix command anymore.  Initialized the set and
      	unset commands.
      	* normal/cmdline.c: Include <pupa/env.h>.
      	(pupa_tab_complete): Added prototypes for print_simple_completion,
      	print_partition_completion, add_completion, iterate_commands,
      	iterate_dev, iterate_part and iterate_dir. Moved code to print
      	partition information from here to kern/disk.c.
      	(pupa_cmdline_run): Don't check if the funtion exists anymore.
      	* normal/main.c: Include <pupa/env.h>.
      	(pupa_rescue_cmd_normal): Use the environment variable `prefix'
      	instead of using pupa_dl_get_prefix to get the prefix.
      	* term/i386/pc/vga.c: Include <pupa/arg.h>.
      	(check_vga_mem): Cast pointers to `void *' to silence a gcc
      	warning.
      	(pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
      	(pupa_vga_setcolor): Declare unused variables with `__attribute__
      	((unused))' to silence a gcc warning.
      	(pupa_vga_setcolor): Likewise.
      	(debug_command): Changed to match argument parsing
      	interface changes.
      	* util/pupa-emu.c: Include <pupa/env.h>.
      	(options): Added 0's for unused fields to silence a gcc warning.
      	(argp): Likewise.
      	(main): Use the environment variable `prefix' instead of using
      	pupa_dl_set_prefix to set the prefix.  Initialize the commands ls,
      	boot, cmp, cat and terminal.  Finish the commands boot, cmp, cat
      	and terminal.
      
      	* util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
      	* util/misc.c: Include <malloc.h>.
      	(pupa_malloc): Rewritten so errors are correctly reported.
      	(pupa_realloc): Likewise.
      	(pupa_memalign): Likewise.
      	(pupa_mm_init_region): Declare unused variables with
      	`__attribute__ ((unused))' to silence a gcc warning.
      	* normal/i386/setjmp.S: Remove tab at the end of the file to
      	silence a gcc warning.
      	* loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
      	variables with `__attribute__ ((unused))' to silence a gcc
      	warning.
      	* loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
      	local variable i unsigned to silence a gcc warning.
      
      	* kern/term.c: Include <pupa/misc.h>.
      	(pupa_more_lines): New variable.
      	(pupa_more): Likewise.
      	(pupa_putcode): When the pager is active pause at the end of every
      	screen.
      	(pupa_set_more): New function.
      	* include/pupa/term.h (pupa_set_more): New prototype.
      db1771cf
  18. 08 Feb, 2003 1 commit
  19. 17 Jan, 2003 1 commit
    • okuji's avatar
      2003-01-17 Yoshinori K. Okuji <okuji@enbug.org> · c04da074
      okuji authored
      	* include/pupa/i386/pc/linux.h: New file.
      	* loader/i386/pc/linux.c: Likewise.
      
      	* loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
      	Removed.
      	(pupa_chainloader_unload): Return PUPA_ERR_NONE.
      	(pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
      	of PUPA_CHAINLOADER_BOOT_SECTOR.
      
      	* kern/i386/pc/startup.S: Include pupa/machine/linux.h.
      	(pupa_linux_prot_size): New variable.
      	(pupa_linux_tmp_addr): Likewise.
      	(pupa_linux_real_addr): Likewise.
      	(pupa_linux_boot_zimage): New function.
      	(pupa_linux_boot_bzimage): Likewise.
      
      	* kern/i386/pc/init.c (struct mem_region): New structure.
      	(MAX_REGIONS): New macro.
      	(mem_regions): New variable.
      	(num_regions): Likewise.
      	(pupa_os_area_addr): Likewise.
      	(pupa_os_area_size): Likewise.
      	(pupa_lower_mem): Likewise.
      	(pupa_upper_mem): Likewise.
      	(add_mem_region): New function.
      	(compact_mem_regions): Likewise.
      	(pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
      	the size of the conventional memory and that of so-called upper
      	memory (before the first memory hole).
      	Instead of adding each found region to free memory, use
      	add_mem_region and add them after removing overlaps.
      	Also, add only 1/4 of the upper memory to free memory. The rest
      	is used for loading OS images. Maybe this is ad hoc, but this
      	makes it much easier to relocate OS images when booting.
      
      	* kern/rescue.c (pupa_rescue_cmd_module): Removed.
      	(pupa_enter_rescue_mode): Don't register initrd and module.
      
      	* kern/mm.c: Include pupa/dl.h.
      
      	* kern/main.c: Include pupa/file.h and pupa/device.h.
      
      	* kern/loader.c (pupa_loader_load_module_func): Removed.
      	(pupa_loader_load_module): Likewise.
      
      	* kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
      	``.o''.
      
      	* include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
      	(pupa_linux_tmp_addr): Likewise.
      	(pupa_linux_real_addr): Likewise.
      	(pupa_linux_boot_zimage): Likewise.
      	(pupa_linux_boot_bzimage): Likewise.
      
      	* include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
      	(pupa_upper_mem): Likewise.
      	(pupa_gate_a20): Don't export, because turning off Gate A20 in a
      	module is too dangerous.
      
      	* include/pupa/loader.h (pupa_os_area_addr): Declared.
      	(pupa_os_area_size): Likewise.
      	(pupa_loader_set): Remove the first argument. Loader doesn't
      	manage modules or initrd any longer.
      	(pupa_loader_load_module): Removed.
      
      	* conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
      	(linux_mod_SOURCES): New variable.
      	(linux_mod_CFLAGS): Likewise.
      c04da074
  20. 27 Dec, 2002 1 commit