Move smbios.c to libsa.
smbios used to be an i386 only kinda weird quirk to the x86 architecture. But UEFI picked it up, dusted it off and now it's many other locations. Make it base technology by moving it to libsa and fixing up the compliation. The code has issues with unaligned access still, but that will be addressed in a followup commit. Differential Revision: https://reviews.freebsd.org/D23660
This commit is contained in:
parent
ed2a65769a
commit
a64f0b83e5
@ -22,7 +22,6 @@ SRCS= autoload.c \
|
|||||||
framebuffer.c \
|
framebuffer.c \
|
||||||
main.c \
|
main.c \
|
||||||
self_reloc.c \
|
self_reloc.c \
|
||||||
smbios.c \
|
|
||||||
vers.c
|
vers.c
|
||||||
|
|
||||||
CFLAGS+= -I${.CURDIR}/../loader
|
CFLAGS+= -I${.CURDIR}/../loader
|
||||||
@ -45,8 +44,6 @@ CWARNFLAGS.main.c+= -Wno-format
|
|||||||
|
|
||||||
.PATH: ${.CURDIR}/../loader
|
.PATH: ${.CURDIR}/../loader
|
||||||
.PATH: ${.CURDIR}/../loader/arch/${MACHINE}
|
.PATH: ${.CURDIR}/../loader/arch/${MACHINE}
|
||||||
# For smbios.c XXX need to abstract properly
|
|
||||||
.PATH: ${BOOTSRC}/i386/libi386
|
|
||||||
.include "${.CURDIR}/../loader/arch/${MACHINE}/Makefile.inc"
|
.include "${.CURDIR}/../loader/arch/${MACHINE}/Makefile.inc"
|
||||||
|
|
||||||
CFLAGS+= -I${.CURDIR}
|
CFLAGS+= -I${.CURDIR}
|
||||||
@ -57,18 +54,6 @@ CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include
|
|||||||
CFLAGS+= -I${BOOTSRC}/i386/libi386
|
CFLAGS+= -I${BOOTSRC}/i386/libi386
|
||||||
CFLAGS+= -DEFI
|
CFLAGS+= -DEFI
|
||||||
|
|
||||||
.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
|
|
||||||
|
|
||||||
.if defined(HAVE_FDT) && ${MK_FDT} != "no"
|
.if defined(HAVE_FDT) && ${MK_FDT} != "no"
|
||||||
.include "${BOOTSRC}/fdt.mk"
|
.include "${BOOTSRC}/fdt.mk"
|
||||||
LIBEFI_FDT= ${BOOTOBJ}/efi/fdt/libefi_fdt.a
|
LIBEFI_FDT= ${BOOTOBJ}/efi/fdt/libefi_fdt.a
|
||||||
|
@ -9,7 +9,7 @@ SRCS= bio.c biosacpi.c biosdisk.c biosmem.c biospnp.c \
|
|||||||
comconsole.c devicename.c elf32_freebsd.c \
|
comconsole.c devicename.c elf32_freebsd.c \
|
||||||
elf64_freebsd.c multiboot.c multiboot_tramp.S relocater_tramp.S \
|
elf64_freebsd.c multiboot.c multiboot_tramp.S relocater_tramp.S \
|
||||||
i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.S \
|
i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.S \
|
||||||
smbios.c time.c vidconsole.c amd64_tramp.S spinconsole.c
|
time.c vidconsole.c amd64_tramp.S spinconsole.c
|
||||||
.PATH: ${ZFSSRC}
|
.PATH: ${ZFSSRC}
|
||||||
SRCS+= devicename_stubs.c
|
SRCS+= devicename_stubs.c
|
||||||
CFLAGS+= -I${ZFSSRC}
|
CFLAGS+= -I${ZFSSRC}
|
||||||
@ -28,18 +28,6 @@ CFLAGS+= -DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
|
|||||||
CFLAGS+= -DDISK_DEBUG
|
CFLAGS+= -DDISK_DEBUG
|
||||||
.endif
|
.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
|
|
||||||
|
|
||||||
# terminal emulation
|
# terminal emulation
|
||||||
CFLAGS.vidconsole.c+= -I${SRCTOP}/sys/teken
|
CFLAGS.vidconsole.c+= -I${SRCTOP}/sys/teken
|
||||||
CFLAGS.teken.c+= -I${SRCTOP}/sys/teken
|
CFLAGS.teken.c+= -I${SRCTOP}/sys/teken
|
||||||
|
@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include "bootstrap.h"
|
#include "bootstrap.h"
|
||||||
#include "common/bootargs.h"
|
#include "common/bootargs.h"
|
||||||
#include "libi386/libi386.h"
|
#include "libi386/libi386.h"
|
||||||
#include "libi386/smbios.h"
|
#include <smbios.h>
|
||||||
#include "btxv86.h"
|
#include "btxv86.h"
|
||||||
|
|
||||||
#ifdef LOADER_ZFS_SUPPORT
|
#ifdef LOADER_ZFS_SUPPORT
|
||||||
|
@ -137,6 +137,20 @@ CLEANFILES+= ${SAFE_INCS} ${STAND_H_INC} ${OTHER_INC}
|
|||||||
SRCS+= closeall.c dev.c ioctl.c nullfs.c stat.c \
|
SRCS+= closeall.c dev.c ioctl.c nullfs.c stat.c \
|
||||||
fstat.c close.c lseek.c open.c read.c write.c readdir.c
|
fstat.c close.c lseek.c open.c read.c write.c readdir.c
|
||||||
|
|
||||||
|
# SMBios routines
|
||||||
|
SRCS+= smbios.c
|
||||||
|
.if !defined(BOOT_HIDE_SERIAL_NUMBERS)
|
||||||
|
# Export serial numbers, UUID, and asset tag from loader.
|
||||||
|
CFLAGS.smbios.c+= -DSMBIOS_SERIAL_NUMBERS
|
||||||
|
.if defined(BOOT_LITTLE_ENDIAN_UUID)
|
||||||
|
# Use little-endian UUID format as defined in SMBIOS 2.6.
|
||||||
|
CFLAGS.smbios.c+= -DSMBIOS_LITTLE_ENDIAN_UUID
|
||||||
|
.elif defined(BOOT_NETWORK_ENDIAN_UUID)
|
||||||
|
# Use network-endian UUID format for backward compatibility.
|
||||||
|
CFLAGS.smbios.c+= -DSMBIOS_NETWORK_ENDIAN_UUID
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
|
||||||
# network routines
|
# network routines
|
||||||
SRCS+= arp.c ether.c ip.c inet_ntoa.c in_cksum.c net.c udp.c netif.c rpc.c
|
SRCS+= arp.c ether.c ip.c inet_ntoa.c in_cksum.c net.c udp.c netif.c rpc.c
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user