Fix integer extension in mpidr_set_aff_inst()
authorAndrew Thoelke <andrew.thoelke@arm.com>
Thu, 11 Jun 2015 13:22:07 +0000 (14:22 +0100)
committerAndrew Thoelke <andrew.thoelke@arm.com>
Fri, 19 Jun 2015 10:26:16 +0000 (11:26 +0100)
commit9b89613eeb730b2813672098aa43ebd9cb94310c
tree9e383650e00b559afbb69a4df4191d3197cf51ad
parent79b1ebdaae021c0a9c4880849d181a5b91ecac8a
Fix integer extension in mpidr_set_aff_inst()

mpidr_set_aff_inst() is left shifting an int constant and an
unsigned char value to construct an MPIDR. For affinity level 3 a
shift of 32 would result in shifting out of the 32-bit type and
have no effect on the MPIDR.

These values need to be extended to unsigned long before shifting
to ensure correct results for affinity level 3.

Change-Id: I1ef40afea535f14cfd820c347a065a228e8f4536
services/std_svc/psci/psci_common.c