Commit Graph
100 Commits
Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko 88d2919b7d Merge mainline into newreloc 2010-01-17 19:18:46 +01:00
Vladimir 'phcoder' Serbinenko b0b139075e 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
Use flag-based instead of hook-based video mode selection and "auto"
	keyword.

	* include/grub/video.h (grub_video_adapter): Changed 'setup' member.
	(grub_video_set_mode): Changed prototype. All users updated.
	(grub_video_check_mode_flag): New inline function.
	* video/video.c (parse_modespec): New function.
	(grub_video_set_mode): Parse flags and keywords.
2010-01-17 17:52:01 +01:00
Vladimir 'phcoder' Serbinenko 72ebf8b87c Sort chunks 2010-01-17 12:42:28 +01:00
Vladimir 'phcoder' Serbinenko d92b0c01d4 Fixed knetbsd misbehaviour when no module is loaded 2010-01-16 12:55:52 +01:00
Vladimir 'phcoder' Serbinenko ae9eb98c7d NetBSD module support 2010-01-16 11:47:12 +01:00
Vladimir 'phcoder' Serbinenko cefe39c94b Fix knetbsd symbols 2010-01-16 11:06:55 +01:00
Vladimir 'phcoder' Serbinenko 820e8e55fd Avoid retrieving video info when no video is active 2010-01-16 00:31:24 +01:00
Vladimir 'phcoder' Serbinenko 262355247f merge mainline into newreloc 2010-01-16 00:05:33 +01:00
Vladimir 'phcoder' Serbinenko a0b766fc9b 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Enable multiboot on non-pc.

	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
	multiboot.mod and multiboot2.mod to ...
	* conf/i386.rmk (pkglib_MODULES): ... here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_SOURCES): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
	* conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
	relocator.mod.
	(ata_mod_SOURCES): Removed.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.
	(relocator_mod_SOURCES): Removed.
	(relocator_mod_CFLAGS): Likewise.
	(relocator_mod_ASFLAGS): Likewise.
	(relocator_mod_LDFLAGS): Likewise.
	Include i386.mk.
	* include/grub/x86_64/multiboot.h: New file.
	* loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
	Terminate EFI.
