Added FPU support for pre-486 CPUs.
This commit does not include timings for 8087, 80287 or 80387 FPUs, these will be added later. It also does not restrict the use of 486 and later FPU instructions.
This commit is contained in:
parent
bbef0fd1cd
commit
0e8926936d
11 changed files with 1349 additions and 919 deletions
23
src/cpu.h
23
src/cpu.h
|
|
@ -2,6 +2,7 @@
|
|||
#define _CPU_H_
|
||||
|
||||
extern int cpu, cpu_manufacturer;
|
||||
extern int fpu_type;
|
||||
|
||||
/*808x class CPUs*/
|
||||
#define CPU_8088 0
|
||||
|
|
@ -60,10 +61,27 @@ extern int timing_jmp_rm, timing_jmp_pm, timing_jmp_pm_gate;
|
|||
|
||||
extern int timing_misaligned;
|
||||
|
||||
enum
|
||||
{
|
||||
FPU_NONE,
|
||||
FPU_8087,
|
||||
FPU_287,
|
||||
FPU_387,
|
||||
FPU_BUILTIN
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char *name;
|
||||
const char *internal_name;
|
||||
const int type;
|
||||
} FPU;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char name[32];
|
||||
int cpu_type;
|
||||
const FPU *fpus;
|
||||
int speed;
|
||||
int rspeed;
|
||||
int multi;
|
||||
|
|
@ -171,4 +189,9 @@ int cpu_get_speed();
|
|||
|
||||
extern int has_vlb;
|
||||
|
||||
int fpu_get_type(int model, int manu, int cpu, const char *internal_name);
|
||||
const char *fpu_get_internal_name(int model, int manu, int cpu, int type);
|
||||
const char *fpu_get_name_from_index(int model, int manu, int cpu, int c);
|
||||
int fpu_get_type_from_index(int model, int manu, int cpu, int c);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue