cpu_fp_memory.h File Reference


Detailed Description

Contains code macros for the processor floating-point load/store instructions.

Based on ARM chapter 4.8.

X-1.13 Brian Wheeler 27-FEB-2008 Avoid compiler warnings.

X-1.12 Camiel Vanderhoeven 06-FEB-2008 Check for FPEN in old floating point code.

X-1.11 Camiel Vanderhoeven 05-FEB-2008 Only use new floating-point code when HAVE_NEW_FP has been defined.

X-1.10 Camiel Vanderhoeven 28-JAN-2008 Better floating-point exception handling.

X-1.9 Camiel Vanderhoeven 25-JAN-2008 Trap on unalogned memory access. The previous implementation where unaligned accesses were silently allowed could go wrong when page boundaries are crossed.

X-1.8 Camiel Vanderhoeven 21-JAN-2008 Implement new floating-point code.

X-1.7 Camiel Vanderhoeven 2-DEC-2007 Changed the way translation buffers work.

X-1.6 Camiel Vanderhoeven 08-NOV-2007 Restructured conversion routines.

X-1.5 Eduardo Marcelo Serrat 31-OCT-2007 Fixed conversion routines.

X-1.4 Camiel Vanderhoeven 11-APR-2007 Moved all data that should be saved to a state file to a structure "state".

X-1.3 Camiel Vanderhoeven 30-MAR-2007 Added old changelog comments.

X-1.2 Camiel Vanderhoeven 13-MAR-2007 Basic floating point support added.

X-1.1 Camiel Vanderhoeven 18-FEB-2007 File created. Contains code previously found in AlphaCPU.h

Definition in file cpu_fp_memory.h.

Go to the source code of this file.

Defines

#define DO_LDF
#define DO_LDG
#define DO_LDS
#define DO_LDT
#define DO_STF
#define DO_STG
#define DO_STS
#define DO_STT


Define Documentation

#define DO_LDF

Value:

FPSTART;                                 \
  if(FREG_1 != 31)                                       \
  {                                                      \
    DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_READ, 3); \
    state.f[FREG_1] = load_f((u32) READ_PHYS(32));       \
  }

Definition at line 119 of file cpu_fp_memory.h.

#define DO_LDG

Value:

FPSTART;                                 \
  if(FREG_1 != 31)                                       \
  {                                                      \
    DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_READ, 7); \
    state.f[FREG_1] = load_g(READ_PHYS(64));             \
  }

Definition at line 126 of file cpu_fp_memory.h.

#define DO_LDS

Value:

FPSTART;                                 \
  if(FREG_1 != 31)                                       \
  {                                                      \
    DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_READ, 3); \
    state.f[FREG_1] = load_s((u32) READ_PHYS(32));       \
  }

Definition at line 133 of file cpu_fp_memory.h.

#define DO_LDT

Value:

FPSTART;                                 \
  if(FREG_1 != 31)                                       \
  {                                                      \
    DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_READ, 7); \
    state.f[FREG_1] = READ_PHYS(64);                     \
  }

Definition at line 140 of file cpu_fp_memory.h.

#define DO_STF

Value:

FPSTART;                                \
  DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_WRITE, 3); \
  WRITE_PHYS(store_f(state.f[FREG_1]), 32);

Definition at line 147 of file cpu_fp_memory.h.

#define DO_STG

Value:

FPSTART;                                \
  DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_WRITE, 7); \
  WRITE_PHYS(store_g(state.f[FREG_1]), 64);

Definition at line 151 of file cpu_fp_memory.h.

#define DO_STS

Value:

FPSTART;                                \
  DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_WRITE, 3); \
  WRITE_PHYS(store_s(state.f[FREG_1]), 32);

Definition at line 155 of file cpu_fp_memory.h.

#define DO_STT

Value:

FPSTART;                                \
  DATA_PHYS(state.r[REG_2] + DISP_16, ACCESS_WRITE, 7); \
  WRITE_PHYS(state.f[FREG_1], 64);

Definition at line 159 of file cpu_fp_memory.h.


SourceForge.net Logo
Project space on SourceForge.net