mock-turtle:develop commitshttps://ohwr.org/hdl-core-lib/mock-turtle/commits/develop2019-02-07T08:21:30Zhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/8d72ad937985ce44e71240c9e928833415e21312Merge branch 'feature/build' into develop2019-02-07T08:21:30ZFederico Vagafederico.vaga@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/988914c17d62fa23385500b34eb50054c2b858f3sw:fw: improve building system2019-02-07T08:17:20ZFederico Vagafederico.vaga@cern.ch
Introducing TBuild file to set building variables
Compilation happens in MockTurtle building system, and not
by including it in the local project
cd /path/to/firmware
make -C /path/to/mockturtle/software/firmware M=$PWD
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/f3435ff65ae861b1f87b0287e066066b2bb6be34sw:fw:bld: better use of TRTL env variable2019-02-06T13:31:06ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/a01fb394d134fc392f2d7b54653b2abe0a1b4d02sw:fw: simplify validation mantory variables2019-02-06T13:17:49ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/4e976471334865998599590a14945533ef6feffasw: consinstent use of TRTL build env variable2019-02-06T09:29:09ZFederico Vagafederico.vaga@cern.ch
In some Makefile the TRTL environment variable does not point to
the project top-level directory, but it points to the software sub-tree.
The software sub-tree should be under TRTL_SW
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/ec65f08d2180685f3df7dd3f378cf0af7ebdce06Merge branch 'master' into develop2019-02-04T16:19:39ZFederico Vagafederico.vaga@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/00ec80ed6e69e5fc480d537c438c3fa518d9fb76Merge remote-tracking branch 'ohwr/master'2019-02-04T16:18:18ZFederico Vagafederico.vaga@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/74be186b10ca20a5c49df6b71384ac29b34d87e7sw:fw: add a missing volatile.2019-02-04T15:05:16ZTristan Gingoldtristan.gingold@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="8941"><a href="https://ohwr.org/tgingold" title="tristan.gingold@cern.ch"><img alt="Tristan Gingold's avatar" src="https://secure.gravatar.com/avatar/5fddc48f3d78f95002d8cda1785bfa3e?s=32&d=identicon" class="avatar s16 avatar-inline" title="Tristan Gingold"></a><a href="https://ohwr.org/tgingold" title="tristan.gingold@cern.ch">Tristan Gingold</a> <<a href="mailto:tristan.gingold@cern.ch" title="tristan.gingold@cern.ch">tristan.gingold@cern.ch</a>></span>
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/b43e98b4bbed0f49f2e9d332dbbf085e3e8ee5besw:lib: constify function arguments and return value2019-02-04T15:05:16ZTristan Gingoldtristan.gingold@cern.ch
For these function there is not need, actually is dangerous, to
touch the given char pointer. Make it constant to avoid mistakes.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="8941"><a href="https://ohwr.org/tgingold" title="tristan.gingold@cern.ch"><img alt="Tristan Gingold's avatar" src="https://secure.gravatar.com/avatar/5fddc48f3d78f95002d8cda1785bfa3e?s=32&d=identicon" class="avatar s16 avatar-inline" title="Tristan Gingold"></a><a href="https://ohwr.org/tgingold" title="tristan.gingold@cern.ch">Tristan Gingold</a> <<a href="mailto:tristan.gingold@cern.ch" title="tristan.gingold@cern.ch">tristan.gingold@cern.ch</a>></span>
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/8d60f2681c8b75360410e61bb4a1c03e67ad7cb5update urv-core version.2019-01-31T12:42:56ZTristan Gingoldtristan.gingold@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/bb80c5b3009265db7d3fc595d859350a68cdf881bump wr-cores to bring in latest fixes2018-10-10T14:13:15ZDimitris Lampridisdimitris.lampridis@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/e500e6084c6559cb84b37c1c031ca0a98351df7bMerge branch 'hotfix/wbgen-compilation'2018-09-12T15:57:37ZFederico Vagafederico.vaga@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/f5d195bead1359dbf3b81a0bb0f976e01a97137esw:drv: generates headers on kernel compilation2018-09-12T15:56:57ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/33480235d51f813418d8dc508f824187d40d6599Merge latest fixes from branch 'master' into proposed_master2018-09-10T11:32:46ZDimitris Lampridisdimitris.lampridis@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/3b67b6f537c57c0f77b13c1641d050821a46b169hdl: also update svec testbench after changing names of top-level ports for GPIO2018-09-10T11:32:20ZDimitris Lampridisdimitris.lampridis@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/5e7c1f14641bcc1494c7df9d267a952c7da84975Merge branch 'master' into proposed_master2018-09-10T11:16:47ZDimitris Lampridisdimitris.lampridis@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/5c0d2ab33a0b6de4f195eb8b5f8889ea452dff23Revert "hdl: proposed fix for svec_mt_demo to prevent gpio pins from being…2018-09-10T11:15:34ZDimitris Lampridisdimitris.lampridis@cern.chRevert "hdl: proposed fix for svec_mt_demo to prevent gpio pins from being trimmed away during synthesis"
This reverts commit <a href="/hdl-core-lib/mock-turtle/commit/e7f9469c669f2c94f36798ccc314876516af568e" data-original="e7f9469c669f2c94f36798ccc314876516af568e" data-link="false" data-link-reference="false" data-project="11067" data-commit="e7f9469c669f2c94f36798ccc314876516af568e" data-reference-type="commit" data-container="body" data-placement="bottom" title="hdl: proposed fix for svec_mt_demo to prevent gpio pins from being trimmed away during synthesis" class="gfm gfm-commit has-tooltip">e7f9469c</a>.
Not needed anymore, and it causes trouble during mapping of the GPIO pins.
https://ohwr.org/hdl-core-lib/mock-turtle/commit/d6b1eaf477d50389e71b9e14adedcf945c647f02Merge branch 'hotfix/hotfix' into develop2018-09-05T12:31:18ZFederico Vagafederico.vaga@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/5a374decffc80aaf9e97acabbed5f48879d68e54Merge branch 'hotfix/hotfix'2018-09-05T12:30:17ZFederico Vagafederico.vaga@cern.ch
It applies some hotfixes done on Mock Turtle 3.1https://ohwr.org/hdl-core-lib/mock-turtle/commit/9e8843cd2471e870bba4b828cc74b9741e65b169Merge tag 'v3.1.2' into hotfix/hotfix2018-09-05T12:30:01ZFederico Vagafederico.vaga@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/0aed2e03c3268dddcac43fe3541624bf2b923392mockturtle-debug: do not stop all cpus2018-09-05T12:19:46ZTristan Gingoldtristan.gingold@cern.ch
Disassert reset of the cpu only when needed.
Stop the cpu after the gdb connection.https://ohwr.org/hdl-core-lib/mock-turtle/commit/22423c536e6a1d0c63d26c0c13e6e10ac3c3712esw:lib: bugfix, handle error conditions2018-09-05T12:14:55ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/9cdd4133e3acb9798f07ef1fa0589ae9702de19dsw:drv: bugfix uninitialized variable2018-09-05T12:11:28ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/9f444af55f01fae78275c73c4c5568c8a00e42b5mockturtle-messages.c: fix help message.2018-09-04T13:09:56ZTristan Gingoldtristan.gingold@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/a677cd01c8763a9d4ab6b8fd00d6b2ad1982e7fclibmockturtle.c:trtl_msg_sync: do not add filter (was never removed).2018-09-04T13:08:31ZTristan Gingoldtristan.gingold@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/2d32819523a18a180cae0f533e9d7a92e3d95ff4Fix minor typo.2018-09-04T13:08:09ZTristan Gingoldtristan.gingold@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/a278d84761b90a1eaff2590b08733acee0719bf7sw: remove dead symlink2018-09-04T12:42:11ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/20156459d831bcdc4b39e25e84f7c7b827fc9435sw: make doxygen happy2018-08-28T08:28:00ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/ca4a1cdf8eb50780ab45e6822a3e9f1cc063dc2cdoc: simplify Makefile rule2018-08-28T08:22:37ZFederico Vagafederico.vaga@cern.ch
Instead of computing the directories to exclude, just be precise on the files
to be included. Like this `find` will look only into the good directories
without the need to exclude some of them.
The same for doxygen.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/d59628cd394b9fc90d59c99342927abe371d79d1add trtl_fw_ping_timeout.2018-08-28T07:05:31ZTristan Gingoldtristan.gingold@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/d8d70096d0477e5144a65f6da614b4b0df9dc17cmockturtle-debug: fix argparser calls, reduce length of vme mem mapped.2018-08-28T07:05:31ZTristan Gingoldtristan.gingold@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/43b82407f0c90afa0b450339a015d268ba4ef3e6sw:fw: add SIMULATION option2018-08-27T15:19:28ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/19d95d317c165e35b9370162b3fca927f56be118doc: enumerate figures2018-08-27T15:04:23ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/cadcc24266326af27bf00cdbf00107b98d2c5252doc: applies reviewer comments2018-08-27T14:55:44ZFederico Vagafederico.vaga@cern.ch
Mainly style and grammar comments
Remove any reference to platform-device-loader. It is not open-source,
it should not be used by anyone, nobody should see it. This tool is
used by us to compensate the lack of infrastructure at CERN. Other
people should go for DeviceTree.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>
Reported-by: <span data-trailer="Reported-by:"><a href="mailto:Erik.van.der.Bij@cern.ch" title="Erik.van.der.Bij@cern.ch"><img alt="'s avatar" src="https://secure.gravatar.com/avatar/1b9f41209bdd1a9c5d2069a32d9b3925?s=32&d=identicon" class="avatar s16 avatar-inline"></a><a href="mailto:Erik.van.der.Bij@cern.ch" title="Erik.van.der.Bij@cern.ch">Erik Van Der Bij</a> <<a href="mailto:Erik.van.der.Bij@cern.ch" title="Erik.van.der.Bij@cern.ch">Erik.van.der.Bij@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/4f92e90e694317f55fcb49e3fc80aa7d86307d48Merge remote-tracking branch 'ohwr/proposed_master'2018-08-20T13:46:58ZFederico Vagafederico.vaga@cern.ch
Actually the branch used was on OHWRhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/c8a6d3c3146d616533b38371dab795ab3eea1c18Merge remote-tracking branch 'origin/proposed_master'2018-08-20T13:44:08ZFederico Vagafederico.vaga@cern.ch
Tested by Dimitris who used the proposed_master branch as reference in
external projects.
This has been tester with the trigger distribution which seems to work.
So I believe that these changes work. In order to keep thingshttps://ohwr.org/hdl-core-lib/mock-turtle/commit/a637eeaf332f6d5e01099537e14d6a51079d40b0sw:lib: add helper to restart CPU2018-08-20T13:37:52ZFederico Vagafederico.vaga@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9290"><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch"><img alt="Federico Vaga's avatar" src="https://secure.gravatar.com/avatar/4b8af29d6b4b6606c62b13d805ac22f7?s=32&d=identicon" class="avatar s16 avatar-inline" title="Federico Vaga"></a><a href="https://ohwr.org/FedericoVaga" title="federico.vaga@cern.ch">Federico Vaga</a> <<a href="mailto:federico.vaga@cern.ch" title="federico.vaga@cern.ch">federico.vaga@cern.ch</a>></span>https://ohwr.org/hdl-core-lib/mock-turtle/commit/1478ea049d6d0368661a2e9b25746d8a15053367hdl: use dual reset pulse synchronizers to help with meeting timing2018-08-17T09:32:56ZDimitris Lampridisdimitris.lampridis@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/5c0ef2d1f2bc57726b0151ef440780404edc88e6sim: rework queue message class to have the message header unpacked for easie...2018-08-10T13:32:36ZDimitris Lampridisdimitris.lampridis@cern.chhttps://ohwr.org/hdl-core-lib/mock-turtle/commit/c03f3b5b8d2ef1296509e35a11e2768cd641552ahdl: fixed couple of issues with endpoint RX filter.2018-08-09T09:00:10ZDimitris Lampridisdimitris.lampridis@cern.ch
- ethertype was always checked, even when filter.ethertype was disabled
- dst_mac was not checked when filter_udp was enabled
Also, make the filter "flat", so that the combinatorial path is shorter and we do not
duplicate code. It is up to user to enable the proper filter options.