[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v11 00/46] Add nanoMIPS support - core functiona
From: |
Aleksandar Markovic |
Subject: |
Re: [Qemu-devel] [PATCH v11 00/46] Add nanoMIPS support - core functionality and system mode |
Date: |
Tue, 21 Aug 2018 11:16:51 +0000 |
> From: Aleksandar Markovic <address@hidden>
> Sent: Monday, August 20, 2018 8:16 PM
>
> Subject: [PATCH v11 00/46] Add nanoMIPS support - core functionality and
> system mode
>
> From: Aleksandar Markovic <address@hidden>
>
Hello,
I feel the patches in this series should be submitted in a pull request. Please
let me know if you think otherwise.
The code review produced several significant improvements:
- LLWP/SCWP implementation is now up-to-date and correct
- nanoMIPS branches handling reimplemented
- removed all connections between nanoMIPS and M16 flag
All three improvements were initiated by Richard, to whom I say special thanks.
Aleksandar Markovic
> v10->v11:
>
> - all user-mode patches removed (separate series will be
> created for them)
> - added capability to implement availability control via CP0
> Config3 and Config5 bits
> - refactored accordingly availability control via XNP and MT
> - added availability control via NMS
> - fix for wrong mode switch to M16 now in a separate patch
> - moderate cleanup of disassembler code
> - rebased to the latest code
>
> v9->v10:
>
> - first 15 patches removed since they are applied now to the
> main tree
> - completely removed connections to and dependance on
> MIPS_HFLAG_M16 in nanoMIPS code
> - completed reworking of nanoMIPS branch handling
> - some fixes and improvements in DSP ASE patches
> - other fixes and improvements that originate from code reviews
> - rebased to the latest code
>
> v8->v9:
>
> - reoganized (moved/squashed) patches so that clang build bisect
> works (as the result, number of patches dropped from 87 to 84)
> - re-examined and reworked 32-bit nanoMIPS branch instructions
> - minor improvements in commit messages
> - rebased to the latest code
>
> v7->v8:
>
> - the series is slightly reorganized so that:
> - patches 1-19 are fixes and improvements that are not
> dependent on the existence of nanoMIPS (even though most
> of them are logicaly connected to (and necessary for)
> nanoMIPS support) - they fix and improve pre-nanoMIPS code
> - patches 20-65 introduce core nanoMIPS functionality, but
> do not contain any dependence on or reference to nanoMIPS
> Linux ABI
> - patches 66-87 mostly deal with Linux user mode-related
> nanoMIPS functionality, therefore dependent on nanoMIPS
> Linux ABI
> - the series will probably be split into three (corresponding
> to the organization mentioned above) in near future
> - added support for availability control via bit config XNP
> - fixed availabitily control for LLWP/SCWP
> - added support for availability control via bit config MT
> - fixed availabitily control for pre-nanoMIPS MT ASE
> - fixed availabitily control for nanoMIPS MT ASE
> - completely removed case-statements defined by integer range
> from translate.c
> - patch on nanoMIPS specifics in ELF headers split into two
> - patch on GT64120-related functionality in nanoMIPS bootloader
> updated with comments and reorganizes with respect to
> endianness
> - replaced one instance of shift/mask with extract32()
> - fixed one instance of missing default case in decoding engine
> - removed several instances of unnecessary default case in
> decoding engine
> - minor tweaks related to variable scope and naming
> - fixed several spelling mistakes in commit messages
> - rebased to the latest code
>
> v6->v7:
>
> - found a better place for MIPS_ARCH in elf.h
> - improved patch for LLWP and SCWP
> - fixed missing availability control, alignment, usage
> of extract32() in DSP patches
> - added disassembler support for microMIPS and nanoMIPS
> - removed unnecessary addition of one empty line in the
> patch on WR bit
> - improved statx() syscall translation
> - improved nanoMIPS items in binfmt script
> - amended pre-nanoMIPS items in qemu-doc.texi
> - added nanoMIPS items in qemu-doc.texi
> - changed slightly patch order to be logicaly more
> comprehensive
> - rebased to the latest code
> - NOTE: there will be some sheckpatch.pl errors and warning
> for this series; however, we think those are flase positives
> in these particular circumstances - therefore we will not
> change any patch related to these checkpatch.pl messages
>
> v5->v6:
>
> - used names offset and imm instead of rd and rs when
> appropriate
> - used gen_op_addr_addi when appropriate in one more place
> - avoided usage of tcg_temp_local_new
> - avoided unnecessary sign extension related to addr_add
> - fixed unprotected storing to cpu_gpr[0]
> - removed some unnecessary testing for ISA_NANOMIPS
> - updated patch for LLWP and SCWP
> - extract32 inserted instead of shift/mask in DSP patches
> - removed useless casts from DSP patches
> - reorganized functions to eliminated duplicated loading of
> gpr values into tcg variables in DSP patches
> - check Config1.WR bit for Watch registers only when using
> in runtime
> - removed duplicated check for bad address in PC register
> - added support for statx system call
> - updated script qemu-binfmt-conf.sh for nanoMIPS
> - rebased to the latest code
>
> v4->v5:
>
> - merged series "Mips maintenance and misc fixes and improvements"
> and this one for easier handling (there are build dependencies)
> - eliminated shadow variables from translate.c
> - replaced shift/mask combination with extract32()
> - added new function gen_op_addr_addi()
> - added patch for LLWP and SCWP
> - added "fall through" comments at appropriate places
> - eliminated micromips flag from I7200 definition
> - numerous other enhancements originating from reviewer's
> comments
> - some of the patches split into two or more for easier
> handling and review
> - rebased to the latest code
>
> v3->v4:
>
> - added support for nanoMIPS user mode functionality and
> configuration
> - DSP patch split into three for easier review and handling
> - corrected indentation in all decoding engine patches
> - shift/mask replaced with equivalent extract32() in some
> patches
> - added missing default cases in some patches
> - refactored invocation logic aroung decode_nanomips_opc()
> - improved comments before decode_gpr_XXX() utilities
> - all four decode_gpr_XXX() are now in a single patch
> - two patches on updating BadInstr and related registers
> are now merged, and execution logic improved
> - minor formatting corrections
> - rebased to the latest code
>
> v2->v3:
>
> - added support for nanoMIPS-specifics in ELF headers
> - added support for CP0 Config0.WR bit
> - updated I7200 definition
> - improved indentation of some switch statements
> - slight reorganization of patches (splitting, order)
> - rebased to the latest code
>
> v1->v2:
>
> - added DSP ASE support
> - added MT ASE support
> - added GDB XML support
> - order of patches changed
> - commit messages and patch title improved across the board
> - obsolete email addresses for authors and cosigners replaced
> with the right ones
> - some functions renamed to reflect better the documentation
> - some macros renamed to reflect better their nanoMIPS nature
> - streamlined formatting
> - some of other reviewer's comments addressed, but the majority
> was not; this is because the focus of this version was on
> completing the functionality as much as possible; remaining
> comments will be addressed in the subsequent versions of this
> series
- [Qemu-devel] [PATCH v11 17/46] target/mips: Add emulation of nanoMIPS FP instructions, (continued)
- [Qemu-devel] [PATCH v11 17/46] target/mips: Add emulation of nanoMIPS FP instructions, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 27/46] target/mips: Fix pre-nanoMIPS MT ASE instructions availability control, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 30/46] target/mips: Add emulation of DSP ASE for nanoMIPS - part 2, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 15/46] target/mips: Add emulation of nanoMIPS instructions MOVE.P and MOVE.PREV, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 08/46] target/mips: Add emulation of nanoMIPS 16-bit branch instructions, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 06/46] target/mips: Add nanoMIPS decoding and extraction utilities, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 01/46] target/mips: Add preprocessor constants for nanoMIPS, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 03/46] target/mips: Add nanoMIPS DSP ASE opcodes, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 02/46] target/mips: Add nanoMIPS base instruction set opcodes, Aleksandar Markovic, 2018/08/20
- [Qemu-devel] [PATCH v11 36/46] disas: Add support for nanoMIPS platform, Aleksandar Markovic, 2018/08/20
- Re: [Qemu-devel] [PATCH v11 00/46] Add nanoMIPS support - core functionality and system mode,
Aleksandar Markovic <=