1. 24 Feb, 2016 1 commit
  2. 22 Feb, 2016 1 commit
    • Eric Snowberg's avatar
      ieee1275: prevent buffer over-read · bc220962
      Eric Snowberg authored
      Prevent buffer over-read in grub_machine_mmap_iterate. This was
      causing phys_base from being calculated properly. This then
      caused the wrong value to be placed in ramdisk_image within
      struct linux_hdrs. Which prevented the ramdisk from loading on
      boot.
      
      Newer SPARC systems contain more than 8 available memory entries.
      
      For example on a T5-8 with 2TB of memory, the memory layout could
      look like this:
      
      T5-8 Memory
      reg                      00000000 30000000 0000003f b0000000
                               00000800 00000000 00000040 00000000
                               00001000 00000000 00000040 00000000
                               00001800 00000000 00000040 00000000
                               00002000 00000000 00000040 00000000
                               00002800 00000000 00000040 00000000
                               00003000 00000000 00000040 00000000
                               00003800 00000000 00000040 00000000
      available                00003800 00000000 0000003f ffcae000
                               00003000 00000000 00000040 00000000
                               00002800 00000000 00000040 00000000
                               00002000 00000000 00000040 00000000
                               00001800 00000000 00000040 00000000
                               00001000 00000000 00000040 00000000
                               00000800 00000000 00000040 00000000
                               00000000 70000000 0000003f 70000000
                               00000000 6eef8000 00000000 00002000
                               00000000 30400000 00000000 3eaf6000
      name                     memory
      Signed-off-by: 's avatarEric Snowberg <eric.snowberg@oracle.com>
      bc220962
  3. 22 Jan, 2016 1 commit
  4. 27 Nov, 2015 1 commit
  5. 24 Mar, 2014 1 commit
  6. 05 Feb, 2014 1 commit
    • Paulo Flabiano Smorigo's avatar
      add bootpath parser for open firmware · 9585647a
      Paulo Flabiano Smorigo authored
      It enables net boot even when there is no bootp/dhcp server.
      
      * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath and
      call it at grub_ieee1275_net_config_real.
      * grub-core/kern/ieee1275/init.c: Add bootpath to grub_ieee1275_net_config.
      * include/grub/ieee1275/ieee1275.h: Likewise.
      9585647a
  7. 23 Dec, 2013 1 commit
  8. 11 Nov, 2013 1 commit
  9. 10 Nov, 2013 1 commit
  10. 07 Nov, 2013 1 commit
  11. 19 Apr, 2013 2 commits
  12. 15 Apr, 2013 1 commit
  13. 14 Apr, 2013 1 commit
  14. 04 Apr, 2013 1 commit
  15. 03 Mar, 2013 1 commit
  16. 15 Jan, 2013 1 commit
    • Colin Watson's avatar
      Remove nested functions from memory map iterators. · d0d4b8a0
      Colin Watson authored
      * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
      argument, passed to hook.
      * grub-core/kern/i386/coreboot/mmap.c
      (grub_linuxbios_table_iterate): Likewise.
      (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
      instead of nested.
      (grub_machine_mmap_iterate): Add hook_data argument.
      * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
      Add hook_data argument, passed to hook.
      * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
      (grub_machine_mmap_iterate): Likewise.
      * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
      * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
      prototype.
      * include/grub/memory.h (grub_memory_hook_t): Add data argument.
      Remove NESTED_FUNC_ATTR from here and from all users.
      (grub_mmap_iterate): Update prototype.
      (grub_efi_mmap_iterate): Update prototype.  Update all callers to
      pass appropriate hook data.
      (grub_machine_mmap_iterate): Likewise.
      
      * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
      static instead of nested.
      * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
      Rename to ...
      (lsmmap_hook): ... this.
      * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
      Likewise.
      (grub_efiemu_mmap_fill: fill_hook): Likewise.
      * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
      heap_init): Likewise.
      * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
      Rename to ...
      (mmap_iterate_hook): ... this.
      * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
      Likewise.
      * grub-core/lib/ieee1275/relocator.c
      (grub_relocator_firmware_get_max_events: count): Likewise.
      (grub_relocator_firmware_fill_events: fill): Likewise.  Rename
      to ...
      (grub_relocator_firmware_fill_events_iter): ... this.
      * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
      hook): Likewise.  Rename to ...
      (grub_relocator_alloc_chunk_align_iter): ... this.
      * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
      Rename to ...
      (generate_e820_mmap_iter): ... this.
      * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
      Rename to ...
      (count_hook): ... this.
      (grub_linux_boot: hook): Likewise.  Rename to ...
      (grub_linux_boot_mmap_find): ... this.
      (grub_linux_boot: hook_fill): Likewise.  Rename to ...
      (grub_linux_boot_mmap_fill): ... this.
      * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
      hook): Likewise.  Rename to ...
      (grub_fill_multiboot_mmap_iter): ... this.
      * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
      hook): Likewise.  Rename to ...
      (count_hook): ... this.
      * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
      hook): Likewise.  Rename to ...
      (grub_fill_multiboot_mmap_iter): ... this.
      * grub-core/loader/powerpc/ieee1275/linux.c
      (grub_linux_claimmap_iterate: alloc_mem): Likewise.
      * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
      Likewise.  Rename to ...
      (alloc_phys_choose): ... this.
      (determine_phys_base: get_physbase): Likewise.
      * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
      find_hook): Likewise.
      * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
      (malloc_hook: count_hook): Likewise.
      * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
      Likewise.  Rename to ...
      (lower_hook): ... this.
      (grub_mmap_get_upper: hook): Likewise.  Rename to ...
      (upper_hook): ... this.
      (grub_mmap_get_post64: hook): Likewise.  Rename to ...
      (post64_hook): ... this.
      * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
      Likewise.  Rename to ...
      (lower_hook): ... this.
      (grub_mmap_get_upper: hook): Likewise.  Rename to ...
      (upper_hook): ... this.
      * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
      (grub_mmap_iterate: fill_hook): Likewise.
      (fill_mask): Pass addr and mask within a single struct.
      (grub_cmd_badram: hook): Make static instead of nested.  Rename
      to ...
      (badram_iter): ... this.
      (grub_cmd_cutmem: hook): Likewise.  Rename to ...
      (cutmem_iter): ... this.
      d0d4b8a0
  17. 10 Dec, 2012 1 commit
  18. 18 Sep, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set · 7ddffdad
      Vladimir 'phcoder' Serbinenko authored
      	GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
      	* grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
      	ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
      	* grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
      	ieee1275-nocursor.
      	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
      	GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
      7ddffdad
  19. 21 Jun, 2012 2 commits
  20. 19 Jun, 2012 2 commits
    • Vladimir 'phcoder' Serbinenko's avatar
      * include/grub/net.h (grub_net_card): New member txbufsize. · 0494408e
      Vladimir 'phcoder' Serbinenko authored
      	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
      	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
      	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
      	* grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
      	txbufsize.
      	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
      	compatible property to check for macs. Set
      	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
      	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
      	* grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
      	if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
      	(send_card_buffer): Use txbuf.
      	(grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
      	nested function out of the parent while on it.
      0494408e
    • Vladimir 'phcoder' Serbinenko's avatar
      * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend · 970a0a09
      Vladimir 'phcoder' Serbinenko authored
      	filename parsing to non-block devices.
      970a0a09
  21. 13 Jun, 2012 1 commit
  22. 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
  23. 13 May, 2012 1 commit
  24. 04 Feb, 2012 1 commit
  25. 29 Jan, 2012 1 commit
  26. 25 Jan, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      IEEE1275 disk write support. · 76261110
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
      	const void *.
      	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
      	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
      	and seek loginc to ...
      	(grub_ofdisk_prepare): ... here.
      	(grub_ofdisk_write): Implement.
      76261110
  27. 24 Dec, 2011 2 commits
  28. 13 Dec, 2011 1 commit
  29. 11 Nov, 2011 2 commits
  30. 19 Oct, 2011 2 commits
    • Vladimir 'phcoder' Serbinenko's avatar
      * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): · f8f72eb8
      Vladimir 'phcoder' Serbinenko authored
      	Don't add the bogus brackets.
      f8f72eb8
    • Vladimir 'phcoder' Serbinenko's avatar
      Move grub_reboot out of the kernel. · 544c2487
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/Makefile.core.def (reboot): Add platform-specific files.
      	* grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
      	* grub-core/lib/efi/reboot.c: ... here.
      	* grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
      	* grub-core/kern/i386/ieee1275/startup.S: Likewise.
      	* grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
      	* grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
      	* grub-core/lib/i386/reboot_trampoline.S: ... here.
      	* grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
      	* grub-core/lib/ieee1275/reboot.c: ... here.
      	* grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
      	* grub-core/lib/mips/arc/reboot.c: ... here.
      	* grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
      	* grub-core/lib/mips/loongson/reboot.c: ...here.
      	* grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
      	* grub-core/lib/mips/qemu_mips/reboot.c: ... here.
      	* include/grub/emu/misc.h (grub_reboot): New function declaration.
      	* include/grub/i386/reboot.h: New file.
      	* include/grub/mips/loongson/ec.h: Fix includes.
      	* include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
      	* include/grub/misc.h (grub_reboot): Don't mark as kernel function.
      	* grub-core/lib/i386/reboot.c: New file.
      544c2487
  31. 16 Oct, 2011 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Replace grub_module_iterate with FOR_MODULES. · 39705fad
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
      	* grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
      	(grub_efi_modules_addr): ...this.
      	* grub-core/kern/efi/init.c (grub_modbase): New variable.
      	(grub_efi_init): Set grub_modbase.
      	* grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
      	(grub_modbase): New variable.
      	* grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
      	(grub_modbase): New variable.
      	(grub_machine_init): Set grub_modbase.
      	* grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
      	(grub_modbase): New variable.
      	(grub_machine_init): Set grub_modbase.
      	* grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
      	(grub_modbase): New variable.
      	(grub_machine_init): Set grub_modbase.
      	* grub-core/kern/main.c (grub_module_iterate): Remove.
      	(grub_modules_get_end): Use grub_modbase.
      	(grub_load_modules): Use FOR_MODULES.
      	(grub_load_config): Likewise.
      	* grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
      	(grub_modbase): New variable.
      	(grub_machine_init): Set grub_modbase.
      	* grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
      	(grub_modbase): New variable.
      	(grub_machine_init): Set grub_modbase.
      	* grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
      	Removed.
      	(grub_modbase): New variable.
      	(grub_machine_init): Set grub_modbase.
      	* include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
      	* include/grub/kernel.h (grub_arch_modules_addr): Removed.
      	(grub_module_iterate): Likewise.
      	(grub_modbase): New variable declaration.
      	(FOR_MODULES): New macro.
      39705fad
  32. 06 Jul, 2011 1 commit
  33. 05 Jul, 2011 1 commit
  34. 02 Jul, 2011 1 commit