xref: /aosp_15_r20/external/dtc/tests/boot-cpuid.c (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker // SPDX-License-Identifier: LGPL-2.1-or-later
2*cd60bc56SAndroid Build Coastguard Worker /*
3*cd60bc56SAndroid Build Coastguard Worker  * Copyright (C) 2008 David Gibson, IBM Corporation.
4*cd60bc56SAndroid Build Coastguard Worker  */
5*cd60bc56SAndroid Build Coastguard Worker 
6*cd60bc56SAndroid Build Coastguard Worker #include <stdlib.h>
7*cd60bc56SAndroid Build Coastguard Worker #include <stdio.h>
8*cd60bc56SAndroid Build Coastguard Worker #include <string.h>
9*cd60bc56SAndroid Build Coastguard Worker #include <stdint.h>
10*cd60bc56SAndroid Build Coastguard Worker 
11*cd60bc56SAndroid Build Coastguard Worker #include <libfdt.h>
12*cd60bc56SAndroid Build Coastguard Worker 
13*cd60bc56SAndroid Build Coastguard Worker #include "tests.h"
14*cd60bc56SAndroid Build Coastguard Worker #include "testdata.h"
15*cd60bc56SAndroid Build Coastguard Worker 
main(int argc,char * argv[])16*cd60bc56SAndroid Build Coastguard Worker int main(int argc, char *argv[])
17*cd60bc56SAndroid Build Coastguard Worker {
18*cd60bc56SAndroid Build Coastguard Worker 	void *fdt;
19*cd60bc56SAndroid Build Coastguard Worker 	uint32_t cpuid;
20*cd60bc56SAndroid Build Coastguard Worker 
21*cd60bc56SAndroid Build Coastguard Worker 	test_init(argc, argv);
22*cd60bc56SAndroid Build Coastguard Worker 
23*cd60bc56SAndroid Build Coastguard Worker 	if (argc != 3)
24*cd60bc56SAndroid Build Coastguard Worker 		CONFIG("Usage: %s <dtb file> <cpuid>", argv[0]);
25*cd60bc56SAndroid Build Coastguard Worker 
26*cd60bc56SAndroid Build Coastguard Worker 	fdt = load_blob(argv[1]);
27*cd60bc56SAndroid Build Coastguard Worker 	cpuid = strtoul(argv[2], NULL, 0);
28*cd60bc56SAndroid Build Coastguard Worker 
29*cd60bc56SAndroid Build Coastguard Worker 	if (fdt_boot_cpuid_phys(fdt) != cpuid)
30*cd60bc56SAndroid Build Coastguard Worker 		FAIL("Incorrect boot_cpuid_phys (0x%x instead of 0x%x)",
31*cd60bc56SAndroid Build Coastguard Worker 		     fdt_boot_cpuid_phys(fdt), cpuid);
32*cd60bc56SAndroid Build Coastguard Worker 
33*cd60bc56SAndroid Build Coastguard Worker 	PASS();
34*cd60bc56SAndroid Build Coastguard Worker }
35