qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 1ecc3a: Pass semihosting exit code back to sy


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 1ecc3a: Pass semihosting exit code back to system.
Date: Thu, 11 Dec 2014 10:30:07 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1ecc3a2df168034b8ab33ff5ba6434ce3593dbb5
      
https://github.com/qemu/qemu/commit/1ecc3a2df168034b8ab33ff5ba6434ce3593dbb5
  Author: Liviu Ionescu <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/arm-semi.c

  Log Message:
  -----------
  Pass semihosting exit code back to system.

In order to run unit tests under semihosting, it is necessary to pass the
application exit code back to the system.

ARM defines only the code to be used for non-error application exit
(ADP_Stopped_ApplicationExit), all other codes should return non-zero
exit codes.

This patch checks if the application code passed via TARGET_SYS_EXIT is
ADP_Stopped_ApplicationExit, and return 0, otherwise return 1.

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


  Commit: a38bb0792ca8b4082d81884a6cb25fa0d334b4a6
      
https://github.com/qemu/qemu/commit/a38bb0792ca8b4082d81884a6cb25fa0d334b4a6
  Author: Liviu Ionescu <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M gdbstub.c
    M include/exec/gdbstub.h
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Add the "-semihosting-config" option.

The usual semihosting behaviour is to process the system calls locally and
return; unfortuantelly the initial implementation dinamically changed the
target to GDB during debug sessions, which, for the usual arm-none-eabi-gdb,
is not implemented. The result was that during debug sessions the semihosting
calls were discarded.

This patch adds a configuration variable and an option to set it on the
command line:

    -semihosting-config [enable=on|off,]target=native|gdb|auto

This option enables semihosting and defines where the semihosting calls will
be addressed, to QEMU ('native') or to GDB ('gdb'). The default is auto, which
means 'gdb' during debug sessions and 'native' otherwise.

Signed-off-by: Liviu Ionescu <address@hidden>
Message-id: address@hidden
[PMM: moved declaration and definition of semihosting_target to
 gdbstub.h and gdbstub.c to fix build failure on linux-user]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 57e3a0c7cb0ac2f0288890482e0a463adce2080a
      
https://github.com/qemu/qemu/commit/57e3a0c7cb0ac2f0288890482e0a463adce2080a
  Author: Greg Bellows <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h

  Log Message:
  -----------
  target-arm: extend async excp masking

This patch extends arm_excp_unmasked() to use lookup tables for determining
whether IRQ and FIQ exceptions are masked.  The lookup tables are based on the
ARMv8 and ARMv7 specification physical interrupt masking tables.

If EL3 is using AArch64 IRQ/FIQ masking is ignored in all exception levels
other than EL3 if SCR.{FIQ|IRQ} is set to 1 (routed to EL3).

Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 0eeb17d618361a0f4faddc160e33598b23da6dd5
      
https://github.com/qemu/qemu/commit/0eeb17d618361a0f4faddc160e33598b23da6dd5
  Author: Greg Bellows <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: add async excp target_el function

Adds a dedicated function and a lookup table for determining the target
exception level of IRQ and FIQ exceptions.  The lookup table is taken from the
ARMv7 and ARMv8 specification exception routing tables.

Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: ea30a4b824ecc3c829b70eb9999ac5457dc5790f
      
https://github.com/qemu/qemu/commit/ea30a4b824ecc3c829b70eb9999ac5457dc5790f
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h

  Log Message:
  -----------
  target-arm: add banked register accessors

If EL3 is in AArch32 state certain cp registers are banked (secure and
non-secure instance). When reading or writing to coprocessor registers
the following macros can be used.

- A32_BANKED macros are used for choosing the banked register based on provided
  input security argument.  This macro is used to choose the bank during
  translation of MRC/MCR instructions that are dependent on something other
  than the current secure state.
- A32_BANKED_CURRENT macros are used for choosing the banked register based on
  current secure state.  This is NOT to be used for choosing the bank used
  during translation as it breaks monitor mode.

If EL3 is operating in AArch64 state coprocessor registers are not
banked anymore. The macros use the non-secure instance (_ns) in this
case, which is architecturally mapped to the AArch64 EL register.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 3f342b9e0e64ad681cd39840bfa75ef12d2807c1
      
https://github.com/qemu/qemu/commit/3f342b9e0e64ad681cd39840bfa75ef12d2807c1
  Author: Sergey Fedorov <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/translate.c
    M target-arm/translate.h

  Log Message:
  -----------
  target-arm: add non-secure Translation Block flag

This patch is based on idea found in patch at
git://github.com/jowinter/qemu-trustzone.git
f3d955c6c0ed8c46bc0eb10b634201032a651dd2 by
Johannes Winter <address@hidden>.

The TBFLAG captures the SCR NS secure state at the time when a TB is created so
the correct bank is accessed on system register accesses.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: c3e302606253a17568dc3ef30238f102468f7ee1
      
https://github.com/qemu/qemu/commit/c3e302606253a17568dc3ef30238f102468f7ee1
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h

  Log Message:
  -----------
  target-arm: add CPREG secure state support

Prepare ARMCPRegInfo to support specifying two fieldoffsets per
register definition. This will allow us to keep one register
definition for banked registers (different offsets for secure/
non-secure world).

Also added secure state tracking field and flags.  This allows for
identification of the register info secure state.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 51a79b039728277e35fd19f7a7b4bc6cb323697f
      
https://github.com/qemu/qemu/commit/51a79b039728277e35fd19f7a7b4bc6cb323697f
  Author: Peter Maydell <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c
    M target-arm/kvm32.c
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: add secure state bit to CPREG hash

Added additional NS-bit to CPREG hash encoding.  Updated hash lookup
locations to specify hash bit currently set to non-secure.

Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
[PMM: fix uses of ENCODE_CP_REG in kvm32.c to add extra argument]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 3f3c82a57d128aa3ec823aa8032867c3a6e2e795
      
https://github.com/qemu/qemu/commit/3f3c82a57d128aa3ec823aa8032867c3a6e2e795
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: insert AArch32 cpregs twice into hashtable

Prepare for cp register banking by inserting every cp register twice,
once for secure world and once for non-secure world.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 0f1a3b2470d798ad5335eb9d6236f02ff64e31a8
      
https://github.com/qemu/qemu/commit/0f1a3b2470d798ad5335eb9d6236f02ff64e31a8
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: move AArch32 SCR into security reglist

Define a new ARM CP register info list for the ARMv7 Security Extension
feature. Register that list only for ARM cores with Security Extension/EL3
support. Moving AArch32 SCR into Security Extension register group.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: de38d23b542efca54108ef28bcc0efe96f378d2e
      
https://github.com/qemu/qemu/commit/de38d23b542efca54108ef28bcc0efe96f378d2e
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: implement IRQ/FIQ routing to Monitor mode

SCR.{IRQ/FIQ} bits allow to route IRQ/FIQ exceptions to monitor CPU
mode. When taking IRQ exception to monitor mode FIQ exception is
additionally masked.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 770225764f831031d2e1453f69c365eb1b647d87
      
https://github.com/qemu/qemu/commit/770225764f831031d2e1453f69c365eb1b647d87
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: add NSACR register

Implements NSACR register with corresponding read/write functions
for ARMv7 and ARMv8.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 144634ae6c1618dcee6aced9c0d4427844154091
      
https://github.com/qemu/qemu/commit/144634ae6c1618dcee6aced9c0d4427844154091
  Author: Greg Bellows <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: add SDER definition

Added CP register defintions for SDER and SDER32_EL3 as well as cp15.sder for
register storage.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: e89e51a17ea0d8aef9bf9b766c98f963e835fbf2
      
https://github.com/qemu/qemu/commit/e89e51a17ea0d8aef9bf9b766c98f963e835fbf2
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: add MVBAR support

Use MVBAR register as exception vector base address for
exceptions taken to CPU monitor mode.

Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 137feaa9a1622620adf19c0b707883dd990738e2
      
https://github.com/qemu/qemu/commit/137feaa9a1622620adf19c0b707883dd990738e2
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M hw/arm/pxa2xx.c
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/helper.c
    M target-arm/op_helper.c

  Log Message:
  -----------
  target-arm: add SCTLR_EL3 and make SCTLR banked

Implements SCTLR_EL3 and uses secure/non-secure instance when
needed.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 6e8801f9dea9e10449f4fd7d85dbe8cab708a686
      
https://github.com/qemu/qemu/commit/6e8801f9dea9e10449f4fd7d85dbe8cab708a686
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: respect SCR.FW, SCR.AW and SCTLR.NMFI

Add checks of SCR AW/FW bits when performing writes of CPSR.  These SCR bits
are used to control whether the CPSR masking bits can be adjusted from
non-secure state.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b85a1fd61c4d72c7928cd9b70f9f59fb2895936d
      
https://github.com/qemu/qemu/commit/b85a1fd61c4d72c7928cd9b70f9f59fb2895936d
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make CSSELR banked

Rename CSSELR (cache size selection register) and add secure
instance (AArch32).

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 7dd8c9af0d9d18fb3e54a4843b3bb1398bd330bc
      
https://github.com/qemu/qemu/commit/7dd8c9af0d9d18fb3e54a4843b3bb1398bd330bc
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M hw/arm/pxa2xx.c
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make TTBR0/1 banked

Adds secure and non-secure bank register suport for TTBR0 and TTBR1.
Changes include adding secure and non-secure instances of ttbr0 and ttbr1 as
well as a CP register definition for TTBR0_EL3.  Added a union containing
both EL based array fields and secure and non-secure fields mapped to them.
Updated accesses to use A32_BANKED_CURRENT_REG_GET macro.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 11f136ee25232a00f433cefe98ee33cd614ecccc
      
https://github.com/qemu/qemu/commit/11f136ee25232a00f433cefe98ee33cd614ecccc
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c
    M target-arm/internals.h

  Log Message:
  -----------
  target-arm: make TTBCR banked

Adds secure and non-secure bank register suport for TTBCR.
Added new struct to compartmentalize the TCR data and masks.  Removed old
tcr/ttbcr data and added a 4 element array of the new structs in cp15.  This
allows for one entry per EL.  Added a CP register definition for TCR_EL3.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 0c17d68c1d3d6c35f37f5692042d2edb65c8bcc0
      
https://github.com/qemu/qemu/commit/0c17d68c1d3d6c35f37f5692042d2edb65c8bcc0
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M hw/arm/pxa2xx.c
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make DACR banked

When EL3 is running in AArch32 (or ARMv7 with Security Extensions)
DACR has a secure and a non-secure instance.  Adds definition for DACR32_EL2.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 88ca1c2d70523486a952065f3ed7b8fc823b5863
      
https://github.com/qemu/qemu/commit/88ca1c2d70523486a952065f3ed7b8fc823b5863
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make IFSR banked

When EL3 is running in AArch32 (or ARMv7 with Security Extensions)
IFSR has a secure and a non-secure instance.  Adds IFSR32_EL2 definition and
storage.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 4a7e2d7315bd2ce28e49ccd0bde73eabdfd7437b
      
https://github.com/qemu/qemu/commit/4a7e2d7315bd2ce28e49ccd0bde73eabdfd7437b
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make DFSR banked

When EL3 is running in AArch32 (or ARMv7 with Security Extensions)
DFSR has a secure and a non-secure instance.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b848ce2b9cbd38da3f2530fd93dba76dba0621c0
      
https://github.com/qemu/qemu/commit/b848ce2b9cbd38da3f2530fd93dba76dba0621c0
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make IFAR/DFAR banked

When EL3 is running in AArch32 (or ARMv7 with Security Extensions)
IFAR and DFAR have a secure and a non-secure instance.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 01c097f7960b330c4bf038d34bae17ad6c1ba499
      
https://github.com/qemu/qemu/commit/01c097f7960b330c4bf038d34bae17ad6c1ba499
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make PAR banked

When EL3 is running in AArch32 (or ARMv7 with Security Extensions)
PAR has a secure and a non-secure instance.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: fb6c91ba2bb0b1c1b8662ceeeeb9474a025f9a6b
      
https://github.com/qemu/qemu/commit/fb6c91ba2bb0b1c1b8662ceeeeb9474a025f9a6b
  Author: Greg Bellows <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make VBAR banked

When EL3 is running in Aarch32 (or ARMv7 with Security Extensions)
VBAR has a secure and a non-secure instance, which are mapped to
VBAR_EL1 and VBAR_EL3.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 54bf36ed351c526cde0c853079f9ff1ab7e2ff89
      
