summaryrefslogtreecommitdiffstats
path: root/mboxd_pnor_partition_table.cpp
diff options
context:
space:
mode:
authorRatan Gupta <ratagupt@in.ibm.com>2017-05-11 08:58:19 +0530
committerRatan Gupta <ratagupt@in.ibm.com>2017-06-29 00:57:46 +0530
commit3214b5137d5152f1201d1c551c8bacacac5fd10e (patch)
treed4a6b35cc3ac6c5a264fe9289069e1feda256be2 /mboxd_pnor_partition_table.cpp
parent8441a3958a70ea9980adc02bc85af28dc5ac7f92 (diff)
downloadphosphor-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.cpp25
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));
}
}
OpenPOWER on IntegriCloud