#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 |