[settings] Add "busdevfn" setting type

Allow network device's "busloc" setting to be formatted as a PCI
bus:dev.fn address using e.g. ${net0/busloc:busdevfn}.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2013-07-12 22:28:00 +02:00
parent c0cff94320
commit 3dbcce51ea
3 changed files with 58 additions and 0 deletions

View File

@@ -182,6 +182,12 @@ static struct setting test_uuid_setting = {
.type = &setting_type_uuid,
};
/** Test PCI bus:dev.fn setting type */
static struct setting test_busdevfn_setting = {
.name = "test_busdevfn",
.type = &setting_type_busdevfn,
};
/**
* Perform settings self-tests
*
@@ -282,6 +288,10 @@ static void settings_test_exec ( void ) {
0x7a, 0x7c, 0xfe, 0x4f, 0xca, 0x4a, 0x57 ),
"1a6a749d-0eda-461a-a87a-7cfe4fca4a57" );
/* "busdevfn" setting type (no store capability) */
fetchf_ok ( &test_settings, &test_busdevfn_setting,
RAW ( 0x03, 0x45 ), "03:08.5" );
/* Clear and unregister test settings block */
clear_settings ( &test_settings );
unregister_settings ( &test_settings );