https://github.com/qemu/qemu/commit/54bf36ed351c526cde0c853079f9ff1ab7e2ff89
  Author: Fabian Aggeler <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M linux-user/aarch64/target_cpu.h
    M linux-user/arm/target_cpu.h
    M linux-user/main.c
    M target-arm/cpu.h
    M target-arm/helper.c
    M target-arm/op_helper.c

  Log Message:
  -----------
  target-arm: make c13 cp regs banked (FCSEIDR, ...)

When EL3 is running in AArch32 (or ARMv7 with Security Extensions)
FCSEIDR, CONTEXTIDR, TPIDRURW, TPIDRURO and TPIDRPRW have a secure
and a non-secure instance.

Signed-off-by: Fabian Aggeler <address@hidden>
Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: be693c87e440e671ed913784554384349ce8331d
      
https://github.com/qemu/qemu/commit/be693c87e440e671ed913784554384349ce8331d
  Author: Greg Bellows <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: make MAIR0/1 banked

Added CP register info entries for the ARMv7 MAIR0/1 secure banks.

Signed-off-by: Greg Bellows <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b1ab03af890b2b6c5bafc9344b7fe05b392180a5
      
https://github.com/qemu/qemu/commit/b1ab03af890b2b6c5bafc9344b7fe05b392180a5
  Author: Nikita Belov <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M hw/arm/realview.c

  Log Message:
  -----------
  hw/arm/realview.c: Fix memory leak in realview_init()

Variable 'ram_lo' is allocated unconditionally, but used only in some cases.
When it is unused pointer will be lost at function exit, resulting in a
memory leak. Allocate memory for 'ram_lo' only if it is needed.

