MOS Source Code
Loading...
Searching...
No Matches
x86_platform.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-3.0-or-later
2
3#pragma once
4
6
7#define X86_BIOS_MEMREGION_PADDR 0xf0000
8#define BIOS_MEMREGION_SIZE 0x10000
9
10#define X86_EBDA_MEMREGION_PADDR 0x80000
11#define EBDA_MEMREGION_SIZE 0x20000
12
13#define X86_VIDEO_DEVICE_PADDR 0xb8000
14
15#define MOS_SYSCALL_INTR 0x88
16
17typedef struct _platform_regs
18{
19 reg_t r15, r14, r13, r12, r11, r10, r9, r8;
20 reg_t di, si, bp, dx, cx, bx, ax;
21 reg_t interrupt_number, error_code;
22 // iret params
23 reg_t ip, cs;
25 reg_t sp, ss;
27
28MOS_STATIC_ASSERT(sizeof(platform_regs_t) == 176, "platform_regs_t has incorrect size");
29
31void x86_dump_stack_at(ptr_t this_frame, bool can_access_vmaps);
32
#define __packed
Definition mos_global.h:29
#define MOS_STATIC_ASSERT
Definition mos_global.h:14
struct _platform_regs platform_regs_t
Definition platform.h:86
uintn reg_t
Definition types.h:51
unsigned long ptr_t
Definition types.h:25
mos_platform_info_t x86_platform
void x86_setup_lapic_timer()
void x86_dump_stack_at(ptr_t this_frame, bool can_access_vmaps)