New issue
Advanced search Search tips

Issue 795883 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature

Blocking:
issue 788213



Sign in to add a comment

Introduce a modern, memory-safe language without rewrite

Project Member Reported by jclinton@chromium.org, Dec 18 2017

Issue description

From the Hardening Mosys design doc: https://docs.google.com/document/d/1MkBUhp6KURhB2HArB7QYcrMpU8z1PQgknU-hx8c4K2k/edit#heading=h.xerfucybb4ss

This feature bug will track transitioning the perimeter components of mosys called out in the design doc to Rust without rewriting the core. Go was evaluated and--while great--was discarded due to a desire to have a dynamic library. A proof-of-concept is already in-process of landing in the mosys repo.

Before we can stop building the binary from the C build system, we need to work through the requirement that Firmware Updater have statically linked binaries. The proof-of-concept is currently configured to generate dynamically linked. Concurrently, there's an on-going effort to save space in the Firmware Updater by using dynamic linking: https://bugs.chromium.org/p/chromium/issues/detail?id=765499 . If that's close to being completed, we can avoid generating a static binary.

See additional discussion and rationale in design doc.

 
Components: OS>Systems
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/8c4896a2a54977e2526a0233dc8c02e915dd7bc1

commit 8c4896a2a54977e2526a0233dc8c02e915dd7bc1
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Thu Dec 21 02:32:08 2017

rust: Store args in mosys struct and run opt parse in run()

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: I3578a3eed9076139f0caaaf8076c8bbec896848a
Reviewed-on: https://chromium-review.googlesource.com/836456
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Reviewed-by: C Shapiro <shapiroc@google.com>

[modify] https://crrev.com/8c4896a2a54977e2526a0233dc8c02e915dd7bc1/src/main.rs
[modify] https://crrev.com/8c4896a2a54977e2526a0233dc8c02e915dd7bc1/src/lib.rs

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/da2f03ead8aeae805279992c709108c34591771c

commit da2f03ead8aeae805279992c709108c34591771c
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Mon Jan 08 08:10:06 2018

rust: Implement KV_PAIR settings and platform override

Platform override output cannot be tested because it outputs directly to
stdout.

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: I2ffb912b25bde510ebcdfe073f3d5be37806aaab
Reviewed-on: https://chromium-review.googlesource.com/853299
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/da2f03ead8aeae805279992c709108c34591771c/src/logging.rs
[modify] https://crrev.com/da2f03ead8aeae805279992c709108c34591771c/src/main.rs
[modify] https://crrev.com/da2f03ead8aeae805279992c709108c34591771c/build.rs
[modify] https://crrev.com/da2f03ead8aeae805279992c709108c34591771c/src/lib.rs

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/68880cb117aacda17184c92dd6b6deacc8741d38

commit 68880cb117aacda17184c92dd6b6deacc8741d38
Author: Alec Thilenius <athilenius@chromium.org>
Date: Tue Jan 09 06:42:04 2018

rust: Minor cleanup
Very minor cleanup to writeln and -V flag.

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: Id73f54e038300deee017d86a57be4743b7fe3783
Reviewed-on: https://chromium-review.googlesource.com/854702
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/68880cb117aacda17184c92dd6b6deacc8741d38/build.rs
[modify] https://crrev.com/68880cb117aacda17184c92dd6b6deacc8741d38/src/lib.rs

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/a3a312657a1116ffcfe953e1bcdc4b04c588755d

commit a3a312657a1116ffcfe953e1bcdc4b04c588755d
Author: Alec Thilenius <athilenius@chromium.org>
Date: Tue Jan 09 06:42:04 2018

rust: Fixed non-deterministic include globbing

Include globbing in the Rust build.rs was not deterministic and could
glob in different orders. Because of non-standard header files, and
broken header files, this could cause build errors. Also fixed
file_lock.c and pci.h to correctly include dependencies.

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: Ide21cd2b8f4f68c62e46c87d8ac3044a9a6c68e1
Reviewed-on: https://chromium-review.googlesource.com/855100
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>

[modify] https://crrev.com/a3a312657a1116ffcfe953e1bcdc4b04c588755d/build.rs
[modify] https://crrev.com/a3a312657a1116ffcfe953e1bcdc4b04c588755d/core/file_lock.c
[modify] https://crrev.com/a3a312657a1116ffcfe953e1bcdc4b04c588755d/include/intf/pci.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/d7ea9cc12ab3724c28b7d857cfdfd5f78a3e4f5f

