arm-trusted-firmware/lib/bl_aux_params/bl_aux_params.c
Scott Branden 4ce3e99a33 fix: libc: use long for 64-bit types on aarch64
Use long instead of long long on aarch64 for 64_t stdint types.
Introduce inttypes.h to properly support printf format specifiers for
fixed width types for such change.

Change-Id: I0bca594687a996fde0a9702d7a383055b99f10a1
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
2021-11-08 14:41:17 +00:00

35 lines
770 B
C

/*
* Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <inttypes.h>
#include <stdint.h>
#include <common/debug.h>
#include <lib/coreboot.h>
#include <lib/bl_aux_params/bl_aux_params.h>
void bl_aux_params_parse(u_register_t head,
bl_aux_param_handler_t handler)
{
struct bl_aux_param_header *p;
for (p = (void *)head; p; p = (void *)(uintptr_t)p->next) {
if (handler && handler(p))
continue;
switch (p->type) {
#if COREBOOT
case BL_AUX_PARAM_COREBOOT_TABLE:
coreboot_table_setup((void *)(uintptr_t)
((struct bl_aux_param_uint64 *)p)->value);
break;
#endif
default:
ERROR("Ignoring unknown BL aux parameter: 0x%" PRIx64,
p->type);
break;
}
}
}