@@ -40,40 +40,9 @@ Check out the man page TSS2-TCTI-TABRMD(7) and TSS2_TCTI_TABRMD_INIT(3).
4040The current implementations are mostly equivalent with a few differences.
4141Both provide isolation between objects & sessions created by different
4242connections which is the core functionality required by applications. The
43- reason we have both is that the in-kernel RM was only added very recently
44- (4.12) and we have TPM2 users in environments with kernels going back to the
45- 3.x series. So the user space RM will be around at least till everyone is
46- using the kernel RM.
47-
48- For the short term we're recommending that developers stick to using the
49- tabrmd as the default to get the most stable / widest possible support.
50- If you structure your code properly you'll be able to switch in / out TCTI
51- modules with relative ease and migrating to the in-kernel RM should be pretty
52- painless. Eventually, all of the required features will end up in the kernel
53- RM and it will become the default.
54-
55- How we get to the ideal future of a single RM in the kernel: our current plan
56- is to prototype various features in user space as a way to get them tested /
57- validated. There's a lot of stuff in the related TCG spec that we haven't yet
58- implemented and we all agree that it's generally a bad ideal to to put
59- features into the kernel before we:
60- 1 . understand how they work
61- 2 . how they're going to be used by applications
62- 3 . agree we want the feature at all
63-
64- A good example of this are the asynchronous portions of the SAPI. Right now
65- with the kernel RM you can use the async API but it won't really be
66- asynchronous: Calls to functions that should be async will block since the
67- kernel doesn't supply user space with an async / polling I/O interface. For
68- the short term, if you want to use the SAPI in an event driven I/O framework
69- you will only get async I/O from the user space resource manager. In the long
70- run though, if this feature is important to our users, we can work to upstream
71- support to the in-kernel RM. The plan is to treat future features in the same
72- way.
73-
74- This was the subject of a talk that was given @ the Linux Plumbers Conference
75- 2017:
76- http://linuxplumbersconf.com/2017/ocw//system/presentations/4818/original/TPM2-kernel-evnet-app_tricca-sakkinen.pdf
43+ reason we have both is that the in-kernel RM was added in version 4.12 and
44+ we have TPM2 users in environments with kernels going back to the
45+ 3.x series. So the user space RM will be around to support those users.
7746
7847# Related Specifications
7948* [ TPM2 Software Stack Access Broker and Resource Manager] ( https://trustedcomputinggroup.org/wp-content/uploads/TSS-TAB-and-Resource-Manager-ver1.0-rev16_Public_Review.pdf )
0 commit comments