RTEMS: bsps/i386/include/bsp/realmode_int.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
realmode_int.h
Go to the documentation of this file.
1
14/*
15 * Copyright (C) 2014 Jan Doležal (dolezj21@fel.cvut.cz)
16 * CTU in Prague.
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.org/license/LICENSE.
21 */
22
23#ifndef _REALMODE_INT_H
24#define _REALMODE_INT_H
25
26#include <rtems/score/cpu.h>
27#include <stdint.h>
28
29#ifndef ASM /* ASM */
30
31#ifdef __cplusplus
32extern "C" {
33#endif /* __cplusplus */
34
35/* --- BIOS service interrupt number --- */
36/* number of interrupt servicing video functions */
37#define INTERRUPT_NO_VIDEO_SERVICES 0x10
38
43 typedef struct {
44 uint32_t reg_eax;
45 uint32_t reg_ebx;
46 uint32_t reg_ecx;
47 uint32_t reg_edx;
48 uint32_t reg_esi;
49 uint32_t reg_edi;
50 uint16_t reg_ds;
51 uint16_t reg_es;
52 uint16_t reg_fs;
53 uint16_t reg_gs;
54} RTEMS_PACKED i386_realmode_interrupt_registers;
55
70extern void *i386_get_default_rm_buffer(uint16_t *size);
71
86extern int i386_real_interrupt_call(
87 uint8_t interrupt_number,
88 i386_realmode_interrupt_registers *ir
89);
90
91#ifdef __cplusplus
92}
93#endif /* __cplusplus */
94
95#endif /* ASM */
96
97#endif /* _REALMODE_INT_H */
i386_get_default_rm_buffer
void * i386_get_default_rm_buffer(uint16_t *size)
Returns buffer and its size usable with real mode interrupt call.
Definition: realmode_int.c:228
i386_real_interrupt_call
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:233
RTEMS_PACKED
Used for passing and retrieving registers content to/from real mode interrupt call.
Definition: realmode_int.h:43