Remove dcache invalidation after image authentication
authorDan Handley <dan.handley@arm.com>
Thu, 28 Jul 2016 13:38:03 +0000 (14:38 +0100)
committerDan Handley <dan.handley@arm.com>
Wed, 17 Aug 2016 16:01:12 +0000 (17:01 +0100)
commitad4494dc38a39d06a31ef3386829ef1af79db39a
tree83c827f84fef23d9934c6e630331b62ab9dc2038
parent50990186aa0e775a4f15935d90db9c16eda7228a
Remove dcache invalidation after image authentication

At the end of successful image authentication in load_auth_image(),
the data cache for the virtual address range corresponding to the
image is invalidated (by a call to inv_dcache_range()). The intent
seems to be to ensure the data caches do not contain any sensitive
data used during authentication, which subsequent code can read.
However, this same address range is already flushed (cleaned and
invalidated by a call to flush_dcache_range()) at the end of
load_image(), and the subsequent invalidate has no functional
effect.

This patch removes the redundant call to inv_dcache_range(). It
also moves the flush_dcache_range() call from the end of load_image()
to the end of load_auth_image(), so the image data will remain in
the caches during authentication, improving performance.

This also improves the comments that explain the rationale for
calling flush_dcache_range() after image loading/authentication.

Change-Id: I14f17ad2935075ef6f3d1327361c5088bfb2d284
common/bl_common.c