mbox

[PULL,v2,00/16] target/xtensa updates

Message ID 1515433749-5839-1-git-send-email-jcmvbkbc@gmail.com
State New
Headers show

Pull-request

git://github.com/OSLL/qemu-xtensa.git tags/20180108-xtensa

Message

Max Filippov Jan. 8, 2018, 5:49 p.m. UTC
Hi Peter,

please pull the following batch of updates for the target/xtensa.
Changes v1->v2:
- Drop no longer used function option_bits_enabled.

The following changes since commit 0a0dc59d27527b78a195c2d838d28b7b49e5a639:

  Update version for v2.11.0 release (2017-12-13 14:31:09 +0000)

are available in the git repository at:

  git://github.com/OSLL/qemu-xtensa.git tags/20180108-xtensa

for you to fetch changes up to 7ffb3123b24e42a3a94e865434b4180025b9f9ca:

  target/xtensa: implement disassembler (2018-01-08 09:37:32 -0800)

----------------------------------------------------------------
target/xtensa updates:

- add libisa to the xtensa target;
- change xtensa instruction translator to use it;
- switch existing xtensa cores to use it;
- add support for a number of instructions: salt/saltu, const16,
  GPIO32 group, debug mode and MMU-related;
- add disassembler for Xtensa.

----------------------------------------------------------------
Max Filippov (16):
      target/xtensa: pass actual frame size to the entry helper
      target/xtensa: import libisa source
      target/xtensa: extract core opcode translators
      target/xtensa: extract FPU2000 opcode translators
      target/xtensa: update import_core.sh script for libisa
      target/xtensa: switch dc232b to libisa
      target/xtensa: switch dc233c to libisa
      target/xtensa: switch fsf to libisa
      target/xtensa: use libisa for instruction decoding
      target/xtensa: tests: fix memctl SR test
      target/xtensa: drop DisasContext::litbase
      target/xtensa: add internal/noop SRs and opcodes
      target/xtensa: implement salt/saltu
      target/xtensa: implement GPIO32
      target/xtensa: implement const16
      target/xtensa: implement disassembler

 MAINTAINERS                                |     1 +
 disas/Makefile.objs                        |     1 +
 disas/xtensa.c                             |   133 +
 include/disas/bfd.h                        |     1 +
 include/hw/xtensa/xtensa-isa.h             |   838 ++
 target/xtensa/Makefile.objs                |     1 +
 target/xtensa/core-dc232b.c                |     4 +
 target/xtensa/core-dc232b/xtensa-modules.c | 14105 +++++++++++++++++++++++++
 target/xtensa/core-dc233c.c                |     4 +
 target/xtensa/core-dc233c/xtensa-modules.c | 15232 +++++++++++++++++++++++++++
 target/xtensa/core-fsf.c                   |     5 +
 target/xtensa/core-fsf/xtensa-modules.c    |  9841 +++++++++++++++++
 target/xtensa/cpu.c                        |     9 +
 target/xtensa/cpu.h                        |    31 +
 target/xtensa/helper.c                     |    37 +
 target/xtensa/import_core.sh               |    15 +
 target/xtensa/op_helper.c                  |     2 +-
 target/xtensa/translate.c                  |  5900 +++++++----
 target/xtensa/xtensa-isa-internal.h        |   231 +
 target/xtensa/xtensa-isa.c                 |  1745 +++
 target/xtensa/xtensa-isa.h                 |     1 +
 tests/tcg/xtensa/test_sr.S                 |     2 +-
 22 files changed, 45955 insertions(+), 2184 deletions(-)
 create mode 100644 disas/xtensa.c
 create mode 100644 include/hw/xtensa/xtensa-isa.h
 create mode 100644 target/xtensa/core-dc232b/xtensa-modules.c
 create mode 100644 target/xtensa/core-dc233c/xtensa-modules.c
 create mode 100644 target/xtensa/core-fsf/xtensa-modules.c
 create mode 100644 target/xtensa/xtensa-isa-internal.h
 create mode 100644 target/xtensa/xtensa-isa.c
 create mode 100644 target/xtensa/xtensa-isa.h

Comments

