qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b55b1a: target/xtensa: dump correct physical


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] b55b1a: target/xtensa: dump correct physical registers
Date: Sat, 17 Mar 2018 08:49:39 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b55b1afda942306e4e40420aced1524bd83ba16d
      
https://github.com/qemu/qemu/commit/b55b1afda942306e4e40420aced1524bd83ba16d
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M target/xtensa/translate.c

  Log Message:
  -----------
  target/xtensa: dump correct physical registers

xtensa_cpu_dump_state outputs CPU physical registers as is, without
synchronization from current window. That may result in different values
printed for the current window and corresponding physical registers.
Synchronize physical registers from window before dumping.

Cc: address@hidden
Signed-off-by: Max Filippov <address@hidden>


  Commit: b9317a2a69ac78f79ee4965037c8eaa407ed0724
      
https://github.com/qemu/qemu/commit/b9317a2a69ac78f79ee4965037c8eaa407ed0724
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M target/xtensa/translate.c

  Log Message:
  -----------
  target/xtensa: mark register windows in the dump

Add arrows that mark beginning of register windows and position of the
current window in the windowed register file.

Signed-off-by: Max Filippov <address@hidden>


  Commit: 1b7b26e4748580dce3ec671ce7ed3d65a986cf9c
      
https://github.com/qemu/qemu/commit/1b7b26e4748580dce3ec671ce7ed3d65a986cf9c
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M target/xtensa/cpu.h
    M target/xtensa/gdbstub.c
    M target/xtensa/helper.c
    M target/xtensa/overlay_tool.h

  Log Message:
  -----------
  target/xtensa: use correct number of registers in gdbstub

System emulation should provide access to all registers, userspace
emulation should only provide access to unprivileged registers.
Record register flags from GDB register map definition, calculate both
num_regs and num_core_regs if either is zero. Use num_regs in system
emulation, num_core_regs in userspace emulation gdbstub.

Signed-off-by: Max Filippov <address@hidden>


  Commit: 9fb40342d4b32152cedf32efe28b59ec3b932bd8
      
https://github.com/qemu/qemu/commit/9fb40342d4b32152cedf32efe28b59ec3b932bd8
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M configure
    M target/xtensa/cpu.h
    M target/xtensa/translate.c

  Log Message:
  -----------
  target/xtensa: support MTTCG

- emit TCG barriers for MEMW, EXTW, S32RI and L32AI;
- do atomic_cmpxchg_i32 for S32C1I.

Cc: Emilio G. Cota <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: e530acd7de8178ca1eb30ac4c19508e6f68a172d
      
https://github.com/qemu/qemu/commit/e530acd7de8178ca1eb30ac4c19508e6f68a172d
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M include/exec/cpu-all.h
    M include/exec/cpu_ldst.h
    M linux-user/mmap.c
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix mmap/munmap/mprotect/mremap/shmat

In linux-user QEMU that runs for a target with TARGET_ABI_BITS bigger
than L1_MAP_ADDR_SPACE_BITS an assertion in page_set_flags fires when
mmap, munmap, mprotect, mremap or shmat is called for an address outside
the guest address space. mmap and mprotect should return ENOMEM in such
case.

Change definition of GUEST_ADDR_MAX to always be the last valid guest
address. Account for this change in open_self_maps.
Add macro guest_addr_valid that verifies if the guest address is valid.
Add function guest_range_valid that verifies if address range is within
guest address space and does not wrap around. Use that macro in
mmap/munmap/mprotect/mremap/shmat for error checking.

Cc: address@hidden
Cc: Riku Voipio <address@hidden>
Cc: Laurent Vivier <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: 21b869a321871728077a5d0469a05f0d34041650
      
https://github.com/qemu/qemu/commit/21b869a321871728077a5d0469a05f0d34041650
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix assertion in shmdt

