target-alpha: Remove partial support for palcode emulation.
This code does not work, and will be replaced by a bios image. Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
bf1b03fe18
commit
352e48b0f4
@ -376,7 +376,7 @@ obj-m68k-y += m68k-semi.o dummy_m68k.o
|
||||
|
||||
obj-s390x-y = s390-virtio-bus.o s390-virtio.o
|
||||
|
||||
obj-alpha-y = alpha_palcode.o
|
||||
obj-alpha-y =
|
||||
|
||||
main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
|
||||
|
||||
|
1048
hw/alpha_palcode.c
1048
hw/alpha_palcode.c
File diff suppressed because it is too large
Load Diff
@ -319,36 +319,6 @@ enum {
|
||||
|
||||
typedef struct CPUAlphaState CPUAlphaState;
|
||||
|
||||
typedef struct pal_handler_t pal_handler_t;
|
||||
struct pal_handler_t {
|
||||
/* Reset */
|
||||
void (*reset)(CPUAlphaState *env);
|
||||
/* Uncorrectable hardware error */
|
||||
void (*machine_check)(CPUAlphaState *env);
|
||||
/* Arithmetic exception */
|
||||
void (*arithmetic)(CPUAlphaState *env);
|
||||
/* Interrupt / correctable hardware error */
|
||||
void (*interrupt)(CPUAlphaState *env);
|
||||
/* Data fault */
|
||||
void (*dfault)(CPUAlphaState *env);
|
||||
/* DTB miss pal */
|
||||
void (*dtb_miss_pal)(CPUAlphaState *env);
|
||||
/* DTB miss native */
|
||||
void (*dtb_miss_native)(CPUAlphaState *env);
|
||||
/* Unaligned access */
|
||||
void (*unalign)(CPUAlphaState *env);
|
||||
/* ITB miss */
|
||||
void (*itb_miss)(CPUAlphaState *env);
|
||||
/* Instruction stream access violation */
|
||||
void (*itb_acv)(CPUAlphaState *env);
|
||||
/* Reserved or privileged opcode */
|
||||
void (*opcdec)(CPUAlphaState *env);
|
||||
/* Floating point exception */
|
||||
void (*fen)(CPUAlphaState *env);
|
||||
/* Call pal instruction */
|
||||
void (*call_pal)(CPUAlphaState *env, uint32_t palcode);
|
||||
};
|
||||
|
||||
#define NB_MMU_MODES 4
|
||||
|
||||
struct CPUAlphaState {
|
||||
@ -393,7 +363,6 @@ struct CPUAlphaState {
|
||||
uint32_t features;
|
||||
uint32_t amask;
|
||||
int implver;
|
||||
pal_handler_t *pal_handler;
|
||||
};
|
||||
|
||||
#define cpu_init cpu_alpha_init
|
||||
@ -506,10 +475,6 @@ uint64_t cpu_alpha_load_fpcr (CPUState *env);
|
||||
void cpu_alpha_store_fpcr (CPUState *env, uint64_t val);
|
||||
int cpu_alpha_mfpr (CPUState *env, int iprn, uint64_t *valp);
|
||||
int cpu_alpha_mtpr (CPUState *env, int iprn, uint64_t val, uint64_t *oldvalp);
|
||||
#if !defined (CONFIG_USER_ONLY)
|
||||
void pal_init (CPUState *env);
|
||||
void call_pal (CPUState *env);
|
||||
#endif
|
||||
|
||||
static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc,
|
||||
target_ulong *cs_base, int *flags)
|
||||
|
@ -528,7 +528,7 @@ void do_interrupt (CPUState *env)
|
||||
env->pc = env->ipr[IPR_PAL_BASE] + excp;
|
||||
} else {
|
||||
/* We use emulated PALcode */
|
||||
call_pal(env);
|
||||
abort();
|
||||
/* Emulate REI */
|
||||
env->pc = env->ipr[IPR_EXC_ADDR] & ~7;
|
||||
env->ipr[IPR_EXC_ADDR] = env->ipr[IPR_EXC_ADDR] & 1;
|
||||
|
@ -3335,8 +3335,6 @@ CPUAlphaState * cpu_alpha_init (const char *cpu_model)
|
||||
env->ps |= 1 << 3;
|
||||
cpu_alpha_store_fpcr(env, (FPCR_INVD | FPCR_DZED | FPCR_OVFD
|
||||
| FPCR_UNFD | FPCR_INED | FPCR_DNOD));
|
||||
#else
|
||||
pal_init(env);
|
||||
#endif
|
||||
env->lock_addr = -1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user