mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
tpm: Move backend code under the 'backends/' directory
TPM subsytem is split into backends (see commitf4ede81eed
) and frontends (see i.e.3676bc69b3
). Keep the emulated hardware 'frontends' under hw/tpm/, but move the backends in the backends/tpm/ directory. Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20200612085444.8362-13-philmd@redhat.com Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
This commit is contained in:
parent
0f7d214820
commit
ca64b08638
2
Makefile
2
Makefile
@ -418,7 +418,7 @@ MINIKCONF_ARGS = \
|
|||||||
CONFIG_LINUX=$(CONFIG_LINUX) \
|
CONFIG_LINUX=$(CONFIG_LINUX) \
|
||||||
CONFIG_PVRDMA=$(CONFIG_PVRDMA)
|
CONFIG_PVRDMA=$(CONFIG_PVRDMA)
|
||||||
|
|
||||||
MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
|
MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/backends/Kconfig $(SRC_PATH)/hw/Kconfig
|
||||||
MINIKCONF_DEPS = $(MINIKCONF_INPUTS) $(wildcard $(SRC_PATH)/hw/*/Kconfig)
|
MINIKCONF_DEPS = $(MINIKCONF_INPUTS) $(wildcard $(SRC_PATH)/hw/*/Kconfig)
|
||||||
MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
|
MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
|
||||||
|
|
||||||
|
@ -125,6 +125,7 @@ trace-events-subdirs =
|
|||||||
trace-events-subdirs += accel/kvm
|
trace-events-subdirs += accel/kvm
|
||||||
trace-events-subdirs += accel/tcg
|
trace-events-subdirs += accel/tcg
|
||||||
trace-events-subdirs += backends
|
trace-events-subdirs += backends
|
||||||
|
trace-events-subdirs += backends/tpm
|
||||||
trace-events-subdirs += crypto
|
trace-events-subdirs += crypto
|
||||||
trace-events-subdirs += monitor
|
trace-events-subdirs += monitor
|
||||||
ifeq ($(CONFIG_USER_ONLY),y)
|
ifeq ($(CONFIG_USER_ONLY),y)
|
||||||
|
1
backends/Kconfig
Normal file
1
backends/Kconfig
Normal file
@ -0,0 +1 @@
|
|||||||
|
source tpm/Kconfig
|
14
backends/tpm/Kconfig
Normal file
14
backends/tpm/Kconfig
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
config TPM_BACKEND
|
||||||
|
bool
|
||||||
|
depends on TPM
|
||||||
|
|
||||||
|
config TPM_PASSTHROUGH
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
# FIXME: should check for x86 host as well
|
||||||
|
depends on TPM_BACKEND && LINUX
|
||||||
|
|
||||||
|
config TPM_EMULATOR
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
depends on TPM_BACKEND
|
@ -1 +1,4 @@
|
|||||||
common-obj-y += tpm_backend.o
|
common-obj-y += tpm_backend.o
|
||||||
|
common-obj-y += tpm_util.o
|
||||||
|
common-obj-$(CONFIG_TPM_PASSTHROUGH) += tpm_passthrough.o
|
||||||
|
common-obj-$(CONFIG_TPM_EMULATOR) += tpm_emulator.o
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
* See the COPYING file in the top-level directory.
|
* See the COPYING file in the top-level directory.
|
||||||
*/
|
*/
|
||||||
#ifndef TPM_TPM_INT_H
|
#ifndef BACKENDS_TPM_INT_H
|
||||||
#define TPM_TPM_INT_H
|
#define BACKENDS_TPM_INT_H
|
||||||
|
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "sysemu/tpm.h"
|
#include "sysemu/tpm.h"
|
||||||
@ -85,4 +85,4 @@ typedef struct TPMSizedBuffer {
|
|||||||
|
|
||||||
void tpm_sized_buffer_reset(TPMSizedBuffer *tsb);
|
void tpm_sized_buffer_reset(TPMSizedBuffer *tsb);
|
||||||
|
|
||||||
#endif /* TPM_TPM_INT_H */
|
#endif /* BACKENDS_TPM_INT_H */
|
33
backends/tpm/trace-events
Normal file
33
backends/tpm/trace-events
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# See docs/devel/tracing.txt for syntax documentation.
|
||||||
|
|
||||||
|
# tpm_passthrough.c
|
||||||
|
tpm_passthrough_handle_request(void *cmd) "processing command %p"
|
||||||
|
tpm_passthrough_reset(void) "reset"
|
||||||
|
|
||||||
|
# tpm_util.c
|
||||||
|
tpm_util_get_buffer_size_hdr_len(uint32_t len, size_t expected) "tpm_resp->hdr.len = %u, expected = %zu"
|
||||||
|
tpm_util_get_buffer_size_len(uint32_t len, size_t expected) "tpm_resp->len = %u, expected = %zu"
|
||||||
|
tpm_util_get_buffer_size_hdr_len2(uint32_t len, size_t expected) "tpm2_resp->hdr.len = %u, expected = %zu"
|
||||||
|
tpm_util_get_buffer_size_len2(uint32_t len, size_t expected) "tpm2_resp->len = %u, expected = %zu"
|
||||||
|
tpm_util_get_buffer_size(size_t len) "buffersize of device: %zu"
|
||||||
|
tpm_util_show_buffer(const char *direction, size_t len, const char *buf) "direction: %s len: %zu\n%s"
|
||||||
|
|
||||||
|
# tpm_emulator.c
|
||||||
|
tpm_emulator_set_locality(uint8_t locty) "setting locality to %d"
|
||||||
|
tpm_emulator_handle_request(void) "processing TPM command"
|
||||||
|
tpm_emulator_probe_caps(uint64_t caps) "capabilities: 0x%"PRIx64
|
||||||
|
tpm_emulator_set_buffer_size(uint32_t buffersize, uint32_t minsize, uint32_t maxsize) "buffer size: %u, min: %u, max: %u"
|
||||||
|
tpm_emulator_startup_tpm_resume(bool is_resume, size_t buffersize) "is_resume: %d, buffer size: %zu"
|
||||||
|
tpm_emulator_get_tpm_established_flag(uint8_t flag) "got established flag: %d"
|
||||||
|
tpm_emulator_cancel_cmd_not_supt(void) "Backend does not support CANCEL_TPM_CMD"
|
||||||
|
tpm_emulator_handle_device_opts_tpm12(void) "TPM Version 1.2"
|
||||||
|
tpm_emulator_handle_device_opts_tpm2(void) "TPM Version 2"
|
||||||
|
tpm_emulator_handle_device_opts_unspec(void) "TPM Version Unspecified"
|
||||||
|
tpm_emulator_handle_device_opts_startup_error(void) "Startup error"
|
||||||
|
tpm_emulator_get_state_blob(uint8_t type, uint32_t size, uint32_t flags) "got state blob type %d, %u bytes, flags 0x%08x"
|
||||||
|
tpm_emulator_set_state_blob(uint8_t type, uint32_t size, uint32_t flags) "set state blob type %d, %u bytes, flags 0x%08x"
|
||||||
|
tpm_emulator_set_state_blobs(void) "setting state blobs"
|
||||||
|
tpm_emulator_set_state_blobs_error(const char *msg) "error while setting state blobs: %s"
|
||||||
|
tpm_emulator_set_state_blobs_done(void) "Done setting state blobs"
|
||||||
|
tpm_emulator_pre_save(void) ""
|
||||||
|
tpm_emulator_inst_init(void) ""
|
@ -232,8 +232,8 @@ Integrity Measurement Architecture (IMA), are not expecting to share
|
|||||||
PCRs.
|
PCRs.
|
||||||
|
|
||||||
QEMU files related to the TPM passthrough device:
|
QEMU files related to the TPM passthrough device:
|
||||||
- ``hw/tpm/tpm_passthrough.c``
|
- ``backends/tpm/tpm_passthrough.c``
|
||||||
- ``hw/tpm/tpm_util.c``
|
- ``backends/tpm/tpm_util.c``
|
||||||
- ``include/sysemu/tpm_util.h``
|
- ``include/sysemu/tpm_util.h``
|
||||||
|
|
||||||
|
|
||||||
@ -292,8 +292,8 @@ instrumented to initialize a TPM 1.2 or TPM 2 device using this
|
|||||||
command.
|
command.
|
||||||
|
|
||||||
QEMU files related to the TPM emulator device:
|
QEMU files related to the TPM emulator device:
|
||||||
- ``hw/tpm/tpm_emulator.c``
|
- ``backends/tpm/tpm_emulator.c``
|
||||||
- ``hw/tpm/tpm_util.c``
|
- ``backends/tpm/tpm_util.c``
|
||||||
- ``include/sysemu/tpm_util.h``
|
- ``include/sysemu/tpm_util.h``
|
||||||
|
|
||||||
The following commands start the swtpm with a UnixIO control channel over
|
The following commands start the swtpm with a UnixIO control channel over
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
config TPM_BACKEND
|
|
||||||
bool
|
|
||||||
depends on TPM
|
|
||||||
|
|
||||||
config TPM_TIS_ISA
|
config TPM_TIS_ISA
|
||||||
bool
|
bool
|
||||||
depends on TPM && ISA_BUS
|
depends on TPM && ISA_BUS
|
||||||
@ -22,17 +18,6 @@ config TPM_CRB
|
|||||||
depends on TPM && PC
|
depends on TPM && PC
|
||||||
select TPM_BACKEND
|
select TPM_BACKEND
|
||||||
|
|
||||||
config TPM_PASSTHROUGH
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
# FIXME: should check for x86 host as well
|
|
||||||
depends on TPM_BACKEND && LINUX
|
|
||||||
|
|
||||||
config TPM_EMULATOR
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
depends on TPM_BACKEND
|
|
||||||
|
|
||||||
config TPM_SPAPR
|
config TPM_SPAPR
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
common-obj-$(CONFIG_TPM) += tpm_util.o
|
|
||||||
obj-$(call lor,$(CONFIG_TPM_TIS),$(CONFIG_TPM_CRB)) += tpm_ppi.o
|
obj-$(call lor,$(CONFIG_TPM_TIS),$(CONFIG_TPM_CRB)) += tpm_ppi.o
|
||||||
common-obj-$(CONFIG_TPM_TIS_ISA) += tpm_tis_isa.o
|
common-obj-$(CONFIG_TPM_TIS_ISA) += tpm_tis_isa.o
|
||||||
common-obj-$(CONFIG_TPM_TIS_SYSBUS) += tpm_tis_sysbus.o
|
common-obj-$(CONFIG_TPM_TIS_SYSBUS) += tpm_tis_sysbus.o
|
||||||
common-obj-$(CONFIG_TPM_TIS) += tpm_tis_common.o
|
common-obj-$(CONFIG_TPM_TIS) += tpm_tis_common.o
|
||||||
common-obj-$(CONFIG_TPM_CRB) += tpm_crb.o
|
common-obj-$(CONFIG_TPM_CRB) += tpm_crb.o
|
||||||
common-obj-$(CONFIG_TPM_PASSTHROUGH) += tpm_passthrough.o
|
|
||||||
common-obj-$(CONFIG_TPM_EMULATOR) += tpm_emulator.o
|
|
||||||
obj-$(CONFIG_TPM_SPAPR) += tpm_spapr.o
|
obj-$(CONFIG_TPM_SPAPR) += tpm_spapr.o
|
||||||
|
@ -4,38 +4,6 @@
|
|||||||
tpm_crb_mmio_read(uint64_t addr, unsigned size, uint32_t val) "CRB read 0x%016" PRIx64 " len:%u val: 0x%" PRIx32
|
tpm_crb_mmio_read(uint64_t addr, unsigned size, uint32_t val) "CRB read 0x%016" PRIx64 " len:%u val: 0x%" PRIx32
|
||||||
tpm_crb_mmio_write(uint64_t addr, unsigned size, uint32_t val) "CRB write 0x%016" PRIx64 " len:%u val: 0x%" PRIx32
|
tpm_crb_mmio_write(uint64_t addr, unsigned size, uint32_t val) "CRB write 0x%016" PRIx64 " len:%u val: 0x%" PRIx32
|
||||||
|
|
||||||
# tpm_passthrough.c
|
|
||||||
tpm_passthrough_handle_request(void *cmd) "processing command %p"
|
|
||||||
tpm_passthrough_reset(void) "reset"
|
|
||||||
|
|
||||||
# tpm_util.c
|
|
||||||
tpm_util_get_buffer_size_hdr_len(uint32_t len, size_t expected) "tpm_resp->hdr.len = %u, expected = %zu"
|
|
||||||
tpm_util_get_buffer_size_len(uint32_t len, size_t expected) "tpm_resp->len = %u, expected = %zu"
|
|
||||||
tpm_util_get_buffer_size_hdr_len2(uint32_t len, size_t expected) "tpm2_resp->hdr.len = %u, expected = %zu"
|
|
||||||
tpm_util_get_buffer_size_len2(uint32_t len, size_t expected) "tpm2_resp->len = %u, expected = %zu"
|
|
||||||
tpm_util_get_buffer_size(size_t len) "buffersize of device: %zu"
|
|
||||||
tpm_util_show_buffer(const char *direction, size_t len, const char *buf) "direction: %s len: %zu\n%s"
|
|
||||||
|
|
||||||
# tpm_emulator.c
|
|
||||||
tpm_emulator_set_locality(uint8_t locty) "setting locality to %d"
|
|
||||||
tpm_emulator_handle_request(void) "processing TPM command"
|
|
||||||
tpm_emulator_probe_caps(uint64_t caps) "capabilities: 0x%"PRIx64
|
|
||||||
tpm_emulator_set_buffer_size(uint32_t buffersize, uint32_t minsize, uint32_t maxsize) "buffer size: %u, min: %u, max: %u"
|
|
||||||
tpm_emulator_startup_tpm_resume(bool is_resume, size_t buffersize) "is_resume: %d, buffer size: %zu"
|
|
||||||
tpm_emulator_get_tpm_established_flag(uint8_t flag) "got established flag: %d"
|
|
||||||
tpm_emulator_cancel_cmd_not_supt(void) "Backend does not support CANCEL_TPM_CMD"
|
|
||||||
tpm_emulator_handle_device_opts_tpm12(void) "TPM Version 1.2"
|
|
||||||
tpm_emulator_handle_device_opts_tpm2(void) "TPM Version 2"
|
|
||||||
tpm_emulator_handle_device_opts_unspec(void) "TPM Version Unspecified"
|
|
||||||
tpm_emulator_handle_device_opts_startup_error(void) "Startup error"
|
|
||||||
tpm_emulator_get_state_blob(uint8_t type, uint32_t size, uint32_t flags) "got state blob type %d, %u bytes, flags 0x%08x"
|
|
||||||
tpm_emulator_set_state_blob(uint8_t type, uint32_t size, uint32_t flags) "set state blob type %d, %u bytes, flags 0x%08x"
|
|
||||||
tpm_emulator_set_state_blobs(void) "setting state blobs"
|
|
||||||
tpm_emulator_set_state_blobs_error(const char *msg) "error while setting state blobs: %s"
|
|
||||||
tpm_emulator_set_state_blobs_done(void) "Done setting state blobs"
|
|
||||||
tpm_emulator_pre_save(void) ""
|
|
||||||
tpm_emulator_inst_init(void) ""
|
|
||||||
|
|
||||||
# tpm_tis.c
|
# tpm_tis.c
|
||||||
tpm_tis_raise_irq(uint32_t irqmask) "Raising IRQ for flag 0x%08x"
|
tpm_tis_raise_irq(uint32_t irqmask) "Raising IRQ for flag 0x%08x"
|
||||||
tpm_tis_new_active_locality(uint8_t locty) "Active locality is now %d"
|
tpm_tis_new_active_locality(uint8_t locty) "Active locality is now %d"
|
||||||
@ -56,7 +24,7 @@ tpm_tis_pre_save(uint8_t locty, uint32_t rw_offset) "locty: %d, rw_offset = %u"
|
|||||||
# tpm_ppi.c
|
# tpm_ppi.c
|
||||||
tpm_ppi_memset(uint8_t *ptr, size_t size) "memset: %p %zu"
|
tpm_ppi_memset(uint8_t *ptr, size_t size) "memset: %p %zu"
|
||||||
|
|
||||||
# hw/tpm/tpm_spapr.c
|
# tpm_spapr.c
|
||||||
tpm_spapr_show_buffer(const char *direction, size_t len, const char *buf) "direction: %s len: %zu\n%s"
|
tpm_spapr_show_buffer(const char *direction, size_t len, const char *buf) "direction: %s len: %zu\n%s"
|
||||||
tpm_spapr_do_crq(uint8_t raw1, uint8_t raw2) "1st 2 bytes in CRQ: 0x%02x 0x%02x"
|
tpm_spapr_do_crq(uint8_t raw1, uint8_t raw2) "1st 2 bytes in CRQ: 0x%02x 0x%02x"
|
||||||
tpm_spapr_do_crq_crq_result(void) "SPAPR_VTPM_INIT_CRQ_RESULT"
|
tpm_spapr_do_crq_crq_result(void) "SPAPR_VTPM_INIT_CRQ_RESULT"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include <glib/gstdio.h>
|
#include <glib/gstdio.h>
|
||||||
|
|
||||||
#include "hw/tpm/tpm_ioctl.h"
|
#include "backends/tpm/tpm_ioctl.h"
|
||||||
#include "io/channel-socket.h"
|
#include "io/channel-socket.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "tpm-emu.h"
|
#include "tpm-emu.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user