Page MenuHomeFreeBSD

sys/arm64: Add a driver for the Realm Services Interface
Needs ReviewPublic

Authored by sarah.walker2_arm.com on Fri, Oct 2, 10:32 AM.
Tags
None
Referenced Files
F175532468: D60243.diff
Sun, Oct 11, 12:50 PM
F175433456: D60243.id188402.diff
Sat, Oct 10, 7:59 PM
Unknown Object (File)
Fri, Oct 9, 2:03 AM
Unknown Object (File)
Fri, Oct 9, 12:11 AM
Unknown Object (File)
Thu, Oct 8, 2:52 PM
Unknown Object (File)
Thu, Oct 8, 9:03 AM
Unknown Object (File)
Wed, Oct 7, 8:12 AM
Unknown Object (File)
Wed, Oct 7, 6:46 AM
Subscribers

Details

Reviewers
andrew
manu
Summary

The driver currently provides an interface to userspace for performing
attestation. This is accessed at /dev/rsi/attestation; the user writes a 32-64
byte challenge, and reads back a variable length response.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77621
Build 74504: arc lint + arc unit

Event Timeline

There is a race if two threads are writing at the same time, or if one is reading while another is writing. We could add a flag that gets atomically set when handling the info struct & cleared when done.

Userspace shouldn't be doing this, but if it does the kernel should handle it

sys/dev/psci/psci.c
357–359 ↗(On Diff #188386)

Is this needed? I don't see the rsi device driver.

sys/dev/rsi/rsi_dev.c
2

This is missing a license

29–31

Are these needed? The only caller already checks this so they could be either removed or made asserts.

52

This looks unneeded as len is never NULL

75–76

free(NULL, ...) is a nop in the kernel just like in userspace.

131

Should it be this?

151

Do we need to increment pa here?