]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/x86/include/asm/processor.h
Merge branch 'master' of git://git.denx.de/u-boot-usb
[karo-tx-uboot.git] / arch / x86 / include / asm / processor.h
1 /*
2  * (C) Copyright 2002
3  * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #ifndef __ASM_PROCESSOR_H_
9 #define __ASM_PROCESSOR_H_ 1
10
11 #define X86_GDT_ENTRY_SIZE              8
12
13 #define X86_GDT_ENTRY_NULL              0
14 #define X86_GDT_ENTRY_UNUSED            1
15 #define X86_GDT_ENTRY_32BIT_CS          2
16 #define X86_GDT_ENTRY_32BIT_DS          3
17 #define X86_GDT_ENTRY_32BIT_FS          4
18 #define X86_GDT_ENTRY_16BIT_CS          5
19 #define X86_GDT_ENTRY_16BIT_DS          6
20 #define X86_GDT_ENTRY_16BIT_FLAT_CS     7
21 #define X86_GDT_ENTRY_16BIT_FLAT_DS     8
22 #define X86_GDT_NUM_ENTRIES             9
23
24 #define X86_GDT_SIZE            (X86_GDT_NUM_ENTRIES * X86_GDT_ENTRY_SIZE)
25
26 #ifndef __ASSEMBLY__
27
28 #define PORT_RESET              0xcf9
29
30 static inline __attribute__((always_inline)) void cpu_hlt(void)
31 {
32         asm("hlt");
33 }
34
35 static inline ulong cpu_get_sp(void)
36 {
37         ulong result;
38
39         asm volatile(
40                 "mov %%esp, %%eax"
41                 : "=a" (result));
42         return result;
43 }
44
45 #endif /* __ASSEMBLY__ */
46
47 #endif