commit d7ea9cc12ab3724c28b7d857cfdfd5f78a3e4f5f
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Tue Jan 09 11:33:21 2018

rust: Implement last 2 getopts args & handle platform setup

"-t" output cannot be tested because it prints directly to standard out
but its use is tested in the misc_args test.

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: If59ed9f4df4e2faabd3600c11b7348242b5b5fe7
Reviewed-on: https://chromium-review.googlesource.com/853774
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/d7ea9cc12ab3724c28b7d857cfdfd5f78a3e4f5f/build.rs
[modify] https://crrev.com/d7ea9cc12ab3724c28b7d857cfdfd5f78a3e4f5f/src/lib.rs

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/9eef8cbac529425f9385211d2d6c75d875579294

commit 9eef8cbac529425f9385211d2d6c75d875579294
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Tue Jan 09 22:14:24 2018

rust: Add logln() and refactor log statements

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: I9cdb31b652c8e8df5d95356fb5fea6018fc1c2db
Reviewed-on: https://chromium-review.googlesource.com/855826
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/9eef8cbac529425f9385211d2d6c75d875579294/src/logging.rs
[modify] https://crrev.com/9eef8cbac529425f9385211d2d6c75d875579294/src/lib.rs

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/68d0ee34b15472a9b594ced80eac12af6040b595

commit 68d0ee34b15472a9b594ced80eac12af6040b595
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Wed Jan 10 00:48:50 2018

rust: Use a macro to make the .to_string() in tests go away

BUG= chromium:795883 
TEST=cargo test
BRANCH=none

Change-Id: Ic49feaa6c95f8004fd0240b904afda91946ee68f
Reviewed-on: https://chromium-review.googlesource.com/857737
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/68d0ee34b15472a9b594ced80eac12af6040b595/src/lib.rs

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/3a2b39cfb626cc3ec7471ea899b43a1017dab76e

commit 3a2b39cfb626cc3ec7471ea899b43a1017dab76e
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Tue Apr 17 04:26:41 2018

rust: Restore working Rust build now that Meson has landed

Getting a working libmosys.a required that the static library be built
as a single link step rather than as a tree of static_library targets
linked together due to how Meson tries to optimize linking:
static_library targets never include their library link_with or
link_whole components.

BUG= chromium:795883 
TEST=ninja -C out; MESON_BUILD_ROOT=out cargo build
BRANCH=none

Change-Id: I599511ba02c1166b621071315239a8be9a67294f
Reviewed-on: https://chromium-review.googlesource.com/1012869
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/intel/nm10/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/alex/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/core/command/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/zgb/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/vbnv/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/strago/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/nvidia/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/math/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/oak/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/samsung/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/rambi/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/intel/series6/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/file/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/crypto/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/intf/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/gru/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/crypto/mincrypt/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/cyan/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/samsung/exynos5250/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/string/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/link/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/nami/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/glados/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/build.rs
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/stumpy/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/slippy/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/flashrom/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/kiev/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/spring/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/core/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/cbfs/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/README
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/pinky/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/fizz/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/storm/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/samus/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/smbios/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/stout/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/peach/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/butterfly/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/ene/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/dynamic_array/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/smaug/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/misc/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/z600/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/eventlog/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/vpd/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/lumpy/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/daisy/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/octopus/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/sensors/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/intel/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/samsung/exynos5420/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/reef/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/sandisk/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/intel/braswell/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/intel/lynxpoint_lp/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/eeprom/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/kahlee/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/nyan/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/mario/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/ite/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/nuvoton/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/intel/baytrail/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/parrot/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/skate/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/cros_config/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/acpi/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/cyclone/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/google/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/nvidia/tegra124/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/beltino/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/drivers/smsc/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/platform/auron/meson.build
[modify] https://crrev.com/3a2b39cfb626cc3ec7471ea899b43a1017dab76e/lib/spd/meson.build

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/a236cdf6bd588da684b74112d888652279ed1bbe

commit a236cdf6bd588da684b74112d888652279ed1bbe
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Mon Apr 23 17:50:00 2018

rust: Support linking in cros_config Device Tree support

If Device Tree support is ever removed, this commit can be reverted.

