|
@@ -7,8 +7,12 @@
|
|
* This code is licensed under the GPL
|
|
* This code is licensed under the GPL
|
|
*/
|
|
*/
|
|
|
|
|
|
-#ifndef SEMIHOSTING_SOFTMMU_UACCESS_H
|
|
|
|
-#define SEMIHOSTING_SOFTMMU_UACCESS_H
|
|
|
|
|
|
+#ifndef SEMIHOSTING_UACCESS_H
|
|
|
|
+#define SEMIHOSTING_UACCESS_H
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_USER_ONLY
|
|
|
|
+#error Cannot include semihosting/uaccess.h from user emulation
|
|
|
|
+#endif
|
|
|
|
|
|
#include "cpu.h"
|
|
#include "cpu.h"
|
|
|
|
|
|
@@ -42,18 +46,18 @@
|
|
|
|
|
|
#define put_user_ual(arg, p) put_user_u32(arg, p)
|
|
#define put_user_ual(arg, p) put_user_u32(arg, p)
|
|
|
|
|
|
-void *softmmu_lock_user(CPUArchState *env, target_ulong addr,
|
|
|
|
|
|
+void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
|
|
target_ulong len, bool copy);
|
|
target_ulong len, bool copy);
|
|
-#define lock_user(type, p, len, copy) softmmu_lock_user(env, p, len, copy)
|
|
|
|
|
|
+#define lock_user(type, p, len, copy) uaccess_lock_user(env, p, len, copy)
|
|
|
|
|
|
-char *softmmu_lock_user_string(CPUArchState *env, target_ulong addr);
|
|
|
|
-#define lock_user_string(p) softmmu_lock_user_string(env, p)
|
|
|
|
|
|
+char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr);
|
|
|
|
+#define lock_user_string(p) uaccess_lock_user_string(env, p)
|
|
|
|
|
|
-void softmmu_unlock_user(CPUArchState *env, void *p,
|
|
|
|
|
|
+void uaccess_unlock_user(CPUArchState *env, void *p,
|
|
target_ulong addr, target_ulong len);
|
|
target_ulong addr, target_ulong len);
|
|
-#define unlock_user(s, args, len) softmmu_unlock_user(env, s, args, len)
|
|
|
|
|
|
+#define unlock_user(s, args, len) uaccess_unlock_user(env, s, args, len)
|
|
|
|
|
|
-ssize_t softmmu_strlen_user(CPUArchState *env, target_ulong addr);
|
|
|
|
-#define target_strlen(p) softmmu_strlen_user(env, p)
|
|
|
|
|
|
+ssize_t uaccess_strlen_user(CPUArchState *env, target_ulong addr);
|
|
|
|
+#define target_strlen(p) uaccess_strlen_user(env, p)
|
|
|
|
|
|
#endif /* SEMIHOSTING_SOFTMMU_UACCESS_H */
|
|
#endif /* SEMIHOSTING_SOFTMMU_UACCESS_H */
|