merge mainline and various cleanups
This commit is contained in:
commit
3666d5f636
380 changed files with 14873 additions and 1961 deletions
|
@ -44,7 +44,6 @@ grub-kbdcomp
|
||||||
grub-macho2img
|
grub-macho2img
|
||||||
grub-menulst2cfg
|
grub-menulst2cfg
|
||||||
grub-mk*
|
grub-mk*
|
||||||
grub-pbkdf2
|
|
||||||
grub-pe2elf
|
grub-pe2elf
|
||||||
grub-probe
|
grub-probe
|
||||||
grub_probe_init.c
|
grub_probe_init.c
|
||||||
|
@ -134,3 +133,5 @@ grub-core/gnulib/wctype.h
|
||||||
grub-core/rs_decoder.S
|
grub-core/rs_decoder.S
|
||||||
widthspec.bin
|
widthspec.bin
|
||||||
widthspec.h
|
widthspec.h
|
||||||
|
docs/stamp-1
|
||||||
|
docs/version-dev.texi
|
||||||
|
|
10
Makefile.am
10
Makefile.am
|
@ -147,28 +147,28 @@ linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S
|
||||||
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||||
|
|
||||||
multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -DTARGET_MULTIBOOT=1 -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -DTARGET_MULTIBOOT=1 -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
||||||
|
|
||||||
kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
||||||
|
|
||||||
kfreebsd.aout: kfreebsd.elf
|
kfreebsd.aout: kfreebsd.elf
|
||||||
$(OBJCOPY) -O a.out-i386-linux $< $@ -R .note.gnu.build-id
|
$(OBJCOPY) -O a.out-i386-linux $< $@ -R .note.gnu.build-id
|
||||||
|
|
||||||
pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
||||||
$(TARGET_CC) -o $@ $< -DTARGET_CHAINLOADER=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0x7c00 -m32
|
$(TARGET_CC) -o $@ $< -DTARGET_CHAINLOADER=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x7c00 -m32
|
||||||
|
|
||||||
pc-chainloader.bin: pc-chainloader.elf
|
pc-chainloader.bin: pc-chainloader.elf
|
||||||
$(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn $< $@;
|
$(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn $< $@;
|
||||||
|
|
||||||
ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
||||||
$(TARGET_CC) -o $@ $< -DTARGET_NTLDR=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0 -m32
|
$(TARGET_CC) -o $@ $< -DTARGET_NTLDR=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0 -m32
|
||||||
|
|
||||||
ntldr.bin: ntldr.elf
|
ntldr.bin: ntldr.elf
|
||||||
$(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn $< $@;
|
$(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn $< $@;
|
||||||
|
|
||||||
multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include -DTARGET_MULTIBOOT2=1
|
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include -DTARGET_MULTIBOOT2=1
|
||||||
|
|
||||||
kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S
|
kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S
|
||||||
$(TARGET_CC) -o $@ $< -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
|
$(TARGET_CC) -o $@ $< -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
|
||||||
|
|
|
@ -60,11 +60,14 @@ library = {
|
||||||
common = grub-core/fs/jfs.c;
|
common = grub-core/fs/jfs.c;
|
||||||
common = grub-core/fs/minix.c;
|
common = grub-core/fs/minix.c;
|
||||||
common = grub-core/fs/minix2.c;
|
common = grub-core/fs/minix2.c;
|
||||||
|
common = grub-core/fs/minix3.c;
|
||||||
common = grub-core/fs/nilfs2.c;
|
common = grub-core/fs/nilfs2.c;
|
||||||
common = grub-core/fs/ntfs.c;
|
common = grub-core/fs/ntfs.c;
|
||||||
common = grub-core/fs/ntfscomp.c;
|
common = grub-core/fs/ntfscomp.c;
|
||||||
common = grub-core/fs/reiserfs.c;
|
common = grub-core/fs/reiserfs.c;
|
||||||
|
common = grub-core/fs/romfs.c;
|
||||||
common = grub-core/fs/sfs.c;
|
common = grub-core/fs/sfs.c;
|
||||||
|
common = grub-core/fs/squash4.c;
|
||||||
common = grub-core/fs/tar.c;
|
common = grub-core/fs/tar.c;
|
||||||
common = grub-core/fs/udf.c;
|
common = grub-core/fs/udf.c;
|
||||||
common = grub-core/fs/ufs2.c;
|
common = grub-core/fs/ufs2.c;
|
||||||
|
@ -83,6 +86,7 @@ library = {
|
||||||
common = grub-core/lib/LzFind.c;
|
common = grub-core/lib/LzFind.c;
|
||||||
common = grub-core/lib/LzmaEnc.c;
|
common = grub-core/lib/LzmaEnc.c;
|
||||||
common = grub-core/lib/pbkdf2.c;
|
common = grub-core/lib/pbkdf2.c;
|
||||||
|
common = grub-core/lib/crc.c;
|
||||||
common = grub-core/normal/datetime.c;
|
common = grub-core/normal/datetime.c;
|
||||||
common = grub-core/normal/misc.c;
|
common = grub-core/normal/misc.c;
|
||||||
common = grub-core/partmap/acorn.c;
|
common = grub-core/partmap/acorn.c;
|
||||||
|
@ -91,6 +95,7 @@ library = {
|
||||||
common = grub-core/partmap/gpt.c;
|
common = grub-core/partmap/gpt.c;
|
||||||
common = grub-core/partmap/msdos.c;
|
common = grub-core/partmap/msdos.c;
|
||||||
common = grub-core/partmap/sun.c;
|
common = grub-core/partmap/sun.c;
|
||||||
|
common = grub-core/partmap/dvh.c;
|
||||||
common = grub-core/partmap/sunpc.c;
|
common = grub-core/partmap/sunpc.c;
|
||||||
common = grub-core/partmap/bsdlabel.c;
|
common = grub-core/partmap/bsdlabel.c;
|
||||||
common = grub-core/script/function.c;
|
common = grub-core/script/function.c;
|
||||||
|
@ -98,6 +103,8 @@ library = {
|
||||||
common = grub-core/script/main.c;
|
common = grub-core/script/main.c;
|
||||||
common = grub-core/script/script.c;
|
common = grub-core/script/script.c;
|
||||||
common = grub-core/script/argv.c;
|
common = grub-core/script/argv.c;
|
||||||
|
common = grub-core/io/gzio.c;
|
||||||
|
common = grub-core/kern/ia64/dl_helper.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -122,7 +129,7 @@ program = {
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBLZMA)';
|
ldadd = '$(LIBLZMA)';
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
cppflags = '-DGRUB_PKGLIBROOTDIR=\"$(pkglibrootdir)\"';
|
cppflags = '-DGRUB_PKGLIBROOTDIR=\"$(pkglibrootdir)\"';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -135,7 +142,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -147,7 +154,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -159,7 +166,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -171,7 +178,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
cflags = '$(CFLAGS_GCRY)';
|
cflags = '$(CFLAGS_GCRY)';
|
||||||
cppflags = '$(CPPFLAGS_GCRY)';
|
cppflags = '$(CPPFLAGS_GCRY)';
|
||||||
};
|
};
|
||||||
|
@ -209,7 +216,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -224,7 +231,7 @@ program = {
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(freetype_libs)';
|
ldadd = '$(freetype_libs)';
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
condition = COND_GRUB_MKFONT;
|
condition = COND_GRUB_MKFONT;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -243,7 +250,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -255,7 +262,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -272,7 +279,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
|
|
||||||
enable = i386_pc;
|
enable = i386_pc;
|
||||||
enable = sparc64_ieee1275;
|
enable = sparc64_ieee1275;
|
||||||
|
@ -287,7 +294,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBGEOM)';
|
||||||
|
|
||||||
enable = sparc64_ieee1275;
|
enable = sparc64_ieee1275;
|
||||||
};
|
};
|
||||||
|
@ -301,7 +308,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
|
@ -381,7 +388,8 @@ script = {
|
||||||
x86 = util/grub-mkrescue.in;
|
x86 = util/grub-mkrescue.in;
|
||||||
powerpc_ieee1275 = util/powerpc/ieee1275/grub-mkrescue.in;
|
powerpc_ieee1275 = util/powerpc/ieee1275/grub-mkrescue.in;
|
||||||
enable = i386_pc;
|
enable = i386_pc;
|
||||||
enable = x86_efi;
|
enable = i386_efi;
|
||||||
|
enable = x86_64_efi;
|
||||||
enable = i386_qemu;
|
enable = i386_qemu;
|
||||||
enable = i386_multiboot;
|
enable = i386_multiboot;
|
||||||
enable = i386_coreboot;
|
enable = i386_coreboot;
|
||||||
|
@ -611,7 +619,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -624,5 +632,5 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
};
|
};
|
||||||
|
|
6
NEWS
6
NEWS
|
@ -29,7 +29,7 @@ New in 1.99:
|
||||||
|
|
||||||
* New `lsacpi' command.
|
* New `lsacpi' command.
|
||||||
|
|
||||||
* Basic btrfs support (detection and UUID).
|
* Btrfs support.
|
||||||
|
|
||||||
* New `--boot-directory' option to `grub-install', `grub-reboot', and
|
* New `--boot-directory' option to `grub-install', `grub-reboot', and
|
||||||
`grub-set-default', with clearer semantics than the previous
|
`grub-set-default', with clearer semantics than the previous
|
||||||
|
@ -83,10 +83,6 @@ New in 1.99:
|
||||||
|
|
||||||
* Extensive updates to the Texinfo documentation.
|
* Extensive updates to the Texinfo documentation.
|
||||||
|
|
||||||
* Add `grub-probe' support for the btrfs filesystem, permitting / to
|
|
||||||
reside on btrfs as long as /boot is on a filesystem natively supported
|
|
||||||
by GRUB.
|
|
||||||
|
|
||||||
* Handle symbolic links under /dev/mapper on GNU/Linux.
|
* Handle symbolic links under /dev/mapper on GNU/Linux.
|
||||||
|
|
||||||
* Handle installation across multiple partition table types.
|
* Handle installation across multiple partition table types.
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
export LC_CTYPE=C
|
||||||
|
export LC_COLLATE=C
|
||||||
|
unset LC_ALL
|
||||||
|
|
||||||
autogen --version >/dev/null || exit 1
|
autogen --version >/dev/null || exit 1
|
||||||
|
|
||||||
echo "Importing unicode..."
|
echo "Importing unicode..."
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
CFLAGS_PLATFORM=
|
CFLAGS_PLATFORM=
|
||||||
|
|
||||||
|
export LC_COLLATE := C
|
||||||
|
export LC_CTYPE := C
|
||||||
|
unexport LC_ALL
|
||||||
|
|
||||||
# Platform specific options
|
# Platform specific options
|
||||||
if COND_i386_pc
|
if COND_i386_pc
|
||||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||||
|
@ -21,13 +25,13 @@ endif
|
||||||
if COND_i386_ieee1275
|
if COND_i386_ieee1275
|
||||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||||
endif
|
endif
|
||||||
if COND_mips_yeeloong
|
if COND_mips_loongson
|
||||||
CFLAGS_PLATFORM += -mexplicit-relocs
|
CFLAGS_PLATFORM += -mexplicit-relocs
|
||||||
CPPFLAGS_PLATFORM = -DUSE_ASCII_FAILBACK
|
CPPFLAGS_PLATFORM = -DUSE_ASCII_FAILBACK
|
||||||
CCASFLAGS_PLATFORM = -march=mips3
|
|
||||||
endif
|
endif
|
||||||
if COND_mips
|
if COND_mips
|
||||||
CFLAGS_PLATFORM += -mflush-func=grub_cpu_flush_cache
|
CFLAGS_PLATFORM += -mflush-func=grub_cpu_flush_cache
|
||||||
|
CCASFLAGS_PLATFORM = -march=mips3
|
||||||
endif
|
endif
|
||||||
if COND_sparc64_ieee1275
|
if COND_sparc64_ieee1275
|
||||||
CFLAGS_PLATFORM += -mno-app-regs
|
CFLAGS_PLATFORM += -mno-app-regs
|
||||||
|
|
38
configure.ac
38
configure.ac
|
@ -32,7 +32,7 @@ dnl type, so there is no conflict. Variables with the prefix "TARGET_"
|
||||||
dnl (such as TARGET_CC, TARGET_CFLAGS, etc.) are used for the target
|
dnl (such as TARGET_CC, TARGET_CFLAGS, etc.) are used for the target
|
||||||
dnl type.
|
dnl type.
|
||||||
|
|
||||||
AC_INIT([GRUB],[1.99~beta0],[bug-grub@gnu.org])
|
AC_INIT([GRUB],[1.99],[bug-grub@gnu.org])
|
||||||
|
|
||||||
AC_CONFIG_AUX_DIR([build-aux])
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
|
||||||
|
@ -96,7 +96,8 @@ if test "x$with_platform" = x; then
|
||||||
powerpc-*) platform=ieee1275 ;;
|
powerpc-*) platform=ieee1275 ;;
|
||||||
powerpc64-*) platform=ieee1275 ;;
|
powerpc64-*) platform=ieee1275 ;;
|
||||||
sparc64-*) platform=ieee1275 ;;
|
sparc64-*) platform=ieee1275 ;;
|
||||||
mips-*) platform=yeeloong ;;
|
mips-*) platform=loongson ;;
|
||||||
|
ia64-*) platform=efi ;;
|
||||||
*) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;;
|
*) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
|
@ -122,8 +123,13 @@ case "$target_cpu"-"$platform" in
|
||||||
i386-qemu) ;;
|
i386-qemu) ;;
|
||||||
powerpc-ieee1275) ;;
|
powerpc-ieee1275) ;;
|
||||||
sparc64-ieee1275) ;;
|
sparc64-ieee1275) ;;
|
||||||
|
ia64-efi) ;;
|
||||||
mips-qemu_mips) ;;
|
mips-qemu_mips) ;;
|
||||||
mips-yeeloong) ;;
|
mips-qemu-mips) platform=qemu_mips;;
|
||||||
|
mips-yeeloong) platform=loongson ;;
|
||||||
|
mips-fuloong) platform=loongson ;;
|
||||||
|
mips-loongson) ;;
|
||||||
|
mips-arc) ;;
|
||||||
*-emu) ;;
|
*-emu) ;;
|
||||||
*) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
|
*) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
|
||||||
esac
|
esac
|
||||||
|
@ -156,8 +162,9 @@ case "$platform" in
|
||||||
qemu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_QEMU=1" ;;
|
qemu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_QEMU=1" ;;
|
||||||
pc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_PCBIOS=1" ;;
|
pc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_PCBIOS=1" ;;
|
||||||
emu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_EMU=1" ;;
|
emu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_EMU=1" ;;
|
||||||
yeeloong) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_YEELOONG=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
loongson) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_LOONGSON=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
||||||
qemu_mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_QEMU_MIPS=1" ;;
|
qemu_mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
||||||
|
arc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARC=1" ;;
|
||||||
esac
|
esac
|
||||||
case "$target_cpu" in
|
case "$target_cpu" in
|
||||||
mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;;
|
mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;;
|
||||||
|
@ -219,8 +226,8 @@ for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
if test "x$FONT_SOURCE" = x && ( test "x$platform" = xqemu || test "x$platform" = xyeeloong ); then
|
if test "x$FONT_SOURCE" = x && ( test "x$platform" = xqemu || test "x$platform" = xloongson ); then
|
||||||
AC_MSG_ERROR([qemu and yeeloong ports need unifont])
|
AC_MSG_ERROR([qemu and loongson ports need unifont])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST([FONT_SOURCE])
|
AC_SUBST([FONT_SOURCE])
|
||||||
|
@ -398,7 +405,7 @@ if test "x$grub_cv_cc_fno_dwarf2_cfi_asm" = xyes; then
|
||||||
TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
|
TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "${target_cpu}-${platform}" = mips-yeeloong; then
|
if test "${target_cpu}-${platform}" = mips-loongson; then
|
||||||
AC_CACHE_CHECK([whether -march=loongson2f works], [grub_cv_cc_march_loongson2f], [
|
AC_CACHE_CHECK([whether -march=loongson2f works], [grub_cv_cc_march_loongson2f], [
|
||||||
SAVE_CFLAGS="$CFLAGS"
|
SAVE_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -march=loongson2f"
|
CFLAGS="$CFLAGS -march=loongson2f"
|
||||||
|
@ -590,7 +597,7 @@ CFLAGS="$CFLAGS -Wl,--defsym,abort=main"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for libgcc symbols
|
# Check for libgcc symbols
|
||||||
AC_CHECK_FUNCS(__bswapsi2 __bswapdi2 __ashldi3 __ashrdi3 __lshrdi3 __trampoline_setup __ucmpdi2 _restgpr_14_x)
|
AC_CHECK_FUNCS(__bswapsi2 __bswapdi2 __ashldi3 __ashrdi3 __lshrdi3 __trampoline_setup __ucmpdi2 _restgpr_14_x __ia64_trampoline __udivsi3 __umoddi3 __udivdi3 __divsi3 __modsi3 __umodsi3 __moddi3 __divdi3)
|
||||||
|
|
||||||
if test "x$TARGET_APPLE_CC" = x1 ; then
|
if test "x$TARGET_APPLE_CC" = x1 ; then
|
||||||
CFLAGS="$TARGET_CFLAGS -nostdlib"
|
CFLAGS="$TARGET_CFLAGS -nostdlib"
|
||||||
|
@ -890,6 +897,15 @@ fi
|
||||||
|
|
||||||
AC_SUBST([LIBDEVMAPPER])
|
AC_SUBST([LIBDEVMAPPER])
|
||||||
|
|
||||||
|
LIBGEOM=
|
||||||
|
if test x$host_kernel = xkfreebsd; then
|
||||||
|
AC_CHECK_LIB([geom], [geom_gettree], [],
|
||||||
|
[AC_MSG_ERROR([Your platform requires libgeom])])
|
||||||
|
LIBGEOM="-lgeom"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST([LIBGEOM])
|
||||||
|
|
||||||
AC_CHECK_LIB([lzma], [lzma_code],
|
AC_CHECK_LIB([lzma], [lzma_code],
|
||||||
[LIBLZMA="-llzma"
|
[LIBLZMA="-llzma"
|
||||||
AC_DEFINE([HAVE_LIBLZMA], [1],
|
AC_DEFINE([HAVE_LIBLZMA], [1],
|
||||||
|
@ -936,13 +952,15 @@ AC_SUBST(NEED_REGISTER_FRAME_INFO)
|
||||||
AM_CONDITIONAL([COND_emu], [test x$platform = xemu])
|
AM_CONDITIONAL([COND_emu], [test x$platform = xemu])
|
||||||
AM_CONDITIONAL([COND_i386_pc], [test x$target_cpu = xi386 -a x$platform = xpc])
|
AM_CONDITIONAL([COND_i386_pc], [test x$target_cpu = xi386 -a x$platform = xpc])
|
||||||
AM_CONDITIONAL([COND_i386_efi], [test x$target_cpu = xi386 -a x$platform = xefi])
|
AM_CONDITIONAL([COND_i386_efi], [test x$target_cpu = xi386 -a x$platform = xefi])
|
||||||
|
AM_CONDITIONAL([COND_ia64_efi], [test x$target_cpu = xia64 -a x$platform = xefi])
|
||||||
AM_CONDITIONAL([COND_i386_qemu], [test x$target_cpu = xi386 -a x$platform = xqemu])
|
AM_CONDITIONAL([COND_i386_qemu], [test x$target_cpu = xi386 -a x$platform = xqemu])
|
||||||
AM_CONDITIONAL([COND_i386_ieee1275], [test x$target_cpu = xi386 -a x$platform = xieee1275])
|
AM_CONDITIONAL([COND_i386_ieee1275], [test x$target_cpu = xi386 -a x$platform = xieee1275])
|
||||||
AM_CONDITIONAL([COND_i386_coreboot], [test x$target_cpu = xi386 -a x$platform = xcoreboot])
|
AM_CONDITIONAL([COND_i386_coreboot], [test x$target_cpu = xi386 -a x$platform = xcoreboot])
|
||||||
AM_CONDITIONAL([COND_i386_multiboot], [test x$target_cpu = xi386 -a x$platform = xmultiboot])
|
AM_CONDITIONAL([COND_i386_multiboot], [test x$target_cpu = xi386 -a x$platform = xmultiboot])
|
||||||
AM_CONDITIONAL([COND_x86_64_efi], [test x$target_cpu = xx86_64 -a x$platform = xefi])
|
AM_CONDITIONAL([COND_x86_64_efi], [test x$target_cpu = xx86_64 -a x$platform = xefi])
|
||||||
AM_CONDITIONAL([COND_mips_yeeloong], [test x$target_cpu = xmips -a x$platform = xyeeloong])
|
AM_CONDITIONAL([COND_mips_loongson], [test x$target_cpu = xmips -a x$platform = xloongson])
|
||||||
AM_CONDITIONAL([COND_mips_qemu_mips], [test x$target_cpu = xmips -a x$platform = xqemu_mips])
|
AM_CONDITIONAL([COND_mips_qemu_mips], [test x$target_cpu = xmips -a x$platform = xqemu_mips])
|
||||||
|
AM_CONDITIONAL([COND_mips_arc], [test x$target_cpu = xmips -a x$platform = xarc])
|
||||||
AM_CONDITIONAL([COND_sparc64_ieee1275], [test x$target_cpu = xsparc64 -a x$platform = xieee1275])
|
AM_CONDITIONAL([COND_sparc64_ieee1275], [test x$target_cpu = xsparc64 -a x$platform = xieee1275])
|
||||||
AM_CONDITIONAL([COND_powerpc_ieee1275], [test x$target_cpu = xpowerpc -a x$platform = xieee1275])
|
AM_CONDITIONAL([COND_powerpc_ieee1275], [test x$target_cpu = xpowerpc -a x$platform = xieee1275])
|
||||||
AM_CONDITIONAL([COND_mips], [test x$target_cpu = xmips])
|
AM_CONDITIONAL([COND_mips], [test x$target_cpu = xmips])
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
AUTOMAKE_OPTIONS = subdir-objects
|
AUTOMAKE_OPTIONS = subdir-objects
|
||||||
|
|
||||||
# AM_MAKEINFOFLAGS = --no-split --no-validate
|
# AM_MAKEINFOFLAGS = --no-split --no-validate
|
||||||
info_TEXINFOS = grub.texi
|
info_TEXINFOS = grub.texi grub-dev.texi
|
||||||
grub_TEXINFOS = fdl.texi
|
grub_TEXINFOS = fdl.texi
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
docs/font_char_metrics.png
Normal file
BIN
docs/font_char_metrics.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
1
docs/font_char_metrics.txt
Normal file
1
docs/font_char_metrics.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Please fill this in.
|
1533
docs/grub-dev.texi
Normal file
1533
docs/grub-dev.texi
Normal file
File diff suppressed because it is too large
Load diff
1104
docs/grub.texi
1104
docs/grub.texi
File diff suppressed because it is too large
Load diff
|
@ -1,2 +1,5 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-editenv \- edit GRUB environment block
|
grub-editenv \- edit GRUB environment block
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-reboot (8),
|
||||||
|
.BR grub-set-default (8)
|
||||||
|
|
|
@ -1,2 +1,6 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-emu \- GRUB emulator
|
grub-emu \- GRUB emulator
|
||||||
|
[SEE ALSO]
|
||||||
|
If you are trying to install GRUB, then you should use
|
||||||
|
.BR grub-install (8)
|
||||||
|
rather than this program.
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-fstest \- debug tool for GRUB filesystem drivers
|
grub-fstest \- debug tool for GRUB filesystem drivers
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-probe (8)
|
||||||
|
|
|
@ -1,2 +1,7 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-install \- install GRUB to a device
|
grub-install \- install GRUB to a device
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkconfig (8),
|
||||||
|
.BR grub-mkimage (1),
|
||||||
|
.BR grub-setup (8),
|
||||||
|
.BR grub-mkrescue (1)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-macho2img \- convert Mach-O to raw image
|
grub-macho2img \- convert Mach-O to raw image
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkimage (1)
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-menulst2cfg \- transform legacy menu.lst into grub.cfg
|
grub-menulst2cfg \- transform legacy menu.lst into grub.cfg
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkconfig (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkconfig \- generate a GRUB configuration file
|
grub-mkconfig \- generate a GRUB configuration file
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-install (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkdevicemap \- generate a GRUB device map file automatically
|
grub-mkdevicemap \- generate a GRUB device map file automatically
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-install (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkfont \- make GRUB font files
|
grub-mkfont \- make GRUB font files
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkconfig (8)
|
||||||
|
|
|
@ -1,2 +1,7 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkimage \- make a bootable image of GRUB
|
grub-mkimage \- make a bootable image of GRUB
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-install (8),
|
||||||
|
.BR grub-setup (8),
|
||||||
|
.BR grub-mkrescue (1),
|
||||||
|
.BR grub-mknetdir (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mklayout \- generate a GRUB keyboard layout file
|
grub-mklayout \- generate a GRUB keyboard layout file
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkconfig (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mknetdir \- prepare a GRUB netboot directory.
|
grub-mknetdir \- prepare a GRUB netboot directory.
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkimage (1)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkpasswd-pbkdf2 \- generate hashed password for GRUB
|
grub-mkpasswd-pbkdf2 \- generate hashed password for GRUB
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkconfig (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkrelpath \- make a system path relative to its root
|
grub-mkrelpath \- make a system path relative to its root
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-probe (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-mkrescue \- make a GRUB rescue image
|
grub-mkrescue \- make a GRUB rescue image
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkimage (1)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-ofpathname \- find OpenBOOT path for a device
|
grub-ofpathname \- find OpenBOOT path for a device
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-probe (8)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-pe2elf \- convert PE image to ELF
|
grub-pe2elf \- convert PE image to ELF
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkimage (1)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-probe \- probe device information for GRUB
|
grub-probe \- probe device information for GRUB
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-fstest (1)
|
||||||
|
|
|
@ -1,2 +1,5 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-reboot \- set the default boot entry for GRUB, for the next boot only
|
grub-reboot \- set the default boot entry for GRUB, for the next boot only
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-set-default (8),
|
||||||
|
.BR grub-editenv (1)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-script-check \- check grub.cfg for syntax errors
|
grub-script-check \- check grub.cfg for syntax errors
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-mkconfig (8)
|
||||||
|
|
|
@ -1,2 +1,5 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-set-default \- set the saved default boot entry for GRUB
|
grub-set-default \- set the saved default boot entry for GRUB
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-reboot (8),
|
||||||
|
.BR grub-editenv (1)
|
||||||
|
|
|
@ -1,2 +1,6 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
grub-setup \- set up a device to boot using GRUB
|
grub-setup \- set up a device to boot using GRUB
|
||||||
|
[SEE ALSO]
|
||||||
|
.BR grub-install (8),
|
||||||
|
.BR grub-mkimage (1),
|
||||||
|
.BR grub-mkrescue (1)
|
||||||
|
|
19
gentpl.py
19
gentpl.py
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
GRUB_PLATFORMS = [ "emu", "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot",
|
GRUB_PLATFORMS = [ "emu", "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot",
|
||||||
"i386_multiboot", "i386_ieee1275", "x86_64_efi",
|
"i386_multiboot", "i386_ieee1275", "x86_64_efi",
|
||||||
"mips_yeeloong", "mips_qemu_mips", "sparc64_ieee1275",
|
"mips_loongson", "sparc64_ieee1275",
|
||||||
"powerpc_ieee1275" ]
|
"powerpc_ieee1275", "mips_arc", "ia64_efi",
|
||||||
|
"mips_qemu_mips" ]
|
||||||
|
|
||||||
GROUPS = {}
|
GROUPS = {}
|
||||||
|
|
||||||
|
@ -17,29 +18,29 @@ GROUPS["common"] = GRUB_PLATFORMS[:]
|
||||||
GROUPS["i386"] = [ "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot", "i386_multiboot", "i386_ieee1275" ]
|
GROUPS["i386"] = [ "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot", "i386_multiboot", "i386_ieee1275" ]
|
||||||
GROUPS["x86_64"] = [ "x86_64_efi" ]
|
GROUPS["x86_64"] = [ "x86_64_efi" ]
|
||||||
GROUPS["x86"] = GROUPS["i386"] + GROUPS["x86_64"]
|
GROUPS["x86"] = GROUPS["i386"] + GROUPS["x86_64"]
|
||||||
GROUPS["mips"] = [ "mips_yeeloong", "mips_qemu_mips" ]
|
GROUPS["mips"] = [ "mips_loongson", "mips_qemu_mips", "mips_arc" ]
|
||||||
GROUPS["sparc64"] = [ "sparc64_ieee1275" ]
|
GROUPS["sparc64"] = [ "sparc64_ieee1275" ]
|
||||||
GROUPS["powerpc"] = [ "powerpc_ieee1275" ]
|
GROUPS["powerpc"] = [ "powerpc_ieee1275" ]
|
||||||
|
|
||||||
# Groups based on firmware
|
# Groups based on firmware
|
||||||
GROUPS["x86_efi"] = [ "i386_efi", "x86_64_efi" ]
|
GROUPS["efi"] = [ "i386_efi", "x86_64_efi", "ia64_efi" ]
|
||||||
GROUPS["ieee1275"] = [ "i386_ieee1275", "sparc64_ieee1275", "powerpc_ieee1275" ]
|
GROUPS["ieee1275"] = [ "i386_ieee1275", "sparc64_ieee1275", "powerpc_ieee1275" ]
|
||||||
|
|
||||||
# emu is a special case so many core functionality isn't needed on this platform
|
# emu is a special case so many core functionality isn't needed on this platform
|
||||||
GROUPS["noemu"] = GRUB_PLATFORMS[:]; GROUPS["noemu"].remove("emu")
|
GROUPS["noemu"] = GRUB_PLATFORMS[:]; GROUPS["noemu"].remove("emu")
|
||||||
|
|
||||||
# Groups based on hardware features
|
# Groups based on hardware features
|
||||||
GROUPS["cmos"] = GROUPS["x86"][:] + ["mips_yeeloong", "mips_qemu_mips" ]; GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi")
|
GROUPS["cmos"] = GROUPS["x86"][:] + ["mips_loongson", "mips_qemu_mips"]; GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi")
|
||||||
GROUPS["pci"] = GROUPS["x86"] + ["mips_yeeloong"]
|
GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
|
||||||
GROUPS["usb"] = GROUPS["pci"]
|
GROUPS["usb"] = GROUPS["pci"]
|
||||||
|
|
||||||
# If gfxterm is main output console integrate it into kernel
|
# If gfxterm is main output console integrate it into kernel
|
||||||
GROUPS["videoinkernel"] = ["mips_yeeloong"]
|
GROUPS["videoinkernel"] = ["mips_loongson"]
|
||||||
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
|
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
|
||||||
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
|
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
|
||||||
|
|
||||||
# Similar for terminfo
|
# Similar for terminfo
|
||||||
GROUPS["terminfoinkernel"] = ["mips_yeeloong"] + GROUPS["ieee1275"];
|
GROUPS["terminfoinkernel"] = ["mips_loongson", "mips_arc", "mips_qemu_mips" ] + GROUPS["ieee1275"];
|
||||||
GROUPS["terminfomodule"] = GRUB_PLATFORMS[:];
|
GROUPS["terminfomodule"] = GRUB_PLATFORMS[:];
|
||||||
for i in GROUPS["terminfoinkernel"]: GROUPS["terminfomodule"].remove(i)
|
for i in GROUPS["terminfoinkernel"]: GROUPS["terminfomodule"].remove(i)
|
||||||
|
|
||||||
|
@ -238,7 +239,7 @@ def foreach_enabled_platform(closure):
|
||||||
# noemu = bus/usb/usbhub.c;
|
# noemu = bus/usb/usbhub.c;
|
||||||
# enable = emu;
|
# enable = emu;
|
||||||
# enable = i386;
|
# enable = i386;
|
||||||
# enable = mips_yeeloong;
|
# enable = mips_loongson;
|
||||||
# emu_condition = COND_GRUB_EMU_USB;
|
# emu_condition = COND_GRUB_EMU_USB;
|
||||||
# };
|
# };
|
||||||
#
|
#
|
||||||
|
|
|
@ -125,7 +125,26 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_mips_yeeloong
|
if COND_ia64_efi
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/time.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
if COND_mips
|
||||||
|
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/kernel.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
if COND_mips_arc
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arc/arc.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
if COND_mips_qemu_mips
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
if COND_mips_loongson
|
||||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
|
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
|
||||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
|
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
|
||||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/cache.h
|
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/cache.h
|
||||||
|
|
|
@ -18,8 +18,14 @@ kernel = {
|
||||||
nostrip = emu;
|
nostrip = emu;
|
||||||
|
|
||||||
emu_ldflags = '-Wl,-r,-d';
|
emu_ldflags = '-Wl,-r,-d';
|
||||||
x86_efi_ldflags = '-Wl,-r,-d';
|
i386_efi_ldflags = '-Wl,-r,-d';
|
||||||
x86_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment';
|
i386_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment';
|
||||||
|
x86_64_efi_ldflags = '-Wl,-r,-d';
|
||||||
|
x86_64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment';
|
||||||
|
|
||||||
|
ia64_efi_cflags = '-fno-builtin -fpic -minline-int-divide-max-throughput';
|
||||||
|
ia64_efi_ldflags = '-Wl,-r,-d';
|
||||||
|
ia64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment';
|
||||||
|
|
||||||
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
|
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
|
||||||
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x8200';
|
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x8200';
|
||||||
|
@ -32,11 +38,13 @@ kernel = {
|
||||||
i386_coreboot_ldflags = '-Wl,-Ttext=0x8200';
|
i386_coreboot_ldflags = '-Wl,-Ttext=0x8200';
|
||||||
i386_multiboot_ldflags = '-Wl,-Ttext=0x8200';
|
i386_multiboot_ldflags = '-Wl,-Ttext=0x8200';
|
||||||
i386_ieee1275_ldflags = '-Wl,-Ttext=0x10000';
|
i386_ieee1275_ldflags = '-Wl,-Ttext=0x10000';
|
||||||
mips_yeeloong_ldflags = '-Wl,-Ttext,0x80200000';
|
mips_loongson_ldflags = '-Wl,-Ttext,0x80200000';
|
||||||
powerpc_ieee1275_ldflags = '-Wl,-Ttext,0x200000';
|
powerpc_ieee1275_ldflags = '-Wl,-Ttext,0x200000';
|
||||||
sparc64_ieee1275_ldflags = '-Wl,-Ttext,0x4400';
|
sparc64_ieee1275_ldflags = '-Wl,-Ttext,0x4400';
|
||||||
|
mips_arc_ldflags = '-Wl,-Ttext,0x8a000000';
|
||||||
|
mips_qemu_mips_ldflags = '-Wl,-Ttext,0x80200000';
|
||||||
|
|
||||||
mips_yeeloong_cppflags = '-DUSE_ASCII_FAILBACK';
|
mips_loongson_cppflags = '-DUSE_ASCII_FAILBACK';
|
||||||
i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
|
i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
|
||||||
emu_cflags = '$(CFLAGS_GNULIB)';
|
emu_cflags = '$(CFLAGS_GNULIB)';
|
||||||
emu_cppflags = '$(CPPFLAGS_GNULIB)';
|
emu_cppflags = '$(CPPFLAGS_GNULIB)';
|
||||||
|
@ -77,12 +85,10 @@ kernel = {
|
||||||
noemu_nodist = symlist.c;
|
noemu_nodist = symlist.c;
|
||||||
|
|
||||||
i386_pc = kern/generic/rtc_get_time_ms.c;
|
i386_pc = kern/generic/rtc_get_time_ms.c;
|
||||||
x86_efi = kern/generic/rtc_get_time_ms.c;
|
|
||||||
i386_qemu = kern/generic/rtc_get_time_ms.c;
|
i386_qemu = kern/generic/rtc_get_time_ms.c;
|
||||||
i386_coreboot = kern/generic/rtc_get_time_ms.c;
|
i386_coreboot = kern/generic/rtc_get_time_ms.c;
|
||||||
i386_multiboot = kern/generic/rtc_get_time_ms.c;
|
i386_multiboot = kern/generic/rtc_get_time_ms.c;
|
||||||
mips_yeeloong = kern/generic/rtc_get_time_ms.c;
|
mips = kern/generic/rtc_get_time_ms.c;
|
||||||
mips_qemu_mips = kern/generic/rtc_get_time_ms.c;
|
|
||||||
|
|
||||||
ieee1275 = disk/ieee1275/ofdisk.c;
|
ieee1275 = disk/ieee1275/ofdisk.c;
|
||||||
ieee1275 = kern/ieee1275/cmain.c;
|
ieee1275 = kern/ieee1275/cmain.c;
|
||||||
|
@ -106,18 +112,24 @@ kernel = {
|
||||||
|
|
||||||
x86 = kern/i386/pit.c;
|
x86 = kern/i386/pit.c;
|
||||||
|
|
||||||
x86_efi = disk/efi/efidisk.c;
|
efi = disk/efi/efidisk.c;
|
||||||
x86_efi = kern/efi/efi.c;
|
efi = kern/efi/efi.c;
|
||||||
x86_efi = kern/efi/init.c;
|
efi = kern/efi/init.c;
|
||||||
x86_efi = kern/efi/mm.c;
|
efi = kern/efi/mm.c;
|
||||||
x86_efi = kern/i386/efi/init.c;
|
efi = term/efi/console.c;
|
||||||
x86_efi = term/efi/console.c;
|
|
||||||
|
|
||||||
i386_efi = kern/i386/tsc.c;
|
i386_efi = kern/i386/tsc.c;
|
||||||
|
i386_efi = kern/i386/efi/init.c;
|
||||||
|
|
||||||
x86_64_efi = kern/i386/tsc.c;
|
x86_64_efi = kern/i386/tsc.c;
|
||||||
x86_64_efi = kern/x86_64/dl.c;
|
x86_64_efi = kern/x86_64/dl.c;
|
||||||
x86_64_efi = kern/x86_64/efi/callwrap.S;
|
x86_64_efi = kern/x86_64/efi/callwrap.S;
|
||||||
|
x86_64_efi = kern/i386/efi/init.c;
|
||||||
|
|
||||||
|
ia64_efi = kern/ia64/efi/startup.S;
|
||||||
|
ia64_efi = kern/ia64/efi/init.c;
|
||||||
|
ia64_efi = kern/ia64/dl.c;
|
||||||
|
ia64_efi = kern/ia64/dl_helper.c;
|
||||||
|
|
||||||
i386_pc = kern/i386/pc/init.c;
|
i386_pc = kern/i386/pc/init.c;
|
||||||
i386_pc = kern/i386/pc/mmap.c;
|
i386_pc = kern/i386/pc/mmap.c;
|
||||||
|
@ -137,20 +149,29 @@ kernel = {
|
||||||
|
|
||||||
i386_ieee1275 = kern/ieee1275/init.c;
|
i386_ieee1275 = kern/ieee1275/init.c;
|
||||||
|
|
||||||
mips_yeeloong = term/ns8250.c;
|
|
||||||
mips_yeeloong = bus/bonito.c;
|
|
||||||
mips_yeeloong = bus/cs5536.c;
|
|
||||||
mips_yeeloong = bus/pci.c;
|
|
||||||
mips = kern/mips/cache.S;
|
mips = kern/mips/cache.S;
|
||||||
mips = kern/mips/dl.c;
|
mips = kern/mips/dl.c;
|
||||||
mips = kern/mips/init.c;
|
mips = kern/mips/init.c;
|
||||||
mips_yeeloong = kern/mips/yeeloong/init.c;
|
|
||||||
mips_qemu_mips = kern/mips/qemu-mips/init.c;
|
mips_qemu_mips = kern/mips/qemu_mips/init.c;
|
||||||
mips_yeeloong = term/at_keyboard.c;
|
mips_qemu_mips = term/ns8250.c;
|
||||||
mips_yeeloong = term/serial.c;
|
mips_qemu_mips = term/serial.c;
|
||||||
mips_yeeloong = video/sm712.c;
|
|
||||||
|
mips_arc = kern/mips/arc/init.c;
|
||||||
|
mips_arc = term/arc/console.c;
|
||||||
|
mips_arc = disk/arc/arcdisk.c;
|
||||||
|
|
||||||
|
mips_loongson = term/ns8250.c;
|
||||||
|
mips_loongson = bus/bonito.c;
|
||||||
|
mips_loongson = bus/cs5536.c;
|
||||||
|
mips_loongson = bus/pci.c;
|
||||||
|
mips_loongson = kern/mips/loongson/init.c;
|
||||||
|
mips_loongson = term/at_keyboard.c;
|
||||||
|
mips_loongson = term/serial.c;
|
||||||
|
mips_loongson = video/sm712.c;
|
||||||
|
mips_loongson = video/sis315pro.c;
|
||||||
extra_dist = video/sm712_init.c;
|
extra_dist = video/sm712_init.c;
|
||||||
mips_yeeloong = commands/keylayouts.c;
|
mips_loongson = commands/keylayouts.c;
|
||||||
|
|
||||||
powerpc_ieee1275 = kern/ieee1275/init.c;
|
powerpc_ieee1275 = kern/ieee1275/init.c;
|
||||||
powerpc_ieee1275 = kern/powerpc/cache.S;
|
powerpc_ieee1275 = kern/powerpc/cache.S;
|
||||||
|
@ -164,7 +185,7 @@ kernel = {
|
||||||
emu = disk/host.c;
|
emu = disk/host.c;
|
||||||
emu = gnulib/progname.c;
|
emu = gnulib/progname.c;
|
||||||
emu = gnulib/error.c;
|
emu = gnulib/error.c;
|
||||||
emu = kern/emu/cache.S;
|
emu = kern/emu/cache_s.S;
|
||||||
emu = kern/emu/console.c;
|
emu = kern/emu/console.c;
|
||||||
emu = kern/emu/getroot.c;
|
emu = kern/emu/getroot.c;
|
||||||
emu = kern/emu/hostdisk.c;
|
emu = kern/emu/hostdisk.c;
|
||||||
|
@ -173,6 +194,7 @@ kernel = {
|
||||||
emu = kern/emu/misc.c;
|
emu = kern/emu/misc.c;
|
||||||
emu = kern/emu/mm.c;
|
emu = kern/emu/mm.c;
|
||||||
emu = kern/emu/time.c;
|
emu = kern/emu/time.c;
|
||||||
|
emu = kern/emu/cache.c;
|
||||||
|
|
||||||
videoinkernel = term/gfxterm.c;
|
videoinkernel = term/gfxterm.c;
|
||||||
videoinkernel = font/font.c;
|
videoinkernel = font/font.c;
|
||||||
|
@ -202,7 +224,7 @@ program = {
|
||||||
|
|
||||||
ldadd = 'kernel.img$(EXEEXT)';
|
ldadd = 'kernel.img$(EXEEXT)';
|
||||||
ldadd = '$(MODULE_FILES)';
|
ldadd = '$(MODULE_FILES)';
|
||||||
ldadd = '$(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
|
|
||||||
enable = emu;
|
enable = emu;
|
||||||
};
|
};
|
||||||
|
@ -214,7 +236,7 @@ program = {
|
||||||
emu_nodist = symlist.c;
|
emu_nodist = symlist.c;
|
||||||
|
|
||||||
ldadd = 'kernel.img$(EXEEXT)';
|
ldadd = 'kernel.img$(EXEEXT)';
|
||||||
ldadd = '$(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
ldadd = '$(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||||
|
|
||||||
enable = emu;
|
enable = emu;
|
||||||
};
|
};
|
||||||
|
@ -297,12 +319,12 @@ image = {
|
||||||
common = lib/xzembed/xz_dec_lzma2.c;
|
common = lib/xzembed/xz_dec_lzma2.c;
|
||||||
common = lib/xzembed/xz_dec_stream.c;
|
common = lib/xzembed/xz_dec_stream.c;
|
||||||
|
|
||||||
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
|
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1';
|
||||||
|
|
||||||
mips_cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
|
||||||
|
|
||||||
objcopyflags = '-O binary';
|
objcopyflags = '-O binary';
|
||||||
ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
mips_loongson_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||||
|
mips_qemu_mips_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||||
|
mips_arc_ldflags = '-static-libgcc -Wl,-Ttext,0x89f00000';
|
||||||
ldadd = '-lgcc';
|
ldadd = '-lgcc';
|
||||||
cflags = '-static-libgcc';
|
cflags = '-static-libgcc';
|
||||||
enable = mips;
|
enable = mips;
|
||||||
|
@ -313,10 +335,12 @@ image = {
|
||||||
mips = boot/mips/startup_raw.S;
|
mips = boot/mips/startup_raw.S;
|
||||||
common = boot/decompressor/none.c;
|
common = boot/decompressor/none.c;
|
||||||
|
|
||||||
mips_cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1';
|
||||||
|
|
||||||
objcopyflags = '-O binary';
|
objcopyflags = '-O binary';
|
||||||
ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
mips_loongson_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||||
|
mips_qemu_mips_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||||
|
mips_arc_ldflags = '-static-libgcc -Wl,-Ttext,0x89f00000';
|
||||||
ldadd = '-lgcc';
|
ldadd = '-lgcc';
|
||||||
cflags = '-static-libgcc';
|
cflags = '-static-libgcc';
|
||||||
enable = mips;
|
enable = mips;
|
||||||
|
@ -324,9 +348,18 @@ image = {
|
||||||
|
|
||||||
image = {
|
image = {
|
||||||
name = fwstart;
|
name = fwstart;
|
||||||
mips_yeeloong = boot/mips/yeeloong/fwstart.S;
|
mips_loongson = boot/mips/loongson/fwstart.S;
|
||||||
objcopyflags = '-O binary';
|
objcopyflags = '-O binary';
|
||||||
enable = mips_yeeloong;
|
ldflags = '-static-libgcc -lgcc -Wl,-N,-S,-Ttext,0xbfc00000,-Bstatic';
|
||||||
|
enable = mips_loongson;
|
||||||
|
};
|
||||||
|
|
||||||
|
image = {
|
||||||
|
name = fwstart_fuloong;
|
||||||
|
mips_loongson = boot/mips/loongson/fuloong.S;
|
||||||
|
objcopyflags = '-O binary';
|
||||||
|
ldflags = '-static-libgcc -lgcc -Wl,-N,-S,-Ttext,0xbfc00000,-Bstatic';
|
||||||
|
enable = mips_loongson;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -350,8 +383,8 @@ module = {
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = lsspd;
|
name = lsspd;
|
||||||
mips_yeeloong = commands/mips/yeeloong/lsspd.c;
|
mips_loongson = commands/mips/loongson/lsspd.c;
|
||||||
enable = mips_yeeloong;
|
enable = mips_loongson;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -402,13 +435,21 @@ module = {
|
||||||
|
|
||||||
enable = emu;
|
enable = emu;
|
||||||
enable = i386_pc;
|
enable = i386_pc;
|
||||||
enable = x86_efi;
|
enable = i386_efi;
|
||||||
|
enable = x86_64_efi;
|
||||||
enable = i386_ieee1275;
|
enable = i386_ieee1275;
|
||||||
enable = i386_coreboot;
|
enable = i386_coreboot;
|
||||||
enable = i386_multiboot;
|
enable = i386_multiboot;
|
||||||
emu_condition = COND_GRUB_EMU_PCI;
|
emu_condition = COND_GRUB_EMU_PCI;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
name = lsdev;
|
||||||
|
common = commands/arc/lsdev.c;
|
||||||
|
|
||||||
|
enable = mips_arc;
|
||||||
|
};
|
||||||
|
|
||||||
library = {
|
library = {
|
||||||
name = libgnulib.a;
|
name = libgnulib.a;
|
||||||
common = gnulib/regex.c;
|
common = gnulib/regex.c;
|
||||||
|
@ -441,12 +482,12 @@ module = {
|
||||||
name = acpi;
|
name = acpi;
|
||||||
|
|
||||||
common = commands/acpi.c;
|
common = commands/acpi.c;
|
||||||
x86_efi = commands/efi/acpi.c;
|
efi = commands/efi/acpi.c;
|
||||||
i386_pc = commands/i386/pc/acpi.c;
|
i386_pc = commands/i386/pc/acpi.c;
|
||||||
i386_coreboot = commands/i386/pc/acpi.c;
|
i386_coreboot = commands/i386/pc/acpi.c;
|
||||||
i386_multiboot = commands/i386/pc/acpi.c;
|
i386_multiboot = commands/i386/pc/acpi.c;
|
||||||
|
|
||||||
enable = x86_efi;
|
enable = efi;
|
||||||
enable = i386_pc;
|
enable = i386_pc;
|
||||||
enable = i386_coreboot;
|
enable = i386_coreboot;
|
||||||
enable = i386_multiboot;
|
enable = i386_multiboot;
|
||||||
|
@ -547,8 +588,9 @@ module = {
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = fixvideo;
|
name = fixvideo;
|
||||||
x86_efi = commands/efi/fixvideo.c;
|
common = commands/efi/fixvideo.c;
|
||||||
enable = x86_efi;
|
enable = i386_efi;
|
||||||
|
enable = x86_64_efi;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -563,11 +605,12 @@ module = {
|
||||||
i386_pc = commands/acpihalt.c;
|
i386_pc = commands/acpihalt.c;
|
||||||
i386_coreboot = commands/acpihalt.c;
|
i386_coreboot = commands/acpihalt.c;
|
||||||
i386_multiboot = commands/acpihalt.c;
|
i386_multiboot = commands/acpihalt.c;
|
||||||
x86_efi = commands/acpihalt.c;
|
i386_efi = commands/acpihalt.c;
|
||||||
|
x86_64_efi = commands/acpihalt.c;
|
||||||
i386_multiboot = lib/i386/halt.c;
|
i386_multiboot = lib/i386/halt.c;
|
||||||
i386_coreboot = lib/i386/halt.c;
|
i386_coreboot = lib/i386/halt.c;
|
||||||
i386_qemu = lib/i386/halt.c;
|
i386_qemu = lib/i386/halt.c;
|
||||||
x86_efi = lib/efi/halt.c;
|
efi = lib/efi/halt.c;
|
||||||
ieee1275 = lib/ieee1275/halt.c;
|
ieee1275 = lib/ieee1275/halt.c;
|
||||||
emu = lib/emu/halt.c;
|
emu = lib/emu/halt.c;
|
||||||
};
|
};
|
||||||
|
@ -602,8 +645,9 @@ module = {
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = loadbios;
|
name = loadbios;
|
||||||
x86_efi = commands/efi/loadbios.c;
|
common = commands/efi/loadbios.c;
|
||||||
enable = x86_efi;
|
enable = i386_efi;
|
||||||
|
enable = x86_64_efi;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -907,6 +951,7 @@ module = {
|
||||||
module = {
|
module = {
|
||||||
name = btrfs;
|
name = btrfs;
|
||||||
common = fs/btrfs.c;
|
common = fs/btrfs.c;
|
||||||
|
common = lib/crc.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -959,6 +1004,11 @@ module = {
|
||||||
common = fs/minix2.c;
|
common = fs/minix2.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
name = minix3;
|
||||||
|
common = fs/minix3.c;
|
||||||
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = nilfs2;
|
name = nilfs2;
|
||||||
common = fs/nilfs2.c;
|
common = fs/nilfs2.c;
|
||||||
|
@ -979,11 +1029,21 @@ module = {
|
||||||
common = fs/reiserfs.c;
|
common = fs/reiserfs.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
name = romfs;
|
||||||
|
common = fs/romfs.c;
|
||||||
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = sfs;
|
name = sfs;
|
||||||
common = fs/sfs.c;
|
common = fs/sfs.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
name = squash4;
|
||||||
|
common = fs/squash4.c;
|
||||||
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = tar;
|
name = tar;
|
||||||
common = fs/tar.c;
|
common = fs/tar.c;
|
||||||
|
@ -1097,7 +1157,7 @@ module = {
|
||||||
x86_64 = lib/x86_64/relocator_asm.S;
|
x86_64 = lib/x86_64/relocator_asm.S;
|
||||||
x86 = lib/i386/relocator.c;
|
x86 = lib/i386/relocator.c;
|
||||||
ieee1275 = lib/ieee1275/relocator.c;
|
ieee1275 = lib/ieee1275/relocator.c;
|
||||||
x86_efi = lib/efi/relocator.c;
|
efi = lib/efi/relocator.c;
|
||||||
mips = lib/mips/relocator_asm.S;
|
mips = lib/mips/relocator_asm.S;
|
||||||
mips = lib/mips/relocator.c;
|
mips = lib/mips/relocator.c;
|
||||||
powerpc = lib/powerpc/relocator_asm.S;
|
powerpc = lib/powerpc/relocator_asm.S;
|
||||||
|
@ -1114,9 +1174,10 @@ module = {
|
||||||
module = {
|
module = {
|
||||||
name = datetime;
|
name = datetime;
|
||||||
cmos = lib/cmos_datetime.c;
|
cmos = lib/cmos_datetime.c;
|
||||||
x86_efi = lib/efi/datetime.c;
|
efi = lib/efi/datetime.c;
|
||||||
sparc64_ieee1275 = lib/ieee1275/datetime.c;
|
sparc64_ieee1275 = lib/ieee1275/datetime.c;
|
||||||
powerpc_ieee1275 = lib/ieee1275/datetime.c;
|
powerpc_ieee1275 = lib/ieee1275/datetime.c;
|
||||||
|
mips_arc = lib/arc/datetime.c;
|
||||||
enable = noemu;
|
enable = noemu;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1186,6 +1247,7 @@ module = {
|
||||||
mips = loader/mips/linux.c;
|
mips = loader/mips/linux.c;
|
||||||
powerpc_ieee1275 = loader/powerpc/ieee1275/linux.c;
|
powerpc_ieee1275 = loader/powerpc/ieee1275/linux.c;
|
||||||
sparc64_ieee1275 = loader/sparc64/ieee1275/linux.c;
|
sparc64_ieee1275 = loader/sparc64/ieee1275/linux.c;
|
||||||
|
ia64_efi = loader/ia64/efi/linux.c;
|
||||||
common = lib/cmdline.c;
|
common = lib/cmdline.c;
|
||||||
enable = noemu;
|
enable = noemu;
|
||||||
};
|
};
|
||||||
|
@ -1205,16 +1267,17 @@ module = {
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = appleldr;
|
name = appleldr;
|
||||||
x86_efi = loader/efi/appleloader.c;
|
common = loader/efi/appleloader.c;
|
||||||
enable = x86_efi;
|
enable = i386_efi;
|
||||||
|
enable = x86_64_efi;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = chain;
|
name = chain;
|
||||||
x86_efi = loader/efi/chainloader.c;
|
efi = loader/efi/chainloader.c;
|
||||||
i386_pc = loader/i386/pc/chainloader.c;
|
i386_pc = loader/i386/pc/chainloader.c;
|
||||||
enable = i386_pc;
|
enable = i386_pc;
|
||||||
enable = x86_efi;
|
enable = efi;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
@ -1226,11 +1289,12 @@ module = {
|
||||||
i386_pc = mmap/i386/pc/mmap.c;
|
i386_pc = mmap/i386/pc/mmap.c;
|
||||||
i386_pc = mmap/i386/pc/mmap_helper.S;
|
i386_pc = mmap/i386/pc/mmap_helper.S;
|
||||||
|
|
||||||
x86_efi = mmap/efi/mmap.c;
|
efi = mmap/efi/mmap.c;
|
||||||
|
|
||||||
mips_yeeloong = mmap/mips/yeeloong/uppermem.c;
|
mips = mmap/mips/uppermem.c;
|
||||||
|
|
||||||
enable = x86;
|
enable = x86;
|
||||||
|
enable = ia64_efi;
|
||||||
enable = mips;
|
enable = mips;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1305,6 +1369,11 @@ module = {
|
||||||
common = partmap/sun.c;
|
common = partmap/sun.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
name = part_dvh;
|
||||||
|
common = partmap/dvh.c;
|
||||||
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = part_bsd;
|
name = part_bsd;
|
||||||
common = partmap/bsdlabel.c;
|
common = partmap/bsdlabel.c;
|
||||||
|
@ -1415,14 +1484,15 @@ module = {
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = efi_gop;
|
name = efi_gop;
|
||||||
x86_efi = video/efi_gop.c;
|
efi = video/efi_gop.c;
|
||||||
enable = x86_efi;
|
enable = efi;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = efi_uga;
|
name = efi_uga;
|
||||||
x86_efi = video/efi_uga.c;
|
efi = video/efi_uga.c;
|
||||||
enable = x86_efi;
|
enable = i386_efi;
|
||||||
|
enable = x86_64_efi;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
|
|
@ -178,8 +178,13 @@ real_code_2:
|
||||||
pushw %es
|
pushw %es
|
||||||
popw %ds
|
popw %ds
|
||||||
|
|
||||||
|
#if GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4 < 0x200
|
||||||
movl $0x200, %ecx
|
movl $0x200, %ecx
|
||||||
addl %ecx, %esi
|
addl %ecx, %esi
|
||||||
|
#else
|
||||||
|
movl $(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4), %ecx
|
||||||
|
addl $0x200, %esi
|
||||||
|
#endif
|
||||||
movl $DATA_ADDR, %edi
|
movl $DATA_ADDR, %edi
|
||||||
|
|
||||||
call LOCAL(move_memory)
|
call LOCAL(move_memory)
|
||||||
|
@ -196,7 +201,11 @@ real_code_2:
|
||||||
1:
|
1:
|
||||||
|
|
||||||
movl %ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_COMPRESSED_SIZE), %ecx
|
movl %ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_COMPRESSED_SIZE), %ecx
|
||||||
|
#if GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4 < 0x200
|
||||||
addl $(GRUB_KERNEL_MACHINE_RAW_SIZE - 0x200), %ecx
|
addl $(GRUB_KERNEL_MACHINE_RAW_SIZE - 0x200), %ecx
|
||||||
|
#else
|
||||||
|
addl $(GRUB_KERNEL_MACHINE_RAW_SIZE - (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4)), %ecx
|
||||||
|
#endif
|
||||||
|
|
||||||
2:
|
2:
|
||||||
call LOCAL(move_memory)
|
call LOCAL(move_memory)
|
||||||
|
|
2
grub-core/boot/mips/loongson/fuloong.S
Normal file
2
grub-core/boot/mips/loongson/fuloong.S
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#define FULOONG 1
|
||||||
|
#include "fwstart.S"
|
|
@ -16,51 +16,73 @@
|
||||||
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <grub/mips/yeeloong/serial.h>
|
#include <grub/mips/loongson/serial.h>
|
||||||
#include <grub/mips/yeeloong/pci.h>
|
#include <grub/mips/loongson/pci.h>
|
||||||
#include <grub/mips/loongson.h>
|
#include <grub/mips/loongson.h>
|
||||||
#include <grub/pci.h>
|
#include <grub/pci.h>
|
||||||
#include <grub/machine/serial.h>
|
#include <grub/machine/serial.h>
|
||||||
|
#include <grub/machine/kernel.h>
|
||||||
#include <grub/ns8250.h>
|
#include <grub/ns8250.h>
|
||||||
#include <grub/cs5536.h>
|
#include <grub/cs5536.h>
|
||||||
#include <grub/smbus.h>
|
#include <grub/smbus.h>
|
||||||
|
|
||||||
|
#ifdef FULOONG
|
||||||
|
#define GRUB_MACHINE_SERIAL_PORT GRUB_MACHINE_SERIAL_PORT2
|
||||||
|
#define GRUB_MACHINE_SERIAL_DIVISOR_115200 GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200
|
||||||
|
#else
|
||||||
|
#define GRUB_MACHINE_SERIAL_PORT GRUB_MACHINE_SERIAL_PORT0
|
||||||
|
#define GRUB_MACHINE_SERIAL_DIVISOR_115200 GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200
|
||||||
|
#endif
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
.set nomacro
|
.set nomacro
|
||||||
|
.set mips3
|
||||||
|
|
||||||
.global start,_start,__start
|
.global start,_start,__start
|
||||||
start:
|
start:
|
||||||
_start:
|
_start:
|
||||||
__start:
|
__start:
|
||||||
|
/* Put serial init as soon as possible. But on Fuloong serial is past
|
||||||
|
Geode, so on Fuloong we need Geode first.
|
||||||
|
*/
|
||||||
|
#ifndef FULOONG
|
||||||
bal serial_hw_init
|
bal serial_hw_init
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Find CS5536 controller. */
|
/* Find CS5536 controller. */
|
||||||
/* $t4 chooses device in priority encoding. */
|
/* $t4 chooses device in priority encoding. */
|
||||||
/* Resulting value is kept in GRUB_MACHINE_PCI_CONF_CTRL_REG.
|
/* Resulting value is kept in GRUB_MACHINE_PCI_CONF_CTRL_REG.
|
||||||
This way we don't need to sacrifice a register for it. */
|
This way we don't need to sacrifice a register for it. */
|
||||||
|
retry_cs5536:
|
||||||
/* We have only one bus (0). Function is 0. */
|
/* We have only one bus (0). Function is 0. */
|
||||||
lui $t0, %hi(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR)
|
lui $t0, %hi(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR)
|
||||||
lui $t1, %hi(GRUB_MACHINE_PCI_CONFSPACE)
|
lui $t1, %hi(GRUB_MACHINE_PCI_CONFSPACE)
|
||||||
lui $t3, %hi(GRUB_CS5536_PCIID)
|
lui $t3, %hi(GRUB_CS5536_PCIID)
|
||||||
addiu $t3, $t3, %lo(GRUB_CS5536_PCIID)
|
addiu $t3, $t3, %lo(GRUB_CS5536_PCIID)
|
||||||
ori $t4, $zero, 1
|
ori $t4, $zero, 1
|
||||||
lui $a0, %hi(no_cs5536)
|
|
||||||
1:
|
1:
|
||||||
andi $t4, $t4, ((1 << GRUB_PCI_NUM_DEVICES) - 1)
|
andi $t4, $t4, ((1 << GRUB_PCI_NUM_DEVICES) - 1)
|
||||||
beql $t4, $zero, fatal
|
/* In case of failure try again. CS5536 may be slow to come up. */
|
||||||
addiu $a0, $a0, %lo(no_cs5536)
|
beql $t4, $zero, retry_cs5536
|
||||||
|
nop
|
||||||
sw $t4, %lo(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR) ($t0)
|
sw $t4, %lo(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR) ($t0)
|
||||||
lw $t2, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_PCI_REG_PCI_ID) ($t1)
|
lw $t2, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_PCI_REG_PCI_ID) ($t1)
|
||||||
bnel $t2, $t3, 1b
|
bnel $t2, $t3, 1b
|
||||||
sll $t4, $t4, 1
|
sll $t4, $t4, 1
|
||||||
|
|
||||||
|
#ifndef FULOONG
|
||||||
bal message
|
bal message
|
||||||
addiu $a0, $a0, %lo(cs5536_found)
|
addiu $a0, $a0, %lo(cs5536_found)
|
||||||
bal printhex
|
bal printhex
|
||||||
move $a0, $t4
|
move $a0, $t4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
lui $t0, %hi(GRUB_MACHINE_PCI_CONFSPACE)
|
||||||
|
li $t1, GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED
|
||||||
|
sw $t1, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_CS5536_MSR_MAILBOX_CONFIG) ($t0)
|
||||||
|
|
||||||
/* Initialise SMBus controller. */
|
|
||||||
/* Set GPIO LBAR. */
|
/* Set GPIO LBAR. */
|
||||||
lui $a0, %hi(GRUB_CS5536_MSR_GPIO_BAR)
|
lui $a0, %hi(GRUB_CS5536_MSR_GPIO_BAR)
|
||||||
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_GPIO_BAR)
|
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_GPIO_BAR)
|
||||||
|
@ -70,6 +92,15 @@ __start:
|
||||||
ori $a2, $zero, ((GRUB_CS5536_LBAR_MASK_MASK \
|
ori $a2, $zero, ((GRUB_CS5536_LBAR_MASK_MASK \
|
||||||
| GRUB_CS5536_LBAR_ENABLE) >> 32)
|
| GRUB_CS5536_LBAR_ENABLE) >> 32)
|
||||||
|
|
||||||
|
bal gpio_init
|
||||||
|
nop
|
||||||
|
|
||||||
|
#ifdef FULOONG
|
||||||
|
bal serial_hw_init
|
||||||
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Initialise SMBus controller. */
|
||||||
/* Set SMBUS LBAR. */
|
/* Set SMBUS LBAR. */
|
||||||
lui $a0, %hi(GRUB_CS5536_MSR_SMB_BAR)
|
lui $a0, %hi(GRUB_CS5536_MSR_SMB_BAR)
|
||||||
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_SMB_BAR)
|
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_SMB_BAR)
|
||||||
|
@ -83,14 +114,6 @@ __start:
|
||||||
bal message
|
bal message
|
||||||
addiu $a0, $a0, %lo(smbus_enabled)
|
addiu $a0, $a0, %lo(smbus_enabled)
|
||||||
|
|
||||||
/* Enable SMBus controller pins. */
|
|
||||||
lui $t0, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO)
|
|
||||||
ori $t1, $zero, GRUB_GPIO_SMBUS_PINS
|
|
||||||
sw $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO + GRUB_GPIO_REG_OUT_EN) ($t0)
|
|
||||||
sw $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO + GRUB_GPIO_REG_OUT_AUX1) ($t0)
|
|
||||||
sw $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO + GRUB_GPIO_REG_IN_EN) ($t0)
|
|
||||||
sw $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO + GRUB_GPIO_REG_IN_AUX1) ($t0)
|
|
||||||
|
|
||||||
lui $t0, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_SMBUS)
|
lui $t0, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_SMBUS)
|
||||||
|
|
||||||
/* Disable SMB. */
|
/* Disable SMB. */
|
||||||
|
@ -107,7 +130,7 @@ __start:
|
||||||
sb $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_SMBUS + GRUB_CS5536_SMB_REG_CTRL3) ($t0)
|
sb $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_SMBUS + GRUB_CS5536_SMB_REG_CTRL3) ($t0)
|
||||||
sb $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_SMBUS + GRUB_CS5536_SMB_REG_CTRL2) ($t0)
|
sb $t1, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_SMBUS + GRUB_CS5536_SMB_REG_CTRL2) ($t0)
|
||||||
|
|
||||||
/* Yeeloong has only one memory slot. */
|
/* Yeeloong and Fuloong have only one memory slot. */
|
||||||
/* Output first byte on serial for debugging. */
|
/* Output first byte on serial for debugging. */
|
||||||
ori $a1, $zero, GRUB_SMB_RAM_START_ADDR
|
ori $a1, $zero, GRUB_SMB_RAM_START_ADDR
|
||||||
bal read_spd
|
bal read_spd
|
||||||
|
@ -120,7 +143,7 @@ __start:
|
||||||
ori $t0, $zero, GRUB_SMBUS_SPD_MEMORY_TYPE_DDR2
|
ori $t0, $zero, GRUB_SMBUS_SPD_MEMORY_TYPE_DDR2
|
||||||
lui $a0, %hi(unimplemented_memory_type)
|
lui $a0, %hi(unimplemented_memory_type)
|
||||||
bne $t0, $v0, fatal
|
bne $t0, $v0, fatal
|
||||||
addiu $a0, $a0, %hi(unimplemented_memory_type)
|
addiu $a0, $a0, %lo(unimplemented_memory_type)
|
||||||
|
|
||||||
/* And here is our goal: DDR2 controller initialisation. */
|
/* And here is our goal: DDR2 controller initialisation. */
|
||||||
lui $t0, %hi(GRUB_CPU_LOONGSON_CORECFG)
|
lui $t0, %hi(GRUB_CPU_LOONGSON_CORECFG)
|
||||||
|
@ -206,10 +229,54 @@ other_exception:
|
||||||
b fatal
|
b fatal
|
||||||
addiu $a0, $a0, %lo(unhandled_exception)
|
addiu $a0, $a0, %lo(unhandled_exception)
|
||||||
|
|
||||||
|
gpio_init:
|
||||||
|
lui $t0, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO)
|
||||||
|
addiu $t0, $t0, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO)
|
||||||
|
lui $t1, %hi (gpio_dump)
|
||||||
|
addiu $t1, $t1, %lo (gpio_dump)
|
||||||
|
|
||||||
|
1:
|
||||||
|
lw $t2, 0($t1)
|
||||||
|
sw $t2, 0($t0)
|
||||||
|
addiu $t0, $t0, 4
|
||||||
|
addiu $t1, $t1, 4
|
||||||
|
lui $t2, %hi (gpio_dump_end)
|
||||||
|
addiu $t2, $t2, %lo (gpio_dump_end)
|
||||||
|
bne $t1, $t2, 1b
|
||||||
|
nop
|
||||||
|
jr $ra
|
||||||
|
nop
|
||||||
|
|
||||||
/* Same as similarly named C function but in asm since
|
/* Same as similarly named C function but in asm since
|
||||||
we need it early. */
|
we need it early. */
|
||||||
/* In: none. Out: none. Clobbered: $t0, $t1, $a0. */
|
/* In: none. Out: none. Clobbered: $t0, $t1, $t2, $a0, $a1, $a2. */
|
||||||
serial_hw_init:
|
serial_hw_init:
|
||||||
|
move $t2, $ra
|
||||||
|
#ifdef FULOONG
|
||||||
|
lui $a0, %hi(GRUB_CS5536_MSR_DIVIL_LEG_IO)
|
||||||
|
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_DIVIL_LEG_IO)
|
||||||
|
lui $a1, %hi (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3 \
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_F_REMAP \
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_MODE_X86 \
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1)
|
||||||
|
ori $a1, $a1, (GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE0 \
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE1)
|
||||||
|
bal wrmsr
|
||||||
|
move $a2, $zero
|
||||||
|
|
||||||
|
lui $a0, %hi(GRUB_CS5536_MSR_DIVIL_UART1_CONF)
|
||||||
|
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_DIVIL_UART1_CONF)
|
||||||
|
li $a1, 2
|
||||||
|
bal wrmsr
|
||||||
|
move $a2, $zero
|
||||||
|
|
||||||
|
lui $a0, %hi(GRUB_CS5536_MSR_DIVIL_UART2_CONF)
|
||||||
|
addiu $a0, $a0, %lo(GRUB_CS5536_MSR_DIVIL_UART2_CONF)
|
||||||
|
li $a1, 2
|
||||||
|
bal wrmsr
|
||||||
|
move $a2, $zero
|
||||||
|
#endif
|
||||||
|
|
||||||
lui $t0, %hi (GRUB_MACHINE_SERIAL_PORT)
|
lui $t0, %hi (GRUB_MACHINE_SERIAL_PORT)
|
||||||
|
|
||||||
/* Turn off the interrupt. */
|
/* Turn off the interrupt. */
|
||||||
|
@ -239,6 +306,7 @@ serial_hw_init:
|
||||||
/* Let message return to original caller. */
|
/* Let message return to original caller. */
|
||||||
lui $a0, %hi(notification_string)
|
lui $a0, %hi(notification_string)
|
||||||
addiu $a0, $a0, %lo(notification_string)
|
addiu $a0, $a0, %lo(notification_string)
|
||||||
|
move $ra, $t2
|
||||||
|
|
||||||
/* Print message on serial console. */
|
/* Print message on serial console. */
|
||||||
/* In: $a0 = asciiz message. Out: none. Clobbered: $t0, $t1, $a0. */
|
/* In: $a0 = asciiz message. Out: none. Clobbered: $t0, $t1, $a0. */
|
||||||
|
@ -379,7 +447,6 @@ read_spd_fail:
|
||||||
ori $v0, $v0, 0x100
|
ori $v0, $v0, 0x100
|
||||||
|
|
||||||
notification_string: .asciz "GRUB "
|
notification_string: .asciz "GRUB "
|
||||||
no_cs5536: .asciz "No CS5536 found.\n\r"
|
|
||||||
cs5536_found: .asciz "CS5536 at "
|
cs5536_found: .asciz "CS5536 at "
|
||||||
sm_failed: .asciz "SM transaction failed.\n\r"
|
sm_failed: .asciz "SM transaction failed.\n\r"
|
||||||
unhandled_tlb_refill: .asciz "Unhandled TLB refill.\n\r"
|
unhandled_tlb_refill: .asciz "Unhandled TLB refill.\n\r"
|
||||||
|
@ -404,14 +471,22 @@ regdump:
|
||||||
.quad 0x0100020200010101 /* 4 */
|
.quad 0x0100020200010101 /* 4 */
|
||||||
.quad 0x0a04030603050203 /* 6 */
|
.quad 0x0a04030603050203 /* 6 */
|
||||||
.quad 0x0f0e040000010a0b /* 7 */
|
.quad 0x0f0e040000010a0b /* 7 */
|
||||||
|
#ifdef FULOONG
|
||||||
|
.quad 0x0000000100000001 /* 8 */
|
||||||
|
#else
|
||||||
.quad 0x0000010200000102 /* 8 */
|
.quad 0x0000010200000102 /* 8 */
|
||||||
|
#endif
|
||||||
.quad 0x0000060c00000000 /* 9 */
|
.quad 0x0000060c00000000 /* 9 */
|
||||||
.quad 0x2323233f3f1f0200 /* a */
|
.quad 0x2323233f3f1f0200 /* a */
|
||||||
.quad 0x5f7f232323232323 /* b */
|
.quad 0x5f7f232323232323 /* b */
|
||||||
.quad 0x002a3c0615000000 /* c */
|
.quad 0x002a3c0615000000 /* c */
|
||||||
.quad 0x002a002a002a002a /* d */
|
.quad 0x002a002a002a002a /* d */
|
||||||
.quad 0x002a002a002a002a /* e */
|
.quad 0x002a002a002a002a /* e */
|
||||||
|
#ifdef FULOONG
|
||||||
|
.quad 0x00b40020005b0004 /* f */
|
||||||
|
#else
|
||||||
.quad 0x00b40020006d0004 /* f */
|
.quad 0x00b40020006d0004 /* f */
|
||||||
|
#endif
|
||||||
.quad 0x070007ff00000087 /* 10 */
|
.quad 0x070007ff00000087 /* 10 */
|
||||||
.quad 0x000000000016101f /* 11 */
|
.quad 0x000000000016101f /* 11 */
|
||||||
.quad 0x001c000000000000 /* 12 */
|
.quad 0x001c000000000000 /* 12 */
|
||||||
|
@ -426,6 +501,45 @@ regdump:
|
||||||
.quad 0 /* 1b */
|
.quad 0 /* 1b */
|
||||||
.quad 0 /* 1c */
|
.quad 0 /* 1c */
|
||||||
|
|
||||||
|
/* Dump of GPIO connections. FIXME: Remove useless and macroify. */
|
||||||
|
gpio_dump:
|
||||||
|
#ifdef FULOONG
|
||||||
|
.long 0xffff0000, 0x2eefd110, 0xffff0000, 0xffff0000
|
||||||
|
.long 0x2eefd110, 0xffff0000, 0x1000efff, 0xefff1000
|
||||||
|
.long 0x3df3c20c, 0xffff0000, 0xffff0000, 0xffff0000
|
||||||
|
.long 0x7df3820c, 0x3df3c20c, 0xffff0000, 0x00000000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0x3de3c21c, 0x3d83c27c
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0x0000ffff, 0xffff0000
|
||||||
|
.long 0xefff1000, 0xffff0000, 0xffff0000, 0xffff0000
|
||||||
|
.long 0xefff1000, 0xefff1000, 0xffff0000, 0x00000000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0xefff1000, 0xefff1000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
#else
|
||||||
|
.long 0xffff0000, 0x2ffdd002, 0xffff0000, 0xffff0000
|
||||||
|
.long 0x2fffd000, 0xffff0000, 0x1000efff, 0xefff1000
|
||||||
|
.long 0x3ffbc004, 0xffff0000, 0xffff0000, 0xffff0000
|
||||||
|
.long 0x3ffbc004, 0x3ffbc004, 0xffff0000, 0x00000000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0x3ffbc004, 0x3f9bc064
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0x0000ffff, 0xffff0000
|
||||||
|
.long 0xefff1000, 0xffff0000, 0xffff0000, 0xffff0000
|
||||||
|
.long 0xefff1000, 0xefff1000, 0xffff0000, 0x00000000
|
||||||
|
.long 0xffff0000, 0xffff0000, 0xefff1000, 0xffff0000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||||
|
.long 0x00000000, 0x50000000, 0x00000000, 0x00000000
|
||||||
|
#endif
|
||||||
|
gpio_dump_end:
|
||||||
|
|
||||||
.p2align
|
.p2align
|
||||||
|
|
||||||
write_dumpreg:
|
write_dumpreg:
|
||||||
|
@ -626,6 +740,10 @@ continue:
|
||||||
lui $t0, %hi(cached_continue - 0x20000000)
|
lui $t0, %hi(cached_continue - 0x20000000)
|
||||||
addiu $t0, $t0, %lo(cached_continue - 0x20000000)
|
addiu $t0, $t0, %lo(cached_continue - 0x20000000)
|
||||||
jr $t0
|
jr $t0
|
||||||
addiu $a2, $zero, -1
|
#ifdef FULOONG
|
||||||
|
addiu $a2, $zero, -(1 + GRUB_ARCH_MACHINE_FULOONG)
|
||||||
|
#else
|
||||||
|
addiu $a2, $zero, -(1 + GRUB_ARCH_MACHINE_YEELOONG)
|
||||||
|
#endif
|
||||||
|
|
||||||
cached_continue:
|
cached_continue:
|
|
@ -20,6 +20,7 @@
|
||||||
#include <grub/symbol.h>
|
#include <grub/symbol.h>
|
||||||
#include <grub/offsets.h>
|
#include <grub/offsets.h>
|
||||||
#include <grub/machine/memory.h>
|
#include <grub/machine/memory.h>
|
||||||
|
#include <grub/machine/kernel.h>
|
||||||
#include <grub/offsets.h>
|
#include <grub/offsets.h>
|
||||||
|
|
||||||
#define BASE_ADDR 8
|
#define BASE_ADDR 8
|
||||||
|
@ -49,15 +50,17 @@ codestart:
|
||||||
|
|
||||||
/* Parse arguments. Has to be done before relocation.
|
/* Parse arguments. Has to be done before relocation.
|
||||||
So need to do it in asm. */
|
So need to do it in asm. */
|
||||||
#ifdef GRUB_MACHINE_MIPS_YEELOONG
|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
|
||||||
move $s2, $zero
|
move $s2, $zero
|
||||||
move $s3, $zero
|
move $s3, $zero
|
||||||
move $s4, $zero
|
move $s4, $zero
|
||||||
move $s5, $zero
|
move $s5, $zero
|
||||||
|
move $s7, $zero
|
||||||
|
|
||||||
/* $a2 has the environment. */
|
/* $a2 has the environment. */
|
||||||
addiu $t0, $a2, 1
|
addiu $t0, $zero, -0x10
|
||||||
beq $t0, $zero, argdone
|
and $t1, $a2, $t0
|
||||||
|
beq $t0, $t1, argfw
|
||||||
nop
|
nop
|
||||||
move $t0, $a2
|
move $t0, $a2
|
||||||
argcont:
|
argcont:
|
||||||
|
@ -73,10 +76,18 @@ argcont:
|
||||||
b 2f;\
|
b 2f;\
|
||||||
move reg, $v0; \
|
move reg, $v0; \
|
||||||
1:
|
1:
|
||||||
|
#define DO_CHECKT1(str, val) \
|
||||||
|
move $t6, $t1 ;\
|
||||||
|
addiu $t7, $s0, (str - base);\
|
||||||
|
bal do_check ;\
|
||||||
|
li $t2, val
|
||||||
|
|
||||||
DO_PARSE (busclockstr, $s2)
|
DO_PARSE (busclockstr, $s2)
|
||||||
DO_PARSE (cpuclockstr, $s3)
|
DO_PARSE (cpuclockstr, $s3)
|
||||||
DO_PARSE (memsizestr, $s4)
|
DO_PARSE (memsizestr, $s4)
|
||||||
DO_PARSE (highmemsizestr, $s5)
|
DO_PARSE (highmemsizestr, $s5)
|
||||||
|
DO_CHECKT1 (pmon_yeeloong_verstr, GRUB_ARCH_MACHINE_YEELOONG)
|
||||||
|
DO_CHECKT1 (pmon_fuloong_verstr, GRUB_ARCH_MACHINE_FULOONG)
|
||||||
2:
|
2:
|
||||||
b argcont
|
b argcont
|
||||||
addiu $t0, $t0, 4
|
addiu $t0, $t0, 4
|
||||||
|
@ -120,8 +131,47 @@ busclockstr: .asciiz "busclock="
|
||||||
cpuclockstr: .asciiz "cpuclock="
|
cpuclockstr: .asciiz "cpuclock="
|
||||||
memsizestr: .asciiz "memsize="
|
memsizestr: .asciiz "memsize="
|
||||||
highmemsizestr: .asciiz "highmemsize="
|
highmemsizestr: .asciiz "highmemsize="
|
||||||
|
machtype_yeeloong_str1: .asciiz "machtype=8.9"
|
||||||
|
machtype_yeeloong_str2: .asciiz "machtype=lemote-yeeloong-"
|
||||||
|
machtype_fuloong_str: .asciiz "machtype=lemote-fuloong-"
|
||||||
|
pmon_yeeloong_str: .asciiz "PMON_VER=LM8"
|
||||||
|
pmon_fuloong_str: .asciiz "PMON_VER=LM6"
|
||||||
|
pmon_yeeloong_verstr: .asciiz "Version=LM8"
|
||||||
|
pmon_fuloong_verstr: .asciiz "Version=LM6"
|
||||||
.p2align 2
|
.p2align 2
|
||||||
|
|
||||||
argdone:
|
argdone:
|
||||||
|
beq $a0, $zero, cmdlinedone
|
||||||
|
nop
|
||||||
|
#define DO_CHECKA1(str, val) \
|
||||||
|
lw $t6, 0($a1) ;\
|
||||||
|
addiu $t7, $s0, (str - base);\
|
||||||
|
bal do_check ;\
|
||||||
|
li $t2, val
|
||||||
|
DO_CHECKA1 (machtype_yeeloong_str1, GRUB_ARCH_MACHINE_YEELOONG)
|
||||||
|
DO_CHECKA1 (machtype_yeeloong_str2, GRUB_ARCH_MACHINE_YEELOONG)
|
||||||
|
DO_CHECKA1 (pmon_yeeloong_str, GRUB_ARCH_MACHINE_YEELOONG)
|
||||||
|
DO_CHECKA1 (machtype_fuloong_str, GRUB_ARCH_MACHINE_FULOONG)
|
||||||
|
DO_CHECKA1 (pmon_fuloong_str, GRUB_ARCH_MACHINE_FULOONG)
|
||||||
|
addiu $a0, $a0, -1
|
||||||
|
b argdone
|
||||||
|
addiu $a1, $a1, 4
|
||||||
|
do_check:
|
||||||
|
lb $t4, 0($t7)
|
||||||
|
beq $t4, $zero, 1f
|
||||||
|
lb $t3, 0($t6)
|
||||||
|
bne $t3, $t4, 2f
|
||||||
|
addiu $t6, $t6, 1
|
||||||
|
b do_check
|
||||||
|
addiu $t7, $t7, 1
|
||||||
|
1:
|
||||||
|
move $s7, $t2
|
||||||
|
2:
|
||||||
|
jr $ra
|
||||||
|
nop
|
||||||
|
argfw:
|
||||||
|
not $s7, $a2
|
||||||
|
cmdlinedone:
|
||||||
#endif
|
#endif
|
||||||
/* Copy the decompressor. */
|
/* Copy the decompressor. */
|
||||||
lui $t1, %hi(base)
|
lui $t1, %hi(base)
|
||||||
|
@ -150,6 +200,13 @@ argdone:
|
||||||
b 1b
|
b 1b
|
||||||
addiu $t1, $t1, 1
|
addiu $t1, $t1, 1
|
||||||
2:
|
2:
|
||||||
|
lui $a0, %hi(base)
|
||||||
|
addiu $a0, $a0, %lo(base)
|
||||||
|
lui $a1, %hi(_end)
|
||||||
|
addiu $a1, %lo(_end)
|
||||||
|
subu $a1,$a1,$a0
|
||||||
|
|
||||||
|
#include "../../kern/mips/cache_flush.S"
|
||||||
|
|
||||||
/* Decompress the payload. */
|
/* Decompress the payload. */
|
||||||
lui $a0, %hi(__bss_start)
|
lui $a0, %hi(__bss_start)
|
||||||
|
@ -170,9 +227,11 @@ argdone:
|
||||||
*/
|
*/
|
||||||
move $s6, $a3
|
move $s6, $a3
|
||||||
|
|
||||||
lui $sp, %hi(_start - 256)
|
lui $t0, %hi(EXT_C(grub_decompress_core))
|
||||||
|
addiu $t0, $t0, %lo(EXT_C(grub_decompress_core))
|
||||||
|
|
||||||
bal EXT_C(grub_decompress_core)
|
lui $sp, %hi(_start - 256)
|
||||||
|
jalr $t0
|
||||||
addiu $sp, $sp, %lo(_start - 256)
|
addiu $sp, $sp, %lo(_start - 256)
|
||||||
|
|
||||||
move $a0, $s1
|
move $a0, $s1
|
||||||
|
|
|
@ -38,7 +38,7 @@ write_bases (void)
|
||||||
for (i = 0; i < GRUB_MACHINE_PCI_NUM_WIN; i++)
|
for (i = 0; i < GRUB_MACHINE_PCI_NUM_WIN; i++)
|
||||||
reg |= (((base_win[i] >> GRUB_MACHINE_PCI_WIN_SHIFT)
|
reg |= (((base_win[i] >> GRUB_MACHINE_PCI_WIN_SHIFT)
|
||||||
& GRUB_MACHINE_PCI_WIN_MASK)
|
& GRUB_MACHINE_PCI_WIN_MASK)
|
||||||
>> (i * GRUB_MACHINE_PCI_WIN_MASK_SIZE));
|
<< (i * GRUB_MACHINE_PCI_WIN_MASK_SIZE));
|
||||||
GRUB_MACHINE_PCI_IO_CTRL_REG = reg;
|
GRUB_MACHINE_PCI_IO_CTRL_REG = reg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,13 @@
|
||||||
#include <grub/pci.h>
|
#include <grub/pci.h>
|
||||||
#include <grub/time.h>
|
#include <grub/time.h>
|
||||||
#include <grub/ata.h>
|
#include <grub/ata.h>
|
||||||
|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
|
||||||
|
#include <grub/machine/kernel.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <grub/dl.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
int
|
int
|
||||||
grub_cs5536_find (grub_pci_device_t *devp)
|
grub_cs5536_find (grub_pci_device_t *devp)
|
||||||
|
@ -213,26 +220,6 @@ grub_cs5536_read_spd (grub_port_t smbbase, grub_uint8_t dev,
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dump of GPIO connections. FIXME: Remove useless and macroify. */
|
|
||||||
static grub_uint32_t gpiodump[] = {
|
|
||||||
0xffff0000, 0x2ffdd002, 0xffff0000, 0xffff0000,
|
|
||||||
0x2fffd000, 0xffff0000, 0x1000efff, 0xefff1000,
|
|
||||||
0x3ffbc004, 0xffff0000, 0xffff0000, 0xffff0000,
|
|
||||||
0x3ffbc004, 0x3ffbc004, 0xffff0000, 0x00000000,
|
|
||||||
0xffff0000, 0xffff0000, 0x3ffbc004, 0x3f9bc064,
|
|
||||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
||||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
||||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
||||||
0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000,
|
|
||||||
0xffff0000, 0xffff0000, 0x0000ffff, 0xffff0000,
|
|
||||||
0xefff1000, 0xffff0000, 0xffff0000, 0xffff0000,
|
|
||||||
0xefff1000, 0xefff1000, 0xffff0000, 0x00000000,
|
|
||||||
0xffff0000, 0xffff0000, 0xefff1000, 0xffff0000,
|
|
||||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
||||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
||||||
0x00000000, 0x50000000, 0x00000000, 0x00000000,
|
|
||||||
};
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
set_io_space (grub_pci_device_t dev, int num, grub_uint16_t start,
|
set_io_space (grub_pci_device_t dev, int num, grub_uint16_t start,
|
||||||
grub_uint16_t len)
|
grub_uint16_t len)
|
||||||
|
@ -273,17 +260,6 @@ set_p2d (grub_pci_device_t dev, int num, int dest, grub_uint32_t start)
|
||||||
void
|
void
|
||||||
grub_cs5536_init_geode (grub_pci_device_t dev)
|
grub_cs5536_init_geode (grub_pci_device_t dev)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
|
|
||||||
/* Make sure GPIO is where we expect it to be. */
|
|
||||||
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_GPIO_BAR,
|
|
||||||
GRUB_CS5536_LBAR_TURN_ON | GRUB_CS5536_LBAR_GPIO);
|
|
||||||
|
|
||||||
/* Setup GPIO. */
|
|
||||||
for (i = 0; i < (int) ARRAY_SIZE (gpiodump); i++)
|
|
||||||
((volatile grub_uint32_t *) (GRUB_MACHINE_PCI_IO_BASE
|
|
||||||
+ GRUB_CS5536_LBAR_GPIO)) [i] = gpiodump[i];
|
|
||||||
|
|
||||||
/* Enable more BARs. */
|
/* Enable more BARs. */
|
||||||
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_IRQ_MAP_BAR,
|
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_IRQ_MAP_BAR,
|
||||||
GRUB_CS5536_LBAR_TURN_ON | GRUB_CS5536_LBAR_IRQ_MAP);
|
GRUB_CS5536_LBAR_TURN_ON | GRUB_CS5536_LBAR_IRQ_MAP);
|
||||||
|
@ -295,11 +271,27 @@ grub_cs5536_init_geode (grub_pci_device_t dev)
|
||||||
GRUB_CS5536_LBAR_TURN_ON | GRUB_CS5536_LBAR_PM);
|
GRUB_CS5536_LBAR_TURN_ON | GRUB_CS5536_LBAR_PM);
|
||||||
|
|
||||||
/* Setup DIVIL. */
|
/* Setup DIVIL. */
|
||||||
|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
|
||||||
|
switch (grub_arch_machine)
|
||||||
|
{
|
||||||
|
case GRUB_ARCH_MACHINE_YEELOONG:
|
||||||
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_LEG_IO,
|
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_LEG_IO,
|
||||||
GRUB_CS5536_MSR_DIVIL_LEG_IO_MODE_X86
|
GRUB_CS5536_MSR_DIVIL_LEG_IO_MODE_X86
|
||||||
| GRUB_CS5536_MSR_DIVIL_LEG_IO_F_REMAP
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_F_REMAP
|
||||||
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE0
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE0
|
||||||
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE1);
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE1);
|
||||||
|
break;
|
||||||
|
case GRUB_ARCH_MACHINE_FULOONG:
|
||||||
|
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_LEG_IO,
|
||||||
|
GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_MODE_X86
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_F_REMAP
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE0
|
||||||
|
| GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_IRQ_MAPPER_PRIMARY_MASK,
|
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_IRQ_MAPPER_PRIMARY_MASK,
|
||||||
(~GRUB_CS5536_DIVIL_LPC_INTERRUPTS) & 0xffff);
|
(~GRUB_CS5536_DIVIL_LPC_INTERRUPTS) & 0xffff);
|
||||||
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_IRQ_MAPPER_LPC_MASK,
|
grub_cs5536_write_msr (dev, GRUB_CS5536_MSR_DIVIL_IRQ_MAPPER_LPC_MASK,
|
||||||
|
|
|
@ -20,23 +20,39 @@
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
#include <grub/pci.h>
|
#include <grub/pci.h>
|
||||||
#include <grub/mm.h>
|
#include <grub/mm.h>
|
||||||
|
#include <grub/misc.h>
|
||||||
|
#include <grub/mm_private.h>
|
||||||
|
#include <grub/cache.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
/* FIXME: correctly support 64-bit architectures. */
|
/* FIXME: correctly support 64-bit architectures. */
|
||||||
/* #if GRUB_TARGET_SIZEOF_VOID_P == 4 */
|
/* #if GRUB_TARGET_SIZEOF_VOID_P == 4 */
|
||||||
struct grub_pci_dma_chunk *
|
struct grub_pci_dma_chunk *
|
||||||
grub_memalign_dma32 (grub_size_t align, grub_size_t size)
|
grub_memalign_dma32 (grub_size_t align, grub_size_t size)
|
||||||
{
|
{
|
||||||
return grub_memalign (align, size);
|
void *ret;
|
||||||
|
if (align < 64)
|
||||||
|
align = 64;
|
||||||
|
size = ALIGN_UP (size, align);
|
||||||
|
ret = grub_memalign (align, size);
|
||||||
|
if (!ret)
|
||||||
|
return 0;
|
||||||
|
grub_arch_sync_dma_caches (ret, size);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME: evil. */
|
||||||
void
|
void
|
||||||
grub_dma_free (struct grub_pci_dma_chunk *ch)
|
grub_dma_free (struct grub_pci_dma_chunk *ch)
|
||||||
{
|
{
|
||||||
|
grub_size_t size = (((struct grub_mm_header *) ch) - 1)->size * GRUB_MM_ALIGN;
|
||||||
|
grub_arch_sync_dma_caches (ch, size);
|
||||||
grub_free (ch);
|
grub_free (ch);
|
||||||
}
|
}
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
#ifdef GRUB_MACHINE_MIPS_YEELOONG
|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
|
||||||
volatile void *
|
volatile void *
|
||||||
grub_dma_get_virt (struct grub_pci_dma_chunk *ch)
|
grub_dma_get_virt (struct grub_pci_dma_chunk *ch)
|
||||||
{
|
{
|
||||||
|
@ -99,13 +115,13 @@ grub_pci_iterate (grub_pci_iteratefunc_t hook)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GRUB_MACHINE_MIPS_YEELOONG
|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
|
||||||
/* Skip ghosts. */
|
/* Skip ghosts. */
|
||||||
if (id == GRUB_YEELOONG_OHCI_PCIID
|
if (id == GRUB_LOONGSON_OHCI_PCIID
|
||||||
&& dev.function == GRUB_YEELOONG_OHCI_GHOST_FUNCTION)
|
&& dev.function == GRUB_LOONGSON_OHCI_GHOST_FUNCTION)
|
||||||
continue;
|
continue;
|
||||||
if (id == GRUB_YEELOONG_EHCI_PCIID
|
if (id == GRUB_LOONGSON_EHCI_PCIID
|
||||||
&& dev.function == GRUB_YEELOONG_EHCI_GHOST_FUNCTION)
|
&& dev.function == GRUB_LOONGSON_EHCI_GHOST_FUNCTION)
|
||||||
continue;
|
continue;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/usb.h>
|
#include <grub/usb.h>
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
|
|
||||||
static struct grub_usb_controller_dev usb_controller =
|
static struct grub_usb_controller_dev usb_controller =
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#include <grub/cs5536.h>
|
#include <grub/cs5536.h>
|
||||||
#include <grub/loader.h>
|
#include <grub/loader.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
struct grub_ohci_hcca
|
struct grub_ohci_hcca
|
||||||
{
|
{
|
||||||
/* Pointers to Interrupt Endpoint Descriptors. Not used by
|
/* Pointers to Interrupt Endpoint Descriptors. Not used by
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
|
|
||||||
#include <grub/serial.h>
|
#include <grub/serial.h>
|
||||||
#include <grub/usbserial.h>
|
#include <grub/usbserial.h>
|
||||||
|
#include <grub/dl.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
void
|
void
|
||||||
grub_usbserial_fini (struct grub_serial_port *port)
|
grub_usbserial_fini (struct grub_serial_port *port)
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/usb.h>
|
#include <grub/usb.h>
|
||||||
#include <grub/usbserial.h>
|
#include <grub/usbserial.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
GRUB_FTDI_MODEM_CTRL = 0x01,
|
GRUB_FTDI_MODEM_CTRL = 0x01,
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/usb.h>
|
#include <grub/usb.h>
|
||||||
#include <grub/usbserial.h>
|
#include <grub/usbserial.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
/* Convert speed to divisor. */
|
/* Convert speed to divisor. */
|
||||||
static grub_uint32_t
|
static grub_uint32_t
|
||||||
is_speed_supported (unsigned int speed)
|
is_speed_supported (unsigned int speed)
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/i386/io.h>
|
#include <grub/i386/io.h>
|
||||||
#include <grub/time.h>
|
#include <grub/time.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
#define GRUB_UHCI_IOMASK (0x7FF << 5)
|
#define GRUB_UHCI_IOMASK (0x7FF << 5)
|
||||||
|
|
||||||
#define N_QH 256
|
#define N_QH 256
|
||||||
|
@ -749,8 +751,7 @@ grub_uhci_detect_dev (grub_usb_controller_t dev, int port, int *changed)
|
||||||
else if (port == 1)
|
else if (port == 1)
|
||||||
reg = GRUB_UHCI_REG_PORTSC2;
|
reg = GRUB_UHCI_REG_PORTSC2;
|
||||||
else
|
else
|
||||||
return grub_error (GRUB_ERR_OUT_OF_RANGE,
|
return GRUB_USB_SPEED_NONE;
|
||||||
"UHCI Root Hub port does not exist");
|
|
||||||
|
|
||||||
status = grub_uhci_readreg16 (u, reg);
|
status = grub_uhci_readreg16 (u, reg);
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,10 @@
|
||||||
#include <grub/list.h>
|
#include <grub/list.h>
|
||||||
#include <grub/term.h>
|
#include <grub/term.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_usb_controller_dev_t grub_usb_list;
|
static grub_usb_controller_dev_t grub_usb_list;
|
||||||
struct grub_usb_attach_desc *attach_hooks;
|
static struct grub_usb_attach_desc *attach_hooks;
|
||||||
|
|
||||||
void
|
void
|
||||||
grub_usb_controller_dev_register (grub_usb_controller_dev_t usb)
|
grub_usb_controller_dev_register (grub_usb_controller_dev_t usb)
|
||||||
|
@ -183,6 +185,12 @@ grub_usb_device_initialize (grub_usb_device_t dev)
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++)
|
||||||
dev->config[i].descconf = NULL;
|
dev->config[i].descconf = NULL;
|
||||||
|
|
||||||
|
if (descdev->configcnt == 0)
|
||||||
|
{
|
||||||
|
err = GRUB_USB_ERR_BADDEVICE;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < descdev->configcnt; i++)
|
for (i = 0; i < descdev->configcnt; i++)
|
||||||
{
|
{
|
||||||
int pos;
|
int pos;
|
||||||
|
|
|
@ -39,7 +39,7 @@ struct grub_usb_hub
|
||||||
grub_usb_device_t dev;
|
grub_usb_device_t dev;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct grub_usb_hub *hubs;
|
static struct grub_usb_hub *hubs;
|
||||||
|
|
||||||
/* Add a device that currently has device number 0 and resides on
|
/* Add a device that currently has device number 0 and resides on
|
||||||
CONTROLLER, the Hub reported that the device speed is SPEED. */
|
CONTROLLER, the Hub reported that the device speed is SPEED. */
|
||||||
|
@ -110,7 +110,7 @@ static grub_usb_err_t
|
||||||
grub_usb_add_hub (grub_usb_device_t dev)
|
grub_usb_add_hub (grub_usb_device_t dev)
|
||||||
{
|
{
|
||||||
struct grub_usb_usb_hubdesc hubdesc;
|
struct grub_usb_usb_hubdesc hubdesc;
|
||||||
grub_err_t err;
|
grub_usb_err_t err;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
err = grub_usb_control_msg (dev, (GRUB_USB_REQTYPE_IN
|
err = grub_usb_control_msg (dev, (GRUB_USB_REQTYPE_IN
|
||||||
|
@ -215,6 +215,8 @@ attach_root_port (struct grub_usb_hub *hub, int portno,
|
||||||
return;
|
return;
|
||||||
hub->controller->dev->pending_reset = grub_get_time_ms () + 5000;
|
hub->controller->dev->pending_reset = grub_get_time_ms () + 5000;
|
||||||
|
|
||||||
|
grub_millisleep (10);
|
||||||
|
|
||||||
/* Enable the port and create a device. */
|
/* Enable the port and create a device. */
|
||||||
dev = grub_usb_hub_add_dev (hub->controller, speed);
|
dev = grub_usb_hub_add_dev (hub->controller, speed);
|
||||||
hub->controller->dev->pending_reset = 0;
|
hub->controller->dev->pending_reset = 0;
|
||||||
|
|
|
@ -97,7 +97,7 @@ grub_usb_control_msg (grub_usb_device_t dev,
|
||||||
if (! transfer)
|
if (! transfer)
|
||||||
{
|
{
|
||||||
grub_dma_free (data_chunk);
|
grub_dma_free (data_chunk);
|
||||||
return grub_errno;
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
setupdata_chunk = grub_memalign_dma32 (32, sizeof (*setupdata));
|
setupdata_chunk = grub_memalign_dma32 (32, sizeof (*setupdata));
|
||||||
|
@ -105,7 +105,7 @@ grub_usb_control_msg (grub_usb_device_t dev,
|
||||||
{
|
{
|
||||||
grub_free (transfer);
|
grub_free (transfer);
|
||||||
grub_dma_free (data_chunk);
|
grub_dma_free (data_chunk);
|
||||||
return grub_errno;
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
setupdata = grub_dma_get_virt (setupdata_chunk);
|
setupdata = grub_dma_get_virt (setupdata_chunk);
|
||||||
|
@ -139,7 +139,7 @@ grub_usb_control_msg (grub_usb_device_t dev,
|
||||||
grub_free (transfer);
|
grub_free (transfer);
|
||||||
grub_dma_free (setupdata_chunk);
|
grub_dma_free (setupdata_chunk);
|
||||||
grub_dma_free (data_chunk);
|
grub_dma_free (data_chunk);
|
||||||
return grub_errno;
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Build a Setup packet. XXX: Endianness. */
|
/* Build a Setup packet. XXX: Endianness. */
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
#include <grub/efi/api.h>
|
#include <grub/efi/api.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] = {
|
static const struct grub_arg_option options[] = {
|
||||||
{"exclude", 'x', 0,
|
{"exclude", 'x', 0,
|
||||||
N_("Don't load host tables specified by comma-separated list."),
|
N_("Don't load host tables specified by comma-separated list."),
|
||||||
|
|
53
grub-core/commands/arc/lsdev.c
Normal file
53
grub-core/commands/arc/lsdev.c
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
/*
|
||||||
|
* GRUB -- GRand Unified Bootloader
|
||||||
|
* Copyright (C) 2011 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* GRUB is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GRUB is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <grub/dl.h>
|
||||||
|
#include <grub/misc.h>
|
||||||
|
#include <grub/command.h>
|
||||||
|
#include <grub/i18n.h>
|
||||||
|
#include <grub/arc/arc.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
|
static grub_err_t
|
||||||
|
grub_cmd_lsdev (grub_command_t cmd __attribute__ ((unused)),
|
||||||
|
int argc __attribute__ ((unused)),
|
||||||
|
char **args __attribute__ ((unused)))
|
||||||
|
{
|
||||||
|
auto int hook (const char *name, const struct grub_arc_component *comp);
|
||||||
|
int hook (const char *name, const struct grub_arc_component *comp __attribute__ ((unused)))
|
||||||
|
{
|
||||||
|
grub_printf ("%s\n", name);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
grub_arc_iterate_devs (hook, 0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static grub_command_t cmd;
|
||||||
|
|
||||||
|
GRUB_MOD_INIT(lsdev)
|
||||||
|
{
|
||||||
|
cmd = grub_register_command ("lsdev", grub_cmd_lsdev, "",
|
||||||
|
N_("List devices."));
|
||||||
|
}
|
||||||
|
|
||||||
|
GRUB_MOD_FINI(lsdev)
|
||||||
|
{
|
||||||
|
grub_unregister_command (cmd);
|
||||||
|
}
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_blocklist (grub_command_t cmd __attribute__ ((unused)),
|
grub_cmd_blocklist (grub_command_t cmd __attribute__ ((unused)),
|
||||||
int argc, char **args)
|
int argc, char **args)
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include <grub/mm.h>
|
#include <grub/mm.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t (*grub_loader_boot_func) (void);
|
static grub_err_t (*grub_loader_boot_func) (void);
|
||||||
static grub_err_t (*grub_loader_unload_func) (void);
|
static grub_err_t (*grub_loader_unload_func) (void);
|
||||||
static int grub_loader_noreturn;
|
static int grub_loader_noreturn;
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include <grub/extcmd.h>
|
#include <grub/extcmd.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] =
|
static const struct grub_arg_option options[] =
|
||||||
{
|
{
|
||||||
{"dos", -1, 0, N_("Accept DOS-style CR/NL line endings."), 0, 0},
|
{"dos", -1, 0, N_("Accept DOS-style CR/NL line endings."), 0, 0},
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
#define BUFFER_SIZE 512
|
#define BUFFER_SIZE 512
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_source (grub_command_t cmd, int argc, char **args)
|
grub_cmd_source (grub_command_t cmd, int argc, char **args)
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
#define GRUB_DATETIME_SET_YEAR 1
|
#define GRUB_DATETIME_SET_YEAR 1
|
||||||
#define GRUB_DATETIME_SET_MONTH 2
|
#define GRUB_DATETIME_SET_MONTH 2
|
||||||
#define GRUB_DATETIME_SET_DAY 4
|
#define GRUB_DATETIME_SET_DAY 4
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
#include <grub/term.h>
|
#include <grub/term.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] =
|
static const struct grub_arg_option options[] =
|
||||||
{
|
{
|
||||||
{0, 'n', 0, N_("Do not output the trailing newline."), 0, 0},
|
{0, 'n', 0, N_("Do not output the trailing newline."), 0, 0},
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static struct grub_video_patch
|
static struct grub_video_patch
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_efi_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
|
static grub_efi_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
|
||||||
static grub_efi_guid_t acpi2_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
|
static grub_efi_guid_t acpi2_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
|
||||||
static grub_efi_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
|
static grub_efi_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include <grub/efi/efi.h>
|
#include <grub/efi/efi.h>
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
#define ADD_MEMORY_DESCRIPTOR(desc, size) \
|
#define ADD_MEMORY_DESCRIPTOR(desc, size) \
|
||||||
((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size)))
|
((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size)))
|
||||||
|
|
||||||
|
|
|
@ -18,12 +18,15 @@
|
||||||
*/
|
*/
|
||||||
#include <grub/types.h>
|
#include <grub/types.h>
|
||||||
#include <grub/mm.h>
|
#include <grub/mm.h>
|
||||||
|
#include <grub/dl.h>
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
#include <grub/normal.h>
|
#include <grub/normal.h>
|
||||||
#include <grub/charset.h>
|
#include <grub/charset.h>
|
||||||
#include <grub/efi/api.h>
|
#include <grub/efi/api.h>
|
||||||
#include <grub/efi/efi.h>
|
#include <grub/efi/efi.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
struct guid_mapping
|
struct guid_mapping
|
||||||
{
|
{
|
||||||
grub_efi_guid_t guid;
|
grub_efi_guid_t guid;
|
||||||
|
|
|
@ -23,6 +23,9 @@
|
||||||
#include <grub/charset.h>
|
#include <grub/charset.h>
|
||||||
#include <grub/efi/api.h>
|
#include <grub/efi/api.h>
|
||||||
#include <grub/efi/efi.h>
|
#include <grub/efi/efi.h>
|
||||||
|
#include <grub/dl.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static void
|
static void
|
||||||
disp_sal (void *table)
|
disp_sal (void *table)
|
||||||
|
|
|
@ -22,6 +22,9 @@
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
#include <grub/extcmd.h>
|
#include <grub/extcmd.h>
|
||||||
#include <grub/script_sh.h>
|
#include <grub/script_sh.h>
|
||||||
|
#include <grub/dl.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
|
grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#include <grub/fs.h>
|
#include <grub/fs.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
/* Convert a LBA address to a CHS address in the INT 13 format. */
|
/* Convert a LBA address to a CHS address in the INT 13 format. */
|
||||||
/* Taken from grub1. */
|
/* Taken from grub1. */
|
||||||
/* XXX: use hardcoded geometry of C = 1024, H = 255, S = 63.
|
/* XXX: use hardcoded geometry of C = 1024, H = 255, S = 63.
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_halt (grub_command_t cmd __attribute__ ((unused)),
|
grub_cmd_halt (grub_command_t cmd __attribute__ ((unused)),
|
||||||
int argc __attribute__ ((unused)),
|
int argc __attribute__ ((unused)),
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/normal.h>
|
#include <grub/normal.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] = {
|
static const struct grub_arg_option options[] = {
|
||||||
{"hash", 'h', 0, N_("Specify hash to use."), N_("HASH"), ARG_TYPE_STRING},
|
{"hash", 'h', 0, N_("Specify hash to use."), N_("HASH"), ARG_TYPE_STRING},
|
||||||
{"check", 'c', 0, N_("Check hash list file."), N_("FILE"), ARG_TYPE_STRING},
|
{"check", 'c', 0, N_("Check hash list file."), N_("FILE"), ARG_TYPE_STRING},
|
||||||
|
@ -36,7 +38,7 @@ static const struct grub_arg_option options[] = {
|
||||||
{0, 0, 0, 0, 0, 0}
|
{0, 0, 0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct { const char *name; const char *hashname; } aliases[] =
|
static struct { const char *name; const char *hashname; } aliases[] =
|
||||||
{
|
{
|
||||||
{"sha256sum", "sha256"},
|
{"sha256sum", "sha256"},
|
||||||
{"sha512sum", "sha512"},
|
{"sha512sum", "sha512"},
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/extcmd.h>
|
#include <grub/extcmd.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] = {
|
static const struct grub_arg_option options[] = {
|
||||||
{"apm", 'B', 0, N_("Set Advanced Power Management\n"
|
{"apm", 'B', 0, N_("Set Advanced Power Management\n"
|
||||||
"(1=low, ..., 254=high, 255=off)."),
|
"(1=low, ..., 254=high, 255=off)."),
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/normal.h>
|
#include <grub/normal.h>
|
||||||
#include <grub/charset.h>
|
#include <grub/charset.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_help (grub_extcmd_context_t ctxt __attribute__ ((unused)), int argc,
|
grub_cmd_help (grub_extcmd_context_t ctxt __attribute__ ((unused)), int argc,
|
||||||
char **args)
|
char **args)
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include <grub/extcmd.h>
|
#include <grub/extcmd.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] = {
|
static const struct grub_arg_option options[] = {
|
||||||
{"skip", 's', 0, N_("Skip offset bytes from the beginning of file."), 0,
|
{"skip", 's', 0, N_("Skip offset bytes from the beginning of file."), 0,
|
||||||
ARG_TYPE_INT},
|
ARG_TYPE_INT},
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
#include <grub/cmos.h>
|
#include <grub/cmos.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
parse_args (int argc, char *argv[], int *byte, int *bit)
|
parse_args (int argc, char *argv[], int *byte, int *bit)
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
#include <grub/i386/cpuid.h>
|
#include <grub/i386/cpuid.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
#define cpuid(num,a,b,c,d) \
|
#define cpuid(num,a,b,c,d) \
|
||||||
asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" \
|
asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" \
|
||||||
: "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
|
: "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include <grub/memory.h>
|
#include <grub/memory.h>
|
||||||
#include <grub/machine/memory.h>
|
#include <grub/machine/memory.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
/* Real mode IVT slot (seg:off far pointer) for interrupt 0x13. */
|
/* Real mode IVT slot (seg:off far pointer) for interrupt 0x13. */
|
||||||
static grub_uint32_t *const int13slot = UINT_TO_PTR (4 * 0x13);
|
static grub_uint32_t *const int13slot = UINT_TO_PTR (4 * 0x13);
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/machine/int.h>
|
#include <grub/machine/int.h>
|
||||||
#include <grub/acpi.h>
|
#include <grub/acpi.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] =
|
static const struct grub_arg_option options[] =
|
||||||
{
|
{
|
||||||
{"no-apm", 'n', 0, N_("Do not use APM to halt the computer."), 0, 0},
|
{"no-apm", 'n', 0, N_("Do not use APM to halt the computer."), 0, 0},
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
int
|
int
|
||||||
grub_apm_get_info (struct grub_apm_info *info)
|
grub_apm_get_info (struct grub_apm_info *info)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
#define BASE_TEMPO (60 * GRUB_TICKS_PER_SECOND)
|
#define BASE_TEMPO (60 * GRUB_TICKS_PER_SECOND)
|
||||||
|
|
||||||
/* The speaker port. */
|
/* The speaker port. */
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_pxe_unload (grub_command_t cmd __attribute__ ((unused)),
|
grub_cmd_pxe_unload (grub_command_t cmd __attribute__ ((unused)),
|
||||||
int argc __attribute__ ((unused)),
|
int argc __attribute__ ((unused)),
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
#include <grub/cpu/io.h>
|
#include <grub/cpu/io.h>
|
||||||
#include <grub/loader.h>
|
#include <grub/loader.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv2+");
|
||||||
|
|
||||||
static char sendkey[0x20];
|
static char sendkey[0x20];
|
||||||
/* Length of sendkey. */
|
/* Length of sendkey. */
|
||||||
static int keylen = 0;
|
static int keylen = 0;
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_suspend (grub_command_t cmd __attribute__ ((unused)),
|
grub_cmd_suspend (grub_command_t cmd __attribute__ ((unused)),
|
||||||
int argc __attribute__ ((unused)),
|
int argc __attribute__ ((unused)),
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/cpu/io.h>
|
#include <grub/cpu/io.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
|
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
|
||||||
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
|
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
#include <grub/file.h>
|
#include <grub/file.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static struct grub_keyboard_layout layout_us = {
|
static struct grub_keyboard_layout layout_us = {
|
||||||
.keyboard_map = {
|
.keyboard_map = {
|
||||||
/* Keyboard errors. Handled by driver. */
|
/* Keyboard errors. Handled by driver. */
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include <grub/term.h>
|
#include <grub/term.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] =
|
static const struct grub_arg_option options[] =
|
||||||
{
|
{
|
||||||
{"shift", 's', 0, N_("Check Shift key."), 0, 0},
|
{"shift", 's', 0, N_("Check Shift key."), 0, 0},
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
#include <grub/disk.h>
|
#include <grub/disk.h>
|
||||||
#include <grub/partition.h>
|
#include <grub/partition.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
legacy_file (const char *filename)
|
legacy_file (const char *filename)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#include <grub/extcmd.h>
|
#include <grub/extcmd.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] =
|
static const struct grub_arg_option options[] =
|
||||||
{
|
{
|
||||||
{"file", 'f', 0, N_("Specify filename."), 0, ARG_TYPE_PATHNAME},
|
{"file", 'f', 0, N_("Specify filename."), 0, ARG_TYPE_PATHNAME},
|
||||||
|
|
|
@ -32,6 +32,8 @@
|
||||||
#include <grub/datetime.h>
|
#include <grub/datetime.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const struct grub_arg_option options[] =
|
static const struct grub_arg_option options[] =
|
||||||
{
|
{
|
||||||
{"long", 'l', 0, N_("Show a long list with more detailed information."), 0, 0},
|
{"long", 'l', 0, N_("Show a long list with more detailed information."), 0, 0},
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_strn (grub_uint8_t *str, grub_size_t len)
|
print_strn (grub_uint8_t *str, grub_size_t len)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
#include <grub/memory.h>
|
#include <grub/memory.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static const char *names[] =
|
static const char *names[] =
|
||||||
{
|
{
|
||||||
[GRUB_MEMORY_AVAILABLE] = "available",
|
[GRUB_MEMORY_AVAILABLE] = "available",
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include <grub/extcmd.h>
|
#include <grub/extcmd.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
struct grub_pci_classname
|
struct grub_pci_classname
|
||||||
{
|
{
|
||||||
int class;
|
int class;
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include <grub/env.h>
|
#include <grub/env.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
|
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
|
||||||
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
|
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ grub_normal_add_menu_entry (int argc, const char **args, char **classes,
|
||||||
if (! menu_sourcecode)
|
if (! menu_sourcecode)
|
||||||
return grub_errno;
|
return grub_errno;
|
||||||
|
|
||||||
if (classes)
|
if (classes && classes[0])
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; classes[i]; i++); /* count # of menuentry classes */
|
for (i = 0; classes[i]; i++); /* count # of menuentry classes */
|
||||||
|
@ -255,7 +255,8 @@ grub_cmd_menuentry (grub_extcmd_context_t ctxt, int argc, char **args)
|
||||||
|
|
||||||
if (! ctxt->script)
|
if (! ctxt->script)
|
||||||
return grub_normal_add_menu_entry (argc, (const char **) args,
|
return grub_normal_add_menu_entry (argc, (const char **) args,
|
||||||
ctxt->state[0].args, ctxt->state[1].arg,
|
(ctxt->state[0].set ? ctxt->state[0].args
|
||||||
|
: NULL), ctxt->state[1].arg,
|
||||||
ctxt->state[2].arg, 0,
|
ctxt->state[2].arg, 0,
|
||||||
ctxt->state[3].arg,
|
ctxt->state[3].arg,
|
||||||
ctxt->extcmd->cmd->name[0] == 's');
|
ctxt->extcmd->cmd->name[0] == 's');
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
/* cat FILE */
|
/* cat FILE */
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_mini_cmd_cat (struct grub_command *cmd __attribute__ ((unused)),
|
grub_mini_cmd_cat (struct grub_command *cmd __attribute__ ((unused)),
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/cs5536.h>
|
#include <grub/cs5536.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
grub_cmd_lsspd (grub_command_t cmd __attribute__ ((unused)),
|
grub_cmd_lsspd (grub_command_t cmd __attribute__ ((unused)),
|
||||||
int argc __attribute__ ((unused)),
|
int argc __attribute__ ((unused)),
|
|
@ -31,6 +31,8 @@
|
||||||
#include <grub/command.h>
|
#include <grub/command.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv2+");
|
||||||
|
|
||||||
static struct grub_parttool *parts = 0;
|
static struct grub_parttool *parts = 0;
|
||||||
static int curhandle = 0;
|
static int curhandle = 0;
|
||||||
static grub_dl_t mymod;
|
static grub_dl_t mymod;
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_dl_t my_mod;
|
static grub_dl_t my_mod;
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static grub_dl_t my_mod;
|
static grub_dl_t my_mod;
|
||||||
|
|
||||||
struct pbkdf2_password
|
struct pbkdf2_password
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue