RTEMS 7.0-rc1
Loading...
Searching...
No Matches
realmode_int.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0+-with-RTEMS-exception */
2
16/*
17 * Copyright (C) 2014 Jan Dolezal (dolezj21@fel.cvut.cz)
18 * CTU in Prague.
19 *
20 * The license and distribution terms for this file may be
21 * found in the file LICENSE in this distribution or at
22 * http://www.rtems.org/license/LICENSE.
23 */
24
25#ifndef _REALMODE_INT_H
26#define _REALMODE_INT_H
27
28#include <rtems/score/cpu.h>
29#include <stdint.h>
30
31#ifndef ASM /* ASM */
32
33#ifdef __cplusplus
34extern "C" {
35#endif /* __cplusplus */
36
37/* --- BIOS service interrupt number --- */
38/* number of interrupt servicing video functions */
39#define INTERRUPT_NO_VIDEO_SERVICES 0x10
40
45typedef struct {
46 uint32_t reg_eax;
47 uint32_t reg_ebx;
48 uint32_t reg_ecx;
49 uint32_t reg_edx;
50 uint32_t reg_esi;
51 uint32_t reg_edi;
52 uint16_t reg_ds;
53 uint16_t reg_es;
54 uint16_t reg_fs;
55 uint16_t reg_gs;
56} RTEMS_PACKED i386_realmode_interrupt_registers;
57
72extern void *i386_get_default_rm_buffer(uint16_t *size);
73
89 uint8_t interrupt_number,
90 i386_realmode_interrupt_registers *ir
91);
92
93#ifdef __cplusplus
94}
95#endif /* __cplusplus */
96
97#endif /* ASM */
98
99#endif /* _REALMODE_INT_H */
void * i386_get_default_rm_buffer(uint16_t *size)
Returns buffer and its size usable with real mode interrupt call.
Definition: realmode_int.c:239
int i386_real_interrupt_call(uint8_t interrupt_number, i386_realmode_interrupt_registers *ir)
Call to real mode interrupt with specified int NO and processor registers.
Definition: realmode_int.c:244
Used for passing and retrieving registers content to/from real mode interrupt call.
Definition: realmode_int.h:45