Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add launchxl and cc26x2 to the archive #2

Merged
merged 1 commit into from
Jul 3, 2020
Merged

Add launchxl and cc26x2 to the archive #2

merged 1 commit into from
Jul 3, 2020

Conversation

ppannuto
Copy link
Member

The captures the state of the launchxl and cc26x2 as of the 1.5 release.

This is compile-tested, but not tested on hardware (as I don't have any), but again, does match the 1.5 release, so should be tested via that, which I think is about the best we can ask for.

bors bot added a commit to tock/tock that referenced this pull request Jun 25, 2020
1933: Bind AppSlice to app instance (AppId), fixes #1914 r=bradjc a=lschuermann

### Pull Request Overview

This pull request fixes #1914 by checking whether the memory an AppSlice points to still belongs to the same app instance (more precisely, the `instance` field in `AppSlice`).

Thanks to @alevy for implementing the main part of this which turned out to be working perfectly. The commits on top make sure that the returned `AppSlice` length is consistent with the `AsRef` and `AsMut` implementations and document this new behavior.


### Testing Strategy

This pull request was tested by developing a crude capsule which deliberately keeps an `AppSlice` out of a grant and does not accept a second `allow`. This ensures that the AppSlice is shared from the first app instance, but is used in the second app instance.

The test capsule (integrated with the nRF52840) along the userspace `libtock_c` app can be found [here](lschuermann@6403b2e).

The output validates that indeed the `AppSlice` returns a length of 0 and hands out a immutable / mutable slice of length `0`.
```
Initialization complete. Entering main loop
NRF52 HW INFO: Variant: AAC0, Part: N52840, Package: QI, Ram: K256, Flash: K1024

--> AppSlice safety test app!
Allow buffer of length 64
AppSlice shared by app!
Tell capsule to print AppSlice info
Shared slice reports length 64
Shared slice as_ref length 64
Shared slice as_mut length 64

<fault app by button press>

--> AppSlice safety test app!
Allow buffer of length 64
AppSlice already shared, refusing to replace
Tell capsule to print AppSlice info
Shared slice reports length 0
Shared slice as_ref length 0
Shared slice as_mut length 0
```

### TODO

We should probably run the release test suite along with the `DebugProcessRestart` capsule to make sure this doesn't break any existing capsules. I can verify this once this gets "yes, we indeed want this" feedback. 😄 

### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

  I believe there not to be a section in `/docs` which needs to elaborate on this behavior. I hope the generated rustdoc is sufficient. If indeed an update in `/docs` is required, please provide pointers to the respective section.

### Formatting

- [x] Ran `make prepush`.


1963: deprecate launchxl, cc26x2 r=bradjc a=ppannuto

### Pull Request Overview

This pull request deprecates the LaunchXL and CC26x2, moving them to tock-archive.

This is not intended as a statement one way or another on this chip or board, rather just a recognition that this board has not seem much uptake, and maintenance is lagging (e.g. #1101).

See the companion PR here: tock/tock-archive#2

### Testing Strategy

Compiling.

### TODO or Help Wanted

N/A

### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [x] Ran `make prepush`.


1979: add --strip-sections to objcopy flags r=bradjc a=hudson-ayers

### Pull Request Overview

This pull request adds `--strip-sections` to OBJCOPY_FLAGS. This fixes an issue where boards with SRAM located below flash would have huge binaries (250 MB+) after we updated to the latest nightly, which included an update to LLVM objcopy. This was first noticed by Emilio Moretti on an out of tree board he maintains, but it also affects OpenTitan.

The help description for the flag follows:
`--strip-sections        Remove all section headers and all sections not in segments`


### Testing Strategy

This pull request was tested by compiling opentitan and observing the binary size has returned to normal, and running the hello_world app in QEMU for opentitan.


### TODO or Help Wanted

N/A

### Documentation Updated

- [x] no updates are required.

### Formatting

- [x] Ran `make prepush`.


Co-authored-by: Amit Aryeh Levy <amit@amitlevy.com>
Co-authored-by: Leon Schuermann <leon@is.currently.online>
Co-authored-by: Pat Pannuto <pat.pannuto@gmail.com>
Co-authored-by: Brad Campbell <bradjc5@gmail.com>
Co-authored-by: Hudson Ayers <hayers@stanford.edu>
@ppannuto ppannuto merged commit 5d52fd8 into master Jul 3, 2020
@ppannuto ppannuto deleted the launchxl branch July 3, 2020 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants