summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/settings.c2
-rw-r--r--src/include/ipxe/settings.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/core/settings.c b/src/core/settings.c
index 42bb5e53..c306054d 100644
--- a/src/core/settings.c
+++ b/src/core/settings.c
@@ -452,6 +452,8 @@ static void reprioritise_settings ( struct settings *settings ) {
tmp_priority = fetch_intz_setting ( tmp, &priority_setting );
if ( priority > tmp_priority )
break;
+ if ( settings->order > tmp->order )
+ break;
}
list_add_tail ( &settings->siblings, &tmp->siblings );
diff --git a/src/include/ipxe/settings.h b/src/include/ipxe/settings.h
index 07ebaa62..8cc0b6bb 100644
--- a/src/include/ipxe/settings.h
+++ b/src/include/ipxe/settings.h
@@ -144,6 +144,8 @@ struct settings {
struct settings_operations *op;
/** Default scope for numerical settings constructed for this block */
const struct settings_scope *default_scope;
+ /** Sibling ordering */
+ int order;
};
/**