Valgrind output:
==16879== 240 bytes in 1 blocks are definitely lost in loss record 6,033 of 
7,018
==16879==    at 0x4C2AB80: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16879==    by 0x33D2CE: malloc_and_trace (vl.c:2804)
==16879==    by 0x509E610: g_malloc (in 
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==16879==    by 0x288836: realview_init (realview.c:55)
==16879==    by 0x28988C: realview_pb_a8_init (realview.c:375)
==16879==    by 0x341426: main (vl.c:4413)

Signed-off-by: Nikita Belov <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: a554ecb49d0021fd8bb0fd4f2f6be807b3c8b54f
      
https://github.com/qemu/qemu/commit/a554ecb49d0021fd8bb0fd4f2f6be807b3c8b54f
  Author: zhanghailiang <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M hw/arm/boot.c

  Log Message:
  -----------
  hw/arm/boot: fix uninitialized scalar variable warning reported by coverity

Coverity reports the 'size' may be used uninitialized, but that can't happen,
because the caller has checked "if (binfo->dtb_filename || binfo->get_dtb)"
before call 'load_dtb'.

Here we simply remove the 'if (binfo->get_dtb)' to satisfy coverity.

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


  Commit: 72149414e25784de60b821fe67c56108a5b03ce1
      
https://github.com/qemu/qemu/commit/72149414e25784de60b821fe67c56108a5b03ce1
  Author: Peter Maydell <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M hw/intc/arm_gic_kvm.c

  Log Message:
  -----------
  arm_gic_kvm: Tell kernel about number of IRQs

Newer kernels support a device attribute on the GIC which allows us to
tell it how many IRQs this GIC instance is configured with; use it, if
it exists.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Christoffer Dall <address@hidden>
Message-id: address@hidden


  Commit: 38df27c8a7ef9877583a46e74d99181c3224e078
      
https://github.com/qemu/qemu/commit/38df27c8a7ef9877583a46e74d99181c3224e078
  Author: Alex Bennée <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/kvm.c
    M target-arm/kvm32.c
    M target-arm/kvm64.c
    M target-arm/kvm_arm.h

  Log Message:
  -----------
  target-arm/kvm: make reg sync code common between kvm32/64

Before we launch a guest we query KVM for the list of "co-processor"
registers it knows about. This is used to synchronize system
register state for the bulk of coprocessor/system registers.
Move this code from the 32-bit specific vcpu init function into
a common routine and call it also from the 64-bit vcpu init.

This allows system registers to migrate correctly when using
KVM, and also permits QEMU code to see the current KVM register
state (which will be needed to support big-endian guests, since
the virtio endianness callback must check for some system register
settings).

Since vcpu reset also has to sync registers, we move the
32 bit kvm_arm_reset_vcpu() into common code as well and
share it with the 64 bit version.

Signed-off-by: Alex Bennée <address@hidden>
[PMM: just copy the 32-bit code rather than improving it along the way;
 don't share reg_syncs_via_tuple_list() between 32 and 64 bit;
 tweak function names; move reset]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: a7130a3ef9b8dc3091a0700abb61e2926e89e916
      
https://github.com/qemu/qemu/commit/a7130a3ef9b8dc3091a0700abb61e2926e89e916
  Author: Peter Maydell <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/machine.c

  Log Message:
  -----------
  target-arm: Support save/load for 64 bit CPUs

For migration to work on 64 bit CPUs, we need to include both
the 64-bit integer register file and the PSTATE. Everything
else is either stored in the same place as existing 32-bit CPU
state or handled by the generic sysreg mechanism.

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


  Commit: 25f2895e0e437a3548f9794846001fb5d5ab853d
      
https://github.com/qemu/qemu/commit/25f2895e0e437a3548f9794846001fb5d5ab853d
  Author: Christoffer Dall <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M target-arm/kvm.c

  Log Message:
  -----------
  target-arm: Check error conditions on kvm_arm_reset_vcpu

When resetting a VCPU we currently call both kvm_arm_vcpu_init() and
write_kvmstate_to_list(), both of which can fail, but we never check the
return value.

The only choice here is to print an error an exit if the calls fail.

Signed-off-by: Christoffer Dall <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b141290478f847ecaa25561f3b31fbf1ddde95e6
      
https://github.com/qemu/qemu/commit/b141290478f847ecaa25561f3b31fbf1ddde95e6
  Author: Peter Maydell <address@hidden>
  Date:   2014-12-11 (Thu, 11 Dec 2014)

  Changed paths:
    M gdbstub.c
    M hw/arm/boot.c
    M hw/arm/pxa2xx.c
    M hw/arm/realview.c
    M hw/intc/arm_gic_kvm.c
    M include/exec/gdbstub.h
    M linux-user/aarch64/target_cpu.h
    M linux-user/arm/target_cpu.h
    M linux-user/main.c
    M qemu-options.hx
    M target-arm/arm-semi.c
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/helper.c
    M target-arm/internals.h
    M target-arm/kvm.c
    M target-arm/kvm32.c
    M target-arm/kvm64.c
    M target-arm/kvm_arm.h
    M target-arm/machine.c
    M target-arm/op_helper.c
    M target-arm/translate.c
    M target-arm/translate.h
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20141211' 
into staging

target-arm queue:
 * pass semihosting exit code out to system
 * more TrustZone support code (still not enabled yet)
 * allow user to direct semihosting to gdb or native explicitly
   rather than always auto-guessing the destination
 * fix memory leak in realview_init
 * fix coverity warning in hw/arm/boot
 * get state migration working for AArch64 CPUs
 * check errors in kvm_arm_reset_vcpu

# gpg: Signature made Thu 11 Dec 2014 12:16:19 GMT using RSA key ID 14360CDE
# gpg: Good signature from "Peter Maydell <address@hidden>"

* remotes/pmaydell/tags/pull-target-arm-20141211: (33 commits)
  target-arm: Check error conditions on kvm_arm_reset_vcpu
  target-arm: Support save/load for 64 bit CPUs
  target-arm/kvm: make reg sync code common between kvm32/64
  arm_gic_kvm: Tell kernel about number of IRQs
  hw/arm/boot: fix uninitialized scalar variable warning reported by coverity
  hw/arm/realview.c: Fix memory leak in realview_init()
  target-arm: make MAIR0/1 banked
  target-arm: make c13 cp regs banked (FCSEIDR, ...)
  target-arm: make VBAR banked
  target-arm: make PAR banked
  target-arm: make IFAR/DFAR banked
  target-arm: make DFSR banked
  target-arm: make IFSR banked
  target-arm: make DACR banked
  target-arm: make TTBCR banked
  target-arm: make TTBR0/1 banked
  target-arm: make CSSELR banked
  target-arm: respect SCR.FW, SCR.AW and SCTLR.NMFI
  target-arm: add SCTLR_EL3 and make SCTLR banked
  target-arm: add MVBAR support
  ...

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


Compare: https://github.com/qemu/qemu/compare/7c3843332db3...b141290478f8

reply via email to

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