[PATCH v3 00/12] tpm: Split hw/ vs backends/

Philippe Mathieu-Daudé posted 12 patches 3 years, 10 months ago
Test docker-mingw@fedora passed
Test checkpatch passed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200612085444.8362-1-philmd@redhat.com
docs/specs/tpm.rst                     | 14 +++++------
Makefile                               |  2 +-
Makefile.objs                          |  1 +
{hw => backends}/tpm/tpm_int.h         | 19 +++++++++++---
{hw => backends}/tpm/tpm_ioctl.h       |  0
hw/tpm/tpm_ppi.h                       |  1 -
hw/tpm/tpm_prop.h                      | 31 +++++++++++++++++++++++
hw/tpm/tpm_tis.h                       |  1 -
{hw/tpm => include/sysemu}/tpm_util.h  | 19 +++-----------
backends/{tpm.c => tpm/tpm_backend.c}  |  0
{hw => backends}/tpm/tpm_emulator.c    |  2 +-
{hw => backends}/tpm/tpm_passthrough.c |  2 +-
{hw => backends}/tpm/tpm_util.c        |  5 +++-
hw/tpm/tpm_crb.c                       |  4 +--
hw/tpm/tpm_ppi.c                       |  1 +
hw/tpm/tpm_spapr.c                     |  4 +--
hw/tpm/tpm_tis_common.c                | 11 +++------
hw/tpm/tpm_tis_isa.c                   |  3 ++-
hw/tpm/tpm_tis_sysbus.c                |  3 ++-
tests/qtest/tpm-emu.c                  |  2 +-
MAINTAINERS                            |  2 +-
backends/Kconfig                       |  1 +
backends/Makefile.objs                 |  2 +-
backends/tpm/Kconfig                   | 14 +++++++++++
backends/tpm/Makefile.objs             |  4 +++
backends/tpm/trace-events              | 33 +++++++++++++++++++++++++
hw/tpm/Kconfig                         | 21 +++-------------
hw/tpm/Makefile.objs                   |  3 ---
hw/tpm/trace-events                    | 34 +-------------------------
29 files changed, 136 insertions(+), 103 deletions(-)
rename {hw => backends}/tpm/tpm_int.h (81%)
rename {hw => backends}/tpm/tpm_ioctl.h (100%)
create mode 100644 hw/tpm/tpm_prop.h
rename {hw/tpm => include/sysemu}/tpm_util.h (80%)
rename backends/{tpm.c => tpm/tpm_backend.c} (100%)
rename {hw => backends}/tpm/tpm_emulator.c (99%)
rename {hw => backends}/tpm/tpm_passthrough.c (99%)
rename {hw => backends}/tpm/tpm_util.c (98%)
create mode 100644 backends/Kconfig
create mode 100644 backends/tpm/Kconfig
create mode 100644 backends/tpm/Makefile.objs
create mode 100644 backends/tpm/trace-events
[PATCH v3 00/12] tpm: Split hw/ vs backends/
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
Missing review: last patch
- #12 "tpm: Move backend code under the 'backends/' directory"

Hi,

Yesterday I started to review some vTPM patches and got very
confused by the files under hw/tpm/. In particular after
running:

  $ git grep TYPE_TPM_BACKEND
  backends/tpm.c:188:    .name = TYPE_TPM_BACKEND,
  hw/tpm/tpm_emulator.c:985:    .parent = TYPE_TPM_BACKEND,
  hw/tpm/tpm_passthrough.c:393:    .parent = TYPE_TPM_BACKEND,
  include/sysemu/tpm_backend.h:21:#define TYPE_TPM_BACKEND "tpm-backend"

As there is no particular reason to keep this mixed, clean it up.

Since v2:
- Resolved the FIXME in tpm_tis_common.c by making the
  TRACE_TPM_UTIL_SHOW_BUFFER check locally to tpm_util.c

Since v1:
- Amended docs/ changes
- Renamed Kconfig TPM_BACKEND variable
- Move backend files under backends/tpm/ (Marc-André & Stefan)
- Fix x86-64 build error (patchew)

