xref: /rk3399_rockchip-uboot/arch/x86/include/asm/processor.h (revision e34aef1de36893250a788a272b6242e46da31b86)
1fea25720SGraeme Russ /*
2fea25720SGraeme Russ  * (C) Copyright 2002
3fa82f871SAlbert ARIBAUD  * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
4fea25720SGraeme Russ  *
51a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6fea25720SGraeme Russ  */
7fea25720SGraeme Russ 
8fea25720SGraeme Russ #ifndef __ASM_PROCESSOR_H_
9fea25720SGraeme Russ #define __ASM_PROCESSOR_H_ 1
10fea25720SGraeme Russ 
11109ad143SGraeme Russ #define X86_GDT_ENTRY_SIZE		8
12109ad143SGraeme Russ 
13*e34aef1dSSimon Glass #define X86_GDT_ENTRY_NULL		0
14*e34aef1dSSimon Glass #define X86_GDT_ENTRY_UNUSED		1
15*e34aef1dSSimon Glass #define X86_GDT_ENTRY_32BIT_CS		2
16109ad143SGraeme Russ #define X86_GDT_ENTRY_32BIT_DS		3
17*e34aef1dSSimon Glass #define X86_GDT_ENTRY_32BIT_FS		4
18*e34aef1dSSimon Glass #define X86_GDT_ENTRY_16BIT_CS		5
19*e34aef1dSSimon Glass #define X86_GDT_ENTRY_16BIT_DS		6
20*e34aef1dSSimon Glass #define X86_GDT_ENTRY_16BIT_FLAT_CS	7
21*e34aef1dSSimon Glass #define X86_GDT_ENTRY_16BIT_FLAT_DS	8
22*e34aef1dSSimon Glass #define X86_GDT_NUM_ENTRIES		9
23109ad143SGraeme Russ 
24109ad143SGraeme Russ #define X86_GDT_SIZE		(X86_GDT_NUM_ENTRIES * X86_GDT_ENTRY_SIZE)
25fea25720SGraeme Russ 
2621b9b14bSSimon Glass #ifndef __ASSEMBLY__
2721b9b14bSSimon Glass 
28f5fbbe95SSimon Glass #define PORT_RESET		0xcf9
29f5fbbe95SSimon Glass 
3021b9b14bSSimon Glass static inline __attribute__((always_inline)) void cpu_hlt(void)
3121b9b14bSSimon Glass {
3221b9b14bSSimon Glass 	asm("hlt");
3321b9b14bSSimon Glass }
3421b9b14bSSimon Glass 
3521b9b14bSSimon Glass static inline ulong cpu_get_sp(void)
3621b9b14bSSimon Glass {
3721b9b14bSSimon Glass 	ulong result;
3821b9b14bSSimon Glass 
3921b9b14bSSimon Glass 	asm volatile(
4021b9b14bSSimon Glass 		"mov %%esp, %%eax"
4121b9b14bSSimon Glass 		: "=a" (result));
4221b9b14bSSimon Glass 	return result;
4321b9b14bSSimon Glass }
4421b9b14bSSimon Glass 
4521b9b14bSSimon Glass #endif /* __ASSEMBLY__ */
4621b9b14bSSimon Glass 
47fea25720SGraeme Russ #endif
48