diff options
author | Ratan Gupta <ratagupt@in.ibm.com> | 2017-05-11 08:58:19 +0530 |
---|---|---|
committer | Ratan Gupta <ratagupt@in.ibm.com> | 2017-06-29 00:57:46 +0530 |
commit | 3214b5137d5152f1201d1c551c8bacacac5fd10e (patch) | |
tree | d4a6b35cc3ac6c5a264fe9289069e1feda256be2 /mboxd_pnor_partition_table.cpp | |
parent | 8441a3958a70ea9980adc02bc85af28dc5ac7f92 (diff) | |
download | phosphor-mboxd-3214b5137d5152f1201d1c551c8bacacac5fd10e.tar.gz phosphor-mboxd-3214b5137d5152f1201d1c551c8bacacac5fd10e.zip |
test: read window from partition file
Resolves openbmc/openbmc#1440
Change-Id: I8e6ae35e4c5ba2936a578349e6cea464de6ab40d
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
Diffstat (limited to 'mboxd_pnor_partition_table.cpp')
-rw-r--r-- | mboxd_pnor_partition_table.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/mboxd_pnor_partition_table.cpp b/mboxd_pnor_partition_table.cpp index 72a8953..87de2b9 100644 --- a/mboxd_pnor_partition_table.cpp +++ b/mboxd_pnor_partition_table.cpp @@ -1,6 +1,7 @@ #include "mboxd_pnor_partition_table.h" #include "mbox.h" #include "pnor_partition_table.hpp" +#include <experimental/filesystem> struct vpnor_partition_table { @@ -9,14 +10,24 @@ struct vpnor_partition_table void vpnor_create_partition_table(struct mbox_context *context) { - if (context) + if (context && !context->vpnor) { - if (!context->vpnor) - { - context->vpnor = new vpnor_partition_table; - context->vpnor->table = - new openpower::virtual_pnor::partition::Table; - } + context->vpnor = new vpnor_partition_table; + context->vpnor->table = + new openpower::virtual_pnor::partition::Table; + } +} + +void vpnor_create_partition_table_from_path(struct mbox_context *context, + const char *path) +{ + std::experimental::filesystem::path dir(path); + + if (context && !context->vpnor) + { + context->vpnor = new vpnor_partition_table; + context->vpnor->table = + new openpower::virtual_pnor::partition::Table(std::move(dir)); } } |