Philippe Mathieu-Daudé (12):
  docs/specs/tpm: Correct header path name
  backends: Add TPM files into their own directory
  hw/tpm: Rename TPMDEV as TPM_BACKEND in Kconfig
  hw/tpm: Do not include 'qemu/osdep.h' in header
  hw/tpm: Include missing 'qemu/option.h' header
  hw/tpm: Move 'hw/acpi/tpm.h' inclusion from header to sources
  hw/tpm: Remove unnecessary 'tpm_int.h' header inclusion
  hw/tpm: Make TRACE_TPM_UTIL_SHOW_BUFFER check local to tpm_util.c
  hw/tpm: Move few declarations from 'tpm_util.h' to 'tpm_int.h'
  hw/tpm: Move DEFINE_PROP_TPMBE() macro to 'tmp_prop.h' local header
  hw/tpm: Make 'tpm_util.h' publicly accessible as "sysemu/tpm_util.h"
  tpm: Move backend code under the 'backends/' directory

 docs/specs/tpm.rst                     | 14 +++++------
 Makefile                               |  2 +-
 Makefile.objs                          |  1 +
 {hw => backends}/tpm/tpm_int.h         | 19 +++++++++++---
 {hw => backends}/tpm/tpm_ioctl.h       |  0
 hw/tpm/tpm_ppi.h                       |  1 -
 hw/tpm/tpm_prop.h                      | 31 +++++++++++++++++++++++
 hw/tpm/tpm_tis.h                       |  1 -
 {hw/tpm => include/sysemu}/tpm_util.h  | 19 +++-----------
 backends/{tpm.c => tpm/tpm_backend.c}  |  0
 {hw => backends}/tpm/tpm_emulator.c    |  2 +-
 {hw => backends}/tpm/tpm_passthrough.c |  2 +-
 {hw => backends}/tpm/tpm_util.c        |  5 +++-
 hw/tpm/tpm_crb.c                       |  4 +--
 hw/tpm/tpm_ppi.c                       |  1 +
 hw/tpm/tpm_spapr.c                     |  4 +--
 hw/tpm/tpm_tis_common.c                | 11 +++------
 hw/tpm/tpm_tis_isa.c                   |  3 ++-
 hw/tpm/tpm_tis_sysbus.c                |  3 ++-
 tests/qtest/tpm-emu.c                  |  2 +-
 MAINTAINERS                            |  2 +-
 backends/Kconfig                       |  1 +
 backends/Makefile.objs                 |  2 +-
 backends/tpm/Kconfig                   | 14 +++++++++++
 backends/tpm/Makefile.objs             |  4 +++
 backends/tpm/trace-events              | 33 +++++++++++++++++++++++++
 hw/tpm/Kconfig                         | 21 +++-------------
 hw/tpm/Makefile.objs                   |  3 ---
 hw/tpm/trace-events                    | 34 +-------------------------
 29 files changed, 136 insertions(+), 103 deletions(-)
 rename {hw => backends}/tpm/tpm_int.h (81%)
 rename {hw => backends}/tpm/tpm_ioctl.h (100%)
 create mode 100644 hw/tpm/tpm_prop.h
 rename {hw/tpm => include/sysemu}/tpm_util.h (80%)
 rename backends/{tpm.c => tpm/tpm_backend.c} (100%)
 rename {hw => backends}/tpm/tpm_emulator.c (99%)
 rename {hw => backends}/tpm/tpm_passthrough.c (99%)
 rename {hw => backends}/tpm/tpm_util.c (98%)
 create mode 100644 backends/Kconfig
 create mode 100644 backends/tpm/Kconfig
 create mode 100644 backends/tpm/Makefile.objs
 create mode 100644 backends/tpm/trace-events

-- 
2.21.3