BUG= chromium:795883 
TEST=meson -Darch=amd64 -Duse_cros_config=true out; ninja -C out; MESON_BUILD_ROOT=out cargo build
BRANCH=none

Change-Id: Ic1f68f7a9a587675360727ce41e4d4ffb3621719
Reviewed-on: https://chromium-review.googlesource.com/1023605
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>
Reviewed-by: C Shapiro <shapiroc@google.com>

[modify] https://crrev.com/a236cdf6bd588da684b74112d888652279ed1bbe/build.rs
[modify] https://crrev.com/a236cdf6bd588da684b74112d888652279ed1bbe/meson.build

Project Member

Comment 11 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/c356d747635652e19b0fff5a5468c70db4932f14

commit c356d747635652e19b0fff5a5468c70db4932f14
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Mon May 14 22:32:38 2018

rust: Get rid of the vec_of_strings! macro in tests

Now that I understand trait bounds better, we can do this simpler, with
better performance, and cleaner syntax in both the main.rs call and the
tests.

This works by allowing Mosys to work with anything that implements
AsRef<str> to convert itself into a &str. This is achieved through the
use of Rust 1.26 impl Trait.

BUG= chromium:795883 
TEST=meson -Darch=amd64 -Duse_cros_config=true out; ninja -C out; MESON_BUILD_ROOT=out cargo build
BRANCH=none

Change-Id: I64619abc2ff14d3e730695458e6275ba99967a6e
Reviewed-on: https://chromium-review.googlesource.com/1034384
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>

[modify] https://crrev.com/c356d747635652e19b0fff5a5468c70db4932f14/src/main.rs
[modify] https://crrev.com/c356d747635652e19b0fff5a5468c70db4932f14/src/lib.rs

Project Member

Comment 12 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/a9c594465e67b28bb1f1c8366345bb2b6d2585f8

commit a9c594465e67b28bb1f1c8366345bb2b6d2585f8
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Mon May 14 22:32:39 2018

rust: Check for platform with no commands

Also adds a Dummy platform that we can use for testing from now on.

BUG= chromium:795883 
TEST=meson -Darch=amd64 -Duse_cros_config=true out; ninja -C out; MESON_BUILD_ROOT=out cargo build
BRANCH=none

Change-Id: Ie71bc8c48411eb442c84c5ea4a4200eec0d5e683
Reviewed-on: https://chromium-review.googlesource.com/1034389
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>

[add] https://crrev.com/a9c594465e67b28bb1f1c8366345bb2b6d2585f8/platform/dummy/dummy.c
[add] https://crrev.com/a9c594465e67b28bb1f1c8366345bb2b6d2585f8/platform/dummy/meson.build
[modify] https://crrev.com/a9c594465e67b28bb1f1c8366345bb2b6d2585f8/platform/platform_list.c
[modify] https://crrev.com/a9c594465e67b28bb1f1c8366345bb2b6d2585f8/src/lib.rs
[modify] https://crrev.com/a9c594465e67b28bb1f1c8366345bb2b6d2585f8/platform/meson.build
[add] https://crrev.com/a9c594465e67b28bb1f1c8366345bb2b6d2585f8/platform/dummy/dummy.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/ac3a82d32539545458b54fa2ef1531ee0c0e05e1

commit ac3a82d32539545458b54fa2ef1531ee0c0e05e1
Author: Samantha Miller <samanthamiller@google.com>
Date: Wed Jun 06 04:28:47 2018

rust: Complete mosys command dispatch in Rust

BUG= chromium:795883 
TEST=meson -Darch=amd64 out; ninja -C out;
MESON_BUILD_ROOT=out cargo build; cargo test

Change-Id: I1eef777fe5b666cee1bb81d13d98d89ec74a740e
Reviewed-on: https://chromium-review.googlesource.com/1087348
Commit-Ready: Samantha Miller <samanthamiller@google.com>
Tested-by: Samantha Miller <samanthamiller@google.com>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/ac3a82d32539545458b54fa2ef1531ee0c0e05e1/src/lib.rs

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/419eb67ef197327c7e18b03ed036a85da9e51c84

commit 419eb67ef197327c7e18b03ed036a85da9e51c84
Author: Samantha Miller <samanthamiller@google.com>
Date: Fri Jun 08 06:33:24 2018