shmdt fails to call mmap_lock/mmap_unlock around page_set_flags,
resulting in the following assertion:
  page_set_flags: Assertion `have_mmap_lock()' failed.

Wrap shmdt internals into mmap_lock/mmap_unlock.

Cc: address@hidden
Cc: Riku Voipio <address@hidden>
Cc: Laurent Vivier <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: 72d75bb3166047c74db2931eecb92f9684e70ead
      
https://github.com/qemu/qemu/commit/72d75bb3166047c74db2931eecb92f9684e70ead
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M linux-user/mmap.c

  Log Message:
  -----------
  linux-user: fix target_mprotect/target_munmap error return values

target_mprotect/target_munmap return value goes through get_errno at the
call site, thus the functions must either set errno to host error code
and return -1 or return negative guest error code. Do the latter.

Cc: address@hidden
Cc: Riku Voipio <address@hidden>
Cc: Laurent Vivier <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: bf9c3a5a96dfabcdcb7964110866bb9bc06a43c1
      
https://github.com/qemu/qemu/commit/bf9c3a5a96dfabcdcb7964110866bb9bc06a43c1
  Author: Max Filippov <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M linux-user/mmap.c
    M linux-user/qemu.h

  Log Message:
  -----------
  linux-user: drop unused target_msync function

target_msync is not used, remove its declaration and implementation.

Cc: Riku Voipio <address@hidden>
Cc: Laurent Vivier <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: ba7651fba54199e5dedbbd08157687291b9dbae3
      
https://github.com/qemu/qemu/commit/ba7651fba54199e5dedbbd08157687291b9dbae3
  Author: Max Filippov <address@hidden>
  Date:   2018-03-16 (Fri, 16 Mar 2018)

  Changed paths:
    A default-configs/xtensa-linux-user.mak
    A default-configs/xtensaeb-linux-user.mak
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/signal.c
    M linux-user/syscall.c
    M linux-user/syscall_defs.h
    A linux-user/xtensa/syscall.h
    A linux-user/xtensa/syscall_nr.h
    A linux-user/xtensa/target_cpu.h
    A linux-user/xtensa/target_elf.h
    A linux-user/xtensa/target_signal.h
    A linux-user/xtensa/target_structs.h
    A linux-user/xtensa/target_syscall.h
    A linux-user/xtensa/termbits.h
    M target/xtensa/Makefile.objs
    M target/xtensa/cpu.c
    M target/xtensa/cpu.h
    M target/xtensa/helper.c
    M target/xtensa/helper.h
    M target/xtensa/op_helper.c
    M target/xtensa/translate.c

  Log Message:
  -----------
  target/xtensa: add linux-user support

Import list of syscalls from the kernel source. Conditionalize code/data
that is only used with softmmu. Implement exception handlers. Implement
signal hander (only the core registers for now, no coprocessors or TIE).

Cc: Riku Voipio <address@hidden>
Cc: Laurent Vivier <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: 4b279225258e04d96c7919b5d8aedb234dae9685
      
https://github.com/qemu/qemu/commit/4b279225258e04d96c7919b5d8aedb234dae9685
  Author: Max Filippov <address@hidden>
  Date:   2018-03-16 (Fri, 16 Mar 2018)

  Changed paths:
    M scripts/qemu-binfmt-conf.sh

  Log Message:
  -----------
  qemu-binfmt-conf.sh: add qemu-xtensa

Register qemu-xtensa and qemu-xtensaeb for transparent linux userspace
emulation.

Cc: Riku Voipio <address@hidden>
Cc: Laurent Vivier <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Max Filippov <address@hidden>


  Commit: b8105d2194f06ab8e3566467e8e3c582457424bb
      
https://github.com/qemu/qemu/commit/b8105d2194f06ab8e3566467e8e3c582457424bb
  Author: Max Filippov <address@hidden>
  Date:   2018-03-16 (Fri, 16 Mar 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: fix W: address for xtensa

Signed-off-by: Max Filippov <address@hidden>


  Commit: e1e44a9916b4318e943aecd669e096222cb3eaeb
      
https://github.com/qemu/qemu/commit/e1e44a9916b4318e943aecd669e096222cb3eaeb
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-17 (Sat, 17 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M configure
    A default-configs/xtensa-linux-user.mak
    A default-configs/xtensaeb-linux-user.mak
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/signal.c
    M linux-user/syscall.c
    M linux-user/syscall_defs.h
    A linux-user/xtensa/syscall.h
    A linux-user/xtensa/syscall_nr.h
    A linux-user/xtensa/target_cpu.h
    A linux-user/xtensa/target_elf.h
    A linux-user/xtensa/target_signal.h
    A linux-user/xtensa/target_structs.h
    A linux-user/xtensa/target_syscall.h
    A linux-user/xtensa/termbits.h
    M target/xtensa/Makefile.objs
    M target/xtensa/cpu.c
    M target/xtensa/cpu.h
    M target/xtensa/gdbstub.c
    M target/xtensa/helper.c
    M target/xtensa/helper.h
    M target/xtensa/op_helper.c
    M target/xtensa/overlay_tool.h
    M target/xtensa/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/xtensa/tags/20180316-xtensa' into 
staging

target/xtensa linux-user support.

- small cleanup for xtensa registers dumping (-d cpu);
- add support for debugging linux-user process with xtensa-linux-gdb
  (as opposed to xtensa-elf-gdb), which can only access unprivileged
  registers;
- enable MTTCG for target/xtensa;
- cleanup in linux-user/mmap area making sure that it works correctly
  with limited 30-bit-wide user address space;
- import xtensa-specific definitions from the linux kernel,
  conditionalize user-only/softmmu-only code and add handlers for
  signals, exceptions, process/thread creation and core registers dumping.

# gpg: Signature made Fri 16 Mar 2018 16:46:19 GMT
# gpg:                using RSA key 51F9CC91F83FA044
# gpg: Good signature from "Max Filippov <address@hidden>"
# gpg:                 aka "Max Filippov <address@hidden>"
# gpg:                 aka "Max Filippov <address@hidden>"
# Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044

* remotes/xtensa/tags/20180316-xtensa:
  MAINTAINERS: fix W: address for xtensa
  qemu-binfmt-conf.sh: add qemu-xtensa
  target/xtensa: add linux-user support
  linux-user: drop unused target_msync function
  linux-user: fix target_mprotect/target_munmap error return values
  linux-user: fix assertion in shmdt
  linux-user: fix mmap/munmap/mprotect/mremap/shmat
  target/xtensa: support MTTCG
  target/xtensa: use correct number of registers in gdbstub
  target/xtensa: mark register windows in the dump
  target/xtensa: dump correct physical registers

Signed-off-by: Peter Maydell <address@hidden>

# Conflicts:
#       linux-user/syscall.c


Compare: https://github.com/qemu/qemu/compare/979454028cf9...e1e44a9916b4

reply via email to

[Prev in Thread] Current Thread [Next in Thread]