Commit graph

178 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
c6fb51295b merge mainline into newreloc 2010-05-01 15:10:44 +02:00
Vladimir 'phcoder' Serbinenko
7819a4562f Use LBIO on coreboot.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
	kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
	* include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
	New declaration.
	* kern/i386/coreboot/init.c (grub_machine_init): Don't call
	grub_machine_mmap_init on coreboot.
	* kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
	GRUB_LINUXBIOS_MEMBER_LINK.
	(grub_machine_mmap_iterate): Fix declaration.
	* kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2010-05-01 14:32:48 +02:00
Vladimir 'phcoder' Serbinenko
6c3d9c2845 merge boottest into newreloc 2010-04-27 13:34:07 +02:00
Vladimir 'phcoder' Serbinenko
8ea6ecb36d Some cleanups 2010-04-26 21:11:16 +02:00
Vladimir 'phcoder' Serbinenko
debaf23f7c all images binary identical to the ones from trunk 2010-04-26 19:11:38 +02:00
Vladimir 'phcoder' Serbinenko
bb3208158a Fill info for remaining platforms. Make efi image identical to image of previous grub-mkimage 2010-04-26 17:19:15 +02:00
Vladimir 'phcoder' Serbinenko
94ac790645 Fix various issues created by previous commits 2010-04-26 10:56:12 +02:00
Vladimir 'phcoder' Serbinenko
298ffd54b0 merge mainline into newreloc 2010-04-11 22:44:31 +02:00
Vladimir 'phcoder' Serbinenko
2622c3ffb0 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code). 2010-04-05 15:59:32 +02:00
Vladimir 'phcoder' Serbinenko
a8c3b552a7 Remove unused grub_vga_get_font.
* kern/i386/pc/startup.S (grub_vga_get_font): Removed.
	* include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2010-04-04 14:12:11 +02:00
Vladimir 'phcoder' Serbinenko
8b0800f66f merge mainline into newreloc 2010-04-01 22:17:26 +02:00
Vladimir 'phcoder' Serbinenko
969d1c782d Simplify Apple CC support.
* commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
	Add 0 byte at the end not to have a symbol with empty target.
	* mmap/i386/pc/mmap_helper.S: Likewise.
	* genmk.rb: Ignore errors 2030 and 2050.
	* kern/i386/pc/startup.S: Use LOCAL when possible.
2010-03-27 00:04:14 +01:00
Vladimir 'phcoder' Serbinenko
8f891adc6f 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* 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.
2010-02-07 00:52:31 +01:00
Vladimir 'phcoder' Serbinenko
6e308bd942 merge mainline into newreloc 2010-01-30 16:46:16 +01:00
Robert Millan
3973a59a34 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
	
	* boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
	(_start): Macroify `0x7F'.
	
	* kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
	(make_install_device): Use "(pxe)" as fallback prefix when booting
	via PXE.
2010-01-26 16:39:37 +00:00
Robert Millan
566863ca19 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
Use generic grub_reboot() for i386-efi.
	
	* kern/efi/efi.c [__i386__] (grub_reboot): Remove.
	* kern/i386/efi/startup.S: Include `"../realmode.S"'.
	* kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2010-01-22 17:12:40 +00:00
Vladimir 'phcoder' Serbinenko
3c83bc50db merge bootcheck and mainline into newreloc 2010-01-20 11:48:36 +01:00
Vladimir 'phcoder' Serbinenko
2d49abe9e7 merge mainline into asprintf 2010-01-20 07:36:17 +01:00
Robert Millan
e022a2d667 Sync with trunk 2010-01-18 20:51:35 +00:00
Robert Millan
0a46429a55 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
	(grub_linux16_real_boot): ... this.
	* kern/i386/loader.S: Likewise.
	* loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
	(grub_linux16_boot): New function.  Switches to text mode and calls
	grub_linux16_real_boot().
	
	* loader/i386/bsd.c: Include `<grub/video.h>'.
	(grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
	text mode before calling grub_unix_real_boot().
	
	* loader/i386/multiboot.c: Include `<grub/video.h>'.
	(grub_multiboot_boot): Switch to text mode before calling
	grub_relocator32_boot().
	
	* loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
	(grub_chainloader_boot): Switch to text mode before calling
	grub_chainloader_real_boot().
2010-01-14 21:08:31 +00:00
Vladimir 'phcoder' Serbinenko
4a86b371b4 Fix coreboot compilation error 2010-01-13 20:25:08 +01:00
Vladimir 'phcoder' Serbinenko
0599ad1507 Fix compilation on i386-ieee127 2010-01-13 17:28:20 +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
1b86596ae1 Remove OS area 2010-01-12 22:17:44 +01:00
Vladimir 'phcoder' Serbinenko
14e43c6e02 First working newreloc 2010-01-10 15:06:17 +01:00
Vladimir 'phcoder' Serbinenko
85a2cf749f merge mainline into mips 2010-01-10 13:34:48 +01:00
Robert Millan
58bc8bd5b1 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
* boot/i386/pc/boot.S: Update copyright year.
	* boot/i386/pc/cdboot.S: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* bus/pci.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/test.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gencmdlist.sh: Likewise.
	* genmk.rb: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/i386/at_keyboard.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/i386/pci.h: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/ntfs.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/libgcc.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/multiboot2.h: Likewise.
	* io/gzio.c: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/main.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
	* lib/hexdump.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* partmap/apple.c: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/hostfs.c: Likewise.
	* video/readers/png.c: Likewise.
