1. 29 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Add LZSS Mach-O support (needed for new xnu kernelcache). · 99ce1597
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/Makefile.core.def (xnu): Add file lzss.c
      	* grub-core/loader/lzss.c: New file.
      	* grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
      	on Mach-O open failure.
      	* grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
      	Don't free cmdsXX in uncompressedXX is set.
      	(grub_macho_file): Init new fields.
      	New argument is_64bit. All users updated.
      	Handle compressed. Error out if no suitable architecture is found.
      	Don't close file.
      	(grub_macho_open): New argument is_64bit. All users updated.
      	* grub-core/loader/macho32.c: Add defines for new fields.
      	* grub-core/loader/macho64.c: Likewise.
      	* grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
      	(grub_macho_parse): Handle compressed.
      	Defer actual processing if compressed.
      	(grub_macho_cmds_iterate): Decompress if compressed. New argument
      	"filename". All users updated.
      	(grub_macho_size): New argument "filename". All users updated.
      	(grub_macho_get_entry_point): Likewise.
      	(grub_macho_load): Handle compressed.
      	* include/grub/macho.h (grub_macho_lzss_header): New struct.
      	(GRUB_MACHO_LZSS_OFFSET): New define.
      	(grub_decompress_lzss): New proto.
      	* include/grub/machoload.h (grub_macho_file): New fields to handle
      	compressed.
      	(grub_macho_contains_macho64): Remove proto.
      	(grub_macho_contains_macho32): Likewise.
      	* util/grub.d/30_os-prober.in: Use kernel cache if available.
      99ce1597
  2. 28 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Support v2 xnu boot arguments. · 83ddae23
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
      	New argument fsbfreq_out.
      	(grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
      	(grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
      	be used.
      	* grub-core/loader/machoXX.c (grub_macho_load): New argument
      	darwin_version.
      	* grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
      	* include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
      	(grub_xnu_boot_params): Rename to ...
      	(grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
      	(grub_xnu_boot_params_v2): New struct.
      83ddae23
  3. 08 Feb, 2012 1 commit
  4. 17 Aug, 2010 1 commit
  5. 06 May, 2010 1 commit
  6. 02 Sep, 2009 1 commit
  7. 11 Jun, 2009 1 commit
  8. 03 May, 2009 1 commit
    • phcoder's avatar
      2009-05-03 Vladimir Serbinenko <phcoder@gmail.com> · bbee0f2b
      phcoder authored
      	xnu support
      
      	* conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
      	(pkglib_MODULES): add xnu.mod
      	(xnu_mod_SOURCES): new variable
      	(xnu_mod_CFLAGS): likewise
      	(xnu_mod_LDFLAGS): likewise
      	(xnu_mod_ASFLAGS): likewise
      	* conf/i386-pc.rmk: likewise
      	* conf/x86_64-efi.rmk: likewise
      	* include/grub/efi/efi.h (grub_efi_finish_boot_services): 
      	new declaration
      	* include/grub/i386/macho.h: new file
      	* include/grub/i386/xnu.h: likewise
      	* include/grub/macho.h: likewise
      	* include/grub/machoload.h: likewise
      	* include/grub/x86_64/macho.h: likewise
      	* include/grub/x86_64/xnu.h: likewise
      	* include/grub/xnu.h: likewise
      	* kern/efi/efi.c (grub_efi_finish_boot_services): new function
      	* kern/efi/mm.c (MAX_HEAP_SIZE): increase
      	* loader/i386/efi/xnu.c: new file
      	* loader/i386/pc/xnu.c: likewise
      	* loader/i386/xnu.c: likewise
      	* loader/i386/xnu_helper.S: likewise
      	* loader/macho.c: likewise
      	* loader/xnu.c: likewise
      	* loader/xnu_resume.c: likewise
      	* util/grub-dumpdevtree: likewise
      	* include/grub/i386/pit.h: include grub/err.h
      	(grub_pit_wait): export
      	* util/grub.d/30_os-prober.in: support Darwin/Mac OS X
      	
      bbee0f2b