aboutsummaryrefslogtreecommitdiffstats
path: root/icepack
diff options
context:
space:
mode:
authorRoland Lutz <rlutz@hedmen.org>2017-08-31 19:49:59 +0200
committerRoland Lutz <rlutz@hedmen.org>2017-09-04 19:18:08 +0200
commit898229bf2bf9b128f1fdc7ec565a52d5983536b5 (patch)
tree3a72a8d3028692cafb9ebdfc6f3b23f4f254fad0 /icepack
parent55b7810abe3e15446e9c18b41a68a424b1698e7e (diff)
downloadicestorm-898229bf2bf9b128f1fdc7ec565a52d5983536b5.tar.gz
icestorm-898229bf2bf9b128f1fdc7ec565a52d5983536b5.tar.bz2
icestorm-898229bf2bf9b128f1fdc7ec565a52d5983536b5.zip
icepack: Add support for non-warmboot images
Diffstat (limited to 'icepack')
-rw-r--r--icepack/icepack.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/icepack/icepack.cc b/icepack/icepack.cc
index 4374452..2eac9c6 100644
--- a/icepack/icepack.cc
+++ b/icepack/icepack.cc
@@ -649,6 +649,18 @@ void FpgaConfig::read_ascii(std::istream &ifs)
continue;
}
+ if (command == ".warmboot")
+ {
+ is >> this->warmboot;
+
+ if (this->warmboot != "disabled" &&
+ this->warmboot != "enabled")
+ error("Unknown warmboot setting '%s'.\n",
+ this->warmboot.c_str());
+
+ continue;
+ }
+
if (command == ".io_tile" || command == ".logic_tile" || command == ".ramb_tile" || command == ".ramt_tile")
{
if (!got_device)
@@ -764,6 +776,8 @@ void FpgaConfig::write_ascii(std::ostream &ofs) const
}
ofs << stringf("\n.device %s\n", this->device.c_str());
+ if (this->warmboot != "enabled")
+ ofs << stringf(".warmboot %s\n", this->warmboot.c_str());
typedef std::tuple<int, int, int> tile_bit_t;
std::set<tile_bit_t> tile_bits;