#include <unistd.h>#include <errno.h>#include <asm/unistd.h>#include <stdio.h>#include <string.h>#include "vm86_struct.h"#include <signal.h>#include "v86bios.h"#include "AsmMacros.h"Defines | |
| #define | INT2PTR(a) ((a) + (unsigned char *) 0) |
| #define | CPU_REG(x) (vm86s.regs.x) |
| #define | CPU_REG_LW(reg) (*((CARD16 *)&CPU_REG(reg))) |
| #define | CPU_REG_HW(reg) (*((CARD16 *)&CPU_REG(reg) + 1)) |
| #define | CPU_REG_LB(reg) (*(CARD8 *)&CPU_REG(e##reg)) |
| #define | SEG_ADR(type, seg, reg) type((CPU_REG_LW(seg) << 4) + CPU_REG_LW(e##reg) + (unsigned char *) 0) |
| #define | DF (1 << 10) |
| #define | LIN_PREF_SI ((pref_seg << 4) + CPU_REG_LW(esi)) |
| #define | LWECX (prefix66 ^ prefix67 ? CPU_REG(ecx) : CPU_REG_LW(ecx)) |
| #define | SET_LWECX_ZERO (prefix66 ^ prefix67 ? (CPU_REG(ecx) = 0) : (CPU_REG_LW(ecx) = 0)) |
| #define | COPY(x) regs.x = CPU_REG(x) |
| #define | COPY_R(x) CPU_REG(x) = regs.x |
| #define | pushw(base, ptr, val) |
Functions | |
| int | emu_vm86 (struct vm86_struct *vm, unsigned debug) |
| void | log_err (char *format,...) __attribute__((format(printf |
| static int | vm86_GP_fault (void) |
| static int | vm86_do_int (int num) |
| void | log_registers (void) |
| void | setup_io (void) |
| static void | setup_vm86 (unsigned long bios_start, i86biosRegsPtr regs) |
| void | collect_bios_regs (i86biosRegsPtr regs) |
| static int | do_vm86 (int cpuemu) |
| void | do_x86 (unsigned long bios_start, i86biosRegsPtr regs, int cpuemu) |
| int | run_bios_int (int num, struct regs86 *regs) |
| CARD32 | getIntVect (int num) |
| CARD32 | getIP (void) |
Variables | |
| void struct vm86_struct | vm86s |
| pio | P |
| #define COPY | ( | x | ) | regs.x = CPU_REG(x) |
| #define COPY_R | ( | x | ) | CPU_REG(x) = regs.x |
| #define CPU_REG | ( | x | ) | (vm86s.regs.x) |
| #define CPU_REG_HW | ( | reg | ) | (*((CARD16 *)&CPU_REG(reg) + 1)) |
| #define CPU_REG_LB | ( | reg | ) | (*(CARD8 *)&CPU_REG(e##reg)) |
| #define CPU_REG_LW | ( | reg | ) | (*((CARD16 *)&CPU_REG(reg))) |
| #define DF (1 << 10) |
| #define INT2PTR | ( | a | ) | ((a) + (unsigned char *) 0) |
| #define LIN_PREF_SI ((pref_seg << 4) + CPU_REG_LW(esi)) |
| #define LWECX (prefix66 ^ prefix67 ? CPU_REG(ecx) : CPU_REG_LW(ecx)) |
| #define pushw | ( | base, | |||
| ptr, | |||||
| val | ) |
| #define SEG_ADR | ( | type, | |||
| seg, | |||||
| reg | ) | type((CPU_REG_LW(seg) << 4) + CPU_REG_LW(e##reg) + (unsigned char *) 0) |
| #define SET_LWECX_ZERO (prefix66 ^ prefix67 ? (CPU_REG(ecx) = 0) : (CPU_REG_LW(ecx) = 0)) |
| void collect_bios_regs | ( | i86biosRegsPtr | regs | ) |
| static int do_vm86 | ( | int | cpuemu | ) | [static] |
| void do_x86 | ( | unsigned long | bios_start, | |
| i86biosRegsPtr | regs, | |||
| int | cpuemu | |||
| ) |
| int emu_vm86 | ( | struct vm86_struct * | vm, | |
| unsigned | debug | |||
| ) |
| CARD32 getIntVect | ( | int | num | ) |
| CARD32 getIP | ( | void | ) |
| void log_err | ( | char * | format, | |
| ... | ||||
| ) |
| void log_registers | ( | void | ) |
| int run_bios_int | ( | int | num, | |
| struct regs86 * | regs | |||
| ) |
| void setup_io | ( | void | ) |
| static void setup_vm86 | ( | unsigned long | bios_start, | |
| i86biosRegsPtr | regs | |||
| ) | [static] |
| static int vm86_do_int | ( | int | num | ) | [static] |
| static int vm86_GP_fault | ( | void | ) | [static] |
| void struct vm86_struct vm86s |