X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fplatform.c;h=d74571230bbcdc63df6d75edf9da2bd2c1884511;hp=66e776edd530548f9815c91942520362f5205e59;hb=37bff93c8b0a71432613f41f2319dc073ca64619;hpb=c14b12980885edd035322cd3bc87efff444c39b1 diff --git a/discover/platform.c b/discover/platform.c index 66e776e..d745712 100644 --- a/discover/platform.c +++ b/discover/platform.c @@ -11,6 +11,23 @@ void *platform_ctx; static struct platform *platform; static struct config *config; +static const char *device_type_name(enum device_type type) +{ + switch (type) { + case DEVICE_TYPE_DISK: + return "disk"; + case DEVICE_TYPE_OPTICAL: + return "optical"; + case DEVICE_TYPE_NETWORK: + return "network"; + case DEVICE_TYPE_ANY: + return "any"; + case DEVICE_TYPE_UNKNOWN: + default: + return "unknown"; + } +} + static void dump_config(struct config *config) { unsigned int i; @@ -52,6 +69,15 @@ static void dump_config(struct config *config) } for (i = 0; i < config->network.n_dns_servers; i++) pb_log(" dns server %s\n", config->network.dns_servers[i]); + + if (config->n_boot_priorities) + pb_log(" boot priority order:\n"); + + for (i = 0; i < config->n_boot_priorities; i++) { + struct boot_priority *prio = &config->boot_priorities[i]; + pb_log(" %10s: %d\n", device_type_name(prio->type), + prio->priority); + } } void config_set_defaults(struct config *config) @@ -67,8 +93,9 @@ void config_set_defaults(struct config *config) config->boot_priorities = talloc_array(config, struct boot_priority, config->n_boot_priorities); config->boot_priorities[0].type = DEVICE_TYPE_NETWORK; + config->boot_priorities[0].priority = 2; config->boot_priorities[1].type = DEVICE_TYPE_DISK; - + config->boot_priorities[1].priority = 1; } int platform_init(void *ctx) @@ -102,6 +129,11 @@ int platform_init(void *ctx) return 0; } +const struct platform *platform_get(void) +{ + return platform; +} + int config_set(struct config *newconfig) { int rc;