coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
x86.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __DEVICE_OPROM_REALMODE_X86_H__
4 #define __DEVICE_OPROM_REALMODE_X86_H__
5 
6 #include <arch/cpu.h>
7 
8 #define REALMODE_BASE ((void *)0x600)
9 
10 struct realmode_idt {
12 };
13 
14 void x86_exception(struct eregs *info);
15 
16 /* From x86_asm.S */
17 extern unsigned char __idt_handler;
18 extern unsigned int __idt_handler_size;
19 extern unsigned char __realmode_code;
20 extern unsigned int __realmode_code_size;
21 
22 extern unsigned int (*realmode_call)(u32 addr, u32 eax, u32 ebx, u32 ecx,
23  u32 edx, u32 esi, u32 edi) asmlinkage;
24 
25 extern unsigned int (*realmode_interrupt)(u32 intno, u32 eax, u32 ebx, u32 ecx,
26  u32 edx, u32 esi, u32 edi) asmlinkage;
27 
28 #define FAKE_MEMORY_SIZE (1024*1024) // only 1MB
29 #define INITIAL_EBDA_SEGMENT 0xF600
30 #define INITIAL_EBDA_SIZE 0x400
31 
32 int int10_handler(void);
33 int int12_handler(void);
34 int int16_handler(void);
35 int int1a_handler(void);
36 
37 #endif /* __DEVICE_OPROM_REALMODE_X86_H__ */
#define asmlinkage
Definition: cpu.h:8
static u32 addr
Definition: cirrus.c:14
static struct smmstore_params_info info
Definition: ramstage.c:12
uint32_t u32
Definition: stdint.h:51
uint16_t u16
Definition: stdint.h:48
u16 offset
Definition: x86.h:11
u16 cs
Definition: x86.h:11
unsigned int __realmode_code_size
unsigned char __realmode_code
void x86_exception(struct eregs *info)
Definition: exception.c:378
unsigned int(* realmode_call)(u32 addr, u32 eax, u32 ebx, u32 ecx, u32 edx, u32 esi, u32 edi) asmlinkage
Definition: x86.c:47
unsigned int(* realmode_interrupt)(u32 intno, u32 eax, u32 ebx, u32 ecx, u32 edx, u32 esi, u32 edi) asmlinkage
Definition: x86.c:50
unsigned char __idt_handler
int int1a_handler(void)
int int10_handler(void)
unsigned int __idt_handler_size
int int16_handler(void)
int int12_handler(void)