提交 dd51dc52 编写于 作者: A Andreas Färber

target-openrisc: Clean up triple QOM casts

Instead of calling openrisc_env_get_cpu(), casting to CPU() via the
ENV_GET_CPU() compatibility macro and casting back to OPENRISC_CPU(),
just call openrisc_env_get_cpu() directly.

ENV_GET_CPU() is meant as workaround for target-independent code only.
Signed-off-by: NAndreas Färber <afaerber@suse.de>
上级 8486af93
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
void HELPER(exception)(CPUOpenRISCState *env, uint32_t excp) void HELPER(exception)(CPUOpenRISCState *env, uint32_t excp)
{ {
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
raise_exception(cpu, excp); raise_exception(cpu, excp);
} }
...@@ -68,7 +68,7 @@ static inline void update_fpcsr(OpenRISCCPU *cpu) ...@@ -68,7 +68,7 @@ static inline void update_fpcsr(OpenRISCCPU *cpu)
uint64_t HELPER(itofd)(CPUOpenRISCState *env, uint64_t val) uint64_t HELPER(itofd)(CPUOpenRISCState *env, uint64_t val)
{ {
uint64_t itofd; uint64_t itofd;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
set_float_exception_flags(0, &cpu->env.fp_status); set_float_exception_flags(0, &cpu->env.fp_status);
itofd = int32_to_float64(val, &cpu->env.fp_status); itofd = int32_to_float64(val, &cpu->env.fp_status);
...@@ -80,7 +80,7 @@ uint64_t HELPER(itofd)(CPUOpenRISCState *env, uint64_t val) ...@@ -80,7 +80,7 @@ uint64_t HELPER(itofd)(CPUOpenRISCState *env, uint64_t val)
uint32_t HELPER(itofs)(CPUOpenRISCState *env, uint32_t val) uint32_t HELPER(itofs)(CPUOpenRISCState *env, uint32_t val)
{ {
uint32_t itofs; uint32_t itofs;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
set_float_exception_flags(0, &cpu->env.fp_status); set_float_exception_flags(0, &cpu->env.fp_status);
itofs = int32_to_float32(val, &cpu->env.fp_status); itofs = int32_to_float32(val, &cpu->env.fp_status);
...@@ -92,7 +92,7 @@ uint32_t HELPER(itofs)(CPUOpenRISCState *env, uint32_t val) ...@@ -92,7 +92,7 @@ uint32_t HELPER(itofs)(CPUOpenRISCState *env, uint32_t val)
uint64_t HELPER(ftoid)(CPUOpenRISCState *env, uint64_t val) uint64_t HELPER(ftoid)(CPUOpenRISCState *env, uint64_t val)
{ {
uint64_t ftoid; uint64_t ftoid;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
set_float_exception_flags(0, &cpu->env.fp_status); set_float_exception_flags(0, &cpu->env.fp_status);
ftoid = float32_to_int64(val, &cpu->env.fp_status); ftoid = float32_to_int64(val, &cpu->env.fp_status);
...@@ -104,7 +104,7 @@ uint64_t HELPER(ftoid)(CPUOpenRISCState *env, uint64_t val) ...@@ -104,7 +104,7 @@ uint64_t HELPER(ftoid)(CPUOpenRISCState *env, uint64_t val)
uint32_t HELPER(ftois)(CPUOpenRISCState *env, uint32_t val) uint32_t HELPER(ftois)(CPUOpenRISCState *env, uint32_t val)
{ {
uint32_t ftois; uint32_t ftois;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
set_float_exception_flags(0, &cpu->env.fp_status); set_float_exception_flags(0, &cpu->env.fp_status);
ftois = float32_to_int32(val, &cpu->env.fp_status); ftois = float32_to_int32(val, &cpu->env.fp_status);
...@@ -120,7 +120,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \ ...@@ -120,7 +120,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \
uint64_t fdt0, uint64_t fdt1) \ uint64_t fdt0, uint64_t fdt1) \
{ \ { \
uint64_t result; \ uint64_t result; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
result = float64_ ## name(fdt0, fdt1, &cpu->env.fp_status); \ result = float64_ ## name(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -131,7 +131,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \ ...@@ -131,7 +131,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \
uint32_t fdt0, uint32_t fdt1) \ uint32_t fdt0, uint32_t fdt1) \
{ \ { \
uint32_t result; \ uint32_t result; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
result = float32_ ## name(fdt0, fdt1, &cpu->env.fp_status); \ result = float32_ ## name(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -152,7 +152,7 @@ uint64_t helper_float_ ## name1 ## name2 ## _d(CPUOpenRISCState *env, \ ...@@ -152,7 +152,7 @@ uint64_t helper_float_ ## name1 ## name2 ## _d(CPUOpenRISCState *env, \
{ \ { \
uint64_t result, temp, hi, lo; \ uint64_t result, temp, hi, lo; \
uint32_t val1, val2; \ uint32_t val1, val2; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
hi = env->fpmaddhi; \ hi = env->fpmaddhi; \
lo = env->fpmaddlo; \ lo = env->fpmaddlo; \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
...@@ -174,7 +174,7 @@ uint32_t helper_float_ ## name1 ## name2 ## _s(CPUOpenRISCState *env, \ ...@@ -174,7 +174,7 @@ uint32_t helper_float_ ## name1 ## name2 ## _s(CPUOpenRISCState *env, \
{ \ { \
uint64_t result, temp, hi, lo; \ uint64_t result, temp, hi, lo; \
uint32_t val1, val2; \ uint32_t val1, val2; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
hi = cpu->env.fpmaddhi; \ hi = cpu->env.fpmaddhi; \
lo = cpu->env.fpmaddlo; \ lo = cpu->env.fpmaddlo; \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
...@@ -198,7 +198,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \ ...@@ -198,7 +198,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \
uint64_t fdt0, uint64_t fdt1) \ uint64_t fdt0, uint64_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = float64_ ## name(fdt0, fdt1, &cpu->env.fp_status); \ res = float64_ ## name(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -209,7 +209,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \ ...@@ -209,7 +209,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \
uint32_t fdt0, uint32_t fdt1)\ uint32_t fdt0, uint32_t fdt1)\
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = float32_ ## name(fdt0, fdt1, &cpu->env.fp_status); \ res = float32_ ## name(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -227,7 +227,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \ ...@@ -227,7 +227,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \
uint64_t fdt0, uint64_t fdt1) \ uint64_t fdt0, uint64_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = !float64_eq_quiet(fdt0, fdt1, &cpu->env.fp_status); \ res = !float64_eq_quiet(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -238,7 +238,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \ ...@@ -238,7 +238,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \
uint32_t fdt0, uint32_t fdt1) \ uint32_t fdt0, uint32_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = !float32_eq_quiet(fdt0, fdt1, &cpu->env.fp_status); \ res = !float32_eq_quiet(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -253,7 +253,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \ ...@@ -253,7 +253,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \
uint64_t fdt0, uint64_t fdt1) \ uint64_t fdt0, uint64_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = !float64_le(fdt0, fdt1, &cpu->env.fp_status); \ res = !float64_le(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -264,7 +264,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \ ...@@ -264,7 +264,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \
uint32_t fdt0, uint32_t fdt1) \ uint32_t fdt0, uint32_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = !float32_le(fdt0, fdt1, &cpu->env.fp_status); \ res = !float32_le(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -278,7 +278,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \ ...@@ -278,7 +278,7 @@ uint64_t helper_float_ ## name ## _d(CPUOpenRISCState *env, \
uint64_t fdt0, uint64_t fdt1) \ uint64_t fdt0, uint64_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = !float64_lt(fdt0, fdt1, &cpu->env.fp_status); \ res = !float64_lt(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
...@@ -289,7 +289,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \ ...@@ -289,7 +289,7 @@ uint32_t helper_float_ ## name ## _s(CPUOpenRISCState *env, \
uint32_t fdt0, uint32_t fdt1) \ uint32_t fdt0, uint32_t fdt1) \
{ \ { \
int res; \ int res; \
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); \ OpenRISCCPU *cpu = openrisc_env_get_cpu(env); \
set_float_exception_flags(0, &cpu->env.fp_status); \ set_float_exception_flags(0, &cpu->env.fp_status); \
res = !float32_lt(fdt0, fdt1, &cpu->env.fp_status); \ res = !float32_lt(fdt0, fdt1, &cpu->env.fp_status); \
update_fpcsr(cpu); \ update_fpcsr(cpu); \
......
...@@ -48,7 +48,7 @@ uint32_t HELPER(mul32)(CPUOpenRISCState *env, ...@@ -48,7 +48,7 @@ uint32_t HELPER(mul32)(CPUOpenRISCState *env,
uint64_t result; uint64_t result;
uint32_t high, cy; uint32_t high, cy;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
result = (uint64_t)ra * rb; result = (uint64_t)ra * rb;
/* regisiers in or32 is 32bit, so 32 is NOT a magic number. /* regisiers in or32 is 32bit, so 32 is NOT a magic number.
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
void HELPER(rfe)(CPUOpenRISCState *env) void HELPER(rfe)(CPUOpenRISCState *env)
{ {
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
#ifndef CONFIG_USER_ONLY #ifndef CONFIG_USER_ONLY
int need_flush_tlb = (cpu->env.sr & (SR_SM | SR_IME | SR_DME)) ^ int need_flush_tlb = (cpu->env.sr & (SR_SM | SR_IME | SR_DME)) ^
(cpu->env.esr & (SR_SM | SR_IME | SR_DME)); (cpu->env.esr & (SR_SM | SR_IME | SR_DME));
......
...@@ -187,7 +187,7 @@ int cpu_openrisc_handle_mmu_fault(CPUOpenRISCState *env, ...@@ -187,7 +187,7 @@ int cpu_openrisc_handle_mmu_fault(CPUOpenRISCState *env,
int ret = 0; int ret = 0;
hwaddr physical = 0; hwaddr physical = 0;
int prot = 0; int prot = 0;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
ret = cpu_openrisc_get_phys_addr(cpu, &physical, &prot, ret = cpu_openrisc_get_phys_addr(cpu, &physical, &prot,
address, rw); address, rw);
...@@ -209,7 +209,7 @@ int cpu_openrisc_handle_mmu_fault(CPUOpenRISCState *env, ...@@ -209,7 +209,7 @@ int cpu_openrisc_handle_mmu_fault(CPUOpenRISCState *env,
target_ulong address, int rw, int mmu_idx) target_ulong address, int rw, int mmu_idx)
{ {
int ret = 0; int ret = 0;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
cpu_openrisc_raise_mmu_exception(cpu, address, rw, ret); cpu_openrisc_raise_mmu_exception(cpu, address, rw, ret);
ret = 1; ret = 1;
...@@ -224,7 +224,7 @@ hwaddr cpu_get_phys_page_debug(CPUOpenRISCState *env, ...@@ -224,7 +224,7 @@ hwaddr cpu_get_phys_page_debug(CPUOpenRISCState *env,
{ {
hwaddr phys_addr; hwaddr phys_addr;
int prot; int prot;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
if (cpu_openrisc_get_phys_addr(cpu, &phys_addr, &prot, addr, 0)) { if (cpu_openrisc_get_phys_addr(cpu, &phys_addr, &prot, addr, 0)) {
return -1; return -1;
......
...@@ -30,7 +30,7 @@ void HELPER(mtspr)(CPUOpenRISCState *env, ...@@ -30,7 +30,7 @@ void HELPER(mtspr)(CPUOpenRISCState *env,
int spr = (ra | offset); int spr = (ra | offset);
int idx; int idx;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
switch (spr) { switch (spr) {
case TO_SPR(0, 0): /* VR */ case TO_SPR(0, 0): /* VR */
...@@ -177,7 +177,7 @@ target_ulong HELPER(mfspr)(CPUOpenRISCState *env, ...@@ -177,7 +177,7 @@ target_ulong HELPER(mfspr)(CPUOpenRISCState *env,
int spr = (ra | offset); int spr = (ra | offset);
int idx; int idx;
OpenRISCCPU *cpu = OPENRISC_CPU(ENV_GET_CPU(env)); OpenRISCCPU *cpu = openrisc_env_get_cpu(env);
switch (spr) { switch (spr) {
case TO_SPR(0, 0): /* VR */ case TO_SPR(0, 0): /* VR */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册