mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
linux-user pull request 20200605-v2
Implement F_OFD_ fcntl() command, /proc/cpuinfo for hppa
Fix socket(), prnctl() error codes, underflow in target_mremap,
epoll_create() strace, oldumount for alpha
User-mode build dependencies improvement
-----BEGIN PGP SIGNATURE-----
iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAl7blvgSHGxhdXJlbnRA
dml2aWVyLmV1AAoJEPMMOL0/L748Nf0P/1QF1Y4A2I/SI53TksSWS55wlWCfV/wd
SXUSjTmM1W4Y/tKScwkjooClYeVV59Ie5VL7WMdLO0YGxTQC7jqBONHAuaxSb4ky
qNI5pvW0fpfl4i1ThC7XIlihOn49WlzEczTZqLRMuOh28nr3gJQCWweo/QIQoyUl
KNcCLgQiY3raBi7nykC26dRc8DvV6sSu+qcoTk8A0FRbEfUDf+sj/njY3Xh8AZN7
FAn4iscV/UIAnGM6VGQzGfUHfBBL28rkmg/++oQrnvnH8blx0O1NrdDsgiHuKT7P
/OC4tzpp6IkBzOy+sL3V/QdjKoxmMPadDj39rGLnZTQ6GZFXRZgVckknVdupTZD6
77lmnvbQMKmsKJWwn8zrd3RtwG2L6tWHgm16ZUXXaU+lFDa/xn55o4KnMdgZXEGP
+7EHf2IfkZfiFmblBWiJi7OMg2wzSDQaAIBTMr43nJfDwZUvKGnAHccuVLQitpGe
4dRN6lCT0K1h6WwNhLRH/Fqqhi9vN7o3sSUQVm128XzYOOPDRyau/R4F1AQNbNdU
+ZyrZqSvQxSxH0VNeu5wHRiwOym3bFJTVmGd5cWMzXs1kb+vmMG5ZjGBfxFr6gbC
9bVwDMxJ9vU5ExIZfUg4J/dOtWccJuADj11QPDcm8et3Tbqy1iiV9Py2k5IsIgqM
BCsqBl3i+ekz
=5q4d
-----END PGP SIGNATURE-----
Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.1-pull-request' into staging
linux-user pull request 20200605-v2
Implement F_OFD_ fcntl() command, /proc/cpuinfo for hppa
Fix socket(), prnctl() error codes, underflow in target_mremap,
epoll_create() strace, oldumount for alpha
User-mode build dependencies improvement
# gpg: Signature made Sat 06 Jun 2020 14:15:36 BST
# gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg: issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg: aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier2/tags/linux-user-for-5.1-pull-request:
stubs: Restrict ui/win32-kbd-hook to system-mode
hw/core: Restrict CpuClass::get_crash_info() to system-mode
target/s390x: Restrict CpuClass::get_crash_info() to system-mode
target/i386: Restrict CpuClass::get_crash_info() to system-mode
arch_init: Remove unused 'qapi-commands-misc.h' include
exec: Assert CPU migration is not used on user-only build
target/riscv/cpu: Restrict CPU migration to system-mode
stubs/Makefile: Reduce the user-mode object list
util/Makefile: Reduce the user-mode object list
tests/Makefile: Restrict some softmmu-only tests
tests/Makefile: Only display TCG-related tests when TCG is available
configure: Avoid building TCG when not needed
Makefile: Only build virtiofsd if system-mode is enabled
linux-user: implement OFD locks
linux-user/mmap.c: fix integer underflow in target_mremap
linux-user/strace.list: fix epoll_create{,1} -strace output
linux-user: Add support for /proc/cpuinfo on hppa platform
linux-user: return target error codes for socket() and prctl()
linux-user, alpha: fix oldumount syscall
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
49ee115552
16 changed files with 144 additions and 74 deletions
|
|
@ -2987,7 +2987,7 @@ static abi_long do_socket(int domain, int type, int protocol)
|
|||
#endif
|
||||
protocol == NETLINK_KOBJECT_UEVENT ||
|
||||
protocol == NETLINK_AUDIT)) {
|
||||
return -EPFNOSUPPORT;
|
||||
return -TARGET_EPFNOSUPPORT;
|
||||
}
|
||||
|
||||
if (domain == AF_PACKET ||
|
||||
|
|
@ -5856,7 +5856,7 @@ static abi_long do_get_thread_area(CPUX86State *env, abi_ulong ptr)
|
|||
|
||||
abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr)
|
||||
{
|
||||
return -ENOSYS;
|
||||
return -TARGET_ENOSYS;
|
||||
}
|
||||
#else
|
||||
abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr)
|
||||
|
|
@ -6098,6 +6098,9 @@ static int target_to_host_fcntl_cmd(int cmd)
|
|||
case TARGET_F_SETFD:
|
||||
case TARGET_F_GETFL:
|
||||
case TARGET_F_SETFL:
|
||||
case TARGET_F_OFD_GETLK:
|
||||
case TARGET_F_OFD_SETLK:
|
||||
case TARGET_F_OFD_SETLKW:
|
||||
ret = cmd;
|
||||
break;
|
||||
case TARGET_F_GETLK:
|
||||
|
|
@ -6383,6 +6386,7 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
|
|||
break;
|
||||
|
||||
case TARGET_F_GETLK64:
|
||||
case TARGET_F_OFD_GETLK:
|
||||
ret = copy_from_user_flock64(&fl64, arg);
|
||||
if (ret) {
|
||||
return ret;
|
||||
|
|
@ -6394,6 +6398,8 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
|
|||
break;
|
||||
case TARGET_F_SETLK64:
|
||||
case TARGET_F_SETLKW64:
|
||||
case TARGET_F_OFD_SETLK:
|
||||
case TARGET_F_OFD_SETLKW:
|
||||
ret = copy_from_user_flock64(&fl64, arg);
|
||||
if (ret) {
|
||||
return ret;
|
||||
|
|
@ -7378,7 +7384,7 @@ static int is_proc_myself(const char *filename, const char *entry)
|
|||
}
|
||||
|
||||
#if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN) || \
|
||||
defined(TARGET_SPARC) || defined(TARGET_M68K)
|
||||
defined(TARGET_SPARC) || defined(TARGET_M68K) || defined(TARGET_HPPA)
|
||||
static int is_proc(const char *filename, const char *entry)
|
||||
{
|
||||
return strcmp(filename, entry) == 0;
|
||||
|
|
@ -7438,6 +7444,18 @@ static int open_cpuinfo(void *cpu_env, int fd)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(TARGET_HPPA)
|
||||
static int open_cpuinfo(void *cpu_env, int fd)
|
||||
{
|
||||
dprintf(fd, "cpu family\t: PA-RISC 1.1e\n");
|
||||
dprintf(fd, "cpu\t\t: PA7300LC (PCX-L2)\n");
|
||||
dprintf(fd, "capabilities\t: os32\n");
|
||||
dprintf(fd, "model\t\t: 9000/778/B160L\n");
|
||||
dprintf(fd, "model name\t: Merlin L2 160 QEMU (9000/778/B160L)\n");
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(TARGET_M68K)
|
||||
static int open_hardware(void *cpu_env, int fd)
|
||||
{
|
||||
|
|
@ -7462,7 +7480,7 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
|
|||
#if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
|
||||
{ "/proc/net/route", open_net_route, is_proc },
|
||||
#endif
|
||||
#if defined(TARGET_SPARC)
|
||||
#if defined(TARGET_SPARC) || defined(TARGET_HPPA)
|
||||
{ "/proc/cpuinfo", open_cpuinfo, is_proc },
|
||||
#endif
|
||||
#if defined(TARGET_M68K)
|
||||
|
|
@ -8031,8 +8049,13 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
|||
}
|
||||
}
|
||||
return ret;
|
||||
#ifdef TARGET_NR_umount
|
||||
#if defined(TARGET_NR_umount) || defined(TARGET_NR_oldumount)
|
||||
#if defined(TARGET_NR_umount)
|
||||
case TARGET_NR_umount:
|
||||
#endif
|
||||
#if defined(TARGET_NR_oldumount)
|
||||
case TARGET_NR_oldumount:
|
||||
#endif
|
||||
if (!(p = lock_user_string(arg1)))
|
||||
return -TARGET_EFAULT;
|
||||
ret = get_errno(umount(p));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue