grub/grub-core/Makefile.core.def

2537 lines
49 KiB
Modula-2
Raw Normal View History

2010-05-06 06:04:04 +00:00
AutoGen definitions Makefile.tpl;
transform_data = {
installdir = noinst;
2010-09-19 13:24:45 +00:00
name = gensyminfo.sh;
common = gensyminfo.sh.in;
};
transform_data = {
installdir = noinst;
2010-09-19 13:24:45 +00:00
name = genmod.sh;
common = genmod.sh.in;
};
transform_data = {
installdir = noinst;
name = modinfo.sh;
common = modinfo.sh.in;
};
transform_data = {
installdir = platform;
name = gmodule.pl;
common = gmodule.pl.in;
};
transform_data = {
installdir = platform;
name = gdb_grub;
common = gdb_grub.in;
};
transform_data = {
installdir = platform;
name = grub.chrp;
common = boot/powerpc/grub.chrp.in;
enable = powerpc_ieee1275;
};
transform_data = {
installdir = platform;
name = bootinfo.txt;
common = boot/powerpc/bootinfo.txt.in;
enable = powerpc_ieee1275;
};
2010-05-06 06:04:04 +00:00
kernel = {
name = kernel;
2010-07-13 18:28:30 +00:00
nostrip = emu;
2010-07-13 18:05:24 +00:00
emu_ldflags = '-Wl,-r,-d';
2010-08-31 19:47:26 +00:00
i386_efi_ldflags = '-Wl,-r,-d';
i386_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
2010-08-31 19:47:26 +00:00
x86_64_efi_ldflags = '-Wl,-r,-d';
x86_64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
2010-08-31 19:47:26 +00:00
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 -R .note.gnu.gold-version';
2010-06-07 11:53:54 +00:00
2013-04-07 00:41:07 +00:00
arm_efi_ldflags = '-Wl,-r,-d';
arm_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
2013-11-16 19:52:55 +00:00
arm64_efi_ldflags = '-Wl,-r,-d';
arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
2013-11-16 19:52:55 +00:00
riscv32_efi_ldflags = '-Wl,-r,-d';
riscv32_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
riscv64_efi_ldflags = '-Wl,-r,-d';
riscv64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
2010-06-07 11:53:54 +00:00
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
2010-06-07 11:53:54 +00:00
i386_qemu_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_qemu_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
i386_coreboot_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_coreboot_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
i386_multiboot_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_multiboot_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x9000';
i386_ieee1275_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_ieee1275_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x10000';
i386_xen_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_xen_ldflags = '$(TARGET_IMG_BASE_LDOPT),0';
x86_64_xen_ldflags = '$(TARGET_IMG_LDFLAGS)';
x86_64_xen_ldflags = '$(TARGET_IMG_BASE_LDOPT),0';
i386_xen_pvh_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_xen_pvh_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x100000';
2010-06-07 11:53:54 +00:00
mips_loongson_ldflags = '-Wl,-Ttext,0x80200000';
powerpc_ieee1275_ldflags = '-Wl,-Ttext,0x200000';
sparc64_ieee1275_ldflags = '-Wl,-Ttext,0x4400';
2013-04-25 20:42:35 +00:00
mips_arc_ldflags = '-Wl,-Ttext,$(TARGET_LINK_ADDR)';
2011-05-17 12:02:18 +00:00
mips_qemu_mips_ldflags = '-Wl,-Ttext,0x80200000';
2010-05-06 06:04:04 +00:00
mips_arc_cppflags = '-DGRUB_DECOMPRESSOR_LINK_ADDR=$(TARGET_DECOMPRESSOR_LINK_ADDR)';
2010-05-06 06:04:04 +00:00
i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
2010-05-06 07:25:47 +00:00
emu_cflags = '$(CFLAGS_GNULIB)';
emu_cppflags = '$(CPPFLAGS_GNULIB)';
arm_uboot_ldflags = '-Wl,-r,-d';
2013-04-07 00:41:07 +00:00
arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
2017-05-08 18:53:28 +00:00
arm_coreboot_ldflags = '-Wl,-r,-d';
arm_coreboot_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
2010-05-06 06:04:04 +00:00
i386_pc_startup = kern/i386/pc/startup.S;
i386_efi_startup = kern/i386/efi/startup.S;
x86_64_efi_startup = kern/x86_64/efi/startup.S;
i386_xen_startup = kern/i386/xen/startup.S;
x86_64_xen_startup = kern/x86_64/xen/startup.S;
i386_xen_pvh_startup = kern/i386/xen/startup_pvh.S;
i386_qemu_startup = kern/i386/qemu/startup.S;
i386_ieee1275_startup = kern/i386/ieee1275/startup.S;
i386_coreboot_startup = kern/i386/coreboot/startup.S;
i386_multiboot_startup = kern/i386/coreboot/startup.S;
mips_startup = kern/mips/startup.S;
sparc64_ieee1275_startup = kern/sparc64/ieee1275/crt0.S;
powerpc_ieee1275_startup = kern/powerpc/ieee1275/startup.S;
arm_uboot_startup = kern/arm/startup.S;
2017-05-08 18:53:28 +00:00
arm_coreboot_startup = kern/arm/startup.S;
2013-04-07 00:41:07 +00:00
arm_efi_startup = kern/arm/efi/startup.S;
2013-11-16 19:52:55 +00:00
arm64_efi_startup = kern/arm64/efi/startup.S;
riscv32_efi_startup = kern/riscv/efi/startup.S;
riscv64_efi_startup = kern/riscv/efi/startup.S;
common = kern/command.c;
common = kern/corecmd.c;
common = kern/device.c;
common = kern/disk.c;
common = kern/dl.c;
common = kern/env.c;
common = kern/err.c;
common = kern/file.c;
common = kern/fs.c;
common = kern/list.c;
common = kern/main.c;
common = kern/misc.c;
common = kern/parser.c;
common = kern/partition.c;
common = kern/rescue_parser.c;
common = kern/rescue_reader.c;
common = kern/term.c;
noemu = kern/compiler-rt.c;
noemu = kern/mm.c;
noemu = kern/time.c;
noemu = kern/generic/millisleep.c;
noemu_nodist = symlist.c;
2011-05-13 14:36:05 +00:00
mips = kern/generic/rtc_get_time_ms.c;
ieee1275 = disk/ieee1275/ofdisk.c;
ieee1275 = kern/ieee1275/cmain.c;
ieee1275 = kern/ieee1275/ieee1275.c;
ieee1275 = kern/ieee1275/mmap.c;
ieee1275 = kern/ieee1275/openfw.c;
ieee1275 = term/ieee1275/console.c;
2011-07-02 12:09:36 +00:00
ieee1275 = kern/ieee1275/init.c;
2013-04-07 00:41:07 +00:00
uboot = disk/uboot/ubootdisk.c;
uboot = kern/uboot/uboot.c;
uboot = kern/uboot/init.c;
uboot = kern/uboot/hw.c;
uboot = term/uboot/console.c;
arm_uboot = kern/arm/uboot/init.c;
arm_uboot = kern/arm/uboot/uboot.S;
2013-04-07 00:41:07 +00:00
2017-05-08 18:53:28 +00:00
arm_coreboot = kern/arm/coreboot/init.c;
arm_coreboot = kern/arm/coreboot/timer.c;
arm_coreboot = kern/arm/coreboot/coreboot.S;
arm_coreboot = lib/fdt.c;
arm_coreboot = bus/fdt.c;
arm_coreboot = term/ps2.c;
arm_coreboot = term/arm/pl050.c;
2017-05-09 07:02:15 +00:00
arm_coreboot = term/arm/cros.c;
arm_coreboot = term/arm/cros_ec.c;
2017-05-09 06:42:14 +00:00
arm_coreboot = bus/spi/rk3288_spi.c;
arm_coreboot = commands/keylayouts.c;
arm_coreboot = kern/arm/coreboot/dma.c;
2017-05-08 18:53:28 +00:00
terminfoinkernel = term/terminfo.c;
terminfoinkernel = term/tparm.c;
terminfoinkernel = commands/extcmd.c;
terminfoinkernel = lib/arg.c;
softdiv = lib/division.c;
i386 = kern/i386/dl.c;
i386_xen = kern/i386/dl.c;
i386_xen_pvh = kern/i386/dl.c;
i386_coreboot = kern/i386/coreboot/init.c;
i386_multiboot = kern/i386/coreboot/init.c;
i386_qemu = kern/i386/qemu/init.c;
i386_coreboot_multiboot_qemu = term/i386/pc/vga_text.c;
2017-05-08 18:53:28 +00:00
coreboot = video/coreboot/cbfb.c;
2010-08-31 19:47:26 +00:00
efi = disk/efi/efidisk.c;
efi = kern/efi/efi.c;
efi = kern/efi/init.c;
efi = kern/efi/mm.c;
efi = term/efi/console.c;
efi = kern/acpi.c;
efi = kern/efi/acpi.c;
i386_coreboot = kern/i386/pc/acpi.c;
i386_multiboot = kern/i386/pc/acpi.c;
i386_coreboot = kern/acpi.c;
i386_multiboot = kern/acpi.c;
x86 = kern/i386/tsc.c;
x86 = kern/i386/tsc_pit.c;
i386_efi = kern/i386/efi/tsc.c;
x86_64_efi = kern/i386/efi/tsc.c;
i386_efi = kern/i386/tsc_pmtimer.c;
i386_coreboot = kern/i386/tsc_pmtimer.c;
x86_64_efi = kern/i386/tsc_pmtimer.c;
2010-08-31 19:47:26 +00:00
i386_efi = kern/i386/efi/init.c;
i386_efi = bus/pci.c;
x86_64 = kern/x86_64/dl.c;
x86_64_xen = kern/x86_64/dl.c;
x86_64_efi = kern/x86_64/efi/callwrap.S;
2010-08-31 19:47:26 +00:00
x86_64_efi = kern/i386/efi/init.c;
x86_64_efi = bus/pci.c;
2010-08-31 19:47:26 +00:00
xen = kern/i386/tsc.c;
xen = kern/i386/xen/tsc.c;
x86_64_xen = kern/x86_64/xen/hypercall.S;
i386_xen = kern/i386/xen/hypercall.S;
xen = kern/xen/init.c;
xen = term/xen/console.c;
xen = disk/xen/xendisk.c;
xen = commands/boot.c;
i386_xen_pvh = commands/boot.c;
i386_xen_pvh = disk/xen/xendisk.c;
i386_xen_pvh = kern/i386/tsc.c;
i386_xen_pvh = kern/i386/xen/tsc.c;
i386_xen_pvh = kern/i386/xen/pvh.c;
i386_xen_pvh = kern/xen/init.c;
i386_xen_pvh = term/xen/console.c;
2010-08-31 19:47:26 +00:00
ia64_efi = kern/ia64/efi/startup.S;
ia64_efi = kern/ia64/efi/init.c;
2011-01-03 01:28:14 +00:00
ia64_efi = kern/ia64/dl.c;
ia64_efi = kern/ia64/dl_helper.c;
ia64_efi = kern/ia64/cache.c;
2013-04-07 00:41:07 +00:00
arm_efi = kern/arm/efi/init.c;
arm_efi = kern/efi/fdt.c;
2013-04-07 00:41:07 +00:00
2016-02-12 11:43:02 +00:00
arm64_efi = kern/arm64/efi/init.c;
arm64_efi = kern/efi/fdt.c;
2013-11-16 19:52:55 +00:00
riscv32_efi = kern/riscv/efi/init.c;
riscv32_efi = kern/efi/fdt.c;
riscv64_efi = kern/riscv/efi/init.c;
riscv64_efi = kern/efi/fdt.c;
2010-05-06 06:04:04 +00:00
i386_pc = kern/i386/pc/init.c;
i386_pc = kern/i386/pc/mmap.c;
i386_pc = term/i386/pc/console.c;
i386_qemu = bus/pci.c;
i386_qemu = kern/vga_init.c;
i386_qemu = kern/i386/qemu/mmap.c;
2017-05-08 18:53:28 +00:00
coreboot = kern/coreboot/mmap.c;
i386_coreboot = kern/i386/coreboot/cbtable.c;
2017-05-08 18:53:28 +00:00
coreboot = kern/coreboot/cbtable.c;
arm_coreboot = kern/arm/coreboot/cbtable.c;
2010-05-10 08:20:43 +00:00
i386_multiboot = kern/i386/multiboot_mmap.c;
2010-05-06 06:04:04 +00:00
mips = kern/mips/cache.S;
mips = kern/mips/dl.c;
mips = kern/mips/init.c;
2011-05-13 14:36:05 +00:00
2011-05-17 12:02:18 +00:00
mips_qemu_mips = kern/mips/qemu_mips/init.c;
mips_qemu_mips = term/ns8250.c;
mips_qemu_mips = term/serial.c;
mips_qemu_mips = term/at_keyboard.c;
mips_qemu_mips = term/ps2.c;
mips_qemu_mips = commands/boot.c;
mips_qemu_mips = commands/keylayouts.c;
mips_qemu_mips = term/i386/pc/vga_text.c;
mips_qemu_mips = kern/vga_init.c;
2011-05-17 12:02:18 +00:00
2011-05-13 14:36:05 +00:00
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/ps2.c;
mips_loongson = commands/boot.c;
mips_loongson = term/serial.c;
mips_loongson = video/sm712.c;
mips_loongson = video/sis315pro.c;
mips_loongson = video/radeon_fuloong2e.c;
2013-12-17 21:51:13 +00:00
mips_loongson = video/radeon_yeeloong3a.c;
extra_dist = video/sm712_init.c;
extra_dist = video/sis315_init.c;
mips_loongson = commands/keylayouts.c;
2010-05-06 06:04:04 +00:00
powerpc_ieee1275 = kern/powerpc/cache.S;
powerpc_ieee1275 = kern/powerpc/dl.c;
powerpc_ieee1275 = kern/powerpc/compiler-rt.S;
sparc64_ieee1275 = kern/sparc64/cache.S;
sparc64_ieee1275 = kern/sparc64/dl.c;
2010-05-06 06:04:04 +00:00
sparc64_ieee1275 = kern/sparc64/ieee1275/ieee1275.c;
ieee1275: obdisk driver Add a new disk driver called obdisk for IEEE1275 platforms. Currently the only platform using this disk driver is SPARC, however other IEEE1275 platforms could start using it if they so choose. While the functionality within the current IEEE1275 ofdisk driver may be suitable for PPC and x86, it presented too many problems on SPARC hardware. Within the old ofdisk, there is not a way to determine the true canonical name for the disk. Within Open Boot, the same disk can have multiple names but all reference the same disk. For example the same disk can be referenced by its SAS WWN, using this form: /pci@302/pci@2/pci@0/pci@17/LSI,sas@0/disk@w5000cca02f037d6d,0 It can also be referenced by its PHY identifier using this form: /pci@302/pci@2/pci@0/pci@17/LSI,sas@0/disk@p0 It can also be referenced by its Target identifier using this form: /pci@302/pci@2/pci@0/pci@17/LSI,sas@0/disk@0 Also, when the LUN=0, it is legal to omit the ,0 from the device name. So with the disk above, before taking into account the device aliases, there are 6 ways to reference the same disk. Then it is possible to have 0 .. n device aliases all representing the same disk. Within this new driver the true canonical name is determined using the the IEEE1275 encode-unit and decode-unit commands when address_cells == 4. This will determine the true single canonical name for the device so multiple ihandles are not opened for the same device. This is what frequently happens with the old ofdisk driver. With some devices when they are opened multiple times it causes the entire system to hang. Another problem solved with this driver is devices that do not have a device alias can be booted and used within GRUB. Within the old ofdisk, this was not possible, unless it was the original boot device. All devices behind a SAS or SCSI parent can be found. Within the old ofdisk, finding these disks relied on there being an alias defined. The alias requirement is not necessary with this new driver. It can also find devices behind a parent after they have been hot-plugged. This is something that is not possible with the old ofdisk driver. The old ofdisk driver also incorrectly assumes that the device pointing to by a device alias is in its true canonical form. This assumption is never made with this new driver. Another issue solved with this driver is that it properly caches the ihandle for all open devices. The old ofdisk tries to do this by caching the last opened ihandle. However this does not work properly because the layer above does not use a consistent device name for the same disk when calling into the driver. This is because the upper layer uses the bootpath value returned within /chosen, other times it uses the device alias, and other times it uses the value within grub.cfg. It does not have a way to figure out that these devices are the same disk. This is not a problem with this new driver. Due to the way GRUB repeatedly opens and closes the same disk. Caching the ihandle is important on SPARC. Without caching, some SAS devices can take 15 - 20 minutes to get to the GRUB menu. This ihandle caching is not possible without correctly having the canonical disk name. When available, this driver also tries to use the deblocker #blocks and a way of determining the disk size. Finally and probably most importantly, this new driver is also capable of seeing all partitions on a GPT disk. With the old driver, the GPT partition table can not be read and only the first partition on the disk can be seen. Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2019-03-05 01:27:39 +00:00
sparc64_ieee1275 = disk/ieee1275/obdisk.c;
2010-05-06 06:04:04 +00:00
2013-04-07 00:41:07 +00:00
arm = kern/arm/dl.c;
2013-05-11 08:42:11 +00:00
arm = kern/arm/dl_helper.c;
arm = kern/arm/cache_armv6.S;
arm = kern/arm/cache_armv7.S;
extra_dist = kern/arm/cache.S;
arm = kern/arm/cache.c;
arm = kern/arm/compiler-rt.S;
2013-04-07 00:41:07 +00:00
2013-11-16 19:52:55 +00:00
arm64 = kern/arm64/cache.c;
arm64 = kern/arm64/cache_flush.S;
arm64 = kern/arm64/dl.c;
arm64 = kern/arm64/dl_helper.c;
riscv32 = kern/riscv/cache.c;
riscv32 = kern/riscv/cache_flush.S;
riscv32 = kern/riscv/dl.c;
riscv64 = kern/riscv/cache.c;
riscv64 = kern/riscv/cache_flush.S;
riscv64 = kern/riscv/dl.c;
emu = disk/host.c;
2011-01-02 23:30:26 +00:00
emu = kern/emu/cache_s.S;
2010-05-06 06:04:04 +00:00
emu = kern/emu/hostdisk.c;
emu = osdep/unix/hostdisk.c;
emu = osdep/exec.c;
extra_dist = osdep/unix/exec.c;
emu = osdep/devmapper/hostdisk.c;
emu = osdep/hostdisk.c;
2010-05-06 06:04:04 +00:00
emu = kern/emu/hostfs.c;
emu = kern/emu/main.c;
emu = kern/emu/argp_common.c;
emu = kern/emu/misc.c;
emu = kern/emu/mm.c;
emu = kern/emu/time.c;
2011-01-01 14:53:31 +00:00
emu = kern/emu/cache.c;
emu = osdep/emuconsole.c;
extra_dist = osdep/unix/emuconsole.c;
extra_dist = osdep/windows/emuconsole.c;
emu = osdep/dl.c;
extra_dist = osdep/unix/dl.c;
extra_dist = osdep/windows/dl.c;
emu = osdep/sleep.c;
emu = osdep/init.c;
emu = osdep/emunet.c;
extra_dist = osdep/linux/emunet.c;
extra_dist = osdep/basic/emunet.c;
emu = osdep/cputime.c;
extra_dist = osdep/unix/cputime.c;
extra_dist = osdep/windows/cputime.c;
2010-06-03 10:00:15 +00:00
videoinkernel = term/gfxterm.c;
videoinkernel = font/font.c;
videoinkernel = font/font_cmd.c;
videoinkernel = io/bufio.c;
videoinkernel = video/fb/fbblit.c;
videoinkernel = video/fb/fbfill.c;
videoinkernel = video/fb/fbutil.c;
videoinkernel = video/fb/video_fb.c;
videoinkernel = video/video.c;
extra_dist = kern/i386/int.S;
2010-06-03 10:00:15 +00:00
extra_dist = kern/i386/realmode.S;
extra_dist = boot/i386/pc/lzma_decode.S;
extra_dist = kern/mips/cache_flush.S;
2010-05-06 06:04:04 +00:00
};
program = {
name = grub-emu;
mansection = 1;
emu = kern/emu/full.c;
emu_nodist = grub_emu_init.c;
2010-05-06 06:04:04 +00:00
ldadd = 'kernel.exec$(EXEEXT)';
2010-05-06 06:04:04 +00:00
ldadd = '$(MODULE_FILES)';
ldadd = 'lib/gnulib/libgnu.a $(LIBINTL) $(LIBUTIL) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
2010-05-06 06:04:04 +00:00
2010-07-13 18:05:24 +00:00
enable = emu;
2010-05-06 06:04:04 +00:00
};
program = {
name = grub-emu-lite;
emu = kern/emu/lite.c;
emu_nodist = symlist.c;
2010-05-06 06:04:04 +00:00
ldadd = 'kernel.exec$(EXEEXT)';
ldadd = 'lib/gnulib/libgnu.a $(LIBINTL) $(LIBUTIL) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
2010-05-06 06:04:04 +00:00
2010-07-13 18:05:24 +00:00
enable = emu;
2010-05-06 06:04:04 +00:00
};
image = {
name = boot;
i386_pc = boot/i386/pc/boot.S;
i386_qemu = boot/i386/qemu/boot.S;
sparc64_ieee1275 = boot/sparc64/ieee1275/boot.S;
2010-06-07 11:53:54 +00:00
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
i386_qemu_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_qemu_ldflags = '$(TARGET_IMG_BASE_LDOPT),$(GRUB_BOOT_MACHINE_LINK_ADDR)';
2010-05-06 06:04:04 +00:00
i386_qemu_ccasflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
/* The entry point for a.out binaries on sparc64 starts
at 0x4000. Since we are writing the 32 bytes long a.out
header in the assembly code ourselves, we need to tell
the linker to adjust the start of the text segment to
0x4000 - 0x20 = 0x3fe0.
*/
sparc64_ieee1275_ldflags = ' -Wl,-Ttext=0x3fe0';
sparc64_ieee1275_objcopyflags = '-O binary';
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
enable = i386_pc;
enable = i386_qemu;
enable = sparc64_ieee1275;
2010-05-06 06:04:04 +00:00
};
image = {
name = boot_hybrid;
i386_pc = boot/i386/pc/boot.S;
cppflags = '-DHYBRID_BOOT=1';
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
objcopyflags = '-O binary';
enable = i386_pc;
};
2010-05-06 06:04:04 +00:00
image = {
name = cdboot;
2013-04-14 15:10:55 +00:00
2010-06-07 11:53:54 +00:00
i386_pc = boot/i386/pc/cdboot.S;
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
2013-04-14 15:10:55 +00:00
sparc64_ieee1275 = boot/sparc64/ieee1275/boot.S;
/* See comment for sparc64_ieee1275_ldflags above. */
sparc64_ieee1275_ldflags = ' -Wl,-Ttext=0x3fe0';
sparc64_ieee1275_objcopyflags = '-O binary';
2013-04-14 15:10:55 +00:00
sparc64_ieee1275_cppflags = '-DCDBOOT=1';
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
2013-04-14 15:10:55 +00:00
enable = sparc64_ieee1275;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
image = {
name = pxeboot;
2010-06-07 11:53:54 +00:00
i386_pc = boot/i386/pc/pxeboot.S;
2010-05-06 06:04:04 +00:00
2010-06-07 11:53:54 +00:00
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
image = {
name = diskboot;
i386_pc = boot/i386/pc/diskboot.S;
2010-06-07 11:53:54 +00:00
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x8000';
2010-05-06 06:04:04 +00:00
sparc64_ieee1275 = boot/sparc64/ieee1275/diskboot.S;
sparc64_ieee1275_ldflags = '-Wl,-Ttext=0x4200';
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
enable = i386_pc;
enable = sparc64_ieee1275;
2010-05-06 06:04:04 +00:00
};
image = {
name = lnxboot;
2010-06-07 11:53:54 +00:00
i386_pc = boot/i386/pc/lnxboot.S;
2010-05-06 06:04:04 +00:00
2010-06-07 11:53:54 +00:00
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x6000';
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
2010-09-21 08:14:08 +00:00
image = {
name = xz_decompress;
2010-09-21 08:14:08 +00:00
mips = boot/mips/startup_raw.S;
common = boot/decompressor/minilib.c;
common = boot/decompressor/xz.c;
2010-09-21 09:22:52 +00:00
common = lib/xzembed/xz_dec_bcj.c;
common = lib/xzembed/xz_dec_lzma2.c;
common = lib/xzembed/xz_dec_stream.c;
common = kern/compiler-rt.c;
2010-09-21 08:14:08 +00:00
SGI ARCS port. * Makefile.util.def (libgrubmods.a): Add dvh.c. * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips platforms. * configure.ac: New target mips-arc. * gentpl.py: Likewise. * grub-core/Makefile.am: Likewise. * grub-core/Makefile.core.def: Likewise. (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR. (none_decompress): Likewise. (lsdev): New module. (datetime): Use lib/arc/datetime.c on ARC. (part_dvh): New module. * grub-core/commands/arc/lsdev.c: New file. * grub-core/disk/arc/arcdisk.c: Likewise. * grub-core/kern/mips/arc/init.c: Likewise. * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte aligned addresses. * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian support. (grub_arch_dl_relocate_symbols): Likewise. * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here... * grub-core/kern/mips/init.c (grub_get_rtc): ... here. * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all platforms. * grub-core/lib/arc/datetime.c: New file. * grub-core/loader/mips/linux.c: Always include time.h. Don't include pci.h on non-loongson. (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove. (grub_linux_boot): Set unused registers to 0. (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp. * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ... * grub-core/mmap/mips/uppermem.c: ...here. * grub-core/partmap/dvh.c: New file. * grub-core/term/arc/console.c: Likewise. * grub-core/term/terminfo.c (ANSI_C0_STR): New const. (grub_terminfo_set_current): Add terminal "arc". (grub_terminfo_readkey): Support ARC sequences. * include/grub/arc/arc.h: New file. * include/grub/arc/console.h: Likewise. * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_ARCDISK_ID. * include/grub/mips/arc/kernel.h: New file. * include/grub/mips/arc/memory.h: Likewise. * include/grub/mips/arc/time.h: Likewise. * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ... * include/grub/mips/kernel.h (grub_halt): ... here. * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from here... * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here. (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ... * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant proto. * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here. (GRUB_ARCH_LOWMEMPSTART): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here. (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here. (GRUB_ARCH_HIGHMEMPSTART): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here. (grub_phys_addr_t): Moved from here ... * include/grub/mips/memory.h (grub_phys_addr_t): ... here. (grub_vtop): Moved from here ... * include/grub/mips/memory.h (grub_vtop): ... here. (grub_map_memory): Moved from here ... * include/grub/mips/memory.h (grub_map_memory): ... here. (grub_unmap_memory): Moved from here ... * include/grub/mips/memory.h (grub_unmap_memory): ... here. (grub_machine_mmap_iterate): Moved from here ... * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here. (grub_mmap_get_lower): Moved from here ... * include/grub/mips/memory.h (grub_mmap_get_lower): ... here. (grub_mmap_get_upper): Moved from here ... * include/grub/mips/memory.h (grub_mmap_get_upper): ... here. * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from here ... * include/grub/mips/time.h (grub_arch_cpuclock): ... here. * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from here ... * include/grub/mips/time.h (grub_get_rtc): ... here. * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from here ... * include/grub/mips/time.h (grub_arch_cpuclock): ... here. * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from here ... * include/grub/mips/time.h (grub_cpu_idle): ... here. * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New definition. (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise. (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise. (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise. (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise. (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise. (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise. (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise. (GRUB_MACHINE_LINK_ADDR): Likewise. * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased to 6. * util/grub-install.in: Run dvhtool on ARC. * util/grub-mkimage.c (image_targets): Add mips-arc.
2011-05-17 07:17:38 +00:00
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1';
2010-09-21 08:14:08 +00:00
objcopyflags = '-O binary';
mips_ldflags = '-Wl,-Ttext,$(TARGET_DECOMPRESSOR_LINK_ADDR)';
cflags = '-Wno-unreachable-code';
2010-09-21 08:14:08 +00:00
enable = mips;
};
image = {
name = none_decompress;
mips = boot/mips/startup_raw.S;
common = boot/decompressor/none.c;
SGI ARCS port. * Makefile.util.def (libgrubmods.a): Add dvh.c. * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips platforms. * configure.ac: New target mips-arc. * gentpl.py: Likewise. * grub-core/Makefile.am: Likewise. * grub-core/Makefile.core.def: Likewise. (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR. (none_decompress): Likewise. (lsdev): New module. (datetime): Use lib/arc/datetime.c on ARC. (part_dvh): New module. * grub-core/commands/arc/lsdev.c: New file. * grub-core/disk/arc/arcdisk.c: Likewise. * grub-core/kern/mips/arc/init.c: Likewise. * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte aligned addresses. * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian support. (grub_arch_dl_relocate_symbols): Likewise. * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here... * grub-core/kern/mips/init.c (grub_get_rtc): ... here. * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all platforms. * grub-core/lib/arc/datetime.c: New file. * grub-core/loader/mips/linux.c: Always include time.h. Don't include pci.h on non-loongson. (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove. (grub_linux_boot): Set unused registers to 0. (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp. * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ... * grub-core/mmap/mips/uppermem.c: ...here. * grub-core/partmap/dvh.c: New file. * grub-core/term/arc/console.c: Likewise. * grub-core/term/terminfo.c (ANSI_C0_STR): New const. (grub_terminfo_set_current): Add terminal "arc". (grub_terminfo_readkey): Support ARC sequences. * include/grub/arc/arc.h: New file. * include/grub/arc/console.h: Likewise. * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_ARCDISK_ID. * include/grub/mips/arc/kernel.h: New file. * include/grub/mips/arc/memory.h: Likewise. * include/grub/mips/arc/time.h: Likewise. * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ... * include/grub/mips/kernel.h (grub_halt): ... here. * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from here... * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here. (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ... * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant proto. * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here. (GRUB_ARCH_LOWMEMPSTART): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here. (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here. (GRUB_ARCH_HIGHMEMPSTART): Moved from here ... * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here. (grub_phys_addr_t): Moved from here ... * include/grub/mips/memory.h (grub_phys_addr_t): ... here. (grub_vtop): Moved from here ... * include/grub/mips/memory.h (grub_vtop): ... here. (grub_map_memory): Moved from here ... * include/grub/mips/memory.h (grub_map_memory): ... here. (grub_unmap_memory): Moved from here ... * include/grub/mips/memory.h (grub_unmap_memory): ... here. (grub_machine_mmap_iterate): Moved from here ... * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here. (grub_mmap_get_lower): Moved from here ... * include/grub/mips/memory.h (grub_mmap_get_lower): ... here. (grub_mmap_get_upper): Moved from here ... * include/grub/mips/memory.h (grub_mmap_get_upper): ... here. * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from here ... * include/grub/mips/time.h (grub_arch_cpuclock): ... here. * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from here ... * include/grub/mips/time.h (grub_get_rtc): ... here. * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from here ... * include/grub/mips/time.h (grub_arch_cpuclock): ... here. * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from here ... * include/grub/mips/time.h (grub_cpu_idle): ... here. * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New definition. (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise. (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise. (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise. (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise. (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise. (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise. (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise. (GRUB_MACHINE_LINK_ADDR): Likewise. * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased to 6. * util/grub-install.in: Run dvhtool on ARC. * util/grub-mkimage.c (image_targets): Add mips-arc.
2011-05-17 07:17:38 +00:00
cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1';
objcopyflags = '-O binary';
mips_ldflags = '-Wl,-Ttext,$(TARGET_DECOMPRESSOR_LINK_ADDR)';
enable = mips;
};
image = {
name = lzma_decompress;
i386_pc = boot/i386/pc/startup_raw.S;
2013-06-07 16:23:08 +00:00
i386_pc_nodist = rs_decoder.h;
objcopyflags = '-O binary';
ldflags = '$(TARGET_IMG_LDFLAGS) $(TARGET_IMG_BASE_LDOPT),0x8200';
enable = i386_pc;
};
2010-07-12 19:13:28 +00:00
image = {
name = fwstart;
mips_loongson = boot/mips/loongson/fwstart.S;
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
ldflags = '-Wl,-N,-S,-Ttext,0xbfc00000,-Bstatic';
enable = mips_loongson;
2010-07-12 19:13:28 +00:00
};
image = {
name = fwstart_fuloong2f;
mips_loongson = boot/mips/loongson/fuloong2f.S;
2010-07-13 18:05:24 +00:00
objcopyflags = '-O binary';
ldflags = '-Wl,-N,-S,-Ttext,0xbfc00000,-Bstatic';
enable = mips_loongson;
2010-07-12 19:13:28 +00:00
};
module = {
name = disk;
common = lib/disk.c;
extra_dist = kern/disk_common.c;
};
2010-06-07 15:58:37 +00:00
module = {
name = trig;
common_nodist = trigtables.c;
2010-06-07 15:58:37 +00:00
extra_dist = gentrigtables.c;
};
2010-06-08 04:06:44 +00:00
module = {
name = cs5536;
2010-08-23 07:53:56 +00:00
x86 = bus/cs5536.c;
enable = x86;
2010-06-08 04:06:44 +00:00
};
2010-07-12 19:13:28 +00:00
module = {
name = lsspd;
mips_loongson = commands/mips/loongson/lsspd.c;
enable = mips_loongson;
2010-07-12 19:13:28 +00:00
};
2010-05-06 06:04:04 +00:00
module = {
name = usb;
common = bus/usb/usb.c;
common = bus/usb/usbtrans.c;
common = bus/usb/usbhub.c;
enable = usb;
};
2010-08-22 15:30:22 +00:00
module = {
name = usbserial_common;
common = bus/usb/serial/common.c;
enable = usb;
2010-08-22 15:30:22 +00:00
};
module = {
name = usbserial_pl2303;
common = bus/usb/serial/pl2303.c;
enable = usb;
2010-08-22 15:30:22 +00:00
};
module = {
name = usbserial_ftdi;
common = bus/usb/serial/ftdi.c;
enable = usb;
2010-08-22 15:30:22 +00:00
};
module = {
name = usbserial_usbdebug;
common = bus/usb/serial/usbdebug_late.c;
enable = usb;
};
2010-05-06 06:04:04 +00:00
module = {
name = uhci;
common = bus/usb/uhci.c;
enable = pci;
2010-05-06 06:04:04 +00:00
};
module = {
name = ohci;
common = bus/usb/ohci.c;
enable = pci;
2010-05-06 06:04:04 +00:00
};
2011-10-01 18:18:47 +00:00
module = {
name = ehci;
common = bus/usb/ehci.c;
2017-05-08 20:14:28 +00:00
arm_coreboot = bus/usb/ehci-fdt.c;
pci = bus/usb/ehci-pci.c;
2011-10-01 18:18:47 +00:00
enable = pci;
2017-05-08 20:14:28 +00:00
enable = arm_coreboot;
2011-10-01 18:18:47 +00:00
};
2010-05-06 06:04:04 +00:00
module = {
name = pci;
common = bus/pci.c;
i386_ieee1275 = bus/i386/ieee1275/pci.c;
2010-07-14 20:32:01 +00:00
2010-07-13 18:05:24 +00:00
enable = i386_pc;
enable = i386_ieee1275;
enable = i386_coreboot;
2010-08-28 22:46:36 +00:00
enable = i386_multiboot;
};
2013-04-28 13:31:33 +00:00
module = {
name = nativedisk;
common = commands/nativedisk.c;
enable = x86;
enable = mips_loongson;
enable = mips_qemu_mips;
2013-04-28 13:31:33 +00:00
};
module = {
name = emupci;
common = bus/emu/pci.c;
common = commands/lspci.c;
enable = emu;
condition = COND_GRUB_EMU_PCI;
2010-05-06 06:04:04 +00:00
};
2011-05-13 14:36:05 +00:00
module = {
name = lsdev;
common = commands/arc/lsdev.c;
enable = mips_arc;
};
module = {
name = lsxen;
common = commands/xen/lsxen.c;
enable = xen;
};
2010-08-19 11:24:00 +00:00
module = {
name = cmostest;
common = commands/i386/cmostest.c;
enable = cmos;
2010-08-19 11:24:00 +00:00
};
2013-02-24 18:44:17 +00:00
module = {
name = cmosdump;
common = commands/i386/cmosdump.c;
enable = cmos;
};
2010-05-06 06:04:04 +00:00
module = {
name = iorw;
common = commands/iorw.c;
2010-08-23 07:53:56 +00:00
enable = x86;
2010-05-06 06:04:04 +00:00
};
module = {
name = cbtable;
common = kern/i386/coreboot/cbtable.c;
common = kern/coreboot/cbtable.c;
enable = i386_pc;
enable = i386_efi;
enable = i386_qemu;
enable = i386_multiboot;
enable = i386_ieee1275;
enable = x86_64_efi;
};
module = {
name = cbtime;
common = commands/i386/coreboot/cb_timestamps.c;
enable = x86;
};
module = {
name = cbls;
common = commands/i386/coreboot/cbls.c;
enable = x86;
};
module = {
name = cbmemc;
common = term/i386/coreboot/cbmemc.c;
enable = x86;
};
2010-05-06 06:04:04 +00:00
module = {
name = regexp;
common = commands/regexp.c;
2010-08-26 06:41:57 +00:00
common = commands/wildcard.c;
common = lib/gnulib/regex.c;
2010-05-06 06:04:04 +00:00
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)';
};
module = {
name = acpi;
common = commands/acpi.c;
i386_pc = kern/acpi.c;
i386_pc = kern/i386/pc/acpi.c;
2010-07-13 18:05:24 +00:00
2010-08-31 19:47:26 +00:00
enable = efi;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
enable = i386_coreboot;
enable = i386_multiboot;
2010-05-06 06:04:04 +00:00
};
module = {
name = lsacpi;
common = commands/lsacpi.c;
enable = efi;
enable = i386_pc;
enable = i386_coreboot;
enable = i386_multiboot;
};
module = {
name = lsefisystab;
common = commands/efi/lsefisystab.c;
enable = efi;
};
module = {
name = lssal;
common = commands/efi/lssal.c;
enable = efi;
};
module = {
name = lsefimmap;
common = commands/efi/lsefimmap.c;
enable = efi;
};
module = {
name = lsefi;
common = commands/efi/lsefi.c;
enable = efi;
};
module = {
name = efifwsetup;
efi = commands/efi/efifwsetup.c;
enable = efi;
};
2010-05-06 06:04:04 +00:00
module = {
name = blocklist;
common = commands/blocklist.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = boot;
common = commands/boot.c;
2010-05-06 06:04:04 +00:00
i386_pc = lib/i386/pc/biosnum.c;
enable = x86;
enable = emu;
enable = sparc64_ieee1275;
enable = powerpc_ieee1275;
enable = mips_arc;
enable = ia64_efi;
2013-07-17 17:03:11 +00:00
enable = arm_efi;
2013-11-16 19:52:55 +00:00
enable = arm64_efi;
2013-07-17 17:03:11 +00:00
enable = arm_uboot;
2017-05-08 18:53:28 +00:00
enable = arm_coreboot;
enable = riscv32_efi;
enable = riscv64_efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = cat;
common = commands/cat.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = cmp;
common = commands/cmp.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = configfile;
common = commands/configfile.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = cpuid;
common = commands/i386/cpuid.c;
2010-07-13 18:05:24 +00:00
enable = x86;
enable = i386_xen_pvh;
enable = i386_xen;
enable = x86_64_xen;
2010-05-06 06:04:04 +00:00
};
module = {
name = date;
common = commands/date.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = drivemap;
i386_pc = commands/i386/pc/drivemap.c;
i386_pc = commands/i386/pc/drivemap_int13h.S;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = echo;
common = commands/echo.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = eval;
common = commands/eval.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = extcmd;
common = commands/extcmd.c;
common = lib/arg.c;
enable = terminfomodule;
2010-05-06 06:04:04 +00:00
};
module = {
name = fixvideo;
2010-08-31 19:47:26 +00:00
common = commands/efi/fixvideo.c;
enable = i386_efi;
enable = x86_64_efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = gptsync;
common = commands/gptsync.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = halt;
nopc = commands/halt.c;
2010-05-06 06:04:04 +00:00
i386_pc = commands/i386/pc/halt.c;
i386_pc = commands/acpihalt.c;
i386_coreboot = commands/acpihalt.c;
i386_multiboot = commands/acpihalt.c;
2011-01-03 01:28:14 +00:00
i386_efi = commands/acpihalt.c;
x86_64_efi = commands/acpihalt.c;
2010-08-25 21:39:42 +00:00
i386_multiboot = lib/i386/halt.c;
i386_coreboot = lib/i386/halt.c;
i386_qemu = lib/i386/halt.c;
xen = lib/xen/halt.c;
i386_xen_pvh = lib/xen/halt.c;
2010-08-31 19:47:26 +00:00
efi = lib/efi/halt.c;
2010-08-25 21:39:42 +00:00
ieee1275 = lib/ieee1275/halt.c;
emu = lib/emu/halt.c;
uboot = lib/dummy/halt.c;
2017-05-08 18:53:28 +00:00
arm_coreboot = lib/dummy/halt.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = reboot;
i386 = lib/i386/reboot.c;
i386 = lib/i386/reboot_trampoline.S;
powerpc_ieee1275 = lib/ieee1275/reboot.c;
sparc64_ieee1275 = lib/ieee1275/reboot.c;
mips_arc = lib/mips/arc/reboot.c;
mips_loongson = lib/mips/loongson/reboot.c;
mips_qemu_mips = lib/mips/qemu_mips/reboot.c;
xen = lib/xen/reboot.c;
i386_xen_pvh = lib/xen/reboot.c;
2013-04-07 00:41:07 +00:00
uboot = lib/uboot/reboot.c;
2017-05-08 18:53:28 +00:00
arm_coreboot = lib/dummy/reboot.c;
common = commands/reboot.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = hashsum;
common = commands/hashsum.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = pgp;
common = commands/pgp.c;
cflags = '$(CFLAGS_POSIX)';
cppflags = '-I$(srcdir)/lib/posix_wrap';
};
module = {
name = verifiers;
common = commands/verifiers.c;
};
module = {
name = shim_lock;
common = commands/efi/shim_lock.c;
enable = x86_64_efi;
};
2010-05-06 06:04:04 +00:00
module = {
name = hdparm;
common = commands/hdparm.c;
enable = pci;
enable = mips_qemu_mips;
2010-05-06 06:04:04 +00:00
};
module = {
name = help;
common = commands/help.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = hexdump;
common = commands/hexdump.c;
common = lib/hexdump.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = keystatus;
common = commands/keystatus.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = loadbios;
2010-08-31 19:47:26 +00:00
common = commands/efi/loadbios.c;
enable = i386_efi;
enable = x86_64_efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = loadenv;
common = commands/loadenv.c;
common = lib/envblk.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ls;
common = commands/ls.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = lsmmap;
common = commands/lsmmap.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = lspci;
common = commands/lspci.c;
2010-05-06 06:04:04 +00:00
enable = pci;
2010-05-06 06:04:04 +00:00
};
module = {
name = memrw;
common = commands/memrw.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = minicmd;
common = commands/minicmd.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = parttool;
common = commands/parttool.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = password;
common = commands/password.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = password_pbkdf2;
common = commands/password_pbkdf2.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = play;
2010-08-23 07:53:56 +00:00
x86 = commands/i386/pc/play.c;
enable = x86;
2010-05-06 06:04:04 +00:00
};
module = {
name = spkmodem;
x86 = term/spkmodem.c;
enable = x86;
};
module = {
name = morse;
x86 = term/morse.c;
enable = x86;
};
2010-05-06 06:04:04 +00:00
module = {
name = probe;
common = commands/probe.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = read;
common = commands/read.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = search;
common = commands/search_wrap.c;
2010-06-03 10:00:15 +00:00
extra_dist = commands/search.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = search_fs_file;
common = commands/search_file.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = search_fs_uuid;
common = commands/search_uuid.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = search_label;
common = commands/search_label.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = setpci;
common = commands/setpci.c;
enable = pci;
2010-05-06 06:04:04 +00:00
};
2013-01-16 19:44:11 +00:00
module = {
name = pcidump;
common = commands/pcidump.c;
enable = pci;
};
2010-05-06 06:04:04 +00:00
module = {
name = sleep;
common = commands/sleep.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = smbios;
common = commands/smbios.c;
efi = commands/efi/smbios.c;
i386_pc = commands/i386/pc/smbios.c;
i386_coreboot = commands/i386/pc/smbios.c;
i386_multiboot = commands/i386/pc/smbios.c;
enable = efi;
enable = i386_pc;
enable = i386_coreboot;
enable = i386_multiboot;
};
2010-05-06 06:04:04 +00:00
module = {
name = suspend;
ieee1275 = commands/ieee1275/suspend.c;
2010-07-13 18:05:24 +00:00
enable = i386_ieee1275;
enable = powerpc_ieee1275;
2010-05-06 06:04:04 +00:00
};
module = {
name = escc;
ieee1275 = term/ieee1275/escc.c;
enable = powerpc_ieee1275;
};
2010-05-06 06:04:04 +00:00
module = {
name = terminal;
common = commands/terminal.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = test;
common = commands/test.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = true;
common = commands/true.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = usbtest;
common = commands/usbtest.c;
enable = usb;
2010-05-06 06:04:04 +00:00
};
module = {
2010-09-03 19:19:22 +00:00
name = videoinfo;
common = commands/videoinfo.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = videotest;
common = commands/videotest.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = xnu_uuid;
common = commands/xnu_uuid.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = dm_nv;
common = disk/dmraid_nvidia.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = loopback;
common = disk/loopback.c;
2010-05-06 06:04:04 +00:00
};
2011-04-23 16:00:42 +00:00
module = {
name = cryptodisk;
common = disk/cryptodisk.c;
};
json: Import upstream jsmn-1.1.0 The upcoming support for LUKS2 encryption will require a JSON parser to decode all parameters required for decryption of a drive. As there is currently no other tool that requires JSON, and as gnulib does not provide a parser, we need to introduce a new one into the code base. The backend for the JSON implementation is going to be the jsmn library [1]. It has several benefits that make it a very good fit for inclusion in GRUB: - It is licensed under MIT. - It is written in C89. - It has no dependencies, not even libc. - It is small with only about 500 lines of code. - It doesn't do any dynamic memory allocation. - It is testen on x86, amd64, ARM and AVR. The library itself comes as a single header, only, that contains both declarations and definitions. The exposed interface is kind of simplistic, though, and does not provide any convenience features whatsoever. Thus there will be a separate interface provided by GRUB around this parser that is going to be implemented in the following commit. This change only imports jsmn.h from tag v1.1.0 and adds it unmodified to a new json module with the following command: curl -L https://raw.githubusercontent.com/zserge/jsmn/v1.1.0/jsmn.h \ -o grub-core/lib/json/jsmn.h Upstream jsmn commit hash: fdcef3ebf886fa210d14956d3c068a653e76a24e Upstream jsmn commit name: Modernize (#149), 2019-04-20 [1]: https://github.com/zserge/jsmn Signed-off-by: Patrick Steinhardt <ps@pks.im> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2019-12-27 15:18:34 +00:00
module = {
name = json;
common = lib/json/json.c;
};
module = {
name = afsplitter;
common = disk/AFSplitter.c;
};
module = {
name = luks;
common = disk/luks.c;
};
disk: Implement support for LUKS2 With cryptsetup 2.0, a new version of LUKS was introduced that breaks compatibility with the previous version due to various reasons. GRUB currently lacks any support for LUKS2, making it impossible to decrypt disks encrypted with that version. This commit implements support for this new format. Note that LUKS1 and LUKS2 are quite different data formats. While they do share the same disk signature in the first few bytes, representation of encryption parameters is completely different between both versions. While the former version one relied on a single binary header, only, LUKS2 uses the binary header only in order to locate the actual metadata which is encoded in JSON. Furthermore, the new data format is a lot more complex to allow for more flexible setups, like e.g. having multiple encrypted segments and other features that weren't previously possible. Because of this, it was decided that it doesn't make sense to keep both LUKS1 and LUKS2 support in the same module and instead to implement it in two different modules luks and luks2. The proposed support for LUKS2 is able to make use of the metadata to decrypt such disks. Note though that in the current version, only the PBKDF2 key derival function is supported. This can mostly attributed to the fact that the libgcrypt library currently has no support for either Argon2i or Argon2id, which are the remaining KDFs supported by LUKS2. It wouldn't have been much of a problem to bundle those algorithms with GRUB itself, but it was decided against that in order to keep down the number of patches required for initial LUKS2 support. Adding it in the future would be trivial, given that the code structure is already in place. Signed-off-by: Patrick Steinhardt <ps@pks.im> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2019-12-27 15:18:39 +00:00
module = {
name = luks2;
common = disk/luks2.c;
common = lib/gnulib/base64.c;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json';
};
2011-04-23 22:00:29 +00:00
module = {
name = geli;
common = disk/geli.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = lvm;
common = disk/lvm.c;
2010-05-06 06:04:04 +00:00
};
Merge common RAID and LVM logic to an abstract diskfilter. Add LDM support using the same framework. * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c, grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c. (libgrubmods): Remove grub-core/disk/raid.c and grub-core/partmap/gpt.c. * grub-core/Makefile.core.def (ldm): New module. (raid): Renamed to diskfilter. All users updated. * grub-core/disk/raid.c: Moved to ... * grub-core/disk/diskfilter.c: ... here. * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_. (lv_num): New var. (find_array): Renamed to ... (find_lv): ... this. Support multi-LV. Skip nameless LVs (grub_is_array_readable): Renamed to ... (grub_is_lv_readable): ... this. Support multinode hierarchy. (insert_array): New argument id. (is_node_readable): New function. (scan_device): Rename to ... (scan_disk): .. this. Restrict to one disk. (scan_devices): New function. (grub_diskfilter_iterate): Support multi-LV. Skip invisible and nameless LVs. (grub_diskfilter_memberlist): Support multi-LV. (grub_diskfilter_read_node): New function. (grub_raid_read): Most of logic moved to ... (read_segment): ... here (read_lv): New function. (grub_diskfilter_get_vg_by_uuid): New function. (grub_diskfilter_make_raid): Likewise. * grub-core/disk/ldm.c: New file. * grub-core/disk/lvm.c (vg_list): Removed. (lv_count): Likewise. (scan_depth): Likewise. (is_lv_readable): Likewise. (grub_lvm_getvalue): Advance pointer past the number. (find_lv): Removed. (do_lvm_scan): Refactored into ... (grub_lvm_detect): ... this. Support raid. (grub_lvm_iterate): Removed. (grub_lvm_memberlist): Likewise. (grub_lvm_open): Likewise. (grub_lvm_close): Likewise. (read_lv): Likewise. (read_node): Likewise. (is_node_readable): Likewise. (is_lv_readable): Likewise. (grub_lvm_read): Likewise. (grub_lvm_write): Likewise. (grub_lvm_dev): Use diskfilter (GRUB_MOD_INIT): Likewise. (GRUB_MOD_FINI): Likewise. * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use new interface. * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise. * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise. * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use grub_diskfilter_read_node. Fix a bug with xor. * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use grub_diskfilter_read_node. Support GRUB_RAID_LAYOUT_MUL_FROM_POS. * grub-core/kern/disk.c (grub_disk_dev_list): Make global. (grub_disk_dev_iterate): Move from here... * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined. * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start): Make global. (grub_hostdisk_find_partition_start): Likewise. (grub_hostdisk_os_dev_to_grub_drive): New function. (grub_util_biosdisk_get_osdev): Check that disk is biosdisk. * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ... * util/getroot.c (make_device_name): ... here. * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info): Move to ... * util/getroot.c (grub_util_get_dm_node_linear_info): ...here. * grub-core/kern/emu/hostdisk.c (convert_system_partition_to_system_disk): Move to ... * util/getroot.c (convert_system_partition_to_system_disk): ...here. * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ... * util/getroot.c (device_is_wholedisk): ... here. * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ... * util/getroot.c (find_system_device): ... here. * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present): Move to ... * util/getroot.c (grub_util_biosdisk_is_present): ...here. * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Move to ... * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here. Handle LDM. * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Move to ... * util/getroot.c (grub_util_biosdisk_is_floppy): ... here. * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global. * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with DISKFILTER. * include/grub/raid.h: Renamed to ... * include/grub/diskfilter.h: ... this. * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_* (GRUB_RAID_LAYOUT_*): Make into array. (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value. (grub_diskfilter_vg): New struct. (grub_diskfilter_pv_id): Likewise. (grub_raid_member): Removed. (grub_raid_array): Likewise. (grub_diskfilter_pv): New struct. (grub_diskfilter_lv): Likewise. (grub_diskfilter_segment): Likewise. (grub_diskfilter_node): Likewise. (grub_diskfilter_get_vg_by_uuid): New proto. (grub_raid_register): Inline. (grub_diskfilter_unregister): Likewise. (grub_diskfilter_make_raid): New proto. (grub_diskfilter_vg_register): Likewise. (grub_diskfilter_read_node): Likewise. (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise. * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto. (grub_util_is_ldm): Likewise. (grub_util_ldm_embed) [GRUB_UTIL]: Likewise. (grub_hostdisk_find_partition_start): Likewise. (grub_hostdisk_os_dev_to_grub_drive): Likewise. * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM): New definition. (grub_gpt_partition_map_iterate): New proto. * include/grub/lvm.h (grub_lvm_vg): Removed. (grub_lvm_pv): Likewise. (grub_lvm_lv): Likewise. (grub_lvm_segment): Likewise. (grub_lvm_node): Likewise. * util/getroot.c [...] * util/grub-probe.c (probe_raid_level): Handle diskfilter. (probe_abstraction): Likewise. * util/grub-setup.c (setup): Remove must_embed. Support LDM. (main): Remove dead logic.
2012-01-29 13:28:01 +00:00
module = {
name = ldm;
common = disk/ldm.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = mdraid09;
common = disk/mdraid_linux.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = mdraid09_be;
common = disk/mdraid_linux_be.c;
};
module = {
name = mdraid1x;
common = disk/mdraid1x_linux.c;
};
2010-05-06 06:04:04 +00:00
module = {
Merge common RAID and LVM logic to an abstract diskfilter. Add LDM support using the same framework. * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c, grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c. (libgrubmods): Remove grub-core/disk/raid.c and grub-core/partmap/gpt.c. * grub-core/Makefile.core.def (ldm): New module. (raid): Renamed to diskfilter. All users updated. * grub-core/disk/raid.c: Moved to ... * grub-core/disk/diskfilter.c: ... here. * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_. (lv_num): New var. (find_array): Renamed to ... (find_lv): ... this. Support multi-LV. Skip nameless LVs (grub_is_array_readable): Renamed to ... (grub_is_lv_readable): ... this. Support multinode hierarchy. (insert_array): New argument id. (is_node_readable): New function. (scan_device): Rename to ... (scan_disk): .. this. Restrict to one disk. (scan_devices): New function. (grub_diskfilter_iterate): Support multi-LV. Skip invisible and nameless LVs. (grub_diskfilter_memberlist): Support multi-LV. (grub_diskfilter_read_node): New function. (grub_raid_read): Most of logic moved to ... (read_segment): ... here (read_lv): New function. (grub_diskfilter_get_vg_by_uuid): New function. (grub_diskfilter_make_raid): Likewise. * grub-core/disk/ldm.c: New file. * grub-core/disk/lvm.c (vg_list): Removed. (lv_count): Likewise. (scan_depth): Likewise. (is_lv_readable): Likewise. (grub_lvm_getvalue): Advance pointer past the number. (find_lv): Removed. (do_lvm_scan): Refactored into ... (grub_lvm_detect): ... this. Support raid. (grub_lvm_iterate): Removed. (grub_lvm_memberlist): Likewise. (grub_lvm_open): Likewise. (grub_lvm_close): Likewise. (read_lv): Likewise. (read_node): Likewise. (is_node_readable): Likewise. (is_lv_readable): Likewise. (grub_lvm_read): Likewise. (grub_lvm_write): Likewise. (grub_lvm_dev): Use diskfilter (GRUB_MOD_INIT): Likewise. (GRUB_MOD_FINI): Likewise. * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use new interface. * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise. * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise. * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use grub_diskfilter_read_node. Fix a bug with xor. * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use grub_diskfilter_read_node. Support GRUB_RAID_LAYOUT_MUL_FROM_POS. * grub-core/kern/disk.c (grub_disk_dev_list): Make global. (grub_disk_dev_iterate): Move from here... * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined. * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start): Make global. (grub_hostdisk_find_partition_start): Likewise. (grub_hostdisk_os_dev_to_grub_drive): New function. (grub_util_biosdisk_get_osdev): Check that disk is biosdisk. * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ... * util/getroot.c (make_device_name): ... here. * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info): Move to ... * util/getroot.c (grub_util_get_dm_node_linear_info): ...here. * grub-core/kern/emu/hostdisk.c (convert_system_partition_to_system_disk): Move to ... * util/getroot.c (convert_system_partition_to_system_disk): ...here. * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ... * util/getroot.c (device_is_wholedisk): ... here. * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ... * util/getroot.c (find_system_device): ... here. * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present): Move to ... * util/getroot.c (grub_util_biosdisk_is_present): ...here. * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Move to ... * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here. Handle LDM. * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Move to ... * util/getroot.c (grub_util_biosdisk_is_floppy): ... here. * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global. * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with DISKFILTER. * include/grub/raid.h: Renamed to ... * include/grub/diskfilter.h: ... this. * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_* (GRUB_RAID_LAYOUT_*): Make into array. (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value. (grub_diskfilter_vg): New struct. (grub_diskfilter_pv_id): Likewise. (grub_raid_member): Removed. (grub_raid_array): Likewise. (grub_diskfilter_pv): New struct. (grub_diskfilter_lv): Likewise. (grub_diskfilter_segment): Likewise. (grub_diskfilter_node): Likewise. (grub_diskfilter_get_vg_by_uuid): New proto. (grub_raid_register): Inline. (grub_diskfilter_unregister): Likewise. (grub_diskfilter_make_raid): New proto. (grub_diskfilter_vg_register): Likewise. (grub_diskfilter_read_node): Likewise. (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise. * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto. (grub_util_is_ldm): Likewise. (grub_util_ldm_embed) [GRUB_UTIL]: Likewise. (grub_hostdisk_find_partition_start): Likewise. (grub_hostdisk_os_dev_to_grub_drive): Likewise. * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM): New definition. (grub_gpt_partition_map_iterate): New proto. * include/grub/lvm.h (grub_lvm_vg): Removed. (grub_lvm_pv): Likewise. (grub_lvm_lv): Likewise. (grub_lvm_segment): Likewise. (grub_lvm_node): Likewise. * util/getroot.c [...] * util/grub-probe.c (probe_raid_level): Handle diskfilter. (probe_abstraction): Likewise. * util/grub-setup.c (setup): Remove must_embed. Support LDM. (main): Remove dead logic.
2012-01-29 13:28:01 +00:00
name = diskfilter;
common = disk/diskfilter.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = raid5rec;
common = disk/raid5_recover.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = raid6rec;
common = disk/raid6_recover.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = scsi;
common = disk/scsi.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = memdisk;
common = disk/memdisk.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ata;
common = disk/ata.c;
enable = pci;
2011-05-17 12:35:55 +00:00
enable = mips_qemu_mips;
2010-05-06 06:04:04 +00:00
};
module = {
2010-12-24 15:16:01 +00:00
name = ahci;
common = disk/ahci.c;
enable = pci;
2010-05-06 06:04:04 +00:00
};
2010-12-24 15:16:01 +00:00
module = {
name = pata;
common = disk/pata.c;
enable = pci;
2011-05-17 12:35:55 +00:00
enable = mips_qemu_mips;
2010-05-06 06:04:04 +00:00
};
module = {
name = biosdisk;
i386_pc = disk/i386/pc/biosdisk.c;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = usbms;
common = disk/usbms.c;
enable = usb;
2010-05-06 06:04:04 +00:00
};
module = {
name = nand;
ieee1275 = disk/ieee1275/nand.c;
2010-07-13 18:05:24 +00:00
enable = i386_ieee1275;
2010-05-06 06:04:04 +00:00
};
module = {
name = efiemu;
common = efiemu/main.c;
common = efiemu/i386/loadcore32.c;
common = efiemu/i386/loadcore64.c;
2010-05-06 06:04:04 +00:00
i386_pc = efiemu/i386/pc/cfgtables.c;
2010-08-25 20:34:15 +00:00
i386_coreboot = efiemu/i386/pc/cfgtables.c;
i386_multiboot = efiemu/i386/pc/cfgtables.c;
i386_ieee1275 = efiemu/i386/nocfgtables.c;
2010-08-28 22:53:09 +00:00
i386_qemu = efiemu/i386/nocfgtables.c;
common = efiemu/mm.c;
common = efiemu/loadcore_common.c;
common = efiemu/symbols.c;
common = efiemu/loadcore32.c;
common = efiemu/loadcore64.c;
common = efiemu/prepare32.c;
common = efiemu/prepare64.c;
common = efiemu/pnvram.c;
common = efiemu/i386/coredetect.c;
2010-06-03 06:22:33 +00:00
extra_dist = efiemu/prepare.c;
extra_dist = efiemu/loadcore.c;
extra_dist = efiemu/runtime/efiemu.S;
extra_dist = efiemu/runtime/efiemu.c;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-08-25 20:34:15 +00:00
enable = i386_coreboot;
enable = i386_ieee1275;
enable = i386_multiboot;
2010-08-28 22:53:09 +00:00
enable = i386_qemu;
2010-05-06 06:04:04 +00:00
};
module = {
name = font;
common = font/font.c;
common = font/font_cmd.c;
enable = videomodules;
2010-05-06 06:04:04 +00:00
};
module = {
name = procfs;
common = fs/proc.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = affs;
common = fs/affs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = afs;
common = fs/afs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = bfs;
common = fs/bfs.c;
2010-05-06 06:04:04 +00:00
};
zstd: Import upstream zstd-1.3.6 - Import zstd-1.3.6 from upstream - Add zstd's module.c file - Add the zstd module to Makefile.core.def Import zstd-1.3.6 from upstream [1]. Only the files need for decompression are imported. I used the latest zstd release, which includes patches [2] to build cleanly in GRUB. I included the script used to import zstd-1.3.6 below at the bottom of the commit message. Upstream zstd commit hash: 4fa456d7f12f8b27bd3b2f5dfd4f46898cb31c24 Upstream zstd commit name: Merge pull request #1354 from facebook/dev Zstd requires some posix headers, which it gets from posix_wrap. This can be checked by inspecting the .Po files generated by automake, which contain the header dependencies. After building run the command `cat grub-core/lib/zstd/.deps-core/*.Po` to see the dependencies [3]. The only OS dependencies are: - stddef.h, which is already a dependency in posix_wrap, and used for size_t by lzo and xz. - stdarg.h, which comes from the grub/misc.h header, and we don't use in zstd. All the types like uint64_t are typedefed to grub_uint64_t under the hood. The only exception is size_t, which comes from stddef.h. This is already the case for lzo and xz. I don't think there are any cross-compilation concerns, because cross-compilers provide their own system headers (and it would already be broken). [1] https://github.com/facebook/zstd/releases/tag/v1.3.6 [2] https://github.com/facebook/zstd/pull/1344 [3] https://gist.github.com/terrelln/7a16b92f5a1b3aecf980f944b4a966c4 ``` curl -L -O https://github.com/facebook/zstd/releases/download/v1.3.6/zstd-1.3.6.tar.gz curl -L -O https://github.com/facebook/zstd/releases/download/v1.3.6/zstd-1.3.6.tar.gz.sha256 sha256sum --check zstd-1.3.6.tar.gz.sha256 tar xzf zstd-1.3.6.tar.gz SRC_LIB="zstd-1.3.6/lib" DST_LIB="grub-core/lib/zstd" rm -rf $DST_LIB mkdir -p $DST_LIB cp $SRC_LIB/zstd.h $DST_LIB/ cp $SRC_LIB/common/*.[hc] $DST_LIB/ cp $SRC_LIB/decompress/*.[hc] $DST_LIB/ rm $DST_LIB/{pool.[hc],threading.[hc]} rm -rf zstd-1.3.6* echo SUCCESS! ``` Signed-off-by: Nick Terrell <terrelln@fb.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2018-11-19 19:20:07 +00:00
module = {
name = zstd;
common = lib/zstd/debug.c;
common = lib/zstd/entropy_common.c;
common = lib/zstd/error_private.c;
common = lib/zstd/fse_decompress.c;
common = lib/zstd/huf_decompress.c;
common = lib/zstd/module.c;
common = lib/zstd/xxhash.c;
common = lib/zstd/zstd_common.c;
common = lib/zstd/zstd_decompress.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/zstd';
};
2010-05-06 06:04:04 +00:00
module = {
name = btrfs;
common = fs/btrfs.c;
2010-12-01 00:22:55 +00:00
common = lib/crc.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/minilzo -I$(srcdir)/lib/zstd -DMINILZO_HAVE_CONFIG_H';
2010-05-06 06:04:04 +00:00
};
module = {
name = archelp;
common = fs/archelp.c;
};
module = {
name = cbfs;
common = fs/cbfs.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = cpio;
common = fs/cpio.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = cpio_be;
common = fs/cpio_be.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = newc;
common = fs/newc.c;
};
module = {
name = odc;
common = fs/odc.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ext2;
common = fs/ext2.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = fat;
common = fs/fat.c;
2010-05-06 06:04:04 +00:00
};
2011-04-11 16:13:00 +00:00
module = {
name = exfat;
common = fs/exfat.c;
};
module = {
name = f2fs;
common = fs/f2fs.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = fshelp;
common = fs/fshelp.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = hfs;
common = fs/hfs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = hfsplus;
common = fs/hfsplus.c;
2010-05-06 06:04:04 +00:00
};
2013-05-07 13:46:17 +00:00
module = {
name = hfspluscomp;
common = fs/hfspluscomp.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = iso9660;
common = fs/iso9660.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = jfs;
common = fs/jfs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = minix;
common = fs/minix.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = minix2;
common = fs/minix2.c;
};
2011-04-11 06:16:13 +00:00
module = {
name = minix3;
common = fs/minix3.c;
};
module = {
name = minix_be;
common = fs/minix_be.c;
};
module = {
name = minix2_be;
common = fs/minix2_be.c;
};
module = {
name = minix3_be;
common = fs/minix3_be.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = nilfs2;
common = fs/nilfs2.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ntfs;
common = fs/ntfs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ntfscomp;
common = fs/ntfscomp.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = reiserfs;
common = fs/reiserfs.c;
2010-05-06 06:04:04 +00:00
};
2010-12-15 18:49:35 +00:00
module = {
name = romfs;
common = fs/romfs.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = sfs;
common = fs/sfs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = squash4;
common = fs/squash4.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
};
2010-05-06 06:04:04 +00:00
module = {
name = tar;
common = fs/tar.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = udf;
common = fs/udf.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ufs1;
common = fs/ufs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ufs1_be;
common = fs/ufs_be.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = ufs2;
common = fs/ufs2.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = xfs;
common = fs/xfs.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = zfs;
common = fs/zfs/zfs.c;
common = fs/zfs/zfs_lzjb.c;
common = fs/zfs/zfs_lz4.c;
common = fs/zfs/zfs_sha256.c;
common = fs/zfs/zfs_fletcher.c;
};
2011-11-06 14:18:25 +00:00
module = {
name = zfscrypt;
common = fs/zfs/zfscrypt.c;
};
module = {
name = zfsinfo;
common = fs/zfs/zfsinfo.c;
};
module = {
name = macbless;
common = commands/macbless.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = pxe;
2011-06-26 02:19:12 +00:00
i386_pc = net/drivers/i386/pc/pxe.c;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = gettext;
common = gettext/gettext.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = gfxmenu;
common = gfxmenu/gfxmenu.c;
common = gfxmenu/view.c;
common = gfxmenu/font.c;
common = gfxmenu/icon_manager.c;
common = gfxmenu/theme_loader.c;
common = gfxmenu/widget-box.c;
common = gfxmenu/gui_canvas.c;
common = gfxmenu/gui_circular_progress.c;
common = gfxmenu/gui_box.c;
common = gfxmenu/gui_label.c;
common = gfxmenu/gui_list.c;
common = gfxmenu/gui_image.c;
common = gfxmenu/gui_progress_bar.c;
common = gfxmenu/gui_util.c;
common = gfxmenu/gui_string_util.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = hello;
common = hello/hello.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = gzio;
common = io/gzio.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = offsetio;
common = io/offset.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = bufio;
common = io/bufio.c;
enable = videomodules;
2010-05-06 06:04:04 +00:00
};
module = {
name = elf;
common = kern/elf.c;
extra_dist = kern/elfXX.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = crypto;
common = lib/crypto.c;
2010-06-03 10:00:15 +00:00
extra_dist = lib/libgcrypt-grub/cipher/crypto.lst;
2010-05-06 06:04:04 +00:00
};
module = {
name = pbkdf2;
common = lib/pbkdf2.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = relocator;
common = lib/relocator.c;
x86 = lib/i386/relocator16.S;
x86 = lib/i386/relocator32.S;
x86 = lib/i386/relocator64.S;
i386_xen_pvh = lib/i386/relocator16.S;
i386_xen_pvh = lib/i386/relocator32.S;
i386_xen_pvh = lib/i386/relocator64.S;
i386 = lib/i386/relocator_asm.S;
i386_xen_pvh = lib/i386/relocator_asm.S;
x86_64 = lib/x86_64/relocator_asm.S;
i386_xen = lib/i386/relocator_asm.S;
x86_64_xen = lib/x86_64/relocator_asm.S;
2010-05-06 06:04:04 +00:00
x86 = lib/i386/relocator.c;
x86 = lib/i386/relocator_common_c.c;
i386_xen_pvh = lib/i386/relocator.c;
i386_xen_pvh = lib/i386/relocator_common_c.c;
ieee1275 = lib/ieee1275/relocator.c;
2010-08-31 19:47:26 +00:00
efi = lib/efi/relocator.c;
mips = lib/mips/relocator_asm.S;
mips = lib/mips/relocator.c;
powerpc = lib/powerpc/relocator_asm.S;
powerpc = lib/powerpc/relocator.c;
xen = lib/xen/relocator.c;
i386_xen = lib/i386/xen/relocator.S;
x86_64_xen = lib/x86_64/xen/relocator.S;
xen = lib/i386/relocator_common_c.c;
x86_64_efi = lib/x86_64/efi/relocator.c;
extra_dist = lib/i386/relocator_common.S;
extra_dist = kern/powerpc/cache_flush.S;
2010-07-13 18:05:24 +00:00
enable = mips;
enable = powerpc;
2010-07-13 18:05:24 +00:00
enable = x86;
enable = i386_xen_pvh;
enable = xen;
2010-05-06 06:04:04 +00:00
};
module = {
name = datetime;
normal: Move common datetime functions out of the normal module The common datetime helper functions are currently included in the normal module, but this makes any other module that calls these functions to have a dependency with the normal module only for this reason. Since the normal module does a lot of stuff, it calls functions from other modules. But since other modules may depend on it for calling the datetime helpers, this could lead to circular dependencies between modules. As an example, when platform == xen the grub_get_datetime() function from the datetime module calls to the grub_unixtime2datetime() helper function from the normal module. Which leads to the following module dependency: datetime -> normal and send_dhcp_packet() from the net module calls the grub_get_datetime() function, which leads to the following module dependency: net -> datetime -> normal but that means that the normal module is not allowed to depend on net or any other module that depends on it due the transitive dependency caused by datetime. A recent patch attempted to add support to fetch the config file over the network, which leads to the following circular dependency: normal -> net -> datetime -> normal So having the datetime helpers in the normal module makes it quite fragile and easy to add circular dependencies like these, that break the build due the genmoddep.awk script catching the issues. Fix this by taking the datetime helper functions out of the normal module and instead add them to the datetime module itself. Besides fixing these issues, it makes more sense to have these helper functions there anyways. Reported-by: Daniel Kiper <daniel.kiper@oracle.com> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-02-14 11:44:14 +00:00
common = lib/datetime.c;
cmos = lib/cmos_datetime.c;
2010-08-31 19:47:26 +00:00
efi = lib/efi/datetime.c;
uboot = lib/dummy/datetime.c;
2017-05-08 18:53:28 +00:00
arm_coreboot = lib/dummy/datetime.c;
2010-05-06 06:04:04 +00:00
sparc64_ieee1275 = lib/ieee1275/datetime.c;
powerpc_ieee1275 = lib/ieee1275/datetime.c;
sparc64_ieee1275 = lib/ieee1275/cmos.c;
powerpc_ieee1275 = lib/ieee1275/cmos.c;
xen = lib/xen/datetime.c;
i386_xen_pvh = lib/xen/datetime.c;
2011-05-13 14:36:05 +00:00
mips_arc = lib/arc/datetime.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = setjmp;
common = lib/setjmp.S;
2010-08-18 06:27:51 +00:00
extra_dist = lib/i386/setjmp.S;
extra_dist = lib/mips/setjmp.S;
extra_dist = lib/x86_64/setjmp.S;
extra_dist = lib/sparc64/setjmp.S;
extra_dist = lib/powerpc/setjmp.S;
extra_dist = lib/ia64/setjmp.S;
extra_dist = lib/ia64/longjmp.S;
2013-04-07 00:41:07 +00:00
extra_dist = lib/arm/setjmp.S;
extra_dist = lib/arm64/setjmp.S;
extra_dist = lib/riscv/setjmp.S;
2010-05-06 06:04:04 +00:00
};
module = {
name = aout;
common = loader/aout.c;
enable = x86;
2010-05-06 06:04:04 +00:00
};
module = {
name = bsd;
x86 = loader/i386/bsd.c;
x86 = loader/i386/bsd32.c;
x86 = loader/i386/bsd64.c;
2010-06-03 10:00:15 +00:00
extra_dist = loader/i386/bsdXX.c;
extra_dist = loader/i386/bsd_pagetable.c;
enable = x86;
2010-05-06 06:04:04 +00:00
};
2010-12-19 15:10:26 +00:00
module = {
name = plan9;
i386_pc = loader/i386/pc/plan9.c;
enable = i386_pc;
};
2010-05-06 06:04:04 +00:00
module = {
name = linux16;
common = loader/i386/pc/linux.c;
enable = x86;
2010-05-06 06:04:04 +00:00
};
module = {
name = ntldr;
i386_pc = loader/i386/pc/ntldr.c;
enable = i386_pc;
};
2013-12-17 13:45:46 +00:00
module = {
name = truecrypt;
i386_pc = loader/i386/pc/truecrypt.c;
enable = i386_pc;
};
2010-12-25 23:38:20 +00:00
module = {
name = freedos;
i386_pc = loader/i386/pc/freedos.c;
enable = i386_pc;
};
module = {
name = pxechain;
i386_pc = loader/i386/pc/pxechainloader.c;
enable = i386_pc;
};
2010-05-06 06:04:04 +00:00
module = {
name = multiboot2;
cppflags = "-DGRUB_USE_MULTIBOOT2";
common = loader/multiboot.c;
common = loader/multiboot_mbi2.c;
2010-07-13 18:05:24 +00:00
enable = x86;
enable = i386_xen_pvh;
2010-07-13 18:05:24 +00:00
enable = mips;
2010-05-06 06:04:04 +00:00
};
module = {
name = multiboot;
common = loader/multiboot.c;
x86 = loader/i386/multiboot_mbi.c;
i386_xen_pvh = loader/i386/multiboot_mbi.c;
2010-06-03 06:22:33 +00:00
extra_dist = loader/multiboot_elfxx.c;
2010-07-13 18:05:24 +00:00
enable = x86;
enable = i386_xen_pvh;
2010-05-06 06:04:04 +00:00
};
module = {
name = xen_boot;
arm64 = loader/arm64/xen_boot.c;
enable = arm64;
};
2010-05-06 06:04:04 +00:00
module = {
name = linux;
x86 = loader/i386/linux.c;
i386_xen_pvh = loader/i386/linux.c;
xen = loader/i386/xen.c;
i386_pc = lib/i386/pc/vesa_modes_table.c;
i386_xen_pvh = lib/i386/pc/vesa_modes_table.c;
2010-05-06 06:04:04 +00:00
mips = loader/mips/linux.c;
powerpc_ieee1275 = loader/powerpc/ieee1275/linux.c;
sparc64_ieee1275 = loader/sparc64/ieee1275/linux.c;
2010-08-31 19:47:26 +00:00
ia64_efi = loader/ia64/efi/linux.c;
arm_coreboot = loader/arm/linux.c;
arm_efi = loader/arm64/linux.c;
arm_uboot = loader/arm/linux.c;
arm64 = loader/arm64/linux.c;
riscv32 = loader/riscv/linux.c;
riscv64 = loader/riscv/linux.c;
common = loader/linux.c;
2017-08-14 14:23:52 +00:00
common = lib/cmdline.c;
enable = noemu;
2010-05-06 06:04:04 +00:00
};
module = {
name = fdt;
efi = loader/efi/fdt.c;
common = lib/fdt.c;
enable = fdt;
};
2010-05-06 06:04:04 +00:00
module = {
name = xnu;
x86 = loader/xnu_resume.c;
x86 = loader/i386/xnu.c;
x86 = loader/xnu.c;
2010-06-03 06:22:33 +00:00
/* Code is pretty generic but relies on RNG which
is available only on few platforms. It's not a
big deal as xnu needs ACPI anyway and we have
RNG on all platforms with ACPI.
*/
enable = i386_multiboot;
enable = i386_coreboot;
enable = i386_pc;
enable = i386_efi;
enable = x86_64_efi;
};
2016-02-12 11:39:38 +00:00
module = {
name = random;
x86 = lib/i386/random.c;
common = lib/random.c;
i386_multiboot = kern/i386/tsc_pmtimer.c;
i386_coreboot = kern/i386/tsc_pmtimer.c;
i386_pc = kern/i386/tsc_pmtimer.c;
enable = i386_multiboot;
enable = i386_coreboot;
enable = i386_pc;
enable = i386_efi;
enable = x86_64_efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = macho;
common = loader/macho.c;
common = loader/macho32.c;
common = loader/macho64.c;
common = loader/lzss.c;
extra_dist = loader/machoXX.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = appleldr;
2010-08-31 19:47:26 +00:00
common = loader/efi/appleloader.c;
enable = i386_efi;
enable = x86_64_efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = chain;
2010-08-31 19:47:26 +00:00
efi = loader/efi/chainloader.c;
2010-05-06 06:04:04 +00:00
i386_pc = loader/i386/pc/chainloader.c;
i386_coreboot = loader/i386/coreboot/chainloader.c;
i386_coreboot = lib/LzmaDec.c;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
enable = i386_coreboot;
2010-08-31 19:47:26 +00:00
enable = efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = mmap;
common = mmap/mmap.c;
x86 = mmap/i386/uppermem.c;
x86 = mmap/i386/mmap.c;
i386_xen_pvh = mmap/i386/uppermem.c;
i386_xen_pvh = mmap/i386/mmap.c;
2010-05-06 06:04:04 +00:00
i386_pc = mmap/i386/pc/mmap.c;
i386_pc = mmap/i386/pc/mmap_helper.S;
2010-08-31 19:47:26 +00:00
efi = mmap/efi/mmap.c;
2010-05-06 06:04:04 +00:00
2011-05-13 14:36:05 +00:00
mips = mmap/mips/uppermem.c;
2010-07-13 18:05:24 +00:00
enable = x86;
enable = i386_xen_pvh;
2011-01-03 01:28:14 +00:00
enable = ia64_efi;
2013-04-07 00:41:07 +00:00
enable = arm_efi;
2013-11-16 19:52:55 +00:00
enable = arm64_efi;
enable = riscv32_efi;
enable = riscv64_efi;
enable = mips;
2010-05-06 06:04:04 +00:00
};
module = {
name = normal;
common = normal/main.c;
common = normal/cmdline.c;
common = normal/dyncmd.c;
common = normal/auth.c;
common = normal/autofs.c;
common = normal/color.c;
common = normal/completion.c;
common = normal/menu.c;
common = normal/menu_entry.c;
common = normal/menu_text.c;
common = normal/misc.c;
common = normal/crypto.c;
common = normal/term.c;
common = normal/context.c;
common = normal/charset.c;
2013-12-18 04:28:05 +00:00
common = lib/getline.c;
common = script/main.c;
common = script/script.c;
common = script/execute.c;
common = script/function.c;
common = script/lexer.c;
common = script/argv.c;
2010-09-03 15:38:12 +00:00
common = commands/menuentry.c;
common = unidata.c;
common_nodist = grub_script.tab.c;
common_nodist = grub_script.yy.c;
common_nodist = grub_script.tab.h;
common_nodist = grub_script.yy.h;
2010-07-12 19:13:28 +00:00
extra_dist = script/yylex.l;
extra_dist = script/parser.y;
Increase warning level. * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition. * configure.ac (HOST_CFLAGS): Add bunch of -W arguments. (TARGET_CFLAGS): Likewise. (HOST_CFLAGS): Add -Werror unless --disable-werror is activated. * grub-core/Makefile.core.def (decompressor_xz): Add -Wno-unreachable-code. (normal): Add -Wno-redundant-decls. (xzio): Add -Wno-unreachable-code. (lzopio): Add -Wno-redundant-decls -Wno-error. * grub-core/commands/acpi.c: Add exception to -Wcast-align. * grub-core/commands/lsacpi.c: Add exception to -Wcast-align. * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute. * grub-core/kern/dl.c: Add exception to -Wcast-align. * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise. * grub-core/kern/i386/coreboot/init.c: Add exception to -Wsuggest-attribute=noreturn. * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align. * grub-core/kern/ia64/dl_helper.c: Likewise. * grub-core/kern/mips/dl.c: Likewise. * grub-core/kern/sparc64/dl.c: Likewise. * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow. * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise. (memcmp): Likewise. * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code. * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align. * grub-core/loader/mips/linux.c: Likewise. * grub-core/loader/multiboot_elfxx.c: Likewise. * grub-core/script/parser.y: Add exception to -Wunreachable-code. * grub-core/video/sm712.c: Add exception to -Wcast-align. * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand. * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and fixme. * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise. * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Fix prototype.
2012-02-10 15:48:48 +00:00
cflags = '$(CFLAGS_POSIX) -Wno-redundant-decls';
2010-07-12 19:13:28 +00:00
cppflags = '$(CPPFLAGS_POSIX)';
2010-05-06 06:04:04 +00:00
};
module = {
name = part_acorn;
common = partmap/acorn.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_amiga;
common = partmap/amiga.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_apple;
common = partmap/apple.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_gpt;
common = partmap/gpt.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_msdos;
common = partmap/msdos.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_sun;
common = partmap/sun.c;
2010-05-06 06:04:04 +00:00
};
2010-12-20 00:18:21 +00:00
module = {
name = part_plan;
common = partmap/plan.c;
};
2011-11-13 11:48:39 +00:00
2011-05-13 14:36:05 +00:00
module = {
name = part_dvh;
common = partmap/dvh.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = part_bsd;
common = partmap/bsdlabel.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_sunpc;
common = partmap/sunpc.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = part_dfly;
common = partmap/dfly.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = msdospart;
common = parttool/msdospart.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = at_keyboard;
common = term/at_keyboard.c;
common = term/ps2.c;
2010-07-13 18:05:24 +00:00
enable = x86;
2010-05-06 06:04:04 +00:00
};
module = {
name = gfxterm;
common = term/gfxterm.c;
enable = videomodules;
2010-05-06 06:04:04 +00:00
};
module = {
name = gfxterm_background;
common = term/gfxterm_background.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = serial;
common = term/serial.c;
2010-08-22 15:30:22 +00:00
x86 = term/ns8250.c;
ieee1275 = term/ieee1275/serial.c;
2013-04-25 20:40:03 +00:00
mips_arc = term/arc/serial.c;
efi = term/efi/serial.c;
2010-08-22 15:30:22 +00:00
enable = terminfomodule;
enable = ieee1275;
2013-04-25 20:40:03 +00:00
enable = mips_arc;
2010-08-22 15:30:22 +00:00
};
module = {
name = sendkey;
i386_pc = commands/i386/pc/sendkey.c;
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = terminfo;
common = term/terminfo.c;
common = term/tparm.c;
enable = terminfomodule;
2010-05-06 06:04:04 +00:00
};
module = {
name = usb_keyboard;
common = term/usb_keyboard.c;
enable = usb;
2010-05-06 06:04:04 +00:00
};
module = {
name = vga;
common = video/i386/pc/vga.c;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = vga_text;
common = term/i386/pc/vga_text.c;
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = mda_text;
common = term/i386/pc/mda_text.c;
enable = i386_pc;
enable = i386_coreboot_multiboot_qemu;
};
2010-07-12 19:13:28 +00:00
module = {
name = video_cirrus;
2010-08-23 07:53:56 +00:00
x86 = video/cirrus.c;
enable = x86;
2010-07-12 19:13:28 +00:00
};
module = {
name = video_bochs;
2010-08-23 07:53:56 +00:00
x86 = video/bochs.c;
enable = x86;
2010-07-12 19:13:28 +00:00
};
2010-05-06 06:04:04 +00:00
module = {
name = functional_test;
common = tests/lib/functional_test.c;
common = tests/lib/test.c;
common = tests/checksums.h;
common = tests/video_checksum.c;
common = tests/fake_input.c;
common = video/capture.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = exfctest;
common = tests/example_functional_test.c;
2010-05-06 06:04:04 +00:00
};
2017-05-03 10:58:15 +00:00
module = {
name = strtoull_test;
common = tests/strtoull_test.c;
};
module = {
name = setjmp_test;
common = tests/setjmp_test.c;
};
module = {
name = signature_test;
common = tests/signature_test.c;
common = tests/signatures.h;
};
module = {
name = sleep_test;
common = tests/sleep_test.c;
};
module = {
name = xnu_uuid_test;
common = tests/xnu_uuid_test.c;
};
module = {
name = pbkdf2_test;
common = tests/pbkdf2_test.c;
};
module = {
name = legacy_password_test;
common = tests/legacy_password_test.c;
enable = i386_pc;
enable = i386_xen_pvh;
enable = i386_efi;
enable = x86_64_efi;
enable = emu;
enable = xen;
};
module = {
name = div;
common = lib/division.c;
enable = no_softdiv;
};
module = {
name = div_test;
common = tests/div_test.c;
};
module = {
name = mul_test;
common = tests/mul_test.c;
};
module = {
name = shift_test;
common = tests/shift_test.c;
};
module = {
name = cmp_test;
common = tests/cmp_test.c;
};
module = {
name = ctz_test;
common = tests/ctz_test.c;
};
module = {
name = bswap_test;
common = tests/bswap_test.c;
};
module = {
name = videotest_checksum;
common = tests/videotest_checksum.c;
};
module = {
name = gfxterm_menu;
common = tests/gfxterm_menu.c;
};
2013-05-08 09:49:25 +00:00
module = {
name = cmdline_cat_test;
common = tests/cmdline_cat_test.c;
};
2010-05-06 06:04:04 +00:00
module = {
name = bitmap;
common = video/bitmap.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = bitmap_scale;
common = video/bitmap_scale.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = efi_gop;
2010-08-31 19:47:26 +00:00
efi = video/efi_gop.c;
enable = efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = efi_uga;
2010-08-31 19:47:26 +00:00
efi = video/efi_uga.c;
2011-01-03 01:28:14 +00:00
enable = i386_efi;
enable = x86_64_efi;
2010-05-06 06:04:04 +00:00
};
module = {
name = jpeg;
common = video/readers/jpeg.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = png;
common = video/readers/png.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = tga;
common = video/readers/tga.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = vbe;
common = video/i386/pc/vbe.c;
2010-07-13 18:05:24 +00:00
enable = i386_pc;
2010-05-06 06:04:04 +00:00
};
module = {
name = video_fb;
common = video/fb/video_fb.c;
common = video/fb/fbblit.c;
common = video/fb/fbfill.c;
common = video/fb/fbutil.c;
enable = videomodules;
2010-05-06 06:04:04 +00:00
};
module = {
name = video;
common = video/video.c;
enable = videomodules;
2010-05-06 06:04:04 +00:00
};
module = {
name = video_colors;
common = video/colors.c;
2010-05-06 06:04:04 +00:00
};
module = {
name = ieee1275_fb;
ieee1275 = video/ieee1275.c;
enable = powerpc_ieee1275;
};
2010-05-06 06:04:04 +00:00
module = {
name = sdl;
emu = video/emu/sdl.c;
2010-07-13 18:05:24 +00:00
enable = emu;
condition = COND_GRUB_EMU_SDL;
2010-05-06 06:04:04 +00:00
};
module = {
name = datehook;
common = hook/datehook.c;
2010-05-06 06:04:04 +00:00
};
2010-08-27 17:05:06 +00:00
2010-09-01 21:28:02 +00:00
module = {
name = net;
common = net/net.c;
2011-10-14 17:21:59 +00:00
common = net/dns.c;
2011-07-06 11:52:35 +00:00
common = net/bootp.c;
common = net/ip.c;
common = net/udp.c;
2011-07-10 06:46:48 +00:00
common = net/tcp.c;
2011-07-08 12:41:52 +00:00
common = net/icmp.c;
2011-10-12 08:20:55 +00:00
common = net/icmp6.c;
common = net/ethernet.c;
common = net/arp.c;
common = net/netbuff.c;
};
module = {
name = tftp;
common = net/tftp.c;
};
2011-07-23 01:49:02 +00:00
module = {
name = http;
common = net/http.c;
};
module = {
name = ofnet;
2011-06-26 20:42:04 +00:00
common = net/drivers/ieee1275/ofnet.c;
enable = ieee1275;
};
2010-09-22 15:14:43 +00:00
2013-04-12 14:55:38 +00:00
module = {
name = ubootnet;
common = net/drivers/uboot/ubootnet.c;
enable = uboot;
};
2011-06-26 20:42:04 +00:00
module = {
name = efinet;
common = net/drivers/efi/efinet.c;
enable = efi;
};
2010-09-22 15:14:43 +00:00
module = {
name = emunet;
emu = net/drivers/emu/emunet.c;
2011-05-12 16:20:43 +00:00
enable = emu;
2010-09-22 15:14:43 +00:00
};
2010-09-22 18:13:00 +00:00
2010-08-27 17:05:06 +00:00
module = {
name = legacycfg;
common = commands/legacycfg.c;
common = lib/legacy_parse.c;
emu = lib/i386/pc/vesa_modes_table.c;
i386_efi = lib/i386/pc/vesa_modes_table.c;
x86_64_efi = lib/i386/pc/vesa_modes_table.c;
xen = lib/i386/pc/vesa_modes_table.c;
2010-08-27 17:05:06 +00:00
enable = i386_pc;
enable = i386_xen_pvh;
enable = i386_efi;
enable = x86_64_efi;
2010-09-12 11:58:18 +00:00
enable = emu;
enable = xen;
2010-09-11 20:39:55 +00:00
};
2010-09-05 18:44:42 +00:00
2013-12-18 04:28:05 +00:00
module = {
name = syslinuxcfg;
common = lib/syslinux_parse.c;
common = commands/syslinuxcfg.c;
};
2010-08-26 04:00:11 +00:00
module = {
name = test_blockarg;
common = tests/test_blockarg.c;
2010-08-26 06:02:35 +00:00
};
module = {
name = xzio;
common = io/xzio.c;
common = lib/xzembed/xz_dec_bcj.c;
common = lib/xzembed/xz_dec_lzma2.c;
common = lib/xzembed/xz_dec_stream.c;
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
Increase warning level. * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition. * configure.ac (HOST_CFLAGS): Add bunch of -W arguments. (TARGET_CFLAGS): Likewise. (HOST_CFLAGS): Add -Werror unless --disable-werror is activated. * grub-core/Makefile.core.def (decompressor_xz): Add -Wno-unreachable-code. (normal): Add -Wno-redundant-decls. (xzio): Add -Wno-unreachable-code. (lzopio): Add -Wno-redundant-decls -Wno-error. * grub-core/commands/acpi.c: Add exception to -Wcast-align. * grub-core/commands/lsacpi.c: Add exception to -Wcast-align. * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute. * grub-core/kern/dl.c: Add exception to -Wcast-align. * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise. * grub-core/kern/i386/coreboot/init.c: Add exception to -Wsuggest-attribute=noreturn. * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align. * grub-core/kern/ia64/dl_helper.c: Likewise. * grub-core/kern/mips/dl.c: Likewise. * grub-core/kern/sparc64/dl.c: Likewise. * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow. * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise. (memcmp): Likewise. * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code. * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align. * grub-core/loader/mips/linux.c: Likewise. * grub-core/loader/multiboot_elfxx.c: Likewise. * grub-core/script/parser.y: Add exception to -Wunreachable-code. * grub-core/video/sm712.c: Add exception to -Wcast-align. * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand. * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and fixme. * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise. * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Fix prototype.
2012-02-10 15:48:48 +00:00
cflags='-Wno-unreachable-code';
};
module = {
name = lzopio;
common = io/lzopio.c;
common = lib/minilzo/minilzo.c;
Increase warning level. * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition. * configure.ac (HOST_CFLAGS): Add bunch of -W arguments. (TARGET_CFLAGS): Likewise. (HOST_CFLAGS): Add -Werror unless --disable-werror is activated. * grub-core/Makefile.core.def (decompressor_xz): Add -Wno-unreachable-code. (normal): Add -Wno-redundant-decls. (xzio): Add -Wno-unreachable-code. (lzopio): Add -Wno-redundant-decls -Wno-error. * grub-core/commands/acpi.c: Add exception to -Wcast-align. * grub-core/commands/lsacpi.c: Add exception to -Wcast-align. * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute. * grub-core/kern/dl.c: Add exception to -Wcast-align. * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise. * grub-core/kern/i386/coreboot/init.c: Add exception to -Wsuggest-attribute=noreturn. * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align. * grub-core/kern/ia64/dl_helper.c: Likewise. * grub-core/kern/mips/dl.c: Likewise. * grub-core/kern/sparc64/dl.c: Likewise. * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow. * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise. (memcmp): Likewise. * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code. * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align. * grub-core/loader/mips/linux.c: Likewise. * grub-core/loader/multiboot_elfxx.c: Likewise. * grub-core/script/parser.y: Add exception to -Wunreachable-code. * grub-core/video/sm712.c: Add exception to -Wcast-align. * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand. * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and fixme. * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise. * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Fix prototype.
2012-02-10 15:48:48 +00:00
cflags = '$(CFLAGS_POSIX) -Wno-undef -Wno-redundant-decls -Wno-error';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
};
module = {
name = testload;
common = commands/testload.c;
};
2010-09-15 09:42:18 +00:00
2011-11-14 09:49:13 +00:00
module = {
name = backtrace;
2012-02-26 18:10:52 +00:00
x86 = lib/i386/backtrace.c;
i386_xen_pvh = lib/i386/backtrace.c;
i386_xen = lib/i386/backtrace.c;
x86_64_xen = lib/i386/backtrace.c;
2012-02-26 18:10:52 +00:00
common = lib/backtrace.c;
2011-11-14 13:27:52 +00:00
enable = x86;
enable = i386_xen_pvh;
enable = i386_xen;
enable = x86_64_xen;
2011-11-14 09:50:24 +00:00
};
2010-09-15 09:42:18 +00:00
module = {
name = lsapm;
common = commands/i386/pc/lsapm.c;
enable = i386_pc;
};
2010-08-31 12:03:29 +00:00
module = {
name = keylayouts;
common = commands/keylayouts.c;
enable = x86;
2010-08-31 12:03:29 +00:00
};
2011-07-08 02:07:15 +00:00
module = {
name = priority_queue;
common = lib/priority_queue.c;
};
module = {
name = time;
common = commands/time.c;
};
2011-08-13 13:00:48 +00:00
module = {
name = cacheinfo;
common = commands/cacheinfo.c;
condition = COND_ENABLE_CACHE_STATS;
};
module = {
name = boottime;
common = commands/boottime.c;
condition = COND_ENABLE_BOOT_TIME_STATS;
};
module = {
name = adler32;
common = lib/adler32.c;
};
module = {
name = crc64;
common = lib/crc64.c;
};
module = {
name = mpi;
common = lib/libgcrypt-grub/mpi/mpiutil.c;
common = lib/libgcrypt-grub/mpi/mpi-bit.c;
common = lib/libgcrypt-grub/mpi/mpi-add.c;
common = lib/libgcrypt-grub/mpi/mpi-mul.c;
common = lib/libgcrypt-grub/mpi/mpi-mod.c;
common = lib/libgcrypt-grub/mpi/mpi-gcd.c;
common = lib/libgcrypt-grub/mpi/mpi-div.c;
common = lib/libgcrypt-grub/mpi/mpi-cmp.c;
common = lib/libgcrypt-grub/mpi/mpi-inv.c;
common = lib/libgcrypt-grub/mpi/mpi-pow.c;
common = lib/libgcrypt-grub/mpi/mpi-mpow.c;
common = lib/libgcrypt-grub/mpi/mpih-lshift.c;
common = lib/libgcrypt-grub/mpi/mpih-mul.c;
common = lib/libgcrypt-grub/mpi/mpih-mul1.c;
common = lib/libgcrypt-grub/mpi/mpih-mul2.c;
common = lib/libgcrypt-grub/mpi/mpih-mul3.c;
common = lib/libgcrypt-grub/mpi/mpih-add1.c;
common = lib/libgcrypt-grub/mpi/mpih-sub1.c;
common = lib/libgcrypt-grub/mpi/mpih-div.c;
common = lib/libgcrypt-grub/mpi/mpicoder.c;
common = lib/libgcrypt-grub/mpi/mpih-rshift.c;
common = lib/libgcrypt-grub/mpi/mpi-inline.c;
common = lib/libgcrypt_wrap/mem.c;
cflags = '$(CFLAGS_GCRY) -Wno-redundant-decls -Wno-sign-compare';
cppflags = '$(CPPFLAGS_GCRY)';
};
module = {
name = all_video;
common = lib/fake_module.c;
};
module = {
name = gdb;
common = gdb/cstub.c;
common = gdb/gdb.c;
i386 = gdb/i386/idt.c;
i386 = gdb/i386/machdep.S;
i386 = gdb/i386/signal.c;
enable = i386;
};
module = {
name = testspeed;
common = commands/testspeed.c;
};
module = {
name = tpm;
common = commands/tpm.c;
efi = commands/efi/tpm.c;
enable = x86_64_efi;
};
module = {
name = tr;
common = commands/tr.c;
};
module = {
name = progress;
common = lib/progress.c;
};
module = {
name = file;
common = commands/file.c;
common = commands/file32.c;
common = commands/file64.c;
extra_dist = commands/fileXX.c;
common = loader/i386/xen_file.c;
common = loader/i386/xen_file32.c;
common = loader/i386/xen_file64.c;
extra_dist = loader/i386/xen_fileXX.c;
};
module = {
name = rdmsr;
common = commands/i386/rdmsr.c;
enable = x86;
};
module = {
name = wrmsr;
common = commands/i386/wrmsr.c;
enable = x86;
};