Peter Maydell Jan. 9, 2018, 5:44 p.m. UTC | #1
On 8 January 2018 at 17:49, Max Filippov <jcmvbkbc@gmail.com> wrote:
> Hi Peter,
>
> please pull the following batch of updates for the target/xtensa.
> Changes v1->v2:
> - Drop no longer used function option_bits_enabled.
>
> The following changes since commit 0a0dc59d27527b78a195c2d838d28b7b49e5a639:
>
>   Update version for v2.11.0 release (2017-12-13 14:31:09 +0000)
>
> are available in the git repository at:
>
>   git://github.com/OSLL/qemu-xtensa.git tags/20180108-xtensa
>
> for you to fetch changes up to 7ffb3123b24e42a3a94e865434b4180025b9f9ca:
>
>   target/xtensa: implement disassembler (2018-01-08 09:37:32 -0800)
>
> ----------------------------------------------------------------
> target/xtensa updates:
>
> - add libisa to the xtensa target;
> - change xtensa instruction translator to use it;
> - switch existing xtensa cores to use it;
> - add support for a number of instructions: salt/saltu, const16,
>   GPIO32 group, debug mode and MMU-related;
> - add disassembler for Xtensa.

/Users/pm215/src/qemu-for-merges/target/xtensa/helper.c:63:26: error:
implicit declaration of function 'g_malloc_n' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
    config->opcode_ops = g_malloc_n(opcodes, sizeof(XtensaOpcodeOps *));
                         ^

g_malloc_n() only came in in glib 2.24, so this doesn't build on
glib 2.22 (our minimum required version).

thanks
-- PMM
Max Filippov Jan. 9, 2018, 6:12 p.m. UTC | #2
On Tue, Jan 9, 2018 at 9:44 AM, Peter Maydell <peter.maydell@linaro.org> wrote:
> /Users/pm215/src/qemu-for-merges/target/xtensa/helper.c:63:26: error:
> implicit declaration of function 'g_malloc_n' is invalid in C99
> [-Werror,-Wimplicit-function-declaration]
>     config->opcode_ops = g_malloc_n(opcodes, sizeof(XtensaOpcodeOps *));
>                          ^
>
> g_malloc_n() only came in in glib 2.24, so this doesn't build on
> glib 2.22 (our minimum required version).

Sorry about that, fixed.
Paolo Bonzini Jan. 10, 2018, 3:18 p.m. UTC | #3
On 09/01/2018 18:44, Peter Maydell wrote:
> On 8 January 2018 at 17:49, Max Filippov <jcmvbkbc@gmail.com> wrote:
>> Hi Peter,
>>
>> please pull the following batch of updates for the target/xtensa.
>> Changes v1->v2:
>> - Drop no longer used function option_bits_enabled.
>>
>> The following changes since commit 0a0dc59d27527b78a195c2d838d28b7b49e5a639:
>>
>>   Update version for v2.11.0 release (2017-12-13 14:31:09 +0000)
>>
>> are available in the git repository at:
>>
>>   git://github.com/OSLL/qemu-xtensa.git tags/20180108-xtensa
>>
>> for you to fetch changes up to 7ffb3123b24e42a3a94e865434b4180025b9f9ca:
>>
>>   target/xtensa: implement disassembler (2018-01-08 09:37:32 -0800)
>>
>> ----------------------------------------------------------------
>> target/xtensa updates:
>>
>> - add libisa to the xtensa target;
>> - change xtensa instruction translator to use it;
>> - switch existing xtensa cores to use it;
>> - add support for a number of instructions: salt/saltu, const16,
>>   GPIO32 group, debug mode and MMU-related;
>> - add disassembler for Xtensa.
> 
> /Users/pm215/src/qemu-for-merges/target/xtensa/helper.c:63:26: error:
> implicit declaration of function 'g_malloc_n' is invalid in C99
> [-Werror,-Wimplicit-function-declaration]
>     config->opcode_ops = g_malloc_n(opcodes, sizeof(XtensaOpcodeOps *));
>                          ^
> 
> g_malloc_n() only came in in glib 2.24, so this doesn't build on
> glib 2.22 (our minimum required version).

And g_new is better anyway in this particular case.

Paolo