Re: [PATCH v3 00/12] tpm: Split hw/ vs backends/
Posted by Paolo Bonzini 3 years, 10 months ago
On 12/06/20 10:54, Philippe Mathieu-Daudé wrote:
> Missing review: last patch
> - #12 "tpm: Move backend code under the 'backends/' directory"
> 
> Hi,
> 
> Yesterday I started to review some vTPM patches and got very
> confused by the files under hw/tpm/. In particular after
> running:
> 
>   $ git grep TYPE_TPM_BACKEND
>   backends/tpm.c:188:    .name = TYPE_TPM_BACKEND,
>   hw/tpm/tpm_emulator.c:985:    .parent = TYPE_TPM_BACKEND,
>   hw/tpm/tpm_passthrough.c:393:    .parent = TYPE_TPM_BACKEND,
>   include/sysemu/tpm_backend.h:21:#define TYPE_TPM_BACKEND "tpm-backend"
> 
> As there is no particular reason to keep this mixed, clean it up.
> 
> Since v2:
> - Resolved the FIXME in tpm_tis_common.c by making the
>   TRACE_TPM_UTIL_SHOW_BUFFER check locally to tpm_util.c
> 
> Since v1:
> - Amended docs/ changes
> - Renamed Kconfig TPM_BACKEND variable
> - Move backend files under backends/tpm/ (Marc-André & Stefan)
> - Fix x86-64 build error (patchew)
> 
> Philippe Mathieu-Daudé (12):
>   docs/specs/tpm: Correct header path name
>   backends: Add TPM files into their own directory
>   hw/tpm: Rename TPMDEV as TPM_BACKEND in Kconfig
>   hw/tpm: Do not include 'qemu/osdep.h' in header
>   hw/tpm: Include missing 'qemu/option.h' header
>   hw/tpm: Move 'hw/acpi/tpm.h' inclusion from header to sources
>   hw/tpm: Remove unnecessary 'tpm_int.h' header inclusion
>   hw/tpm: Make TRACE_TPM_UTIL_SHOW_BUFFER check local to tpm_util.c
>   hw/tpm: Move few declarations from 'tpm_util.h' to 'tpm_int.h'
>   hw/tpm: Move DEFINE_PROP_TPMBE() macro to 'tmp_prop.h' local header
>   hw/tpm: Make 'tpm_util.h' publicly accessible as "sysemu/tpm_util.h"
>   tpm: Move backend code under the 'backends/' directory
> 
>  docs/specs/tpm.rst                     | 14 +++++------
>  Makefile                               |  2 +-
>  Makefile.objs                          |  1 +
>  {hw => backends}/tpm/tpm_int.h         | 19 +++++++++++---
>  {hw => backends}/tpm/tpm_ioctl.h       |  0
>  hw/tpm/tpm_ppi.h                       |  1 -
>  hw/tpm/tpm_prop.h                      | 31 +++++++++++++++++++++++
>  hw/tpm/tpm_tis.h                       |  1 -
>  {hw/tpm => include/sysemu}/tpm_util.h  | 19 +++-----------
>  backends/{tpm.c => tpm/tpm_backend.c}  |  0
>  {hw => backends}/tpm/tpm_emulator.c    |  2 +-
>  {hw => backends}/tpm/tpm_passthrough.c |  2 +-
>  {hw => backends}/tpm/tpm_util.c        |  5 +++-
>  hw/tpm/tpm_crb.c                       |  4 +--
>  hw/tpm/tpm_ppi.c                       |  1 +
>  hw/tpm/tpm_spapr.c                     |  4 +--
>  hw/tpm/tpm_tis_common.c                | 11 +++------
>  hw/tpm/tpm_tis_isa.c                   |  3 ++-
>  hw/tpm/tpm_tis_sysbus.c                |  3 ++-
>  tests/qtest/tpm-emu.c                  |  2 +-
>  MAINTAINERS                            |  2 +-
>  backends/Kconfig                       |  1 +
>  backends/Makefile.objs                 |  2 +-
>  backends/tpm/Kconfig                   | 14 +++++++++++
>  backends/tpm/Makefile.objs             |  4 +++
>  backends/tpm/trace-events              | 33 +++++++++++++++++++++++++
>  hw/tpm/Kconfig                         | 21 +++-------------
>  hw/tpm/Makefile.objs                   |  3 ---
>  hw/tpm/trace-events                    | 34 +-------------------------
>  29 files changed, 136 insertions(+), 103 deletions(-)
>  rename {hw => backends}/tpm/tpm_int.h (81%)
>  rename {hw => backends}/tpm/tpm_ioctl.h (100%)
>  create mode 100644 hw/tpm/tpm_prop.h
>  rename {hw/tpm => include/sysemu}/tpm_util.h (80%)
>  rename backends/{tpm.c => tpm/tpm_backend.c} (100%)
>  rename {hw => backends}/tpm/tpm_emulator.c (99%)
>  rename {hw => backends}/tpm/tpm_passthrough.c (99%)
>  rename {hw => backends}/tpm/tpm_util.c (98%)
>  create mode 100644 backends/Kconfig
>  create mode 100644 backends/tpm/Kconfig
>  create mode 100644 backends/tpm/Makefile.objs
>  create mode 100644 backends/tpm/trace-events
> 

Queued this one, actually.

Paolo


