From 94e55f45c100b799915d07a297218c3f15e1b6d0 Mon Sep 17 00:00:00 2001 From: Nguyen Anh Quynh Date: Fri, 20 Jan 2017 11:52:31 +0800 Subject: [PATCH] del qemu/target-m68k/m68k-semi.c --- qemu/include/exec/softmmu-semi.h | 79 --------------------- qemu/target-m68k/Makefile.objs | 1 - qemu/target-m68k/m68k-semi.c | 115 ------------------------------- 3 files changed, 195 deletions(-) delete mode 100644 qemu/include/exec/softmmu-semi.h delete mode 100644 qemu/target-m68k/m68k-semi.c diff --git a/qemu/include/exec/softmmu-semi.h b/qemu/include/exec/softmmu-semi.h deleted file mode 100644 index 8401f7d5..00000000 --- a/qemu/include/exec/softmmu-semi.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Helper routines to provide target memory access for semihosting - * syscalls in system emulation mode. - * - * Copyright (c) 2007 CodeSourcery. - * - * This code is licensed under the GPL - */ -#ifndef SOFTMMU_SEMI_H -#define SOFTMMU_SEMI_H 1 - -static inline uint32_t softmmu_tget32(CPUArchState *env, uint32_t addr) -{ - uint32_t val; - - cpu_memory_rw_debug(ENV_GET_CPU(env), addr, (uint8_t *)&val, 4, 0); - return tswap32(val); -} -static inline uint32_t softmmu_tget8(CPUArchState *env, uint32_t addr) -{ - uint8_t val; - - cpu_memory_rw_debug(ENV_GET_CPU(env), addr, &val, 1, 0); - return val; -} - -#define get_user_u32(arg, p) ({ arg = softmmu_tget32(env, p) ; 0; }) -#define get_user_u8(arg, p) ({ arg = softmmu_tget8(env, p) ; 0; }) -#define get_user_ual(arg, p) get_user_u32(arg, p) - -static inline void softmmu_tput32(CPUArchState *env, uint32_t addr, uint32_t val) -{ - val = tswap32(val); - cpu_memory_rw_debug(ENV_GET_CPU(env), addr, (uint8_t *)&val, 4, 1); -} -#define put_user_u32(arg, p) ({ softmmu_tput32(env, p, arg) ; 0; }) -#define put_user_ual(arg, p) put_user_u32(arg, p) - -static void *softmmu_lock_user(CPUArchState *env, uint32_t addr, uint32_t len, - int copy) -{ - uint8_t *p; - /* TODO: Make this something that isn't fixed size. */ - p = malloc(len); - if (p && copy) { - cpu_memory_rw_debug(ENV_GET_CPU(env), addr, p, len, 0); - } - return p; -} -#define lock_user(type, p, len, copy) softmmu_lock_user(env, p, len, copy) -static char *softmmu_lock_user_string(CPUArchState *env, uint32_t addr) -{ - char *p; - char *s; - uint8_t c; - /* TODO: Make this something that isn't fixed size. */ - s = p = malloc(1024); - if (!s) { - return NULL; - } - do { - cpu_memory_rw_debug(ENV_GET_CPU(env), addr, &c, 1, 0); - addr++; - *(p++) = c; - } while (c); - return s; -} -#define lock_user_string(p) softmmu_lock_user_string(env, p) -static void softmmu_unlock_user(CPUArchState *env, void *p, target_ulong addr, - target_ulong len) -{ - if (len) { - cpu_memory_rw_debug(ENV_GET_CPU(env), addr, p, len, 1); - } - free(p); -} -#define unlock_user(s, args, len) softmmu_unlock_user(env, s, args, len) - -#endif diff --git a/qemu/target-m68k/Makefile.objs b/qemu/target-m68k/Makefile.objs index d3b64d9e..f87fde4b 100644 --- a/qemu/target-m68k/Makefile.objs +++ b/qemu/target-m68k/Makefile.objs @@ -1,3 +1,2 @@ -#obj-y += m68k-semi.o obj-y += translate.o op_helper.o helper.o cpu.o obj-y += unicorn.o diff --git a/qemu/target-m68k/m68k-semi.c b/qemu/target-m68k/m68k-semi.c deleted file mode 100644 index 8be5714c..00000000 --- a/qemu/target-m68k/m68k-semi.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - * m68k/ColdFire Semihosting syscall interface - * - * Copyright (c) 2005-2007 CodeSourcery. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cpu.h" -#if defined(CONFIG_USER_ONLY) -#include "qemu.h" -#define SEMIHOSTING_HEAP_SIZE (128 * 1024 * 1024) -#else -#include "qemu-common.h" -#include "exec/softmmu-semi.h" -#endif -#include "sysemu/sysemu.h" - -#define HOSTED_EXIT 0 -#define HOSTED_INIT_SIM 1 -#define HOSTED_OPEN 2 -#define HOSTED_CLOSE 3 -#define HOSTED_READ 4 -#define HOSTED_WRITE 5 -#define HOSTED_LSEEK 6 -#define HOSTED_RENAME 7 -#define HOSTED_UNLINK 8 -#define HOSTED_STAT 9 -#define HOSTED_FSTAT 10 -#define HOSTED_GETTIMEOFDAY 11 -#define HOSTED_ISATTY 12 -#define HOSTED_SYSTEM 13 - -static void translate_stat(CPUM68KState *env, target_ulong addr, struct stat *s) -{ -} - -static void m68k_semi_return_u32(CPUM68KState *env, uint32_t ret, uint32_t err) -{ - target_ulong args = env->dregs[1]; - if (put_user_u32(ret, args) || - put_user_u32(err, args + 4)) { - /* The m68k semihosting ABI does not provide any way to report this - * error to the guest, so the best we can do is log it in qemu. - * It is always a guest error not to pass us a valid argument block. - */ - qemu_log_mask(LOG_GUEST_ERROR, "m68k-semihosting: return value " - "discarded because argument block not writable\n"); - } -} - -static void m68k_semi_return_u64(CPUM68KState *env, uint64_t ret, uint32_t err) -{ - target_ulong args = env->dregs[1]; - if (put_user_u32(ret >> 32, args) || - put_user_u32(ret, args + 4) || - put_user_u32(err, args + 8)) { - /* No way to report this via m68k semihosting ABI; just log it */ - qemu_log_mask(LOG_GUEST_ERROR, "m68k-semihosting: return value " - "discarded because argument block not writable\n"); - } -} - -static int m68k_semi_is_fseek; - -static void m68k_semi_cb(CPUState *cs, target_ulong ret, target_ulong err) -{ - M68kCPU *cpu = M68K_CPU(cs->uc, cs); - CPUM68KState *env = &cpu->env; - - if (m68k_semi_is_fseek) { - /* FIXME: We've already lost the high bits of the fseek - return value. */ - m68k_semi_return_u64(env, ret, err); - m68k_semi_is_fseek = 0; - } else { - m68k_semi_return_u32(env, ret, err); - } -} - -/* Read the input value from the argument block; fail the semihosting - * call if the memory read fails. - */ -#define GET_ARG(n) do { \ - if (get_user_ual(arg ## n, args + (n) * 4)) { \ - result = -1; \ - errno = EFAULT; \ - goto failed; \ - } \ -} while (0) - -void do_m68k_semihosting(CPUM68KState *env, int nr) -{ -}