Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[settings] Force settings into alphabetical order within sections
Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Dec 5, 2013
1 parent 8aab959 commit b094253
Show file tree
Hide file tree
Showing 19 changed files with 158 additions and 125 deletions.
38 changes: 20 additions & 18 deletions src/arch/x86/core/cpuid_settings.c
Expand Up @@ -251,22 +251,24 @@ struct init_fn cpuid_settings_init_fn __init_fn ( INIT_NORMAL ) = {
.initialise = cpuid_settings_init,
};

/** CPUID predefined settings */
const struct setting cpuid_predefined_settings[] __setting ( SETTING_HOST_EXTRA ) = {
{
.name = "cpuvendor",
.description = "CPU vendor",
.tag = CPUID_TAG ( CPUID_VENDOR_ID, 1, 1, 3,
CPUID_EBX, CPUID_EDX, CPUID_ECX, 0 ),
.type = &setting_type_string,
.scope = &cpuid_settings_scope,
},
{
.name = "cpumodel",
.description = "CPU model",
.tag = CPUID_TAG ( CPUID_MODEL, 3, 1, 4,
CPUID_EAX, CPUID_EBX, CPUID_ECX, CPUID_EDX ),
.type = &setting_type_string,
.scope = &cpuid_settings_scope,
},
/** CPU vendor setting */
const struct setting cpuvendor_setting __setting ( SETTING_HOST_EXTRA,
cpuvendor ) = {
.name = "cpuvendor",
.description = "CPU vendor",
.tag = CPUID_TAG ( CPUID_VENDOR_ID, 1, 1, 3,
CPUID_EBX, CPUID_EDX, CPUID_ECX, 0 ),
.type = &setting_type_string,
.scope = &cpuid_settings_scope,
};

/** CPU model setting */
const struct setting cpumodel_setting __setting ( SETTING_HOST_EXTRA,
cpumodel ) = {
.name = "cpumodel",
.description = "CPU model",
.tag = CPUID_TAG ( CPUID_MODEL, 3, 1, 4,
CPUID_EAX, CPUID_EBX, CPUID_ECX, CPUID_EDX ),
.type = &setting_type_string,
.scope = &cpuid_settings_scope,
};
14 changes: 6 additions & 8 deletions src/core/memmap_settings.c
Expand Up @@ -231,12 +231,10 @@ struct init_fn memmap_settings_init_fn __init_fn ( INIT_NORMAL ) = {
};

/** Memory map predefined settings */
const struct setting memmap_predefined_settings[] __setting ( SETTING_MISC ) = {
{
.name = "memsize",
.description = "Memory size (in MB)",
.tag = MEMMAP_TAG ( 0, 0x100, 0, 1, 1, 20 ),
.type = &setting_type_int32,
.scope = &memmap_settings_scope,
},
const struct setting memsize_setting __setting ( SETTING_MISC, memsize ) = {
.name = "memsize",
.description = "Memory size (in MB)",
.tag = MEMMAP_TAG ( 0, 0x100, 0, 1, 1, 20 ),
.type = &setting_type_int32,
.scope = &memmap_settings_scope,
};
27 changes: 14 additions & 13 deletions src/core/settings.c
Expand Up @@ -2312,71 +2312,72 @@ char * expand_settings ( const char *string ) {
*/

/** Hostname setting */
const struct setting hostname_setting __setting ( SETTING_HOST ) = {
const struct setting hostname_setting __setting ( SETTING_HOST, hostname ) = {
.name = "hostname",
.description = "Host name",
.tag = DHCP_HOST_NAME,
.type = &setting_type_string,
};

/** Domain name setting */
const struct setting domain_setting __setting ( SETTING_IPv4_EXTRA ) = {
const struct setting domain_setting __setting ( SETTING_IPv4_EXTRA, domain ) = {
.name = "domain",
.description = "DNS domain",
.tag = DHCP_DOMAIN_NAME,
.type = &setting_type_string,
};

/** TFTP server setting */
const struct setting next_server_setting __setting ( SETTING_BOOT ) = {
const struct setting next_server_setting __setting ( SETTING_BOOT,next-server)={
.name = "next-server",
.description = "TFTP server",
.tag = DHCP_EB_SIADDR,
.type = &setting_type_ipv4,
};

/** Filename setting */
const struct setting filename_setting __setting ( SETTING_BOOT ) = {
const struct setting filename_setting __setting ( SETTING_BOOT, filename ) = {
.name = "filename",
.description = "Boot filename",
.tag = DHCP_BOOTFILE_NAME,
.type = &setting_type_string,
};

/** Root path setting */
const struct setting root_path_setting __setting ( SETTING_SANBOOT ) = {
const struct setting root_path_setting __setting ( SETTING_SANBOOT, root-path)={
.name = "root-path",
.description = "SAN root path",
.tag = DHCP_ROOT_PATH,
.type = &setting_type_string,
};

/** Username setting */
const struct setting username_setting __setting ( SETTING_AUTH ) = {
const struct setting username_setting __setting ( SETTING_AUTH, username ) = {
.name = "username",
.description = "User name",
.tag = DHCP_EB_USERNAME,
.type = &setting_type_string,
};

/** Password setting */
const struct setting password_setting __setting ( SETTING_AUTH ) = {
const struct setting password_setting __setting ( SETTING_AUTH, password ) = {
.name = "password",
.description = "Password",
.tag = DHCP_EB_PASSWORD,
.type = &setting_type_string,
};

/** Priority setting */
const struct setting priority_setting __setting ( SETTING_MISC ) = {
const struct setting priority_setting __setting ( SETTING_MISC, priority ) = {
.name = "priority",
.description = "Settings priority",
.tag = DHCP_EB_PRIORITY,
.type = &setting_type_int8,
};

/** DHCP user class setting */
const struct setting user_class_setting __setting ( SETTING_HOST_EXTRA ) = {
const struct setting user_class_setting __setting ( SETTING_HOST_EXTRA,
user-class ) = {
.name = "user-class",
.description = "DHCP user class",
.tag = DHCP_USER_CLASS_ID,
Expand Down Expand Up @@ -2412,7 +2413,7 @@ static int errno_fetch ( void *data, size_t len ) {
}

/** Error number setting */
const struct setting errno_setting __setting ( SETTING_MISC ) = {
const struct setting errno_setting __setting ( SETTING_MISC, errno ) = {
.name = "errno",
.description = "Last error",
.type = &setting_type_uint32,
Expand Down Expand Up @@ -2440,7 +2441,7 @@ static int buildarch_fetch ( void *data, size_t len ) {
}

/** Build architecture setting */
const struct setting buildarch_setting __setting ( SETTING_MISC ) = {
const struct setting buildarch_setting __setting ( SETTING_MISC, buildarch ) = {
.name = "buildarch",
.description = "Build architecture",
.type = &setting_type_string,
Expand Down Expand Up @@ -2468,7 +2469,7 @@ static int platform_fetch ( void *data, size_t len ) {
}

/** Platform setting */
const struct setting platform_setting __setting ( SETTING_MISC ) = {
const struct setting platform_setting __setting ( SETTING_MISC, platform ) = {
.name = "platform",
.description = "Platform",
.type = &setting_type_string,
Expand All @@ -2494,7 +2495,7 @@ static int version_fetch ( void *data, size_t len ) {
}

/** Version setting */
const struct setting version_setting __setting ( SETTING_MISC ) = {
const struct setting version_setting __setting ( SETTING_MISC, version ) = {
.name = "version",
.description = "Version",
.type = &setting_type_string,
Expand Down
4 changes: 2 additions & 2 deletions src/crypto/clientcert.c
Expand Up @@ -92,15 +92,15 @@ struct client_private_key client_private_key = {
};

/** Client certificate setting */
static struct setting cert_setting __setting ( SETTING_CRYPTO ) = {
static struct setting cert_setting __setting ( SETTING_CRYPTO, cert ) = {
.name = "cert",
.description = "Client certificate",
.tag = DHCP_EB_CERT,
.type = &setting_type_hex,
};

/** Client private key setting */
static struct setting privkey_setting __setting ( SETTING_CRYPTO ) = {
static struct setting privkey_setting __setting ( SETTING_CRYPTO, privkey ) = {
.name = "privkey",
.description = "Client private key",
.tag = DHCP_EB_KEY,
Expand Down
2 changes: 1 addition & 1 deletion src/crypto/rootcert.c
Expand Up @@ -58,7 +58,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
static const uint8_t fingerprints[] = { TRUSTED };

/** Root certificate fingerprint setting */
static struct setting trust_setting __setting ( SETTING_CRYPTO ) = {
static struct setting trust_setting __setting ( SETTING_CRYPTO, trust ) = {
.name = "trust",
.description = "Trusted root certificate fingerprints",
.tag = DHCP_EB_TRUST,
Expand Down
3 changes: 2 additions & 1 deletion src/include/ipxe/net80211.h
Expand Up @@ -1093,7 +1093,8 @@ struct net80211_wlan


/** 802.11 encryption key setting */
extern const struct setting net80211_key_setting __setting ( SETTING_NETDEV_EXTRA );
extern const struct setting
net80211_key_setting __setting ( SETTING_NETDEV_EXTRA, key );


/**
Expand Down
51 changes: 34 additions & 17 deletions src/include/ipxe/settings.h
Expand Up @@ -53,7 +53,8 @@ struct setting {
#define SETTINGS __table ( struct setting, "settings" )

/** Declare a configuration setting */
#define __setting( setting_order ) __table_entry ( SETTINGS, setting_order )
#define __setting( setting_order, name ) \
__table_entry ( SETTINGS, setting_order.name )

/** @defgroup setting_order Setting ordering
* @{
Expand Down Expand Up @@ -419,22 +420,38 @@ extern const struct setting_type setting_type_hexraw __setting_type;
extern const struct setting_type setting_type_uuid __setting_type;
extern const struct setting_type setting_type_busdevfn __setting_type;

extern const struct setting ip_setting __setting ( SETTING_IPv4 );
extern const struct setting netmask_setting __setting ( SETTING_IPv4 );
extern const struct setting gateway_setting __setting ( SETTING_IPv4 );
extern const struct setting dns_setting __setting ( SETTING_IPv4_EXTRA );
extern const struct setting hostname_setting __setting ( SETTING_HOST );
extern const struct setting domain_setting __setting ( SETTING_IPv4_EXTRA );
extern const struct setting filename_setting __setting ( SETTING_BOOT );
extern const struct setting root_path_setting __setting ( SETTING_SANBOOT );
extern const struct setting username_setting __setting ( SETTING_AUTH );
extern const struct setting password_setting __setting ( SETTING_AUTH );
extern const struct setting priority_setting __setting ( SETTING_MISC );
extern const struct setting uuid_setting __setting ( SETTING_HOST );
extern const struct setting next_server_setting __setting ( SETTING_BOOT );
extern const struct setting mac_setting __setting ( SETTING_NETDEV );
extern const struct setting busid_setting __setting ( SETTING_NETDEV );
extern const struct setting user_class_setting __setting ( SETTING_HOST_EXTRA );
extern const struct setting
ip_setting __setting ( SETTING_IPv4, ip );
extern const struct setting
netmask_setting __setting ( SETTING_IPv4, netmask );
extern const struct setting
gateway_setting __setting ( SETTING_IPv4, gateway );
extern const struct setting
dns_setting __setting ( SETTING_IPv4_EXTRA, dns );
extern const struct setting
hostname_setting __setting ( SETTING_HOST, hostname );
extern const struct setting
domain_setting __setting ( SETTING_IPv4_EXTRA, domain );
extern const struct setting
filename_setting __setting ( SETTING_BOOT, filename );
extern const struct setting
root_path_setting __setting ( SETTING_SANBOOT, root-path );
extern const struct setting
username_setting __setting ( SETTING_AUTH, username );
extern const struct setting
password_setting __setting ( SETTING_AUTH, password );
extern const struct setting
priority_setting __setting ( SETTING_MISC, priority );
extern const struct setting
uuid_setting __setting ( SETTING_HOST, uuid );
extern const struct setting
next_server_setting __setting ( SETTING_BOOT, next-server );
extern const struct setting
mac_setting __setting ( SETTING_NETDEV, mac );
extern const struct setting
busid_setting __setting ( SETTING_NETDEV, busid );
extern const struct setting
user_class_setting __setting ( SETTING_HOST_EXTRA, user-class );

/**
* Initialise a settings block
Expand Down
83 changes: 44 additions & 39 deletions src/interface/smbios/smbios_settings.c
Expand Up @@ -188,7 +188,7 @@ struct init_fn smbios_init_fn __init_fn ( INIT_NORMAL ) = {
};

/** UUID setting obtained via SMBIOS */
const struct setting uuid_setting __setting ( SETTING_HOST ) = {
const struct setting uuid_setting __setting ( SETTING_HOST, uuid ) = {
.name = "uuid",
.description = "UUID",
.tag = SMBIOS_RAW_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
Expand All @@ -197,42 +197,47 @@ const struct setting uuid_setting __setting ( SETTING_HOST ) = {
.scope = &smbios_settings_scope,
};

/** Other SMBIOS predefined settings */
const struct setting smbios_predefined_settings[] __setting ( SETTING_HOST_EXTRA ) = {
{
.name = "manufacturer",
.description = "Manufacturer",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
struct smbios_system_information,
manufacturer ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
},
{
.name = "product",
.description = "Product name",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
struct smbios_system_information,
product ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
},
{
.name = "serial",
.description = "Serial number",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
struct smbios_system_information,
serial ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
},
{
.name = "asset",
.description = "Asset tag",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_ENCLOSURE_INFORMATION,
struct smbios_enclosure_information,
asset_tag ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
},
/** Manufacturer name setting */
const struct setting manufacturer_setting __setting ( SETTING_HOST_EXTRA,
manufacturer ) = {
.name = "manufacturer",
.description = "Manufacturer",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
struct smbios_system_information,
manufacturer ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
};

/** Product name setting */
const struct setting product_setting __setting ( SETTING_HOST_EXTRA, product )={
.name = "product",
.description = "Product name",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
struct smbios_system_information,
product ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
};

/** Serial number setting */
const struct setting serial_setting __setting ( SETTING_HOST_EXTRA, serial ) = {
.name = "serial",
.description = "Serial number",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_SYSTEM_INFORMATION,
struct smbios_system_information,
serial ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
};

/** Asset tag setting */
const struct setting asset_setting __setting ( SETTING_HOST_EXTRA, asset ) = {
.name = "asset",
.description = "Asset tag",
.tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_ENCLOSURE_INFORMATION,
struct smbios_enclosure_information,
asset_tag ),
.type = &setting_type_string,
.scope = &smbios_settings_scope,
};

0 comments on commit b094253

Please sign in to comment.