lkml.org 
[lkml]   [2015]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectRe: [PATCH 3/3] vTPM: support little endian guests

> The event log in ppc64 arch is always in big endian format. PowerPC
> supports both little endian and big endian guests. This patch converts
> the event log entries to guest format.

I'm a little confused here. If this patch is to convert the event log
entries why are we convert in the conditional statements? One example
below:

+ if (((convert_to_host_format(event->event_type) == 0) &&
+ (convert_to_host_format(event->event_size) == 0))
+ ||
+ ((v + sizeof(struct tcpa_event) +
+ convert_to_host_format(event->event_size)) > limit))

>
> We defined a macro to convert to guest format. In addition,
> tpm_binary_bios_measurements_show() is modified to parse the event
> and print each field individually.

It's nice to have human readable format but it may break existing tools
that parse or understand the machine readable format. Any comments on
this anyone?

>>
> diff --git a/drivers/char/tpm/tpm_eventlog.c b/drivers/char/tpm/tpm_eventlog.c
> index e77d8c1..1b62c52 100644
> --- a/drivers/char/tpm/tpm_eventlog.c
> +++ b/drivers/char/tpm/tpm_eventlog.c
> @@ -28,6 +28,11 @@
> #include "tpm.h"
> #include "tpm_eventlog.h"
>
> +#ifdef CONFIG_PPC64
> +#define convert_to_host_format(x) be32_to_cpu(x)
> +#else
> +#define convert_to_host_format(x) x
> +#endif

This can go in the header file tpm_eventlog.h




\
 
 \ /
  Last update: 2015-05-09 01:01    [W:0.139 / U:7.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site