a2cb5fddcd
functions to call at the appropriate time to register new forth words. In the past we've done this with ifdef soup, but now if the file is included in the build, we'll get the new forth words. Use this new functionality to move the pci bios stuff out of loader.c by moving it to biospci.c. Move the pnp functionality to common/pnp.c. Move the inb/outb forth words to the i386 sysdep.c file where their implementation is defined. Adjust the efi linker scripts and build machinery to cope. his should be an invisible change to forth scripts and user experience. Differential Revision: https://reviews.freebsd.org/D8145
83 lines
2.2 KiB
Makefile
83 lines
2.2 KiB
Makefile
# $FreeBSD$
|
|
#
|
|
LIB= i386
|
|
INTERNALLIB=
|
|
|
|
SRCS= biosacpi.c bioscd.c biosdisk.c biosmem.c biospnp.c \
|
|
biospci.c biossmap.c bootinfo.c bootinfo32.c bootinfo64.c \
|
|
comconsole.c devicename.c elf32_freebsd.c \
|
|
elf64_freebsd.c multiboot.c multiboot_tramp.S \
|
|
i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
|
|
smbios.c time.c vidconsole.c amd64_tramp.S spinconsole.c
|
|
.PATH: ${.CURDIR}/../../zfs
|
|
SRCS+= devicename_stubs.c
|
|
|
|
# Enable PXE TFTP or NFS support, not both.
|
|
.if defined(LOADER_TFTP_SUPPORT)
|
|
CFLAGS+= -DLOADER_TFTP_SUPPORT
|
|
.else
|
|
CFLAGS+= -DLOADER_NFS_SUPPORT
|
|
.endif
|
|
|
|
BOOT_COMCONSOLE_PORT?= 0x3f8
|
|
CFLAGS+= -DCOMPORT=${BOOT_COMCONSOLE_PORT}
|
|
|
|
BOOT_COMCONSOLE_SPEED?= 9600
|
|
CFLAGS+= -DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
|
|
|
|
.ifdef(BOOT_BIOSDISK_DEBUG)
|
|
# Make the disk code more talkative
|
|
CFLAGS+= -DDISK_DEBUG
|
|
.endif
|
|
|
|
.if !defined(LOADER_NO_GELI_SUPPORT)
|
|
# Decrypt encrypted drives
|
|
CFLAGS+= -DLOADER_GELI_SUPPORT
|
|
CFLAGS+= -I${.CURDIR}/../../geli
|
|
.endif
|
|
|
|
.if !defined(BOOT_HIDE_SERIAL_NUMBERS)
|
|
# Export serial numbers, UUID, and asset tag from loader.
|
|
CFLAGS+= -DSMBIOS_SERIAL_NUMBERS
|
|
.if defined(BOOT_LITTLE_ENDIAN_UUID)
|
|
# Use little-endian UUID format as defined in SMBIOS 2.6.
|
|
CFLAGS+= -DSMBIOS_LITTLE_ENDIAN_UUID
|
|
.elif defined(BOOT_NETWORK_ENDIAN_UUID)
|
|
# Use network-endian UUID format for backward compatibility.
|
|
CFLAGS+= -DSMBIOS_NETWORK_ENDIAN_UUID
|
|
.endif
|
|
.endif
|
|
|
|
# Include simple terminal emulation (cons25-compatible)
|
|
CFLAGS+= -DTERM_EMU
|
|
|
|
# XXX: make alloca() useable
|
|
CFLAGS+= -Dalloca=__builtin_alloca
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 \
|
|
-I${.CURDIR}/../../common -I${.CURDIR}/../common \
|
|
-I${.CURDIR}/../btx/lib \
|
|
-I${.CURDIR}/../../../contrib/dev/acpica/include \
|
|
-I${.CURDIR}/../../.. -I.
|
|
# the location of libstand
|
|
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
|
|
|
|
# Handle FreeBSD specific %b and %D printf format specifiers
|
|
CFLAGS+= ${FORMAT_EXTENSIONS}
|
|
|
|
.if ${MACHINE_CPUARCH} == "amd64"
|
|
CLEANFILES+= machine
|
|
machine: .NOMETA
|
|
ln -sf ${.CURDIR}/../../../i386/include machine
|
|
.endif
|
|
|
|
.include <bsd.lib.mk>
|
|
|
|
# XXX: clang integrated-as doesn't grok .codeNN directives yet
|
|
CFLAGS.amd64_tramp.S= ${CLANG_NO_IAS}
|
|
CFLAGS.multiboot_tramp.S= ${CLANG_NO_IAS}
|
|
|
|
.if ${MACHINE_CPUARCH} == "amd64"
|
|
beforedepend ${OBJS}: machine
|
|
.endif
|