Re: [PATCH v3 00/12] tpm: Split hw/ vs backends/
Posted by Stefan Berger 3 years, 10 months ago
On 6/23/20 5:39 AM, Paolo Bonzini wrote:
> On 12/06/20 10:54, Philippe Mathieu-Daudé wrote:
>> Missing review: last patch
>> - #12 "tpm: Move backend code under the 'backends/' directory"
>>
>> Hi,
>>
>> Yesterday I started to review some vTPM patches and got very
>> confused by the files under hw/tpm/. In particular after
>> running:
>>
>>    $ git grep TYPE_TPM_BACKEND
>>    backends/tpm.c:188:    .name = TYPE_TPM_BACKEND,
>>    hw/tpm/tpm_emulator.c:985:    .parent = TYPE_TPM_BACKEND,
>>    hw/tpm/tpm_passthrough.c:393:    .parent = TYPE_TPM_BACKEND,
>>    include/sysemu/tpm_backend.h:21:#define TYPE_TPM_BACKEND "tpm-backend"
>>
>> As there is no particular reason to keep this mixed, clean it up.
>>
>> Since v2:
>> - Resolved the FIXME in tpm_tis_common.c by making the
>>    TRACE_TPM_UTIL_SHOW_BUFFER check locally to tpm_util.c
>>
>> Since v1:
>> - Amended docs/ changes
>> - Renamed Kconfig TPM_BACKEND variable
>> - Move backend files under backends/tpm/ (Marc-André & Stefan)
>> - Fix x86-64 build error (patchew)
>>
>> Philippe Mathieu-Daudé (12):
>>    docs/specs/tpm: Correct header path name
>>    backends: Add TPM files into their own directory
>>    hw/tpm: Rename TPMDEV as TPM_BACKEND in Kconfig
>>    hw/tpm: Do not include 'qemu/osdep.h' in header
>>    hw/tpm: Include missing 'qemu/option.h' header
>>    hw/tpm: Move 'hw/acpi/tpm.h' inclusion from header to sources
>>    hw/tpm: Remove unnecessary 'tpm_int.h' header inclusion
>>    hw/tpm: Make TRACE_TPM_UTIL_SHOW_BUFFER check local to tpm_util.c
>>    hw/tpm: Move few declarations from 'tpm_util.h' to 'tpm_int.h'
>>    hw/tpm: Move DEFINE_PROP_TPMBE() macro to 'tmp_prop.h' local header
>>    hw/tpm: Make 'tpm_util.h' publicly accessible as "sysemu/tpm_util.h"
>>    tpm: Move backend code under the 'backends/' directory
>>
>>   docs/specs/tpm.rst                     | 14 +++++------
>>   Makefile                               |  2 +-
>>   Makefile.objs                          |  1 +
>>   {hw => backends}/tpm/tpm_int.h         | 19 +++++++++++---
>>   {hw => backends}/tpm/tpm_ioctl.h       |  0
>>   hw/tpm/tpm_ppi.h                       |  1 -
>>   hw/tpm/tpm_prop.h                      | 31 +++++++++++++++++++++++
>>   hw/tpm/tpm_tis.h                       |  1 -
>>   {hw/tpm => include/sysemu}/tpm_util.h  | 19 +++-----------
>>   backends/{tpm.c => tpm/tpm_backend.c}  |  0
>>   {hw => backends}/tpm/tpm_emulator.c    |  2 +-
>>   {hw => backends}/tpm/tpm_passthrough.c |  2 +-
>>   {hw => backends}/tpm/tpm_util.c        |  5 +++-
>>   hw/tpm/tpm_crb.c                       |  4 +--
>>   hw/tpm/tpm_ppi.c                       |  1 +
>>   hw/tpm/tpm_spapr.c                     |  4 +--
>>   hw/tpm/tpm_tis_common.c                | 11 +++------
>>   hw/tpm/tpm_tis_isa.c                   |  3 ++-
>>   hw/tpm/tpm_tis_sysbus.c                |  3 ++-
>>   tests/qtest/tpm-emu.c                  |  2 +-
>>   MAINTAINERS                            |  2 +-
>>   backends/Kconfig                       |  1 +
>>   backends/Makefile.objs                 |  2 +-
>>   backends/tpm/Kconfig                   | 14 +++++++++++
>>   backends/tpm/Makefile.objs             |  4 +++
>>   backends/tpm/trace-events              | 33 +++++++++++++++++++++++++
>>   hw/tpm/Kconfig                         | 21 +++-------------
>>   hw/tpm/Makefile.objs                   |  3 ---
>>   hw/tpm/trace-events                    | 34 +-------------------------
>>   29 files changed, 136 insertions(+), 103 deletions(-)
>>   rename {hw => backends}/tpm/tpm_int.h (81%)
>>   rename {hw => backends}/tpm/tpm_ioctl.h (100%)
>>   create mode 100644 hw/tpm/tpm_prop.h
>>   rename {hw/tpm => include/sysemu}/tpm_util.h (80%)
>>   rename backends/{tpm.c => tpm/tpm_backend.c} (100%)
>>   rename {hw => backends}/tpm/tpm_emulator.c (99%)
>>   rename {hw => backends}/tpm/tpm_passthrough.c (99%)
>>   rename {hw => backends}/tpm/tpm_util.c (98%)
>>   create mode 100644 backends/Kconfig
>>   create mode 100644 backends/tpm/Kconfig
>>   create mode 100644 backends/tpm/Makefile.objs
>>   create mode 100644 backends/tpm/trace-events
>>
> Queued this one, actually.

I was going to send a PR today.

>
> Paolo
>