xref: /rk3399_rockchip-uboot/arch/x86/cpu/x86_64/cpu.c (revision 76d1d02fd280ef7ad63a97c3a80bd765bf5596fa)
193031595SSimon Glass /*
293031595SSimon Glass  * (C) Copyright 2016 Google, Inc
393031595SSimon Glass  * Written by Simon Glass <sjg@chromium.org>
493031595SSimon Glass  *
593031595SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
693031595SSimon Glass  */
793031595SSimon Glass 
893031595SSimon Glass #include <common.h>
9a160092aSSimon Glass #include <debug_uart.h>
10a160092aSSimon Glass 
11a160092aSSimon Glass DECLARE_GLOBAL_DATA_PTR;
12a160092aSSimon Glass 
13a160092aSSimon Glass /* Global declaration of gd */
14a160092aSSimon Glass struct global_data *global_data_ptr;
15a160092aSSimon Glass 
arch_setup_gd(gd_t * new_gd)16a160092aSSimon Glass void arch_setup_gd(gd_t *new_gd)
17a160092aSSimon Glass {
18a160092aSSimon Glass 	global_data_ptr = new_gd;
19a160092aSSimon Glass 
20a160092aSSimon Glass 	/*
21a160092aSSimon Glass 	 * TODO(sjg@chromium.org): For some reason U-Boot does not boot
22a160092aSSimon Glass 	 * without this line. It fails to start up U-Boot proper and instead
23a160092aSSimon Glass 	 * restarts SPL. Need to figure out why:
24a160092aSSimon Glass 	 *
25a160092aSSimon Glass 	 * U-Boot SPL 2017.01
26a160092aSSimon Glass 	 *
27a160092aSSimon Glass 	 * U-Boot SPL 2017.01
28a160092aSSimon Glass 	 * CPU:   Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz
29a160092aSSimon Glass 	 * Trying to boot from SPIJumping to 64-bit U-Boot: Note many
30a160092aSSimon Glass 	 * features are missing
31a160092aSSimon Glass 	 *
32a160092aSSimon Glass 	 * U-Boot SPL 2017.01
33a160092aSSimon Glass 	 */
34020a5d4fSBin Meng #ifdef CONFIG_DEBUG_UART
35a160092aSSimon Glass 	printch(' ');
36020a5d4fSBin Meng #endif
37a160092aSSimon Glass }
3893031595SSimon Glass 
cpu_has_64bit(void)3993031595SSimon Glass int cpu_has_64bit(void)
4093031595SSimon Glass {
4193031595SSimon Glass 	return true;
4293031595SSimon Glass }
4393031595SSimon Glass 
enable_caches(void)4493031595SSimon Glass void enable_caches(void)
4593031595SSimon Glass {
4693031595SSimon Glass 	/* Not implemented */
4793031595SSimon Glass }
4893031595SSimon Glass 
disable_caches(void)4993031595SSimon Glass void disable_caches(void)
5093031595SSimon Glass {
5193031595SSimon Glass 	/* Not implemented */
5293031595SSimon Glass }
5393031595SSimon Glass 
dcache_status(void)5493031595SSimon Glass int dcache_status(void)
5593031595SSimon Glass {
5693031595SSimon Glass 	return true;
5793031595SSimon Glass }
5893031595SSimon Glass 
x86_mp_init(void)5993031595SSimon Glass int x86_mp_init(void)
6093031595SSimon Glass {
6193031595SSimon Glass 	/* Not implemented */
6293031595SSimon Glass 	return 0;
6393031595SSimon Glass }
641b408630SSimon Glass 
misc_init_r(void)651b408630SSimon Glass int misc_init_r(void)
661b408630SSimon Glass {
671b408630SSimon Glass 	return 0;
681b408630SSimon Glass }
691b408630SSimon Glass 
checkcpu(void)70*76d1d02fSSimon Glass int checkcpu(void)
71*76d1d02fSSimon Glass {
72*76d1d02fSSimon Glass 	return 0;
73*76d1d02fSSimon Glass }
74*76d1d02fSSimon Glass 
print_cpuinfo(void)751b408630SSimon Glass int print_cpuinfo(void)
761b408630SSimon Glass {
771b408630SSimon Glass 	return 0;
781b408630SSimon Glass }
79