device/virtio-nsm: Support for Nitro Secure Module device
Nitro Secure Module (NSM)[1] device is used in AWS Nitro Enclaves[2] for stripped down TPM functionality like cryptographic attestation. The requests to and responses from NSM device are CBOR[3] encoded. This commit adds support for NSM device in QEMU. Although related to AWS Nitro Enclaves, the virito-nsm device is independent and can be used in other machine types as well. The libcbor[4] library has been used for the CBOR encoding and decoding functionalities. [1] https://lists.oasis-open.org/archives/virtio-comment/202310/msg00387.html [2] https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html [3] http://cbor.io/ [4] https://libcbor.readthedocs.io/en/latest/ Signed-off-by: Dorjoy Chowdhury <dorjoychy111@gmail.com> Reviewed-by: Alexander Graf <graf@amazon.com> Link: https://lore.kernel.org/r/20241008211727.49088-3-dorjoychy111@gmail.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
1ac32dc8ea
commit
bb154e3e0c
@@ -1716,6 +1716,12 @@ if (have_system or have_tools) and (virgl.found() or opengl.found())
|
||||
endif
|
||||
have_vhost_user_gpu = have_vhost_user_gpu and virgl.found() and opengl.found() and gbm.found()
|
||||
|
||||
libcbor = not_found
|
||||
if not get_option('libcbor').auto() or have_system
|
||||
libcbor = dependency('libcbor', version: '>=0.7.0',
|
||||
required: get_option('libcbor'))
|
||||
endif
|
||||
|
||||
gnutls = not_found
|
||||
gnutls_crypto = not_found
|
||||
if get_option('gnutls').enabled() or (get_option('gnutls').auto() and have_system)
|
||||
@@ -3130,6 +3136,7 @@ host_kconfig = \
|
||||
(spice.found() ? ['CONFIG_SPICE=y'] : []) + \
|
||||
(have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
|
||||
(opengl.found() ? ['CONFIG_OPENGL=y'] : []) + \
|
||||
(libcbor.found() ? ['CONFIG_LIBCBOR=y'] : []) + \
|
||||
(x11.found() ? ['CONFIG_X11=y'] : []) + \
|
||||
(fdt.found() ? ['CONFIG_FDT=y'] : []) + \
|
||||
(have_vhost_user ? ['CONFIG_VHOST_USER=y'] : []) + \
|
||||
@@ -4696,6 +4703,7 @@ summary_info += {'NUMA host support': numa}
|
||||
summary_info += {'capstone': capstone}
|
||||
summary_info += {'libpmem support': libpmem}
|
||||
summary_info += {'libdaxctl support': libdaxctl}
|
||||
summary_info += {'libcbor support': libcbor}
|
||||
summary_info += {'libudev': libudev}
|
||||
# Dummy dependency, keep .found()
|
||||
summary_info += {'FUSE lseek': fuse_lseek.found()}
|
||||
|
||||
Reference in New Issue
Block a user