lkml.org 
[lkml]   [2015]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tpm, tpm_crb: fix unaligned read of the command buffer address
On Mon, Sep 14, 2015 at 11:35:23AM -0600, Jason Gunthorpe wrote:
> On Mon, Sep 14, 2015 at 08:15:23PM +0300, Jarkko Sakkinen wrote:
> > The command buffer address is necessarily not naturally aligned.
> > The hardware drops the entire read on some platforms and fills the
> > address with 1's. This patch fixes the issue by splitting the read
> > into two 32 bit reads.
>
> Is this necessary? The packed attribution means that unaligned members
> are allowed and the compiler deals with it where necessary.

For regular memory memory controller splits the read into two 32 bit
reads.

However, for MMIO address the hardware might abort the entire request
when trying to do a 64-bit read, which causes the CPU to fill the result
with 1's.

This is not hypothetical bug. We are experiencing this on some platforms
and the proposed fix resolves the issue.

> Jason

/Jarkko


\
 
 \ /
  Last update: 2015-09-15 12:21    [W:0.857 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site