]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge tag 'linux-user-for-8.1-pull-request' of https://github.com/vivier/qemu into...
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 17 May 2023 12:42:14 +0000 (05:42 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 17 May 2023 12:42:14 +0000 (05:42 -0700)
linux-user pull request 20230512-v4

add open_tree(), move_mount()
add /proc/cpuinfo for riscv
fixes and cleanup

# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmRkiZISHGxhdXJlbnRA
# dml2aWVyLmV1AAoJEPMMOL0/L748FdIP/RC1JaCftkP7ajAstNbZLMLegMxjUYHV
# TrdhsMOsm804ZmLgTqqfS3bJ080mIHup0xUnHBckcEtUcwaz54cJ1BAR2WlM3/8A
# t3fHMt3PDkh3OPd/3AnmpLE8XRh7yBztirPYfZc6SKqnFzT0TZrwBoQnwprEnZ5r
# c0gbrgLZLunZhrWU1BbQmuIufW1qDoQo4PzwnyZeux1fHA1/v/dx3wgSLpv3V4k6
# x0Kj8TvtMUU4/io2RqYF4jKopfhwsh0jnr9rlOmydOExalKq1VbRptJI2UC4KVOY
# MZuApF1EaZfrW+v/WSlvmzaZ/zRzP1L0X3Xh0wB4J9Rj3057/elXr6bi+R+rM46p
# xGTcti9ahWKP2J4/xrazRw2lfPsLcw/YbqVGG79AX1xLJPCiWq6lamzc/g3ptFnx
# F/RRETe65z7apzF/nzU7SDOsMdN5p4/fMb1SysLuAov5OepNVjNVWyiTgqOHB5uC
# ye+lOYkkvk+qRdMbls/fIcjDQ3C4AjoBWj4QlgRc0/Qf6ac4TkVjzPa70Y6eyzzS
# LEV9D4fXD8EZgYWENNGmbbKPNbtfqc9uR6gXdgkEsKDx/rf5IMf1d6r1C99dhB3A
# nbu0JpFKKY2lhD2oGVPDE3UQMW9DXXhZpDApUBsLNiEwfuoXZee+apH+6jc8tbn6
# r+8LFB1mM9os
# =NfIV
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 17 May 2023 01:00:18 AM PDT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [undefined]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [undefined]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* tag 'linux-user-for-8.1-pull-request' of https://github.com/vivier/qemu:
  linux-user: fix getgroups/setgroups allocations
  linux-user: Fix mips fp64 executables loading
  linux-user: Don't require PROT_READ for mincore
  linux-user: Add new flag VERIFY_NONE
  linux-user/main: Use list_cpus() instead of cpu_list()
  linux-user: Add open_tree() syscall
  linux-user: Add move_mount() syscall
  linux-user: report ENOTTY for unknown ioctls
  linux-user: Emulate /proc/cpuinfo output for riscv

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
1  2 
linux-user/main.c

diff --combined linux-user/main.c
index 5defe5a6db82f6a0ee1f9f660dc8a3ad2ee30e9a,aece4d9e911908ed54e9659133c8da9f07b0ffc0..5e6b2e1714c773b6e7a641992bfe9b46e75c4d44
@@@ -68,7 -68,7 +68,7 @@@
  char *exec_path;
  char real_exec_path[PATH_MAX];
  
 -int singlestep;
 +static bool opt_one_insn_per_tb;
  static const char *argv0;
  static const char *gdbstub;
  static envlist_t *envlist;
@@@ -359,10 -359,7 +359,7 @@@ static void handle_arg_cpu(const char *
  {
      cpu_model = strdup(arg);
      if (cpu_model == NULL || is_help_option(cpu_model)) {
-         /* XXX: implement xxx_cpu_list for targets that still miss it */
- #if defined(cpu_list)
-         cpu_list();
- #endif
+         list_cpus();
          exit(EXIT_FAILURE);
      }
  }
@@@ -409,9 -406,9 +406,9 @@@ static void handle_arg_reserved_va(cons
      reserved_va = val ? val - 1 : 0;
  }
  
 -static void handle_arg_singlestep(const char *arg)
 +static void handle_arg_one_insn_per_tb(const char *arg)
  {
 -    singlestep = 1;
 +    opt_one_insn_per_tb = true;
  }
  
  static void handle_arg_strace(const char *arg)
@@@ -500,11 -497,8 +497,11 @@@ static const struct qemu_argument arg_t
       "logfile",     "write logs to 'logfile' (default stderr)"},
      {"p",          "QEMU_PAGESIZE",    true,  handle_arg_pagesize,
       "pagesize",   "set the host page size to 'pagesize'"},
 -    {"singlestep", "QEMU_SINGLESTEP",  false, handle_arg_singlestep,
 -     "",           "run in singlestep mode"},
 +    {"one-insn-per-tb",
 +                   "QEMU_ONE_INSN_PER_TB",  false, handle_arg_one_insn_per_tb,
 +     "",           "run with one guest instruction per emulated TB"},
 +    {"singlestep", "QEMU_SINGLESTEP",  false, handle_arg_one_insn_per_tb,
 +     "",           "deprecated synonym for -one-insn-per-tb"},
      {"strace",     "QEMU_STRACE",      false, handle_arg_strace,
       "",           "log system calls"},
      {"seed",       "QEMU_RAND_SEED",   true,  handle_arg_seed,
@@@ -780,12 -774,9 +777,12 @@@ int main(int argc, char **argv, char **
  
      /* init tcg before creating CPUs and to get qemu_host_page_size */
      {
 -        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
 +        AccelState *accel = current_accel();
 +        AccelClass *ac = ACCEL_GET_CLASS(accel);
  
          accel_init_interfaces(ac);
 +        object_property_set_bool(OBJECT(accel), "one-insn-per-tb",
 +                                 opt_one_insn_per_tb, &error_abort);
          ac->init_machine(NULL);
      }
      cpu = cpu_create(cpu_type);