|
@@ -35,6 +35,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
35
|
35
|
#include <ipxe/base16.h>
|
36
|
36
|
#include <ipxe/pci.h>
|
37
|
37
|
#include <ipxe/init.h>
|
|
38
|
+#include <ipxe/version.h>
|
38
|
39
|
#include <ipxe/settings.h>
|
39
|
40
|
|
40
|
41
|
/** @file
|
|
@@ -2176,11 +2177,32 @@ static int platform_fetch ( void *data, size_t len ) {
|
2176
|
2177
|
return ( sizeof ( platform ) - 1 /* NUL */ );
|
2177
|
2178
|
}
|
2178
|
2179
|
|
|
2180
|
+/** Version setting */
|
|
2181
|
+struct setting version_setting __setting ( SETTING_MISC ) = {
|
|
2182
|
+ .name = "version",
|
|
2183
|
+ .description = "Version",
|
|
2184
|
+ .type = &setting_type_string,
|
|
2185
|
+ .scope = &builtin_scope,
|
|
2186
|
+};
|
|
2187
|
+
|
|
2188
|
+/**
|
|
2189
|
+ * Fetch version setting
|
|
2190
|
+ *
|
|
2191
|
+ * @v data Buffer to fill with setting data
|
|
2192
|
+ * @v len Length of buffer
|
|
2193
|
+ * @ret len Length of setting data, or negative error
|
|
2194
|
+ */
|
|
2195
|
+static int version_fetch ( void *data, size_t len ) {
|
|
2196
|
+ strncpy ( data, product_version, len );
|
|
2197
|
+ return ( strlen ( product_version ) );
|
|
2198
|
+}
|
|
2199
|
+
|
2179
|
2200
|
/** List of built-in setting operations */
|
2180
|
2201
|
static struct builtin_setting_operation builtin_setting_operations[] = {
|
2181
|
2202
|
{ &errno_setting, errno_fetch },
|
2182
|
2203
|
{ &buildarch_setting, buildarch_fetch },
|
2183
|
2204
|
{ &platform_setting, platform_fetch },
|
|
2205
|
+ { &version_setting, version_fetch },
|
2184
|
2206
|
};
|
2185
|
2207
|
|
2186
|
2208
|
/**
|