#include <stdbool.h>
#include <stddef.h>
#include <inttypes.h>
#include <plat/common/plat_trng.h>

struct uuid plat_trng_uuid;

bool plat_get_entropy(uint64_t *out)
{
	static uint64_t value = 0x0123456789abcdef;
	*out = value;
	value = (value >> 8) | (value << 56);
	return true;
}

void plat_entropy_setup(void)
{
	uint8_t *ptr = (void *)&plat_trng_uuid;
	for (size_t i = 0; i < sizeof(plat_trng_uuid); i++)
		*ptr = i;
}