2010-01-15 21:11:51 +01:00
Vladimir 'phcoder' Serbinenko 884ade5654 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Video multiboot support.

	* include/grub/multiboot.h (grub_multiboot_set_accepts_video):
	New prototype.
	* include/multiboot.h: Resynced with multiboot specification.
	* include/multiboot2.h: Likewise.
	* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
	(grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
	* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
	(HAS_VGA_TEXT): Likewise.
	(accepts_video): New variable.
	(grub_multiboot_set_accepts_video): New function.
	(grub_multiboot_get_mbi_size): Account for video structures.
	(set_video_mode): New function.
	(retrieve_video_parameters): Likewise.
	(grub_multiboot_make_mbi): Fill video fields.
2010-01-15 16:30:57 +01:00
Vladimir 'phcoder' Serbinenko 0d90e8a6fb 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Video driver ids.

	* include/grub/video.h (grub_video_driver_id): New type.
	(grub_video_adapter): New member 'id'. All users updated.
	(grub_video_get_driver_id): New proto.
	* video/video.c (grub_video_get_driver_id): New function.
2010-01-15 16:11:18 +01:00
Vladimir 'phcoder' Serbinenko 53fbae94a6 netbsd framebuffer support 2010-01-15 13:40:37 +01:00
Vladimir 'phcoder' Serbinenko 9766dafa74 symtab support for knetbsd 2010-01-15 12:31:06 +01:00
Vladimir 'phcoder' Serbinenko 5fb5182f8a comX notation support 2010-01-15 11:48:15 +01:00
Vladimir 'phcoder' Serbinenko 2386d586b9 Merge some knetbsdcode into kfreebsd one. Serial supoort for knetbsd 2010-01-15 11:39:05 +01:00
Vladimir 'phcoder' Serbinenko def6307401 Be paranoid in relocator allocations 2010-01-15 11:34:22 +01:00
Vladimir 'phcoder' Serbinenko 9205ac07e3 Fix off-by-one error 2010-01-14 22:06:26 +01:00
Vladimir 'phcoder' Serbinenko 865a0f8aa7 elf symbols 2010-01-14 19:14:24 +01:00
Vladimir 'phcoder' Serbinenko 4a04699258 Fix a mistake with size calculation 2010-01-14 19:14:04 +01:00
Vladimir 'phcoder' Serbinenko 6a42fe54db Add missing #ifdef 2010-01-14 19:12:24 +01:00
Vladimir 'phcoder' Serbinenko 6dc1a8750a Merge mainline into newreloc 2010-01-14 13:43:34 +01:00
Vladimir 'phcoder' Serbinenko ea96d34596 Clarify type of bi_kernelname and bi_nfs_diskless 2010-01-14 13:40:17 +01:00
Vladimir 'phcoder' Serbinenko 9c4ffeebf5 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
* conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
	Add loader/i386/multiboot_mbi.c.
	(multiboot2_mod_SOURCES): Likewise.
	* conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
	(multiboot2_mod_SOURCES): Likewise.
	* include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
	(grub_multiboot_make_mbi): Likewise.
	(grub_multiboot_free_mbi): Likewise.
	(grub_multiboot_init_mbi): Likewise.
	(grub_multiboot_add_module): Likewise.
	(grub_multiboot_set_bootdev): Likewise.
	* loader/i386/multiboot.c (mbi): Removed.
	(mbi_dest): Likewise.
	(alloc_mbi): New variable.
	(grub_multiboot_payload_size): Removed. All users updated.
	(grub_multiboot_pure_size): New variable.
	(grub_multiboot_boot): Use grub_multiboot_make_mbi.
	(grub_multiboot_unload): Use grub_multiboot_free_mbi.
	(grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
	(grub_fill_multiboot_mmap): Likewise.
	(grub_multiboot_get_bootdev): Likewise.
	(grub_multiboot): Use multiboot_mbi functions.
	* loader/i386/multiboot_mbi.c: New file.
2010-01-14 12:40:55 +01:00
Vladimir 'phcoder' Serbinenko 05847c24e1 Merge mainline into abstractmbi 2010-01-14 12:34:23 +01:00
Vladimir 'phcoder' Serbinenko 6d8ebf76c4 support relocator64 from x86_64 mode 2010-01-13 23:17:12 +01:00
Vladimir 'phcoder' Serbinenko 17383dfe96 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
	it would result in module crash.
2010-01-13 22:53:12 +01:00
Vladimir 'phcoder' Serbinenko 0c31c22bda Remove leftover aout.mod 2010-01-13 21:06:49 +01:00
Vladimir 'phcoder' Serbinenko 8874cbbded Initial multi-i386 support for *BSD 2010-01-13 21:04:19 +01:00
Vladimir 'phcoder' Serbinenko c30074e344 Cleanup in bsd loaders 2010-01-13 21:00:46 +01:00
Vladimir 'phcoder' Serbinenko 021f5a2215 Remove leftovers in multiboot.c 2010-01-13 20:56:57 +01:00
Vladimir 'phcoder' Serbinenko c34a120a01 Move linux.mod to conf/i386.rmk 2010-01-13 20:55:34 +01:00
Vladimir 'phcoder' Serbinenko 3a87155884 Propagate removing of cpu/multiboot.h 2010-01-13 20:51:00 +01:00
Vladimir 'phcoder' Serbinenko d3fbca98e1 Fix type problem 2010-01-13 20:50:04 +01:00
Vladimir 'phcoder' Serbinenko 3f995850a4 declare grub_multiboot_relocator in multiboot.h. 2010-01-13 20:49:13 +01:00
Vladimir 'phcoder' Serbinenko 5ffb1b8494 Remove leftover grub_unix_real_boot 2010-01-13 20:47:05 +01:00
Vladimir 'phcoder' Serbinenko c1f2882010 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
	(grub_ofconsole_getwh): Split to ...
	(grub_ofconsole_getwh): ... this.
	(grub_ofconsole_dimensions): ...and this.
	(grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2010-01-13 20:43:48 +01:00
Vladimir 'phcoder' Serbinenko 4a86b371b4 Fix coreboot compilation error 2010-01-13 20:25:08 +01:00
Vladimir 'phcoder' Serbinenko 319fc3d213 Remove became useless i386/multiboot.h 2010-01-13 18:44:12 +01:00
Vladimir 'phcoder' Serbinenko ad184204b2 Remove leftover multiboot elpers 2010-01-13 18:41:49 +01:00
Vladimir 'phcoder' Serbinenko 0599ad1507 Fix compilation on i386-ieee127 2010-01-13 17:28:20 +01:00
Vladimir 'phcoder' Serbinenko 9efe142861 Use linux.c on i386-ieee1275 2010-01-13 17:27:45 +01:00
Vladimir 'phcoder' Serbinenko 8071fb7997 ieee1275 support in linux.c 2010-01-13 17:26:47 +01:00
Vladimir 'phcoder' Serbinenko 8b889c332a Fix bug when whole region is free 2010-01-13 17:25:49 +01:00
Vladimir 'phcoder' Serbinenko a52dadc592 merge mainline into newreloc 2010-01-13 14:12:47 +01:00
Vladimir 'phcoder' Serbinenko d1b3ffe8ce merge efigfx into newreloc 2010-01-13 14:12:24 +01:00
Vladimir 'phcoder' Serbinenko 4d27140f7f Removed efi linux loader (now it's in i386/linux.c) 2010-01-13 14:05:39 +01:00
Vladimir 'phcoder' Serbinenko c8142599fc Merge i386/efi/linux.c into i386/linux.c 2010-01-13 14:03:54 +01:00
Vladimir 'phcoder' Serbinenko ca732b36c1 Video driver ID. 2010-01-13 14:03:18 +01:00
Vladimir 'phcoder' Serbinenko 19eb83d486 Include i386.rmk into x86_64-efi.rmk 2010-01-13 14:02:32 +01:00
Vladimir 'phcoder' Serbinenko 37480ee490 Added needed casts 2010-01-13 13:41:15 +01:00
Vladimir 'phcoder' Serbinenko 73f6ce4ab2 x86_64 support for relocator 2010-01-12 23:30:52 +01:00
Vladimir 'phcoder' Serbinenko 11aadbadfb fix compilation on coreboot 2010-01-12 23:03:56 +01:00
Vladimir 'phcoder' Serbinenko e39029dd1e Remove i386/loader.S 2010-01-12 22:24:41 +01:00
Vladimir 'phcoder' Serbinenko e6e7b4ea1f Remove i386/loader.h 2010-01-12 22:22:36 +01:00
Vladimir 'phcoder' Serbinenko 1b86596ae1 Remove OS area 2010-01-12 22:17:44 +01:00
Vladimir 'phcoder' Serbinenko c911e8791a Port linux16 to relocator framework 2010-01-12 22:17:26 +01:00
Vladimir 'phcoder' Serbinenko 14dacc815a Clarify type of cmd_line_ptr 2010-01-12 22:16:33 +01:00
Vladimir 'phcoder' Serbinenko cdab631686 Relocator16 support 2010-01-12 22:15:50 +01:00
Vladimir 'phcoder' Serbinenko 49a716be3b Possibility to prefer higher or lower chunks in relocator 2010-01-12 22:14:26 +01:00
Vladimir 'phcoder' Serbinenko b16ff4662e Small cleanup 2010-01-12 19:47:02 +01:00
Vladimir 'phcoder' Serbinenko 611f8f0eb9 Remove unused BSD helpers 2010-01-12 17:57:04 +01:00
Vladimir 'phcoder' Serbinenko 10891398fd 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/pc/multiboot2.c: Removed stalled file.
2010-01-12 17:56:05 +01:00
Vladimir 'phcoder' Serbinenko 73910decff Fix various bugs in *bsd. Freebsd64 on relocators 2010-01-12 17:50:11 +01:00
Vladimir 'phcoder' Serbinenko 14933205d1 Relocator64 support 2010-01-12 17:48:51 +01:00
Vladimir 'phcoder' Serbinenko 1d24828f20 Fix out of memory hang. Add sanity checks 2010-01-12 17:47:14 +01:00
Vladimir 'phcoder' Serbinenko 8468cbeccd Fix typo in relocator32.S 2010-01-12 17:46:17 +01:00
Vladimir 'phcoder' Serbinenko 0b8a223cb1 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
	Reported by: Grégoire Sutre
2010-01-12 13:36:44 +01:00
Vladimir 'phcoder' Serbinenko 108408aa39 BSD on relocators 2010-01-11 22:54:40 +01:00
Vladimir 'phcoder' Serbinenko d45dca5ab3 Fix few bugs in relocators 2010-01-11 22:54:20 +01:00
Vladimir 'phcoder' Serbinenko 55b40bc68a Ported linux to relocator framework 2010-01-11 14:59:01 +01:00
Vladimir 'phcoder' Serbinenko cb1b2ad7e0 Reenable XNU 2010-01-11 13:43:44 +01:00
Vladimir 'phcoder' Serbinenko 669a1c01fb Fix various mistakes 2010-01-11 13:43:31 +01:00
Vladimir 'phcoder' Serbinenko 796d2fa20e Remove uselees instruction 2010-01-11 13:42:45 +01:00
Vladimir 'phcoder' Serbinenko b56495543a Fix variable name collision 2010-01-11 13:40:59 +01:00
Vladimir 'phcoder' Serbinenko d2601bb7bc decrease scope of code_size 2010-01-11 11:32:41 +01:00
Vladimir 'phcoder' Serbinenko 5c8e58b0cb merge abstractmbi into newreloc 2010-01-11 11:29:52 +01:00
Vladimir 'phcoder' Serbinenko ffa8e3d277 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
* term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
	in premature implicit newline.
2010-01-10 22:35:46 +01:00
Vladimir 'phcoder' Serbinenko e9060a9d3b 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
* normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
	which resulted in garbled command line at the end of screen.
2010-01-10 22:34:25 +01:00
Vladimir 'phcoder' Serbinenko 7e267737b6 Add align to .S files 2010-01-10 18:59:31 +01:00
Vladimir 'phcoder' Serbinenko cd0514794a MAnipulate mbi in abstract way 2010-01-10 18:58:18 +01:00
Vladimir 'phcoder' Serbinenko 14e43c6e02 First working newreloc 2010-01-10 15:06:17 +01:00
Vladimir 'phcoder' Serbinenko 6b60576149 merge mainline into newreloc 2010-01-10 01:56:47 +01:00
Vladimir 'phcoder' Serbinenko 95c7fc3f55 First compileable newreloc 2010-01-10 00:30:33 +01:00
Vladimir 'phcoder' Serbinenko 1dcb8d30a9 ChangeLog 2010-01-07 22:22:24 +01:00
Vladimir 'phcoder' Serbinenko 3b88cbbda5 Warning fixes 2010-01-07 22:22:11 +01:00
Vladimir 'phcoder' Serbinenko fc054c9cb8 Various cleanups 2010-01-07 22:18:59 +01:00
Vladimir 'phcoder' Serbinenko 44fcb2bc59 merge mainline into multiterm 2010-01-07 21:34:43 +01:00
Vladimir 'phcoder' Serbinenko 607a3701db 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
Merge crypto branch.

	* Makefile.in (pkglib_DATA):  Add crypto.lst.
	(crypto.lst): New target.
	* commands/hashsum.c: New file.
	* commands/password.c (check_password): Use grub_crypto_memcmp.
	* commands/password_pbkdf2.c: New file.
	* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
	* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
	normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
	(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
	-I$(srcdir)/lib/libgcrypt_wrap.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
	(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
	password_pbkdf2.mod.
	(crypto_mod_SOURCES): New variable.
	(crypto_mod_CFLAGS): Likewise.
	(crypto_mod_LDFLAGS): Likewise.
	(hashsum_mod_SOURCES): New variable.
	(hashsum_mod_CFLAGS): Likewise.
	(hashsum_mod_LDFLAGS): Likewise.
	(pbkdf2_mod_SOURCES): New variable.
	(pbkdf2_mod_CFLAGS): Likewise.
	(pbkdf2_mod_LDFLAGS): Likewise.
	(password_pbkdf2_mod_SOURCES): New variable.
	(password_pbkdf2_mod_CFLAGS): Likewise.
	(password_pbkdf2_mod_LDFLAGS): Likewise.
	(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
	(grub_mkpasswd_pbkdf2_SOURCES): New variable.
	(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
	Include conf/gcry.rmk.
	* include/grub/auth.h: Rewritten.
	* include/grub/crypto.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
	* include/grub/normal.h (read_crypto_list): New prototype.
	* lib/crypto.c: New file.
	* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
	* lib/pbkdf2.c: Likewise.
	* normal/auth.c (grub_auth_strcmp): Removed.
	(grub_iswordseparator): Likewise.
	(grub_auth_strword): Likewise.
	(is_authenticated): Use grub_strword.
	(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
	and grub_strword. Pass entered password to authentication callback.
	* normal/crypto.c: New file.
	* normal/main.c: Call read_crypto_list.
	* util/grub-mkpasswd-pbkdf2.c: New file.
	* util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2010-01-07 01:13:01 +01:00
Vladimir 'phcoder' Serbinenko 42841caa75 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
Fix descent and ascent calculation.

	* util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
	(options): New option "asce".
	(usage): Likewise.
	(add_char): Ignore invalid glyphs for descent calculation.
	Calculate ascent from actual content.
	(print_glyphs): Use 'asce'.
	(write_font): Likewise. Allow ascent override.
	(main): Handle "asce" option.
2010-01-06 23:25:57 +01:00
Vladimir 'phcoder' Serbinenko 519634516f Merge mainline into multiterm 2010-01-05 16:27:41 +01:00
Vladimir 'phcoder' Serbinenko 52c2d97f26 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
	New constant.
	(grub_efi_piwg_device_path): New structure
	(grub_efi_piwg_device_path_t): New type.
	* loader/efi/appleloader.c (piwg_full_device_path): New structure.
	(devpath_1): Transform to a structure. All users updated.
	(devpath_2): Likewise.
	(devpath_3): Likewise.
	(devpath_4): Likewise.
	(devpath_5): Likewise.
2010-01-04 14:59:06 +01:00
Vladimir 'phcoder' Serbinenko 98ff6a54de 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
* loader/efi/appleloader.c: Restored. Update all users.
2010-01-04 14:53:15 +01:00
Vladimir 'phcoder' Serbinenko e44721e811 Fix punctuation in ChangeLog 2009-12-31 15:05:12 +01:00
Vladimir 'phcoder' Serbinenko 33433555f3 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
* include/grub/list.h (grub_assert_fail): Removed.
	(grub_bad_type_cast_real): New function.
	(grub_bad_type_cast): New macro.
	(GRUB_AS_LIST): Use grub_bad_type_cast.
	(GRUB_AS_LIST_P): Likewise.
	(GRUB_AS_NAMED_LIST): Likewise.
	(GRUB_AS_NAMED_LIST_P): Likewise.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	* include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
2009-12-31 15:03:09 +01:00
Vladimir 'phcoder' Serbinenko f5a513064c 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
	Fix syntax error.
2009-12-29 19:06:04 +01:00
Vladimir 'phcoder' Serbinenko d8a1cbbd0b Fix compilation warning 2009-12-29 17:54:27 +01:00
Vladimir 'phcoder' Serbinenko 37f7fb26a3 always_inline cl_print to avoid regparm=3 bug 2009-12-29 13:03:22 +01:00
Vladimir 'phcoder' Serbinenko bd2b242ea2 Fix space after completion 2009-12-29 10:24:10 +01:00
Vladimir 'phcoder' Serbinenko a6f106ce37 Fix i386-ieee1275 compilation 2009-12-28 22:06:30 +01:00
Vladimir 'phcoder' Serbinenko c181849b95 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2009-12-28 01:02:21 +01:00