svn commit: r358136 - in head/stand: efi/loader i386/libi386 i386/loader libsa

Warner Losh imp at FreeBSD.org
Thu Feb 20 00:46:24 UTC 2020


Author: imp
Date: Thu Feb 20 00:46:22 2020
New Revision: 358136
URL: https://svnweb.freebsd.org/changeset/base/358136

Log:
  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

Added:
  head/stand/libsa/smbios.c   (contents, props changed)
     - copied, changed from r358135, head/stand/i386/libi386/smbios.c
  head/stand/libsa/smbios.h   (contents, props changed)
     - copied, changed from r358135, head/stand/i386/libi386/smbios.h
Deleted:
  head/stand/i386/libi386/smbios.c
  head/stand/i386/libi386/smbios.h
Modified:
  head/stand/efi/loader/Makefile
  head/stand/i386/libi386/Makefile
  head/stand/i386/loader/main.c
  head/stand/libsa/Makefile

Modified: head/stand/efi/loader/Makefile
==============================================================================
--- head/stand/efi/loader/Makefile	Thu Feb 20 00:46:16 2020	(r358135)
+++ head/stand/efi/loader/Makefile	Thu Feb 20 00:46:22 2020	(r358136)
@@ -22,7 +22,6 @@ SRCS=	autoload.c \
 	framebuffer.c \
 	main.c \
 	self_reloc.c \
-	smbios.c \
 	vers.c
 
 CFLAGS+=	-I${.CURDIR}/../loader
@@ -45,8 +44,6 @@ CWARNFLAGS.main.c+=	-Wno-format
 
 .PATH: ${.CURDIR}/../loader
 .PATH: ${.CURDIR}/../loader/arch/${MACHINE}
-# For smbios.c XXX need to abstract properly
-.PATH: ${BOOTSRC}/i386/libi386
 .include "${.CURDIR}/../loader/arch/${MACHINE}/Makefile.inc"
 
 CFLAGS+=	-I${.CURDIR}
@@ -56,18 +53,6 @@ CFLAGS+=	-I${EFISRC}/include/${MACHINE}
 CFLAGS+=	-I${SYSDIR}/contrib/dev/acpica/include
 CFLAGS+=	-I${BOOTSRC}/i386/libi386
 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"
 .include	"${BOOTSRC}/fdt.mk"

Modified: head/stand/i386/libi386/Makefile
==============================================================================
--- head/stand/i386/libi386/Makefile	Thu Feb 20 00:46:16 2020	(r358135)
+++ head/stand/i386/libi386/Makefile	Thu Feb 20 00:46:22 2020	(r358136)
@@ -9,7 +9,7 @@ SRCS=	bio.c biosacpi.c biosdisk.c biosmem.c biospnp.c 
 	comconsole.c devicename.c elf32_freebsd.c \
 	elf64_freebsd.c multiboot.c multiboot_tramp.S relocater_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
+	time.c vidconsole.c amd64_tramp.S spinconsole.c
 .PATH:	${ZFSSRC}
 SRCS+=  devicename_stubs.c
 CFLAGS+= -I${ZFSSRC}
@@ -26,18 +26,6 @@ CFLAGS+=	-DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
 .ifdef(BOOT_BIOSDISK_DEBUG)
 # Make the disk code more talkative
 CFLAGS+= -DDISK_DEBUG
-.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

Modified: head/stand/i386/loader/main.c
==============================================================================
--- head/stand/i386/loader/main.c	Thu Feb 20 00:46:16 2020	(r358135)
+++ head/stand/i386/loader/main.c	Thu Feb 20 00:46:22 2020	(r358136)
@@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$");
 #include "bootstrap.h"
 #include "common/bootargs.h"
 #include "libi386/libi386.h"
-#include "libi386/smbios.h"
+#include <smbios.h>
 #include "btxv86.h"
 
 #ifdef LOADER_ZFS_SUPPORT

Modified: head/stand/libsa/Makefile
==============================================================================
--- head/stand/libsa/Makefile	Thu Feb 20 00:46:16 2020	(r358135)
+++ head/stand/libsa/Makefile	Thu Feb 20 00:46:22 2020	(r358136)
@@ -137,6 +137,20 @@ CLEANFILES+= ${SAFE_INCS} ${STAND_H_INC} ${OTHER_INC}
 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
 
+# 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
 SRCS+=	arp.c ether.c ip.c inet_ntoa.c in_cksum.c net.c udp.c netif.c rpc.c
 

Copied and modified: head/stand/libsa/smbios.c (from r358135, head/stand/i386/libi386/smbios.c)
==============================================================================

Copied and modified: head/stand/libsa/smbios.h (from r358135, head/stand/i386/libi386/smbios.h)
==============================================================================


More information about the svn-src-head mailing list