diff --git a/src/config/defaults/linux.h b/src/config/defaults/linux.h index 8a587ba40..a678aa4f1 100644 --- a/src/config/defaults/linux.h +++ b/src/config/defaults/linux.h @@ -12,6 +12,7 @@ #define UACCESS_LINUX #define UMALLOC_LINUX #define NAP_LINUX +#define SMBIOS_LINUX #define IMAGE_SCRIPT diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h index ec0703396..baeeec6ca 100644 --- a/src/include/ipxe/errfile.h +++ b/src/include/ipxe/errfile.h @@ -213,6 +213,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #define ERRFILE_login_ui ( ERRFILE_OTHER | 0x00170000 ) #define ERRFILE_ib_srpboot ( ERRFILE_OTHER | 0x00180000 ) #define ERRFILE_iwmgmt ( ERRFILE_OTHER | 0x00190000 ) +#define ERRFILE_linux_smbios ( ERRFILE_OTHER | 0x001a0000 ) /** @} */ diff --git a/src/include/ipxe/linux/linux_smbios.h b/src/include/ipxe/linux/linux_smbios.h new file mode 100644 index 000000000..6d51e13ba --- /dev/null +++ b/src/include/ipxe/linux/linux_smbios.h @@ -0,0 +1,18 @@ +#ifndef _IPXE_LINUX_SMBIOS_H +#define _IPXE_LINUX_SMBIOS_H + +/** @file + * + * iPXE SMBIOS API for linux + * + */ + +FILE_LICENCE(GPL2_OR_LATER); + +#ifdef SMBIOS_LINUX +#define SMBIOS_PREFIX_linux +#else +#define SMBIOS_PREFIX_linux __linux_ +#endif + +#endif /* _IPXE_LINUX_SMBIOS_H */ diff --git a/src/include/ipxe/smbios.h b/src/include/ipxe/smbios.h index dc34bbeb9..fcf149ea7 100644 --- a/src/include/ipxe/smbios.h +++ b/src/include/ipxe/smbios.h @@ -26,6 +26,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); /* Include all architecture-independent SMBIOS API headers */ #include +#include /* Include all architecture-dependent SMBIOS API headers */ #include diff --git a/src/interface/linux/linux_smbios.c b/src/interface/linux/linux_smbios.c new file mode 100644 index 000000000..f99120bf6 --- /dev/null +++ b/src/interface/linux/linux_smbios.c @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2010 Piotr JaroszyƄski + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +FILE_LICENCE(GPL2_OR_LATER); + +#include +#include + +/** + * Find SMBIOS + * + * Not implemented currently. + * + * @v smbios SMBIOS entry point descriptor structure to fill in + * @ret rc Return status code + */ +static int linux_find_smbios(struct smbios *smbios __unused) +{ + return -ENODEV; +} + +PROVIDE_SMBIOS(linux, find_smbios, linux_find_smbios);