rust: Fix bug in mosys rust implementation

BUG= chromium:795883 
TEST=emerge-coral mosys; emerge-daisy mosys; cargo test

Change-Id: Icdd0227e156b1bd0a0012854b4141e3067c6c66a
Reviewed-on: https://chromium-review.googlesource.com/1091450
Commit-Ready: Samantha Miller <samanthamiller@google.com>
Tested-by: Samantha Miller <samanthamiller@google.com>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/419eb67ef197327c7e18b03ed036a85da9e51c84/src/lib.rs

Project Member

Comment 15 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/022f709d7469d754a587a4fd70c144f0fcb52f8b

commit 022f709d7469d754a587a4fd70c144f0fcb52f8b
Author: Samantha Miller <samanthamiller@google.com>
Date: Wed Jun 13 19:59:22 2018

rust: Make fdt link conditional on unibuild

BUG= chromium:795883 
TEST=built mosys and ran; emerge-whirlwind mosys

Change-Id: I9095d14c5ec0c2f2f05dc7391268cf5295daca5b
Reviewed-on: https://chromium-review.googlesource.com/1097560
Commit-Ready: Samantha Miller <samanthamiller@google.com>
Tested-by: Samantha Miller <samanthamiller@google.com>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/022f709d7469d754a587a4fd70c144f0fcb52f8b/build.rs

Project Member

Comment 16 by bugdroid1@chromium.org, Jun 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/9622760d16c1cab20c5128432a388c44b4d96e25

commit 9622760d16c1cab20c5128432a388c44b4d96e25
Author: Samantha Miller <samanthamiller@google.com>
Date: Fri Jun 22 02:56:16 2018

rust: Add mosys to libgcc_whitelist to switch to rust

BUG= chromium:795883 
TEST=kip-paladin-tryjob --hwtest

Change-Id: I2dbbb19b235855096e8c39bfa1c5b8d488221132
Reviewed-on: https://chromium-review.googlesource.com/1104304
Commit-Ready: Samantha Miller <samanthamiller@google.com>
Tested-by: Samantha Miller <samanthamiller@google.com>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/9622760d16c1cab20c5128432a388c44b4d96e25/client/site_tests/platform_ToolchainOptions/libgcc_whitelist

Project Member

Comment 17 by bugdroid1@chromium.org, Jun 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/af1a5a3536d17c4340e44e6690b960e14c22f5d1

commit af1a5a3536d17c4340e44e6690b960e14c22f5d1
Author: Samantha Miller <samanthamiller@google.com>
Date: Fri Jun 22 02:56:17 2018

rust: Switch to building and installing the mosys version of rust

BUG= chromium:795883 
TEST=built and ran on coral board; also ran firmware update
CQ-DEPEND=CL:1104304
CQ-DEPEND=CL:1110276

Change-Id: Ifcc38f016d089013b1bae8598778f12128b30a80
Reviewed-on: https://chromium-review.googlesource.com/1090992
Commit-Ready: Samantha Miller <samanthamiller@google.com>
Tested-by: Samantha Miller <samanthamiller@google.com>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[add] https://crrev.com/af1a5a3536d17c4340e44e6690b960e14c22f5d1/sys-apps/mosys/Manifest
[modify] https://crrev.com/af1a5a3536d17c4340e44e6690b960e14c22f5d1/sys-apps/mosys/mosys-9999.ebuild

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/mosys/+/dca00e7639e2117b6c78744c567267825934c2da

commit dca00e7639e2117b6c78744c567267825934c2da
Author: Samantha Miller <samanthamiller@google.com>
Date: Fri Jun 22 02:56:16 2018

rust: Fix rust slice to C array logic

BUG= chromium:795883 
TEST=built and ran on board

Change-Id: I12ff56734bb8c86c554da438f8e202c6e72119c8
Reviewed-on: https://chromium-review.googlesource.com/1110276
Commit-Ready: Samantha Miller <samanthamiller@google.com>
Tested-by: Samantha Miller <samanthamiller@google.com>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/dca00e7639e2117b6c78744c567267825934c2da/src/lib.rs

Status: Fixed (was: Started)
This seems to have stuck. Nice work, Samantha!

I would still like to convert at least one hardware interface to Rust to vet out how that would work but that shouldn't block this bug.

Sign in to add a comment