2010-01-03 22:05:07 +00:00
Vladimir 'phcoder' Serbinenko
8b442f3f4c asprintf and snprintf support 2009-12-29 10:04:06 +01:00
Vladimir 'phcoder' Serbinenko
742e1f7e72 merge mainline into mips 2009-12-28 01:05:47 +01:00
Robert Millan
d94000ed13 Merge from trunk 2009-12-25 22:29:47 +00:00
Vladimir 'phcoder' Serbinenko
db9433999c 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
	Ignore return status if CF is cleared.
	(grub_biosdisk_get_diskinfo_standard): Likewise.
2009-12-25 23:01:32 +01:00
Robert Millan
e4d47d8d64 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
For consistency with [multiboot]/docs/boot.S.
	
	* include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
	(MULTIBOOT_HEADER_MAGIC): ... to this.  Update all users.
	(MULTIBOOT_MAGIC2): Rename from this ...
	(MULTIBOOT_BOOTLOADER_MAGIC): ... to this.  Update all users.
2009-12-24 14:09:06 +00:00
Felix Zielcke
a2c1332b70 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
	* commands/lspci.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/xnu_uuid.c: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* fs/i386/pc/pxe.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/efi/graphics_output.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* kern/env.c: Likewise.
	* kern/i386/qemu/startup.S: Likewise.
	* lib/i386/pc/biosnum.c: Likewise.
	* lib/i386/relocator.c: Likewise.
	* lib/i386/relocator_asm.S: Likewise.
	* lib/relocator.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/xnu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu_text.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* video/efi_gop.c: Likewise.
2009-12-23 17:41:32 +01:00
Felix Zielcke
7cba88bbde Include <grub/cmos.h> instead of <grub/i386/cmos.h> in kern/i386/qemu/mmap.c to fix a compiler warning 2009-12-13 21:03:47 +01:00
Robert Millan
b50b77b9a8 Merge relocator branch 2009-12-13 18:37:44 +00:00
Vladimir 'phcoder' Serbinenko
29eb90c620 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
	anything.
2009-12-13 18:32:06 +01:00
Robert Millan
dfec2d96f9 Merge from trunk 2009-12-11 21:20:00 +00:00
Robert Millan
6b8474f8e8 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
* commands/halt.c: Replace misc arch-specific headers with
        `<grub/misc.h>'.
        * commands/reboot.c: Likewise.
        * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
        `<grub/misc.h>'.
        * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
        (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
        (kernel_img_SOURCES): ... to here.

        * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
        * include/grub/i386/pc/init.h: Likewise.
        * include/grub/powerpc/ieee1275/kernel.h: Likewise.
        * include/grub/sparc64/ieee1275/kernel.h: Likewise.

        * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.

        * include/grub/i386/halt.h: Remove.
        * include/grub/i386/reboot.h: Likewise.

        * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
2009-12-03 23:07:29 +00:00
Robert Millan
5239348f18 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
Use the same reboot approach on i386 coreboot and qemu as we do on
        BIOS.

        * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
        (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
        * kern/i386/reboot.c: Remove.
        * include/grub/i386/reboot.h (grub_reboot): Export function.
        * kern/i386/pc/startup.S (grub_reboot): Move from here ...
        * kern/i386/realmode.S (grub_reboot): ... to here.  Jump to
        0xf000:0xfff0 instead of 0xffff:0x0000.
        [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
        * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
2009-12-02 22:48:02 +00:00
Vladimir 'phcoder' Serbinenko
6ee8daeead Second part of the LBA fix 2009-11-27 13:38:01 +01:00
Vladimir 'phcoder' Serbinenko
0d67b44378 merge mainline into lbafix 2009-11-27 12:56:26 +01:00
Vladimir 'phcoder' Serbinenko
636813f768 Split relocators from mips branch 2009-11-25 23:39:59 +01:00
Robert Millan
f84b481b35 Cheery-pick grub-emu split from experimental (rev 1361)
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.
2009-11-23 15:31:54 +00:00
Robert Millan
8d0edf4abd 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/multiboot.h (struct grub_multiboot_header): Move
        from here ...
        * include/multiboot.h (struct multiboot_header): ... to here.  Update
        all users.
        * include/grub/multiboot.h (struct grub_multiboot_info): Move
        from here ...
        * include/multiboot.h (struct multiboot_info): ... to here.  Update
        all users.
        * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
        from here ...
        * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
        Update all users.
        * include/grub/multiboot.h (struct grub_mod_list): Move
        from here ...
        * include/multiboot.h (struct multiboot_mod_list): ... to here.
        Update all users.
2009-11-13 13:34:51 +00:00
Vladimir 'phcoder' Serbinenko
81faaf6c56 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
	Ignore return status if CF is cleared.
2009-11-09 23:51:01 +01:00
Robert Millan
b97b7b914b 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
* kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
        error message for excessively large memory map.
2009-11-08 20:02:16 +00:00
Robert Millan
e4eb23732d 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
* kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
        message for coreboot users.
2009-11-08 16:23:23 +00:00
robertmh
2ed19dfded 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
* kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
        doesn't cause an infinite call loop.
2009-10-28 22:02:54 +00:00
robertmh
5c9f8d8427 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
Fix memory corruption issue (spotted by Colin Watson).

        * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
        causing returned size to be stored in an incorrect memory location.
        Fix use of uninitialized value when storing the returned size.
2009-09-12 13:05:25 +00:00