From a8a712c801a68f43c5c7996f09a9fd6396dc3d06 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Thu, 23 Apr 2020 15:25:11 +0100 Subject: [PATCH] Relicense to 0BSD --- LICENSE.txt | 347 +----------------- README.md | 131 +++++++ include/dynarmic/A32/a32.h | 3 +- include/dynarmic/A32/config.h | 3 +- include/dynarmic/A32/context.h | 3 +- include/dynarmic/A32/coprocessor.h | 3 +- include/dynarmic/A32/coprocessor_util.h | 3 +- include/dynarmic/A32/disassembler.h | 3 +- include/dynarmic/A64/a64.h | 3 +- include/dynarmic/A64/config.h | 3 +- include/dynarmic/A64/exclusive_monitor.h | 3 +- src/CMakeLists.txt | 1 + src/backend/x64/a32_emit_x64.cpp | 17 +- src/backend/x64/a32_emit_x64.h | 3 +- src/backend/x64/a32_interface.cpp | 3 +- src/backend/x64/a32_jitstate.cpp | 3 +- src/backend/x64/a32_jitstate.h | 3 +- src/backend/x64/a64_emit_x64.cpp | 3 +- src/backend/x64/a64_emit_x64.h | 3 +- src/backend/x64/a64_exclusive_monitor.cpp | 3 +- src/backend/x64/a64_interface.cpp | 3 +- src/backend/x64/a64_jitstate.cpp | 3 +- src/backend/x64/a64_jitstate.h | 3 +- src/backend/x64/abi.cpp | 53 +-- src/backend/x64/abi.h | 3 +- src/backend/x64/block_of_code.cpp | 3 +- src/backend/x64/block_of_code.h | 3 +- src/backend/x64/block_range_information.cpp | 3 +- src/backend/x64/block_range_information.h | 3 +- src/backend/x64/callback.cpp | 3 +- src/backend/x64/callback.h | 3 +- src/backend/x64/constant_pool.cpp | 3 +- src/backend/x64/constant_pool.h | 3 +- src/backend/x64/devirtualize.h | 3 +- src/backend/x64/emit_x64.cpp | 3 +- src/backend/x64/emit_x64.h | 3 +- src/backend/x64/emit_x64_aes.cpp | 3 +- src/backend/x64/emit_x64_crc32.cpp | 3 +- src/backend/x64/emit_x64_data_processing.cpp | 3 +- src/backend/x64/emit_x64_floating_point.cpp | 3 +- src/backend/x64/emit_x64_packed.cpp | 3 +- src/backend/x64/emit_x64_saturation.cpp | 3 +- src/backend/x64/emit_x64_sm4.cpp | 3 +- src/backend/x64/emit_x64_vector.cpp | 3 +- .../x64/emit_x64_vector_floating_point.cpp | 3 +- src/backend/x64/exception_handler.h | 3 +- src/backend/x64/exception_handler_generic.cpp | 3 +- src/backend/x64/exception_handler_macos.cpp | 3 +- src/backend/x64/exception_handler_posix.cpp | 19 +- src/backend/x64/exception_handler_windows.cpp | 3 +- src/backend/x64/hostloc.cpp | 3 +- src/backend/x64/hostloc.h | 3 +- src/backend/x64/jitstate_info.h | 3 +- src/backend/x64/oparg.h | 3 +- src/backend/x64/perf_map.cpp | 3 +- src/backend/x64/perf_map.h | 3 +- src/backend/x64/reg_alloc.cpp | 15 +- src/backend/x64/reg_alloc.h | 3 +- src/common/assert.cpp | 19 + src/common/assert.h | 95 ++--- src/common/bit_util.h | 3 +- src/common/cast_util.h | 3 +- src/common/common_types.h | 3 +- src/common/crypto/aes.cpp | 3 +- src/common/crypto/aes.h | 3 +- src/common/crypto/crc32.cpp | 3 +- src/common/crypto/crc32.h | 3 +- src/common/crypto/sm4.cpp | 3 +- src/common/crypto/sm4.h | 3 +- src/common/fp/fpcr.h | 3 +- src/common/fp/fpsr.h | 3 +- src/common/fp/fused.cpp | 3 +- src/common/fp/fused.h | 3 +- src/common/fp/info.h | 3 +- src/common/fp/mantissa_util.h | 3 +- src/common/fp/op.h | 3 +- src/common/fp/op/FPCompare.cpp | 3 +- src/common/fp/op/FPCompare.h | 3 +- src/common/fp/op/FPConvert.cpp | 3 +- src/common/fp/op/FPConvert.h | 3 +- src/common/fp/op/FPMulAdd.cpp | 3 +- src/common/fp/op/FPMulAdd.h | 3 +- src/common/fp/op/FPNeg.h | 3 +- src/common/fp/op/FPRSqrtEstimate.cpp | 3 +- src/common/fp/op/FPRSqrtEstimate.h | 3 +- src/common/fp/op/FPRSqrtStepFused.cpp | 3 +- src/common/fp/op/FPRSqrtStepFused.h | 3 +- src/common/fp/op/FPRecipEstimate.cpp | 3 +- src/common/fp/op/FPRecipEstimate.h | 3 +- src/common/fp/op/FPRecipExponent.cpp | 3 +- src/common/fp/op/FPRecipExponent.h | 3 +- src/common/fp/op/FPRecipStepFused.cpp | 3 +- src/common/fp/op/FPRecipStepFused.h | 3 +- src/common/fp/op/FPRoundInt.cpp | 3 +- src/common/fp/op/FPRoundInt.h | 3 +- src/common/fp/op/FPToFixed.cpp | 3 +- src/common/fp/op/FPToFixed.h | 3 +- src/common/fp/process_exception.cpp | 15 +- src/common/fp/process_exception.h | 3 +- src/common/fp/process_nan.cpp | 3 +- src/common/fp/process_nan.h | 3 +- src/common/fp/rounding_mode.h | 3 +- src/common/fp/unpacked.cpp | 3 +- src/common/fp/unpacked.h | 3 +- src/common/fp/util.h | 3 +- src/common/intrusive_list.h | 3 +- src/common/iterator_util.h | 3 +- src/common/llvm_disassemble.cpp | 3 +- src/common/llvm_disassemble.h | 3 +- src/common/lut_from_list.h | 3 +- src/common/macro_util.h | 3 +- src/common/math_util.cpp | 3 +- src/common/math_util.h | 3 +- src/common/memory_pool.cpp | 3 +- src/common/memory_pool.h | 3 +- src/common/safe_ops.h | 3 +- src/common/scope_exit.h | 3 +- src/common/string_util.h | 3 +- src/common/u128.cpp | 3 +- src/common/u128.h | 3 +- src/common/unlikely.h | 12 + src/common/variant_util.h | 3 +- src/frontend/A32/FPSCR.h | 3 +- src/frontend/A32/ITState.h | 3 +- src/frontend/A32/PSR.h | 3 +- src/frontend/A32/decoder/arm.h | 3 +- src/frontend/A32/decoder/thumb16.h | 3 +- src/frontend/A32/decoder/thumb32.h | 3 +- src/frontend/A32/decoder/vfp.h | 3 +- src/frontend/A32/disassembler/disassembler.h | 3 +- .../A32/disassembler/disassembler_arm.cpp | 3 +- .../A32/disassembler/disassembler_thumb.cpp | 3 +- src/frontend/A32/ir_emitter.cpp | 7 +- src/frontend/A32/ir_emitter.h | 3 +- src/frontend/A32/location_descriptor.cpp | 3 +- src/frontend/A32/location_descriptor.h | 3 +- src/frontend/A32/translate/impl/barrier.cpp | 3 +- src/frontend/A32/translate/impl/branch.cpp | 3 +- .../A32/translate/impl/coprocessor.cpp | 3 +- src/frontend/A32/translate/impl/crc32.cpp | 3 +- .../A32/translate/impl/data_processing.cpp | 3 +- src/frontend/A32/translate/impl/divide.cpp | 3 +- .../translate/impl/exception_generating.cpp | 3 +- src/frontend/A32/translate/impl/extension.cpp | 3 +- src/frontend/A32/translate/impl/hint.cpp | 3 +- .../A32/translate/impl/load_store.cpp | 19 +- src/frontend/A32/translate/impl/misc.cpp | 3 +- src/frontend/A32/translate/impl/multiply.cpp | 3 +- src/frontend/A32/translate/impl/packing.cpp | 3 +- src/frontend/A32/translate/impl/parallel.cpp | 3 +- src/frontend/A32/translate/impl/reversal.cpp | 3 +- src/frontend/A32/translate/impl/saturated.cpp | 3 +- .../translate/impl/status_register_access.cpp | 3 +- .../A32/translate/impl/synchronization.cpp | 3 +- src/frontend/A32/translate/impl/thumb16.cpp | 3 +- src/frontend/A32/translate/impl/thumb32.cpp | 3 +- .../A32/translate/impl/translate_arm.h | 3 +- .../A32/translate/impl/translate_thumb.h | 3 +- src/frontend/A32/translate/impl/vfp.cpp | 3 +- src/frontend/A32/translate/translate.cpp | 3 +- src/frontend/A32/translate/translate.h | 3 +- src/frontend/A32/translate/translate_arm.cpp | 3 +- .../A32/translate/translate_thumb.cpp | 3 +- src/frontend/A32/types.cpp | 3 +- src/frontend/A32/types.h | 5 +- src/frontend/A64/decoder/a64.h | 3 +- src/frontend/A64/ir_emitter.cpp | 3 +- src/frontend/A64/ir_emitter.h | 3 +- src/frontend/A64/location_descriptor.cpp | 3 +- src/frontend/A64/location_descriptor.h | 3 +- src/frontend/A64/translate/impl/branch.cpp | 3 +- .../translate/impl/data_processing_addsub.cpp | 3 +- .../impl/data_processing_bitfield.cpp | 3 +- .../data_processing_conditional_compare.cpp | 3 +- .../data_processing_conditional_select.cpp | 3 +- .../translate/impl/data_processing_crc32.cpp | 3 +- .../impl/data_processing_logical.cpp | 3 +- .../impl/data_processing_multiply.cpp | 3 +- .../translate/impl/data_processing_pcrel.cpp | 3 +- .../impl/data_processing_register.cpp | 3 +- .../translate/impl/data_processing_shift.cpp | 3 +- .../translate/impl/exception_generating.cpp | 3 +- .../translate/impl/floating_point_compare.cpp | 3 +- .../floating_point_conditional_compare.cpp | 3 +- .../floating_point_conditional_select.cpp | 3 +- .../floating_point_conversion_fixed_point.cpp | 3 +- .../floating_point_conversion_integer.cpp | 3 +- ...ing_point_data_processing_one_register.cpp | 3 +- ...g_point_data_processing_three_register.cpp | 3 +- ...ing_point_data_processing_two_register.cpp | 3 +- src/frontend/A64/translate/impl/impl.cpp | 29 +- src/frontend/A64/translate/impl/impl.h | 3 +- .../translate/impl/load_store_exclusive.cpp | 3 +- .../impl/load_store_load_literal.cpp | 3 +- .../impl/load_store_multiple_structures.cpp | 3 +- .../impl/load_store_no_allocate_pair.cpp | 3 +- .../impl/load_store_register_immediate.cpp | 3 +- .../impl/load_store_register_pair.cpp | 3 +- .../load_store_register_register_offset.cpp | 3 +- .../impl/load_store_register_unprivileged.cpp | 3 +- .../impl/load_store_single_structure.cpp | 3 +- src/frontend/A64/translate/impl/move_wide.cpp | 3 +- .../A64/translate/impl/simd_across_lanes.cpp | 3 +- src/frontend/A64/translate/impl/simd_aes.cpp | 3 +- src/frontend/A64/translate/impl/simd_copy.cpp | 3 +- .../impl/simd_crypto_four_register.cpp | 3 +- .../impl/simd_crypto_three_register.cpp | 3 +- .../A64/translate/impl/simd_extract.cpp | 3 +- .../impl/simd_modified_immediate.cpp | 3 +- .../A64/translate/impl/simd_permute.cpp | 3 +- .../translate/impl/simd_scalar_pairwise.cpp | 3 +- .../impl/simd_scalar_shift_by_immediate.cpp | 3 +- .../translate/impl/simd_scalar_three_same.cpp | 3 +- .../impl/simd_scalar_two_register_misc.cpp | 3 +- .../impl/simd_scalar_x_indexed_element.cpp | 7 +- src/frontend/A64/translate/impl/simd_sha.cpp | 3 +- .../A64/translate/impl/simd_sha512.cpp | 3 +- .../impl/simd_shift_by_immediate.cpp | 3 +- .../A64/translate/impl/simd_table_lookup.cpp | 3 +- .../translate/impl/simd_three_different.cpp | 3 +- .../A64/translate/impl/simd_three_same.cpp | 3 +- .../translate/impl/simd_three_same_extra.cpp | 3 +- .../translate/impl/simd_two_register_misc.cpp | 3 +- .../impl/simd_vector_x_indexed_element.cpp | 3 +- src/frontend/A64/translate/impl/sys_dc.cpp | 3 +- src/frontend/A64/translate/impl/system.cpp | 3 +- .../A64/translate/impl/system_flag_format.cpp | 3 +- .../impl/system_flag_manipulation.cpp | 3 +- src/frontend/A64/translate/translate.cpp | 3 +- src/frontend/A64/translate/translate.h | 3 +- src/frontend/A64/types.cpp | 3 +- src/frontend/A64/types.h | 3 +- src/frontend/decoder/decoder_detail.h | 3 +- src/frontend/decoder/matcher.h | 3 +- src/frontend/imm.h | 3 +- src/frontend/ir/basic_block.cpp | 3 +- src/frontend/ir/basic_block.h | 3 +- src/frontend/ir/cond.h | 3 +- src/frontend/ir/ir_emitter.cpp | 3 +- src/frontend/ir/ir_emitter.h | 3 +- src/frontend/ir/location_descriptor.cpp | 3 +- src/frontend/ir/location_descriptor.h | 3 +- src/frontend/ir/microinstruction.cpp | 3 +- src/frontend/ir/microinstruction.h | 3 +- src/frontend/ir/opcodes.cpp | 3 +- src/frontend/ir/opcodes.h | 3 +- src/frontend/ir/terminal.h | 3 +- src/frontend/ir/type.cpp | 3 +- src/frontend/ir/type.h | 3 +- src/frontend/ir/value.cpp | 7 +- src/frontend/ir/value.h | 3 +- src/ir_opt/a32_constant_memory_reads_pass.cpp | 3 +- src/ir_opt/a32_get_set_elimination_pass.cpp | 3 +- src/ir_opt/a64_callback_config_pass.cpp | 3 +- src/ir_opt/a64_get_set_elimination_pass.cpp | 3 +- src/ir_opt/a64_merge_interpret_blocks.cpp | 3 +- src/ir_opt/constant_propagation_pass.cpp | 3 +- src/ir_opt/dead_code_elimination_pass.cpp | 3 +- src/ir_opt/identity_removal_pass.cpp | 3 +- src/ir_opt/ir_matcher.h | 3 +- src/ir_opt/passes.h | 3 +- src/ir_opt/verification_pass.cpp | 3 +- tests/A32/fuzz_arm.cpp | 3 +- tests/A32/fuzz_thumb.cpp | 3 +- tests/A32/test_arm_disassembler.cpp | 3 +- tests/A32/test_arm_instructions.cpp | 3 +- tests/A32/test_thumb_instructions.cpp | 3 +- tests/A32/testenv.h | 3 +- tests/A64/a64.cpp | 3 +- tests/A64/fuzz_with_unicorn.cpp | 3 +- tests/A64/misaligned_page_table.cpp | 3 +- tests/A64/testenv.h | 3 +- tests/A64/verify_unicorn.cpp | 3 +- tests/fp/FPToFixed.cpp | 3 +- tests/fp/FPValue.cpp | 3 +- tests/fp/mantissa_util_tests.cpp | 3 +- tests/fp/unpacked_tests.cpp | 3 +- tests/fuzz_util.cpp | 3 +- tests/fuzz_util.h | 3 +- tests/main.cpp | 3 +- tests/print_info.cpp | 3 +- tests/rand_int.h | 7 +- tests/unicorn_emu/a32_unicorn.cpp | 3 +- tests/unicorn_emu/a32_unicorn.h | 3 +- tests/unicorn_emu/a64_unicorn.cpp | 3 +- tests/unicorn_emu/a64_unicorn.h | 3 +- 286 files changed, 574 insertions(+), 1035 deletions(-) create mode 100644 src/common/assert.cpp create mode 100644 src/common/unlikely.h diff --git a/LICENSE.txt b/LICENSE.txt index fd94e166..6de06bcf 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,339 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 +Copyright (C) 2017 MerryMage - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md index 4c1e5f05..23a925b7 100644 --- a/README.md +++ b/README.md @@ -193,3 +193,134 @@ int main(int argc, char** argv) { return 0; } ``` + +Legal +----- + +dynarmic is under a 0BSD license. See LICENSE.txt for more details. + +dynarmic uses several other libraries, whose licenes are included below: + +### catch + +``` +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +``` + +### fmt + +``` +Copyright (c) 2012 - 2016, Victor Zverovich + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + +### mp + +``` +Copyright (C) 2017 MerryMage + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +``` + +### xbyak + +``` +Copyright (c) 2007 MITSUNARI Shigeo +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. +Neither the name of the copyright owner nor the names of its contributors may +be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. +----------------------------------------------------------------------------- +ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満た +す場合に限り、再頒布および使用が許可されます。 + +ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責条項 +を含めること。 +バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作 +権表示、本条件一覧、および下記免責条項を含めること。 +書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売促進 +に、著作権者の名前またはコントリビューターの名前を使用してはならない。 +本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供さ +れており、明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適合性 +に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。 +著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを +問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為で +あるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、 +本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、使用の +喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない)直接 +損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、 +一切責任を負わないものとします。 +``` diff --git a/include/dynarmic/A32/a32.h b/include/dynarmic/A32/a32.h index 9dab9dc1..11eccde6 100644 --- a/include/dynarmic/A32/a32.h +++ b/include/dynarmic/A32/a32.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A32/config.h b/include/dynarmic/A32/config.h index aa5f5d02..cde728a6 100644 --- a/include/dynarmic/A32/config.h +++ b/include/dynarmic/A32/config.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A32/context.h b/include/dynarmic/A32/context.h index e3b6e657..7ee0c7ef 100644 --- a/include/dynarmic/A32/context.h +++ b/include/dynarmic/A32/context.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A32/coprocessor.h b/include/dynarmic/A32/coprocessor.h index 6d921506..017fe697 100644 --- a/include/dynarmic/A32/coprocessor.h +++ b/include/dynarmic/A32/coprocessor.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A32/coprocessor_util.h b/include/dynarmic/A32/coprocessor_util.h index ac7c4f73..ec7c1abb 100644 --- a/include/dynarmic/A32/coprocessor_util.h +++ b/include/dynarmic/A32/coprocessor_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A32/disassembler.h b/include/dynarmic/A32/disassembler.h index 8610dd98..8273a30d 100644 --- a/include/dynarmic/A32/disassembler.h +++ b/include/dynarmic/A32/disassembler.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A64/a64.h b/include/dynarmic/A64/a64.h index 86b33c34..f51f6fad 100644 --- a/include/dynarmic/A64/a64.h +++ b/include/dynarmic/A64/a64.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A64/config.h b/include/dynarmic/A64/config.h index b997f237..476fcc48 100644 --- a/include/dynarmic/A64/config.h +++ b/include/dynarmic/A64/config.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/include/dynarmic/A64/exclusive_monitor.h b/include/dynarmic/A64/exclusive_monitor.h index 16578f11..0e0c3b11 100644 --- a/include/dynarmic/A64/exclusive_monitor.h +++ b/include/dynarmic/A64/exclusive_monitor.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c39f2480..57b6b1d8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,6 +7,7 @@ add_library(dynarmic ../include/dynarmic/A64/a64.h ../include/dynarmic/A64/config.h ../include/dynarmic/A64/exclusive_monitor.h + common/assert.cpp common/assert.h common/bit_util.h common/cast_util.h diff --git a/src/backend/x64/a32_emit_x64.cpp b/src/backend/x64/a32_emit_x64.cpp index 172fab84..03faafff 100644 --- a/src/backend/x64/a32_emit_x64.cpp +++ b/src/backend/x64/a32_emit_x64.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include @@ -52,7 +51,7 @@ static Xbyak::Address MJitStateExtReg(A32::ExtReg reg) { const size_t index = static_cast(reg) - static_cast(A32::ExtReg::D0); return qword[r15 + offsetof(A32JitState, ExtReg) + sizeof(u64) * index]; } - ASSERT_MSG(false, "Should never happen."); + ASSERT_FALSE("Should never happen."); } A32EmitContext::A32EmitContext(RegAlloc& reg_alloc, IR::Block& block) @@ -125,7 +124,7 @@ A32EmitX64::BlockDescriptor A32EmitX64::Emit(IR::Block& block) { #undef A64OPC default: - ASSERT_MSG(false, "Invalid opcode: {}", inst->GetOpcode()); + ASSERT_FALSE("Invalid opcode: {}", inst->GetOpcode()); break; } @@ -888,7 +887,7 @@ void A32EmitX64::ReadMemory(A32EmitContext& ctx, IR::Inst* inst) { code.mov(value, qword[r13 + vaddr]); break; default: - ASSERT_MSG(false, "Invalid bitsize"); + ASSERT_FALSE("Invalid bitsize"); break; } @@ -923,7 +922,7 @@ void A32EmitX64::ReadMemory(A32EmitContext& ctx, IR::Inst* inst) { code.mov(value, qword[src_ptr]); break; default: - ASSERT_MSG(false, "Invalid bitsize"); + ASSERT_FALSE("Invalid bitsize"); break; } code.jmp(end); @@ -981,7 +980,7 @@ void A32EmitX64::WriteMemory(A32EmitContext& ctx, IR::Inst* inst) { code.mov(qword[r13 + vaddr], value); break; default: - ASSERT_MSG(false, "Invalid bitsize"); + ASSERT_FALSE("Invalid bitsize"); break; } @@ -1014,7 +1013,7 @@ void A32EmitX64::WriteMemory(A32EmitContext& ctx, IR::Inst* inst) { code.mov(qword[dest_ptr], value); break; default: - ASSERT_MSG(false, "Invalid bitsize"); + ASSERT_FALSE("Invalid bitsize"); break; } code.jmp(end); @@ -1105,7 +1104,7 @@ void A32EmitX64::EmitA32ExclusiveWriteMemory64(A32EmitContext& ctx, IR::Inst* in } static void EmitCoprocessorException() { - ASSERT_MSG(false, "Should raise coproc exception here"); + ASSERT_FALSE("Should raise coproc exception here"); } static void CallCoprocCallback(BlockOfCode& code, RegAlloc& reg_alloc, A32::Jit* jit_interface, diff --git a/src/backend/x64/a32_emit_x64.h b/src/backend/x64/a32_emit_x64.h index 7821f162..a9bb0d19 100644 --- a/src/backend/x64/a32_emit_x64.h +++ b/src/backend/x64/a32_emit_x64.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/a32_interface.cpp b/src/backend/x64/a32_interface.cpp index 6fba66d9..8ad3a528 100644 --- a/src/backend/x64/a32_interface.cpp +++ b/src/backend/x64/a32_interface.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/a32_jitstate.cpp b/src/backend/x64/a32_jitstate.cpp index 730ba8fb..c996b4fd 100644 --- a/src/backend/x64/a32_jitstate.cpp +++ b/src/backend/x64/a32_jitstate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/a32_jitstate.h" diff --git a/src/backend/x64/a32_jitstate.h b/src/backend/x64/a32_jitstate.h index 495bf86a..645f509e 100644 --- a/src/backend/x64/a32_jitstate.h +++ b/src/backend/x64/a32_jitstate.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/a64_emit_x64.cpp b/src/backend/x64/a64_emit_x64.cpp index e8d25949..1bad13b0 100644 --- a/src/backend/x64/a64_emit_x64.cpp +++ b/src/backend/x64/a64_emit_x64.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/a64_emit_x64.h b/src/backend/x64/a64_emit_x64.h index 13478eee..f4d9ce33 100644 --- a/src/backend/x64/a64_emit_x64.h +++ b/src/backend/x64/a64_emit_x64.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/a64_exclusive_monitor.cpp b/src/backend/x64/a64_exclusive_monitor.cpp index d3f911bb..bd0582a0 100644 --- a/src/backend/x64/a64_exclusive_monitor.cpp +++ b/src/backend/x64/a64_exclusive_monitor.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/a64_interface.cpp b/src/backend/x64/a64_interface.cpp index 09e60581..0af1049b 100644 --- a/src/backend/x64/a64_interface.cpp +++ b/src/backend/x64/a64_interface.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/a64_jitstate.cpp b/src/backend/x64/a64_jitstate.cpp index fdc4169e..62d222d3 100644 --- a/src/backend/x64/a64_jitstate.cpp +++ b/src/backend/x64/a64_jitstate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/a64_jitstate.h" diff --git a/src/backend/x64/a64_jitstate.h b/src/backend/x64/a64_jitstate.h index 3fb1c228..a9972eca 100644 --- a/src/backend/x64/a64_jitstate.h +++ b/src/backend/x64/a64_jitstate.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/abi.cpp b/src/backend/x64/abi.cpp index 2dcbce3e..47a93f44 100644 --- a/src/backend/x64/abi.cpp +++ b/src/backend/x64/abi.cpp @@ -1,18 +1,7 @@ -// Copyright (C) 2003 Dolphin Project. - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, version 2.0 or later versions. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License 2.0 for more details. - -// A copy of the GPL 2.0 should have been included with the program. -// If not, see http://www.gnu.org/licenses/ - -// 24th August 2016: This code was modified for Dynarmic. +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ #include #include @@ -26,36 +15,28 @@ namespace Dynarmic::Backend::X64 { -constexpr size_t GPR_SIZE = 8; constexpr size_t XMM_SIZE = 16; struct FrameInfo { - size_t stack_subtraction = 0; - size_t xmm_offset = 0; + size_t stack_subtraction; + size_t xmm_offset; + size_t frame_offset; }; static FrameInfo CalculateFrameInfo(size_t num_gprs, size_t num_xmms, size_t frame_size) { - FrameInfo frame_info = {}; + // We are initially 8 byte aligned because the return value is pushed onto an aligned stack after a call. + const size_t rsp_alignment = (num_gprs % 2 == 0) ? 8 : 0; + const size_t total_xmm_size = num_xmms * XMM_SIZE; - size_t rsp_alignment = 8; // We are always 8-byte aligned initially - rsp_alignment -= num_gprs * GPR_SIZE; - - if (num_xmms > 0) { - frame_info.stack_subtraction = rsp_alignment & 0xF; - frame_info.stack_subtraction += num_xmms * XMM_SIZE; + if (frame_size & 0xF) { + frame_size += 0x10 - (frame_size & 0xF); } - size_t xmm_base = frame_info.stack_subtraction; - - frame_info.stack_subtraction += frame_size; - frame_info.stack_subtraction += ABI_SHADOW_SPACE; - - rsp_alignment -= frame_info.stack_subtraction; - frame_info.stack_subtraction += rsp_alignment & 0xF; - - frame_info.xmm_offset = frame_info.stack_subtraction - xmm_base; - - return frame_info; + return { + rsp_alignment + total_xmm_size + frame_size + ABI_SHADOW_SPACE, + frame_size + ABI_SHADOW_SPACE, + ABI_SHADOW_SPACE, + }; } template diff --git a/src/backend/x64/abi.h b/src/backend/x64/abi.h index f99687d6..1d8e05bc 100644 --- a/src/backend/x64/abi.h +++ b/src/backend/x64/abi.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/block_of_code.cpp b/src/backend/x64/block_of_code.cpp index 470be9ea..6d01f1a7 100644 --- a/src/backend/x64/block_of_code.cpp +++ b/src/backend/x64/block_of_code.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/block_of_code.h b/src/backend/x64/block_of_code.h index e629c009..3c378048 100644 --- a/src/backend/x64/block_of_code.h +++ b/src/backend/x64/block_of_code.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/block_range_information.cpp b/src/backend/x64/block_range_information.cpp index 0bfe8c26..3633e575 100644 --- a/src/backend/x64/block_range_information.cpp +++ b/src/backend/x64/block_range_information.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/block_range_information.h b/src/backend/x64/block_range_information.h index 48b5b1c1..82422f93 100644 --- a/src/backend/x64/block_range_information.h +++ b/src/backend/x64/block_range_information.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/callback.cpp b/src/backend/x64/callback.cpp index 3e0e87ad..31aba7b4 100644 --- a/src/backend/x64/callback.cpp +++ b/src/backend/x64/callback.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/callback.h" diff --git a/src/backend/x64/callback.h b/src/backend/x64/callback.h index d305ccdb..6fab0fda 100644 --- a/src/backend/x64/callback.h +++ b/src/backend/x64/callback.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/constant_pool.cpp b/src/backend/x64/constant_pool.cpp index 63134a03..8a8f512d 100644 --- a/src/backend/x64/constant_pool.cpp +++ b/src/backend/x64/constant_pool.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/constant_pool.h b/src/backend/x64/constant_pool.h index 65ebaaf1..25d63c53 100644 --- a/src/backend/x64/constant_pool.h +++ b/src/backend/x64/constant_pool.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/devirtualize.h b/src/backend/x64/devirtualize.h index fd9d153d..ae214d1a 100644 --- a/src/backend/x64/devirtualize.h +++ b/src/backend/x64/devirtualize.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/emit_x64.cpp b/src/backend/x64/emit_x64.cpp index 1049ac21..7d7529c7 100644 --- a/src/backend/x64/emit_x64.cpp +++ b/src/backend/x64/emit_x64.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/emit_x64.h b/src/backend/x64/emit_x64.h index 6bab043a..7b144e84 100644 --- a/src/backend/x64/emit_x64.h +++ b/src/backend/x64/emit_x64.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/emit_x64_aes.cpp b/src/backend/x64/emit_x64_aes.cpp index b37e3160..28f63ac9 100644 --- a/src/backend/x64/emit_x64_aes.cpp +++ b/src/backend/x64/emit_x64_aes.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/abi.h" diff --git a/src/backend/x64/emit_x64_crc32.cpp b/src/backend/x64/emit_x64_crc32.cpp index 2c839e5d..accdf7bf 100644 --- a/src/backend/x64/emit_x64_crc32.cpp +++ b/src/backend/x64/emit_x64_crc32.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/emit_x64_data_processing.cpp b/src/backend/x64/emit_x64_data_processing.cpp index 619c95f8..06bd289b 100644 --- a/src/backend/x64/emit_x64_data_processing.cpp +++ b/src/backend/x64/emit_x64_data_processing.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/emit_x64_floating_point.cpp b/src/backend/x64/emit_x64_floating_point.cpp index c8b9caa5..7494fa05 100644 --- a/src/backend/x64/emit_x64_floating_point.cpp +++ b/src/backend/x64/emit_x64_floating_point.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/emit_x64_packed.cpp b/src/backend/x64/emit_x64_packed.cpp index e6e6c1db..60c7ce5e 100644 --- a/src/backend/x64/emit_x64_packed.cpp +++ b/src/backend/x64/emit_x64_packed.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/block_of_code.h" diff --git a/src/backend/x64/emit_x64_saturation.cpp b/src/backend/x64/emit_x64_saturation.cpp index e33d8ab0..1320428a 100644 --- a/src/backend/x64/emit_x64_saturation.cpp +++ b/src/backend/x64/emit_x64_saturation.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/emit_x64_sm4.cpp b/src/backend/x64/emit_x64_sm4.cpp index e990e3e7..af32db47 100644 --- a/src/backend/x64/emit_x64_sm4.cpp +++ b/src/backend/x64/emit_x64_sm4.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/block_of_code.h" diff --git a/src/backend/x64/emit_x64_vector.cpp b/src/backend/x64/emit_x64_vector.cpp index a0e4b38d..dabd376a 100644 --- a/src/backend/x64/emit_x64_vector.cpp +++ b/src/backend/x64/emit_x64_vector.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/emit_x64_vector_floating_point.cpp b/src/backend/x64/emit_x64_vector_floating_point.cpp index fddb9611..fd29fba1 100644 --- a/src/backend/x64/emit_x64_vector_floating_point.cpp +++ b/src/backend/x64/emit_x64_vector_floating_point.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/exception_handler.h b/src/backend/x64/exception_handler.h index dab18ab4..acbe128f 100644 --- a/src/backend/x64/exception_handler.h +++ b/src/backend/x64/exception_handler.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2020 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/exception_handler_generic.cpp b/src/backend/x64/exception_handler_generic.cpp index 75a787fd..1d34f3a7 100644 --- a/src/backend/x64/exception_handler_generic.cpp +++ b/src/backend/x64/exception_handler_generic.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/exception_handler.h" diff --git a/src/backend/x64/exception_handler_macos.cpp b/src/backend/x64/exception_handler_macos.cpp index 5d84fb21..0d645d30 100644 --- a/src/backend/x64/exception_handler_macos.cpp +++ b/src/backend/x64/exception_handler_macos.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "backend/x64/exception_handler.h" diff --git a/src/backend/x64/exception_handler_posix.cpp b/src/backend/x64/exception_handler_posix.cpp index d9fb99d2..345819ad 100644 --- a/src/backend/x64/exception_handler_posix.cpp +++ b/src/backend/x64/exception_handler_posix.cpp @@ -1,13 +1,8 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ -// Copyright 2008 Dolphin Emulator Project -// Licensed under GPLv2+ -// Refer to the license.txt file included. - #include "backend/x64/exception_handler.h" #include @@ -40,7 +35,6 @@ struct CodeBlockInfo { class SigHandler { public: SigHandler(); - ~SigHandler(); void AddCodeBlock(CodeBlockInfo info); void RemoveCodeBlock(u64 rip); @@ -62,15 +56,14 @@ private: SigHandler sig_handler; SigHandler::SigHandler() { - // Method below from dolphin. - constexpr size_t signal_stack_size = std::max(SIGSTKSZ, 2 * 1024 * 1024); stack_t signal_stack; - signal_stack.ss_sp = malloc(signal_stack_size); + signal_stack.ss_sp = std::malloc(signal_stack_size); signal_stack.ss_size = signal_stack_size; signal_stack.ss_flags = 0; - ASSERT_MSG(sigaltstack(&signal_stack, nullptr) == 0, "dynarmic: POSIX SigHandler: init failure at sigaltstack"); + const int ret = sigaltstack(&signal_stack, nullptr); + ASSERT_MSG(ret == 0, "dynarmic: POSIX SigHandler: init failure at sigaltstack"); struct sigaction sa; sa.sa_handler = nullptr; @@ -83,10 +76,6 @@ SigHandler::SigHandler() { #endif } -SigHandler::~SigHandler() { - // No cleanup required. -} - void SigHandler::AddCodeBlock(CodeBlockInfo cbi) { std::lock_guard guard(code_block_infos_mutex); if (auto iter = FindCodeBlockInfo(cbi.code_begin); iter != code_block_infos.end()) { diff --git a/src/backend/x64/exception_handler_windows.cpp b/src/backend/x64/exception_handler_windows.cpp index 2258579b..3f65a9cf 100644 --- a/src/backend/x64/exception_handler_windows.cpp +++ b/src/backend/x64/exception_handler_windows.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/hostloc.cpp b/src/backend/x64/hostloc.cpp index 8e3a2f8d..b51de7b7 100644 --- a/src/backend/x64/hostloc.cpp +++ b/src/backend/x64/hostloc.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/hostloc.h b/src/backend/x64/hostloc.h index f05dcc40..460a6711 100644 --- a/src/backend/x64/hostloc.h +++ b/src/backend/x64/hostloc.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/jitstate_info.h b/src/backend/x64/jitstate_info.h index 0cc475c8..225ff890 100644 --- a/src/backend/x64/jitstate_info.h +++ b/src/backend/x64/jitstate_info.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/oparg.h b/src/backend/x64/oparg.h index 266c1f36..5f46b7af 100644 --- a/src/backend/x64/oparg.h +++ b/src/backend/x64/oparg.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/perf_map.cpp b/src/backend/x64/perf_map.cpp index 4c494774..2b39e1aa 100644 --- a/src/backend/x64/perf_map.cpp +++ b/src/backend/x64/perf_map.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/backend/x64/perf_map.h b/src/backend/x64/perf_map.h index aafacb09..d0a660c9 100644 --- a/src/backend/x64/perf_map.h +++ b/src/backend/x64/perf_map.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/backend/x64/reg_alloc.cpp b/src/backend/x64/reg_alloc.cpp index 73c7b813..0ade7c49 100644 --- a/src/backend/x64/reg_alloc.cpp +++ b/src/backend/x64/reg_alloc.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include @@ -41,10 +40,10 @@ static size_t GetBitWidth(IR::Type type) { case IR::Type::Cond: case IR::Type::Void: case IR::Type::Table: - ASSERT_MSG(false, "Type {} cannot be represented at runtime", type); + ASSERT_FALSE("Type {} cannot be represented at runtime", type); return 0; case IR::Type::Opaque: - ASSERT_MSG(false, "Not a concrete type"); + ASSERT_FALSE("Not a concrete type"); return 0; case IR::Type::U1: return 8; @@ -595,7 +594,7 @@ HostLoc RegAlloc::FindFreeSpill() const { } } - ASSERT_MSG(false, "All spill locations are full"); + ASSERT_FALSE("All spill locations are full"); } HostLocInfo& RegAlloc::LocInfo(HostLoc loc) { @@ -683,7 +682,7 @@ void RegAlloc::EmitMove(size_t bit_width, HostLoc to, HostLoc from) { code.mov(spill_to_addr(to), HostLocToReg64(from).cvt32()); } } else { - ASSERT_MSG(false, "Invalid RegAlloc::EmitMove"); + ASSERT_FALSE("Invalid RegAlloc::EmitMove"); } } @@ -691,9 +690,9 @@ void RegAlloc::EmitExchange(HostLoc a, HostLoc b) { if (HostLocIsGPR(a) && HostLocIsGPR(b)) { code.xchg(HostLocToReg64(a), HostLocToReg64(b)); } else if (HostLocIsXMM(a) && HostLocIsXMM(b)) { - ASSERT_MSG(false, "Check your code: Exchanging XMM registers is unnecessary"); + ASSERT_FALSE("Check your code: Exchanging XMM registers is unnecessary"); } else { - ASSERT_MSG(false, "Invalid RegAlloc::EmitExchange"); + ASSERT_FALSE("Invalid RegAlloc::EmitExchange"); } } diff --git a/src/backend/x64/reg_alloc.h b/src/backend/x64/reg_alloc.h index 341dfe66..36e44e20 100644 --- a/src/backend/x64/reg_alloc.h +++ b/src/backend/x64/reg_alloc.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/assert.cpp b/src/common/assert.cpp new file mode 100644 index 00000000..d3364440 --- /dev/null +++ b/src/common/assert.cpp @@ -0,0 +1,19 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include + +namespace Dynarmic::Common { + +[[noreturn]] void Terminate(fmt::string_view msg, fmt::format_args args) { + fmt::print(stderr, "dynarmic assertion failed: "); + fmt::vprint(stderr, msg, args); + std::terminate(); +} + +} // namespace Dynarmic::Common diff --git a/src/common/assert.h b/src/common/assert.h index edb0da3e..2f3e9a7c 100644 --- a/src/common/assert.h +++ b/src/common/assert.h @@ -1,53 +1,64 @@ -// Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ #pragma once -#include - #include -// For asserts we'd like to keep all the junk executed when an assert happens away from the -// important code in the function. One way of doing this is to put all the relevant code inside a -// lambda and force the compiler to not inline it. Unfortunately, MSVC seems to have no syntax to -// specify __declspec on lambda functions, so what we do instead is define a noinline wrapper -// template that calls the lambda. This seems to generate an extra instruction at the call-site -// compared to the ideal implementation (which wouldn't support ASSERT_MSG parameters), but is good -// enough for our purposes. -template -#if defined(_MSC_VER) -__declspec(noinline, noreturn) -#elif defined(__GNUC__) -[[noreturn, gnu::noinline, gnu::cold]] -#endif -static void assert_noinline_call(const Fn& fn) { - fn(); - throw ""; +#include "common/unlikely.h" + +namespace Dynarmic::Common { + +[[noreturn]] void Terminate(fmt::string_view msg, fmt::format_args args); + +namespace detail { + +template +[[noreturn]] void TerminateHelper(fmt::string_view msg, Ts... args) { + Terminate(msg, fmt::make_format_args(args...)); } -#define ASSERT(_a_) \ - do if (!(_a_)) { assert_noinline_call([] { \ - fmt::print(stderr, "Assertion Failed!: {}\n", #_a_); \ - }); } while (false) +} // namespace detail -#define ASSERT_MSG(_a_, ...) \ - do if (!(_a_)) { assert_noinline_call([&] { \ - fmt::print(stderr, "Assertion Failed!: {}\n", #_a_); \ - fmt::print(stderr, "Message: " __VA_ARGS__); \ - fmt::print(stderr, "\n"); \ - }); } while (false) +} // namespace Dynarmic::Common -#define UNREACHABLE() ASSERT_MSG(false, "Unreachable code!") -#define UNREACHABLE_MSG(...) ASSERT_MSG(false, __VA_ARGS__) - -#ifdef NDEBUG -#define DEBUG_ASSERT(_a_) -#define DEBUG_ASSERT_MSG(_a_, ...) -#else // debug -#define DEBUG_ASSERT(_a_) ASSERT(_a_) -#define DEBUG_ASSERT_MSG(_a_, ...) ASSERT_MSG(_a_, __VA_ARGS__) +#if defined(__clang) || defined(__GNUC__) + #define UNREACHABLE() __builtin_unreachable() + #define ASSUME(expr) [&]{ if (!(expr)) __builtin_unreachable(); }() +#elif defined(_MSC_VER) + #define UNREACHABLE() __assume(0) + #define ASSUME(expr) __assume(expr) +#else + #define UNREACHABLE() ASSERT_MSG(false, "Unreachable code!") + #define ASSUME(expr) #endif -#define UNIMPLEMENTED() DEBUG_ASSERT_MSG(false, "Unimplemented code!") -#define UNIMPLEMENTED_MSG(_a_, ...) ASSERT_MSG(false, _a_, __VA_ARGS__) +#ifdef DYNARMIC_IGNORE_ASSERTS + #define ASSERT(expr) ASSUME(expr) + #define ASSERT_MSG(expr, ...) ASSUME(expr) + #define ASSERT_FALSE(...) UNREACHABLE() +#else + #define ASSERT(expr) \ + [&]{ \ + if (UNLIKELY(!(expr))) { \ + ::Dynarmic::Common::detail::TerminateHelper(#expr); \ + } \ + }() + #define ASSERT_MSG(expr, ...) \ + [&]{ \ + if (UNLIKELY(!(expr))) { \ + ::Dynarmic::Common::detail::TerminateHelper(#expr "\nMessage: " __VA_ARGS__); \ + } \ + }() + #define ASSERT_FALSE(...) ::Dynarmic::Common::detail::TerminateHelper("false\nMessage: " __VA_ARGS__); +#endif + +#if defined(NDEBUG) || defined(DYNARMIC_IGNORE_ASSERTS) + #define DEBUG_ASSERT(expr) ASSUME(expr) + #define DEBUG_ASSERT_MSG(expr, ...) ASSUME(expr) +#else + #define DEBUG_ASSERT(expr) ASSERT(expr) + #define DEBUG_ASSERT_MSG(expr, ...) ASSERT_MSG(expr, __VA_ARGS__) +#endif diff --git a/src/common/bit_util.h b/src/common/bit_util.h index 14201541..77dae176 100644 --- a/src/common/bit_util.h +++ b/src/common/bit_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/cast_util.h b/src/common/cast_util.h index bde4c933..86004382 100644 --- a/src/common/cast_util.h +++ b/src/common/cast_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/common_types.h b/src/common/common_types.h index 005541f9..4c36faa2 100644 --- a/src/common/common_types.h +++ b/src/common/common_types.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/crypto/aes.cpp b/src/common/crypto/aes.cpp index 13cbde1b..15925f10 100644 --- a/src/common/crypto/aes.cpp +++ b/src/common/crypto/aes.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/crypto/aes.h b/src/common/crypto/aes.h index d6ff14b3..42645d27 100644 --- a/src/common/crypto/aes.h +++ b/src/common/crypto/aes.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/crypto/crc32.cpp b/src/common/crypto/crc32.cpp index eb2522b2..cfdbdcab 100644 --- a/src/common/crypto/crc32.cpp +++ b/src/common/crypto/crc32.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/crypto/crc32.h b/src/common/crypto/crc32.h index 6e9bd3d3..108d934a 100644 --- a/src/common/crypto/crc32.h +++ b/src/common/crypto/crc32.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/crypto/sm4.cpp b/src/common/crypto/sm4.cpp index d2c144f3..20055c37 100644 --- a/src/common/crypto/sm4.cpp +++ b/src/common/crypto/sm4.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/crypto/sm4.h b/src/common/crypto/sm4.h index d6e8d371..17dfff1d 100644 --- a/src/common/crypto/sm4.h +++ b/src/common/crypto/sm4.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/fpcr.h b/src/common/fp/fpcr.h index 51b802f7..1145bd57 100644 --- a/src/common/fp/fpcr.h +++ b/src/common/fp/fpcr.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/fpsr.h b/src/common/fp/fpsr.h index c610ab82..d1704978 100644 --- a/src/common/fp/fpsr.h +++ b/src/common/fp/fpsr.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/fused.cpp b/src/common/fp/fused.cpp index 452608c3..86416e2c 100644 --- a/src/common/fp/fused.cpp +++ b/src/common/fp/fused.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/mantissa_util.h" diff --git a/src/common/fp/fused.h b/src/common/fp/fused.h index 94bd5540..a365d636 100644 --- a/src/common/fp/fused.h +++ b/src/common/fp/fused.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/info.h b/src/common/fp/info.h index d3cb436c..f31df3cd 100644 --- a/src/common/fp/info.h +++ b/src/common/fp/info.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/mantissa_util.h b/src/common/fp/mantissa_util.h index 5b7f38d3..9933ab69 100644 --- a/src/common/fp/mantissa_util.h +++ b/src/common/fp/mantissa_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op.h b/src/common/fp/op.h index b1bd0ee0..bfcdb048 100644 --- a/src/common/fp/op.h +++ b/src/common/fp/op.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPCompare.cpp b/src/common/fp/op/FPCompare.cpp index 7e16dd60..486b01d0 100644 --- a/src/common/fp/op/FPCompare.cpp +++ b/src/common/fp/op/FPCompare.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/fpcr.h" diff --git a/src/common/fp/op/FPCompare.h b/src/common/fp/op/FPCompare.h index 33802848..1a68c6b0 100644 --- a/src/common/fp/op/FPCompare.h +++ b/src/common/fp/op/FPCompare.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPConvert.cpp b/src/common/fp/op/FPConvert.cpp index 94413b34..5bb99ebb 100644 --- a/src/common/fp/op/FPConvert.cpp +++ b/src/common/fp/op/FPConvert.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/common_types.h" diff --git a/src/common/fp/op/FPConvert.h b/src/common/fp/op/FPConvert.h index 419a158b..ad0b048b 100644 --- a/src/common/fp/op/FPConvert.h +++ b/src/common/fp/op/FPConvert.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPMulAdd.cpp b/src/common/fp/op/FPMulAdd.cpp index d53ba11e..683da688 100644 --- a/src/common/fp/op/FPMulAdd.cpp +++ b/src/common/fp/op/FPMulAdd.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/common_types.h" diff --git a/src/common/fp/op/FPMulAdd.h b/src/common/fp/op/FPMulAdd.h index a9873fee..bd5638dd 100644 --- a/src/common/fp/op/FPMulAdd.h +++ b/src/common/fp/op/FPMulAdd.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPNeg.h b/src/common/fp/op/FPNeg.h index 1b8534be..c7cabf49 100644 --- a/src/common/fp/op/FPNeg.h +++ b/src/common/fp/op/FPNeg.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPRSqrtEstimate.cpp b/src/common/fp/op/FPRSqrtEstimate.cpp index e54bdc50..23bb4141 100644 --- a/src/common/fp/op/FPRSqrtEstimate.cpp +++ b/src/common/fp/op/FPRSqrtEstimate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/common_types.h" diff --git a/src/common/fp/op/FPRSqrtEstimate.h b/src/common/fp/op/FPRSqrtEstimate.h index 8ab2aed5..e7f8cfc3 100644 --- a/src/common/fp/op/FPRSqrtEstimate.h +++ b/src/common/fp/op/FPRSqrtEstimate.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPRSqrtStepFused.cpp b/src/common/fp/op/FPRSqrtStepFused.cpp index 51542075..9077def9 100644 --- a/src/common/fp/op/FPRSqrtStepFused.cpp +++ b/src/common/fp/op/FPRSqrtStepFused.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/fpcr.h" diff --git a/src/common/fp/op/FPRSqrtStepFused.h b/src/common/fp/op/FPRSqrtStepFused.h index 0db7777d..d425447f 100644 --- a/src/common/fp/op/FPRSqrtStepFused.h +++ b/src/common/fp/op/FPRSqrtStepFused.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPRecipEstimate.cpp b/src/common/fp/op/FPRecipEstimate.cpp index cd152fdb..d65fd954 100644 --- a/src/common/fp/op/FPRecipEstimate.cpp +++ b/src/common/fp/op/FPRecipEstimate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/fp/op/FPRecipEstimate.h b/src/common/fp/op/FPRecipEstimate.h index 1a2dc9c0..26d6ec0f 100644 --- a/src/common/fp/op/FPRecipEstimate.h +++ b/src/common/fp/op/FPRecipEstimate.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPRecipExponent.cpp b/src/common/fp/op/FPRecipExponent.cpp index ad659bb8..de47d669 100644 --- a/src/common/fp/op/FPRecipExponent.cpp +++ b/src/common/fp/op/FPRecipExponent.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/common_types.h" diff --git a/src/common/fp/op/FPRecipExponent.h b/src/common/fp/op/FPRecipExponent.h index 285d0e9d..e9af0603 100644 --- a/src/common/fp/op/FPRecipExponent.h +++ b/src/common/fp/op/FPRecipExponent.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPRecipStepFused.cpp b/src/common/fp/op/FPRecipStepFused.cpp index 3f0287e7..0e7928c9 100644 --- a/src/common/fp/op/FPRecipStepFused.cpp +++ b/src/common/fp/op/FPRecipStepFused.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/fpcr.h" diff --git a/src/common/fp/op/FPRecipStepFused.h b/src/common/fp/op/FPRecipStepFused.h index 0dff4ef5..8892d03d 100644 --- a/src/common/fp/op/FPRecipStepFused.h +++ b/src/common/fp/op/FPRecipStepFused.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPRoundInt.cpp b/src/common/fp/op/FPRoundInt.cpp index 2e2be26e..37b2ad22 100644 --- a/src/common/fp/op/FPRoundInt.cpp +++ b/src/common/fp/op/FPRoundInt.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" diff --git a/src/common/fp/op/FPRoundInt.h b/src/common/fp/op/FPRoundInt.h index 5b6e711a..7b1fd1eb 100644 --- a/src/common/fp/op/FPRoundInt.h +++ b/src/common/fp/op/FPRoundInt.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/op/FPToFixed.cpp b/src/common/fp/op/FPToFixed.cpp index 458c3b4c..d5c2381e 100644 --- a/src/common/fp/op/FPToFixed.cpp +++ b/src/common/fp/op/FPToFixed.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" diff --git a/src/common/fp/op/FPToFixed.h b/src/common/fp/op/FPToFixed.h index c1a2172e..f9c51108 100644 --- a/src/common/fp/op/FPToFixed.h +++ b/src/common/fp/op/FPToFixed.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/process_exception.cpp b/src/common/fp/process_exception.cpp index 468b9ec0..44e0aab7 100644 --- a/src/common/fp/process_exception.cpp +++ b/src/common/fp/process_exception.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" @@ -15,37 +14,37 @@ void FPProcessException(FPExc exception, FPCR fpcr, FPSR& fpsr) { switch (exception) { case FPExc::InvalidOp: if (fpcr.IOE()) { - UNIMPLEMENTED(); + ASSERT_FALSE("Raising floating point exceptions unimplemented"); } fpsr.IOC(true); break; case FPExc::DivideByZero: if (fpcr.DZE()) { - UNIMPLEMENTED(); + ASSERT_FALSE("Raising floating point exceptions unimplemented"); } fpsr.DZC(true); break; case FPExc::Overflow: if (fpcr.OFE()) { - UNIMPLEMENTED(); + ASSERT_FALSE("Raising floating point exceptions unimplemented"); } fpsr.OFC(true); break; case FPExc::Underflow: if (fpcr.UFE()) { - UNIMPLEMENTED(); + ASSERT_FALSE("Raising floating point exceptions unimplemented"); } fpsr.UFC(true); break; case FPExc::Inexact: if (fpcr.IXE()) { - UNIMPLEMENTED(); + ASSERT_FALSE("Raising floating point exceptions unimplemented"); } fpsr.IXC(true); break; case FPExc::InputDenorm: if (fpcr.IDE()) { - UNIMPLEMENTED(); + ASSERT_FALSE("Raising floating point exceptions unimplemented"); } fpsr.IDC(true); break; diff --git a/src/common/fp/process_exception.h b/src/common/fp/process_exception.h index 7d36957a..0c8af1a2 100644 --- a/src/common/fp/process_exception.h +++ b/src/common/fp/process_exception.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/process_nan.cpp b/src/common/fp/process_nan.cpp index 0164c50b..196bbd38 100644 --- a/src/common/fp/process_nan.cpp +++ b/src/common/fp/process_nan.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/fp/process_nan.h b/src/common/fp/process_nan.h index 1e4bda57..ccf9cc5a 100644 --- a/src/common/fp/process_nan.h +++ b/src/common/fp/process_nan.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/rounding_mode.h b/src/common/fp/rounding_mode.h index 005270b2..60c09563 100644 --- a/src/common/fp/rounding_mode.h +++ b/src/common/fp/rounding_mode.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/unpacked.cpp b/src/common/fp/unpacked.cpp index 91b4cce9..9b2ebde2 100644 --- a/src/common/fp/unpacked.cpp +++ b/src/common/fp/unpacked.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/fpsr.h" diff --git a/src/common/fp/unpacked.h b/src/common/fp/unpacked.h index cd8cef90..3096c8d0 100644 --- a/src/common/fp/unpacked.h +++ b/src/common/fp/unpacked.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/fp/util.h b/src/common/fp/util.h index bfed6712..96740a39 100644 --- a/src/common/fp/util.h +++ b/src/common/fp/util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/intrusive_list.h b/src/common/intrusive_list.h index f2cc4e40..5e771539 100644 --- a/src/common/intrusive_list.h +++ b/src/common/intrusive_list.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/iterator_util.h b/src/common/iterator_util.h index c35cc15b..82ba3b55 100644 --- a/src/common/iterator_util.h +++ b/src/common/iterator_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/llvm_disassemble.cpp b/src/common/llvm_disassemble.cpp index d4a6fb60..dff7154c 100644 --- a/src/common/llvm_disassemble.cpp +++ b/src/common/llvm_disassemble.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/llvm_disassemble.h b/src/common/llvm_disassemble.h index 752261d9..c40f4dbf 100644 --- a/src/common/llvm_disassemble.h +++ b/src/common/llvm_disassemble.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/lut_from_list.h b/src/common/lut_from_list.h index 676de175..e6f660a1 100644 --- a/src/common/lut_from_list.h +++ b/src/common/lut_from_list.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/macro_util.h b/src/common/macro_util.h index a36f1033..63150678 100644 --- a/src/common/macro_util.h +++ b/src/common/macro_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/math_util.cpp b/src/common/math_util.cpp index 702ab84d..7505f68f 100644 --- a/src/common/math_util.cpp +++ b/src/common/math_util.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/math_util.h b/src/common/math_util.h index 427b1325..8cf523e4 100644 --- a/src/common/math_util.h +++ b/src/common/math_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/memory_pool.cpp b/src/common/memory_pool.cpp index da2ce5b8..a8fc6a29 100644 --- a/src/common/memory_pool.cpp +++ b/src/common/memory_pool.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/common/memory_pool.h b/src/common/memory_pool.h index 8a3e8996..f34041f7 100644 --- a/src/common/memory_pool.h +++ b/src/common/memory_pool.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/safe_ops.h b/src/common/safe_ops.h index 04d979b2..b66396d7 100644 --- a/src/common/safe_ops.h +++ b/src/common/safe_ops.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/scope_exit.h b/src/common/scope_exit.h index 0fd770f1..5db5eaa3 100644 --- a/src/common/scope_exit.h +++ b/src/common/scope_exit.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/string_util.h b/src/common/string_util.h index 67c21912..42ed7d2b 100644 --- a/src/common/string_util.h +++ b/src/common/string_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/u128.cpp b/src/common/u128.cpp index 12dd6791..9433e7f0 100644 --- a/src/common/u128.cpp +++ b/src/common/u128.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/common_types.h" diff --git a/src/common/u128.h b/src/common/u128.h index 74959aa9..891c0f37 100644 --- a/src/common/u128.h +++ b/src/common/u128.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/common/unlikely.h b/src/common/unlikely.h new file mode 100644 index 00000000..9f8ae34f --- /dev/null +++ b/src/common/unlikely.h @@ -0,0 +1,12 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#if defined(__clang__) || defined(__GNUC__) + #define UNLIKELY(x) __builtin_expect(!!(x), 0) +#else + #define UNLIKELY(x) !!(x) +#endif diff --git a/src/common/variant_util.h b/src/common/variant_util.h index e37af0dd..0363ccae 100644 --- a/src/common/variant_util.h +++ b/src/common/variant_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/FPSCR.h b/src/frontend/A32/FPSCR.h index 09abcb87..ea774633 100644 --- a/src/frontend/A32/FPSCR.h +++ b/src/frontend/A32/FPSCR.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/ITState.h b/src/frontend/A32/ITState.h index 9ce8397f..27e78cbe 100644 --- a/src/frontend/A32/ITState.h +++ b/src/frontend/A32/ITState.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/PSR.h b/src/frontend/A32/PSR.h index cad2c94d..ff061292 100644 --- a/src/frontend/A32/PSR.h +++ b/src/frontend/A32/PSR.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/decoder/arm.h b/src/frontend/A32/decoder/arm.h index cacb216c..184ae30a 100644 --- a/src/frontend/A32/decoder/arm.h +++ b/src/frontend/A32/decoder/arm.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD * * Original version of table by Lioncash. */ diff --git a/src/frontend/A32/decoder/thumb16.h b/src/frontend/A32/decoder/thumb16.h index 87662396..efdd2775 100644 --- a/src/frontend/A32/decoder/thumb16.h +++ b/src/frontend/A32/decoder/thumb16.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/decoder/thumb32.h b/src/frontend/A32/decoder/thumb32.h index 55f6d2bb..cc6ca9d2 100644 --- a/src/frontend/A32/decoder/thumb32.h +++ b/src/frontend/A32/decoder/thumb32.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/decoder/vfp.h b/src/frontend/A32/decoder/vfp.h index 27796693..ac63f54c 100644 --- a/src/frontend/A32/decoder/vfp.h +++ b/src/frontend/A32/decoder/vfp.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2032 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/disassembler/disassembler.h b/src/frontend/A32/disassembler/disassembler.h index 2f789d7b..1f59c753 100644 --- a/src/frontend/A32/disassembler/disassembler.h +++ b/src/frontend/A32/disassembler/disassembler.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/disassembler/disassembler_arm.cpp b/src/frontend/A32/disassembler/disassembler_arm.cpp index a3c602a4..3564cf58 100644 --- a/src/frontend/A32/disassembler/disassembler_arm.cpp +++ b/src/frontend/A32/disassembler/disassembler_arm.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/disassembler/disassembler_thumb.cpp b/src/frontend/A32/disassembler/disassembler_thumb.cpp index 12c444da..f908bfb9 100644 --- a/src/frontend/A32/disassembler/disassembler_thumb.cpp +++ b/src/frontend/A32/disassembler/disassembler_thumb.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/ir_emitter.cpp b/src/frontend/A32/ir_emitter.cpp index 8e3f5241..e8b21197 100644 --- a/src/frontend/A32/ir_emitter.cpp +++ b/src/frontend/A32/ir_emitter.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" @@ -39,7 +38,7 @@ IR::U32U64 IREmitter::GetExtendedRegister(ExtReg reg) { return Inst(Opcode::A32GetExtendedRegister64, IR::Value(reg)); } - ASSERT_MSG(false, "Invalid reg."); + ASSERT_FALSE("Invalid reg."); } void IREmitter::SetRegister(const Reg reg, const IR::U32& value) { @@ -53,7 +52,7 @@ void IREmitter::SetExtendedRegister(const ExtReg reg, const IR::U32U64& value) { } else if (A32::IsDoubleExtReg(reg)) { Inst(Opcode::A32SetExtendedRegister64, IR::Value(reg), value); } else { - ASSERT_MSG(false, "Invalid reg."); + ASSERT_FALSE("Invalid reg."); } } diff --git a/src/frontend/A32/ir_emitter.h b/src/frontend/A32/ir_emitter.h index 4c89c009..e6b2192e 100644 --- a/src/frontend/A32/ir_emitter.h +++ b/src/frontend/A32/ir_emitter.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/location_descriptor.cpp b/src/frontend/A32/location_descriptor.cpp index 0c20247e..a170f24d 100644 --- a/src/frontend/A32/location_descriptor.cpp +++ b/src/frontend/A32/location_descriptor.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/location_descriptor.h b/src/frontend/A32/location_descriptor.h index 78c056d4..fae8e589 100644 --- a/src/frontend/A32/location_descriptor.h +++ b/src/frontend/A32/location_descriptor.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/translate/impl/barrier.cpp b/src/frontend/A32/translate/impl/barrier.cpp index 3a8351dd..9653720b 100644 --- a/src/frontend/A32/translate/impl/barrier.cpp +++ b/src/frontend/A32/translate/impl/barrier.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/branch.cpp b/src/frontend/A32/translate/impl/branch.cpp index 7d5a9b7f..ee69c91a 100644 --- a/src/frontend/A32/translate/impl/branch.cpp +++ b/src/frontend/A32/translate/impl/branch.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" diff --git a/src/frontend/A32/translate/impl/coprocessor.cpp b/src/frontend/A32/translate/impl/coprocessor.cpp index bf63ff47..b6dccf6c 100644 --- a/src/frontend/A32/translate/impl/coprocessor.cpp +++ b/src/frontend/A32/translate/impl/coprocessor.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/crc32.cpp b/src/frontend/A32/translate/impl/crc32.cpp index 138d0583..e2d98e9f 100644 --- a/src/frontend/A32/translate/impl/crc32.cpp +++ b/src/frontend/A32/translate/impl/crc32.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/data_processing.cpp b/src/frontend/A32/translate/impl/data_processing.cpp index 32d84203..493fc6d4 100644 --- a/src/frontend/A32/translate/impl/data_processing.cpp +++ b/src/frontend/A32/translate/impl/data_processing.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/divide.cpp b/src/frontend/A32/translate/impl/divide.cpp index 9546c4cd..74971bdf 100644 --- a/src/frontend/A32/translate/impl/divide.cpp +++ b/src/frontend/A32/translate/impl/divide.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/exception_generating.cpp b/src/frontend/A32/translate/impl/exception_generating.cpp index 9ef592b9..36612dfb 100644 --- a/src/frontend/A32/translate/impl/exception_generating.cpp +++ b/src/frontend/A32/translate/impl/exception_generating.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/translate/impl/extension.cpp b/src/frontend/A32/translate/impl/extension.cpp index af75a7c0..c8c5e018 100644 --- a/src/frontend/A32/translate/impl/extension.cpp +++ b/src/frontend/A32/translate/impl/extension.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/hint.cpp b/src/frontend/A32/translate/impl/hint.cpp index 9617699c..7198dd81 100644 --- a/src/frontend/A32/translate/impl/hint.cpp +++ b/src/frontend/A32/translate/impl/hint.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/translate/impl/load_store.cpp b/src/frontend/A32/translate/impl/load_store.cpp index 715aa8c0..727e015e 100644 --- a/src/frontend/A32/translate/impl/load_store.cpp +++ b/src/frontend/A32/translate/impl/load_store.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" @@ -9,35 +8,35 @@ namespace Dynarmic::A32 { bool ArmTranslatorVisitor::arm_LDRBT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_LDRHT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_LDRSBT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_LDRSHT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_LDRT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_STRBT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_STRHT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } bool ArmTranslatorVisitor::arm_STRT() { - ASSERT_MSG(false, "System instructions unimplemented"); + ASSERT_FALSE("System instructions unimplemented"); } static IR::U32 GetAddress(A32::IREmitter& ir, bool P, bool U, bool W, Reg n, IR::U32 offset) { diff --git a/src/frontend/A32/translate/impl/misc.cpp b/src/frontend/A32/translate/impl/misc.cpp index cc63cc61..04994ef9 100644 --- a/src/frontend/A32/translate/impl/misc.cpp +++ b/src/frontend/A32/translate/impl/misc.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" diff --git a/src/frontend/A32/translate/impl/multiply.cpp b/src/frontend/A32/translate/impl/multiply.cpp index 8c61e6ed..b7e92187 100644 --- a/src/frontend/A32/translate/impl/multiply.cpp +++ b/src/frontend/A32/translate/impl/multiply.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/packing.cpp b/src/frontend/A32/translate/impl/packing.cpp index 6dcb3029..fe8ff67c 100644 --- a/src/frontend/A32/translate/impl/packing.cpp +++ b/src/frontend/A32/translate/impl/packing.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/parallel.cpp b/src/frontend/A32/translate/impl/parallel.cpp index c7177a11..a47f38e9 100644 --- a/src/frontend/A32/translate/impl/parallel.cpp +++ b/src/frontend/A32/translate/impl/parallel.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/reversal.cpp b/src/frontend/A32/translate/impl/reversal.cpp index 99469fef..34faf78f 100644 --- a/src/frontend/A32/translate/impl/reversal.cpp +++ b/src/frontend/A32/translate/impl/reversal.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/saturated.cpp b/src/frontend/A32/translate/impl/saturated.cpp index f1d29e32..5238e8e0 100644 --- a/src/frontend/A32/translate/impl/saturated.cpp +++ b/src/frontend/A32/translate/impl/saturated.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/status_register_access.cpp b/src/frontend/A32/translate/impl/status_register_access.cpp index c9e5bb5c..0ed18c00 100644 --- a/src/frontend/A32/translate/impl/status_register_access.cpp +++ b/src/frontend/A32/translate/impl/status_register_access.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" diff --git a/src/frontend/A32/translate/impl/synchronization.cpp b/src/frontend/A32/translate/impl/synchronization.cpp index beb728d7..99d9b1e4 100644 --- a/src/frontend/A32/translate/impl/synchronization.cpp +++ b/src/frontend/A32/translate/impl/synchronization.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/impl/thumb16.cpp b/src/frontend/A32/translate/impl/thumb16.cpp index c825f872..380cf408 100644 --- a/src/frontend/A32/translate/impl/thumb16.cpp +++ b/src/frontend/A32/translate/impl/thumb16.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/translate/impl/thumb32.cpp b/src/frontend/A32/translate/impl/thumb32.cpp index 3b9d5371..c27e5ff9 100644 --- a/src/frontend/A32/translate/impl/thumb32.cpp +++ b/src/frontend/A32/translate/impl/thumb32.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_thumb.h" diff --git a/src/frontend/A32/translate/impl/translate_arm.h b/src/frontend/A32/translate/impl/translate_arm.h index fc0e4f9d..331a23e4 100644 --- a/src/frontend/A32/translate/impl/translate_arm.h +++ b/src/frontend/A32/translate/impl/translate_arm.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/translate/impl/translate_thumb.h b/src/frontend/A32/translate/impl/translate_thumb.h index 9aa21dab..839c3ff2 100644 --- a/src/frontend/A32/translate/impl/translate_thumb.h +++ b/src/frontend/A32/translate/impl/translate_thumb.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/translate/impl/vfp.cpp b/src/frontend/A32/translate/impl/vfp.cpp index ebd1cf1b..b7a80604 100644 --- a/src/frontend/A32/translate/impl/vfp.cpp +++ b/src/frontend/A32/translate/impl/vfp.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/translate/impl/translate_arm.h" diff --git a/src/frontend/A32/translate/translate.cpp b/src/frontend/A32/translate/translate.cpp index acfcc12b..e25a2cd3 100644 --- a/src/frontend/A32/translate/translate.cpp +++ b/src/frontend/A32/translate/translate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A32/location_descriptor.h" diff --git a/src/frontend/A32/translate/translate.h b/src/frontend/A32/translate/translate.h index ba699555..a4928903 100644 --- a/src/frontend/A32/translate/translate.h +++ b/src/frontend/A32/translate/translate.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A32/translate/translate_arm.cpp b/src/frontend/A32/translate/translate_arm.cpp index 8dd85983..644b11c6 100644 --- a/src/frontend/A32/translate/translate_arm.cpp +++ b/src/frontend/A32/translate/translate_arm.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/translate/translate_thumb.cpp b/src/frontend/A32/translate/translate_thumb.cpp index 0dd6c1c9..7eb98156 100644 --- a/src/frontend/A32/translate/translate_thumb.cpp +++ b/src/frontend/A32/translate/translate_thumb.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/types.cpp b/src/frontend/A32/types.cpp index 54cb4a65..6751e6c0 100644 --- a/src/frontend/A32/types.cpp +++ b/src/frontend/A32/types.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A32/types.h b/src/frontend/A32/types.h index 50a76ef8..ea6013ae 100644 --- a/src/frontend/A32/types.h +++ b/src/frontend/A32/types.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once @@ -88,7 +87,7 @@ inline size_t RegNumber(ExtReg reg) { return static_cast(reg) - static_cast(ExtReg::D0); } - ASSERT_MSG(false, "Invalid extended register"); + ASSERT_FALSE("Invalid extended register"); } inline Reg operator+(Reg reg, size_t number) { diff --git a/src/frontend/A64/decoder/a64.h b/src/frontend/A64/decoder/a64.h index 128141ff..0379c32c 100644 --- a/src/frontend/A64/decoder/a64.h +++ b/src/frontend/A64/decoder/a64.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A64/ir_emitter.cpp b/src/frontend/A64/ir_emitter.cpp index ef949d8c..6e87efdf 100644 --- a/src/frontend/A64/ir_emitter.cpp +++ b/src/frontend/A64/ir_emitter.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" diff --git a/src/frontend/A64/ir_emitter.h b/src/frontend/A64/ir_emitter.h index 00d50d5d..f4837d47 100644 --- a/src/frontend/A64/ir_emitter.h +++ b/src/frontend/A64/ir_emitter.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A64/location_descriptor.cpp b/src/frontend/A64/location_descriptor.cpp index 66f053f8..51242493 100644 --- a/src/frontend/A64/location_descriptor.cpp +++ b/src/frontend/A64/location_descriptor.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/location_descriptor.h b/src/frontend/A64/location_descriptor.h index 30f8703d..9a0a7513 100644 --- a/src/frontend/A64/location_descriptor.h +++ b/src/frontend/A64/location_descriptor.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A64/translate/impl/branch.cpp b/src/frontend/A64/translate/impl/branch.cpp index 5b1b7bb1..bc04acd4 100644 --- a/src/frontend/A64/translate/impl/branch.cpp +++ b/src/frontend/A64/translate/impl/branch.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_addsub.cpp b/src/frontend/A64/translate/impl/data_processing_addsub.cpp index 7f7013af..33fd91bf 100644 --- a/src/frontend/A64/translate/impl/data_processing_addsub.cpp +++ b/src/frontend/A64/translate/impl/data_processing_addsub.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_bitfield.cpp b/src/frontend/A64/translate/impl/data_processing_bitfield.cpp index 5cda4d51..2ab9991e 100644 --- a/src/frontend/A64/translate/impl/data_processing_bitfield.cpp +++ b/src/frontend/A64/translate/impl/data_processing_bitfield.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_conditional_compare.cpp b/src/frontend/A64/translate/impl/data_processing_conditional_compare.cpp index 1a4236b6..837e2b52 100644 --- a/src/frontend/A64/translate/impl/data_processing_conditional_compare.cpp +++ b/src/frontend/A64/translate/impl/data_processing_conditional_compare.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_conditional_select.cpp b/src/frontend/A64/translate/impl/data_processing_conditional_select.cpp index f241368d..c2e8503f 100644 --- a/src/frontend/A64/translate/impl/data_processing_conditional_select.cpp +++ b/src/frontend/A64/translate/impl/data_processing_conditional_select.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_crc32.cpp b/src/frontend/A64/translate/impl/data_processing_crc32.cpp index 6378ad8f..9ce80203 100644 --- a/src/frontend/A64/translate/impl/data_processing_crc32.cpp +++ b/src/frontend/A64/translate/impl/data_processing_crc32.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_logical.cpp b/src/frontend/A64/translate/impl/data_processing_logical.cpp index c22c6cc4..3c1b5f35 100644 --- a/src/frontend/A64/translate/impl/data_processing_logical.cpp +++ b/src/frontend/A64/translate/impl/data_processing_logical.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_multiply.cpp b/src/frontend/A64/translate/impl/data_processing_multiply.cpp index bb3bd29d..45ad7df7 100644 --- a/src/frontend/A64/translate/impl/data_processing_multiply.cpp +++ b/src/frontend/A64/translate/impl/data_processing_multiply.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_pcrel.cpp b/src/frontend/A64/translate/impl/data_processing_pcrel.cpp index d61e381b..07f2b5f5 100644 --- a/src/frontend/A64/translate/impl/data_processing_pcrel.cpp +++ b/src/frontend/A64/translate/impl/data_processing_pcrel.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_register.cpp b/src/frontend/A64/translate/impl/data_processing_register.cpp index 939b1645..372e0174 100644 --- a/src/frontend/A64/translate/impl/data_processing_register.cpp +++ b/src/frontend/A64/translate/impl/data_processing_register.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/data_processing_shift.cpp b/src/frontend/A64/translate/impl/data_processing_shift.cpp index b63a861d..243ff6d9 100644 --- a/src/frontend/A64/translate/impl/data_processing_shift.cpp +++ b/src/frontend/A64/translate/impl/data_processing_shift.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/exception_generating.cpp b/src/frontend/A64/translate/impl/exception_generating.cpp index f549a21c..cb39ea7b 100644 --- a/src/frontend/A64/translate/impl/exception_generating.cpp +++ b/src/frontend/A64/translate/impl/exception_generating.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_compare.cpp b/src/frontend/A64/translate/impl/floating_point_compare.cpp index 62578b43..84e21928 100644 --- a/src/frontend/A64/translate/impl/floating_point_compare.cpp +++ b/src/frontend/A64/translate/impl/floating_point_compare.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_conditional_compare.cpp b/src/frontend/A64/translate/impl/floating_point_conditional_compare.cpp index c4b76a96..e6b3f634 100644 --- a/src/frontend/A64/translate/impl/floating_point_conditional_compare.cpp +++ b/src/frontend/A64/translate/impl/floating_point_conditional_compare.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_conditional_select.cpp b/src/frontend/A64/translate/impl/floating_point_conditional_select.cpp index 3e677faf..e5d23382 100644 --- a/src/frontend/A64/translate/impl/floating_point_conditional_select.cpp +++ b/src/frontend/A64/translate/impl/floating_point_conditional_select.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp b/src/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp index d771c2f1..ae75e981 100644 --- a/src/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp +++ b/src/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_conversion_integer.cpp b/src/frontend/A64/translate/impl/floating_point_conversion_integer.cpp index 22d4e314..2e5ff465 100644 --- a/src/frontend/A64/translate/impl/floating_point_conversion_integer.cpp +++ b/src/frontend/A64/translate/impl/floating_point_conversion_integer.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/rounding_mode.h" diff --git a/src/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp b/src/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp index 8c9567c0..49b259bb 100644 --- a/src/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp +++ b/src/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp b/src/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp index 70db9503..018422a6 100644 --- a/src/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp +++ b/src/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp b/src/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp index 8874914e..dda29081 100644 --- a/src/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp +++ b/src/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/impl.cpp b/src/frontend/A64/translate/impl/impl.cpp index ab489794..0f06f985 100644 --- a/src/frontend/A64/translate/impl/impl.cpp +++ b/src/frontend/A64/translate/impl/impl.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" @@ -128,8 +127,7 @@ IR::UAny TranslatorVisitor::I(size_t bitsize, u64 value) { case 64: return ir.Imm64(value); default: - ASSERT_MSG(false, "Imm - get: Invalid bitsize"); - return {}; + ASSERT_FALSE("Imm - get: Invalid bitsize"); } } @@ -144,8 +142,7 @@ IR::UAny TranslatorVisitor::X(size_t bitsize, Reg reg) { case 64: return ir.GetX(reg); default: - ASSERT_MSG(false, "X - get: Invalid bitsize"); - return {}; + ASSERT_FALSE("X - get: Invalid bitsize"); } } @@ -158,7 +155,7 @@ void TranslatorVisitor::X(size_t bitsize, Reg reg, IR::U32U64 value) { ir.SetX(reg, value); return; default: - ASSERT_MSG(false, "X - set: Invalid bitsize"); + ASSERT_FALSE("X - set: Invalid bitsize"); } } @@ -169,7 +166,7 @@ IR::U32U64 TranslatorVisitor::SP(size_t bitsize) { case 64: return ir.GetSP(); default: - ASSERT_MSG(false, "SP - get : Invalid bitsize"); + ASSERT_FALSE("SP - get : Invalid bitsize"); return {}; } } @@ -183,7 +180,7 @@ void TranslatorVisitor::SP(size_t bitsize, IR::U32U64 value) { ir.SetSP(value); break; default: - ASSERT_MSG(false, "SP - set : Invalid bitsize"); + ASSERT_FALSE("SP - set : Invalid bitsize"); } } @@ -196,7 +193,7 @@ IR::U128 TranslatorVisitor::V(size_t bitsize, Vec vec) { case 128: return ir.GetQ(vec); default: - ASSERT_MSG(false, "V - get : Invalid bitsize"); + ASSERT_FALSE("V - get : Invalid bitsize"); } } @@ -213,7 +210,7 @@ void TranslatorVisitor::V(size_t bitsize, Vec vec, IR::U128 value) { ir.SetQ(vec, value); return; default: - ASSERT_MSG(false, "V - Set : Invalid bitsize"); + ASSERT_FALSE("V - Set : Invalid bitsize"); } } @@ -288,7 +285,7 @@ IR::UAnyU128 TranslatorVisitor::Mem(IR::U64 address, size_t bytesize, IR::AccTyp case 16: return ir.ReadMemory128(address); default: - ASSERT_MSG(false, "Invalid bytesize parameter {}", bytesize); + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); return {}; } } @@ -311,7 +308,7 @@ void TranslatorVisitor::Mem(IR::U64 address, size_t bytesize, IR::AccType /*acc_ ir.WriteMemory128(address, value); return; default: - ASSERT_MSG(false, "Invalid bytesize parameter {}", bytesize); + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); return; } } @@ -329,7 +326,7 @@ IR::U32 TranslatorVisitor::ExclusiveMem(IR::U64 address, size_t bytesize, IR::Ac case 16: return ir.ExclusiveWriteMemory128(address, value); default: - ASSERT_MSG(false, "Invalid bytesize parameter {}", bytesize); + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); return {}; } } @@ -341,7 +338,7 @@ IR::U32U64 TranslatorVisitor::SignExtend(IR::UAny value, size_t to_size) { case 64: return ir.SignExtendToLong(value); default: - ASSERT_MSG(false, "Invalid size parameter {}", to_size); + ASSERT_FALSE("Invalid size parameter {}", to_size); return {}; } } @@ -353,7 +350,7 @@ IR::U32U64 TranslatorVisitor::ZeroExtend(IR::UAny value, size_t to_size) { case 64: return ir.ZeroExtendToLong(value); default: - ASSERT_MSG(false, "Invalid size parameter {}", to_size); + ASSERT_FALSE("Invalid size parameter {}", to_size); return {}; } } diff --git a/src/frontend/A64/translate/impl/impl.h b/src/frontend/A64/translate/impl/impl.h index c7236ec6..b3dfb5f0 100644 --- a/src/frontend/A64/translate/impl/impl.h +++ b/src/frontend/A64/translate/impl/impl.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A64/translate/impl/load_store_exclusive.cpp b/src/frontend/A64/translate/impl/load_store_exclusive.cpp index 31d8bd98..b1ce1d11 100644 --- a/src/frontend/A64/translate/impl/load_store_exclusive.cpp +++ b/src/frontend/A64/translate/impl/load_store_exclusive.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/translate/impl/load_store_load_literal.cpp b/src/frontend/A64/translate/impl/load_store_load_literal.cpp index 537bf471..35ef7d38 100644 --- a/src/frontend/A64/translate/impl/load_store_load_literal.cpp +++ b/src/frontend/A64/translate/impl/load_store_load_literal.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/load_store_multiple_structures.cpp b/src/frontend/A64/translate/impl/load_store_multiple_structures.cpp index 74cf36b2..13aa2b48 100644 --- a/src/frontend/A64/translate/impl/load_store_multiple_structures.cpp +++ b/src/frontend/A64/translate/impl/load_store_multiple_structures.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp b/src/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp index a8ce489b..8b324472 100644 --- a/src/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp +++ b/src/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/load_store_register_immediate.cpp b/src/frontend/A64/translate/impl/load_store_register_immediate.cpp index f7784aaf..b0bfeabe 100644 --- a/src/frontend/A64/translate/impl/load_store_register_immediate.cpp +++ b/src/frontend/A64/translate/impl/load_store_register_immediate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/load_store_register_pair.cpp b/src/frontend/A64/translate/impl/load_store_register_pair.cpp index b3d36706..29cab69b 100644 --- a/src/frontend/A64/translate/impl/load_store_register_pair.cpp +++ b/src/frontend/A64/translate/impl/load_store_register_pair.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/load_store_register_register_offset.cpp b/src/frontend/A64/translate/impl/load_store_register_register_offset.cpp index 1d8ee829..bdfb3c6f 100644 --- a/src/frontend/A64/translate/impl/load_store_register_register_offset.cpp +++ b/src/frontend/A64/translate/impl/load_store_register_register_offset.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/load_store_register_unprivileged.cpp b/src/frontend/A64/translate/impl/load_store_register_unprivileged.cpp index e379c4e8..4060b67d 100644 --- a/src/frontend/A64/translate/impl/load_store_register_unprivileged.cpp +++ b/src/frontend/A64/translate/impl/load_store_register_unprivileged.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/load_store_single_structure.cpp b/src/frontend/A64/translate/impl/load_store_single_structure.cpp index a8228536..4787ed47 100644 --- a/src/frontend/A64/translate/impl/load_store_single_structure.cpp +++ b/src/frontend/A64/translate/impl/load_store_single_structure.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/translate/impl/move_wide.cpp b/src/frontend/A64/translate/impl/move_wide.cpp index cdbe5ded..c5050f7d 100644 --- a/src/frontend/A64/translate/impl/move_wide.cpp +++ b/src/frontend/A64/translate/impl/move_wide.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_across_lanes.cpp b/src/frontend/A64/translate/impl/simd_across_lanes.cpp index aebc0c1f..68a2e70c 100644 --- a/src/frontend/A64/translate/impl/simd_across_lanes.cpp +++ b/src/frontend/A64/translate/impl/simd_across_lanes.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_aes.cpp b/src/frontend/A64/translate/impl/simd_aes.cpp index 26e2655b..8eacd5af 100644 --- a/src/frontend/A64/translate/impl/simd_aes.cpp +++ b/src/frontend/A64/translate/impl/simd_aes.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_copy.cpp b/src/frontend/A64/translate/impl/simd_copy.cpp index 5916ba8a..a4a9018c 100644 --- a/src/frontend/A64/translate/impl/simd_copy.cpp +++ b/src/frontend/A64/translate/impl/simd_copy.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" diff --git a/src/frontend/A64/translate/impl/simd_crypto_four_register.cpp b/src/frontend/A64/translate/impl/simd_crypto_four_register.cpp index 973eb625..39f068a4 100644 --- a/src/frontend/A64/translate/impl/simd_crypto_four_register.cpp +++ b/src/frontend/A64/translate/impl/simd_crypto_four_register.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_crypto_three_register.cpp b/src/frontend/A64/translate/impl/simd_crypto_three_register.cpp index e2f55bad..34c15fbd 100644 --- a/src/frontend/A64/translate/impl/simd_crypto_three_register.cpp +++ b/src/frontend/A64/translate/impl/simd_crypto_three_register.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_extract.cpp b/src/frontend/A64/translate/impl/simd_extract.cpp index aae27ea2..cabf6c16 100644 --- a/src/frontend/A64/translate/impl/simd_extract.cpp +++ b/src/frontend/A64/translate/impl/simd_extract.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_modified_immediate.cpp b/src/frontend/A64/translate/impl/simd_modified_immediate.cpp index 90c771d2..a90c93aa 100644 --- a/src/frontend/A64/translate/impl/simd_modified_immediate.cpp +++ b/src/frontend/A64/translate/impl/simd_modified_immediate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" diff --git a/src/frontend/A64/translate/impl/simd_permute.cpp b/src/frontend/A64/translate/impl/simd_permute.cpp index 73dfbe0e..1c936903 100644 --- a/src/frontend/A64/translate/impl/simd_permute.cpp +++ b/src/frontend/A64/translate/impl/simd_permute.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/translate/impl/simd_scalar_pairwise.cpp b/src/frontend/A64/translate/impl/simd_scalar_pairwise.cpp index 462914fe..35c90f59 100644 --- a/src/frontend/A64/translate/impl/simd_scalar_pairwise.cpp +++ b/src/frontend/A64/translate/impl/simd_scalar_pairwise.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp b/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp index 5797d5df..cfe2781e 100644 --- a/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp +++ b/src/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/rounding_mode.h" diff --git a/src/frontend/A64/translate/impl/simd_scalar_three_same.cpp b/src/frontend/A64/translate/impl/simd_scalar_three_same.cpp index 7e3c6764..5feaf1a8 100644 --- a/src/frontend/A64/translate/impl/simd_scalar_three_same.cpp +++ b/src/frontend/A64/translate/impl/simd_scalar_three_same.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp b/src/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp index 692008a3..17f557bc 100644 --- a/src/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp +++ b/src/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp b/src/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp index 350eb2fe..904ec7ad 100644 --- a/src/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp +++ b/src/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include @@ -74,11 +73,11 @@ bool MultiplyByElementHalfPrecision(TranslatorVisitor& v, Imm<1> L, Imm<1> M, Im // for regular multiplication and extended multiplication. if (extra_behavior == ExtraBehavior::None) { - UNIMPLEMENTED(); + ASSERT_FALSE("half-precision option unimplemented"); } if (extra_behavior == ExtraBehavior::MultiplyExtended) { - UNIMPLEMENTED(); + ASSERT_FALSE("half-precision option unimplemented"); } if (extra_behavior == ExtraBehavior::Subtract) { diff --git a/src/frontend/A64/translate/impl/simd_sha.cpp b/src/frontend/A64/translate/impl/simd_sha.cpp index 324fc90e..81cfcab0 100644 --- a/src/frontend/A64/translate/impl/simd_sha.cpp +++ b/src/frontend/A64/translate/impl/simd_sha.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_sha512.cpp b/src/frontend/A64/translate/impl/simd_sha512.cpp index d7893bb1..3bf70a2a 100644 --- a/src/frontend/A64/translate/impl/simd_sha512.cpp +++ b/src/frontend/A64/translate/impl/simd_sha512.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_shift_by_immediate.cpp b/src/frontend/A64/translate/impl/simd_shift_by_immediate.cpp index 3097da5e..d2d2bbcf 100644 --- a/src/frontend/A64/translate/impl/simd_shift_by_immediate.cpp +++ b/src/frontend/A64/translate/impl/simd_shift_by_immediate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/bit_util.h" diff --git a/src/frontend/A64/translate/impl/simd_table_lookup.cpp b/src/frontend/A64/translate/impl/simd_table_lookup.cpp index a40d4073..dbe8d7b8 100644 --- a/src/frontend/A64/translate/impl/simd_table_lookup.cpp +++ b/src/frontend/A64/translate/impl/simd_table_lookup.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_three_different.cpp b/src/frontend/A64/translate/impl/simd_three_different.cpp index a6635d92..e4bdc347 100644 --- a/src/frontend/A64/translate/impl/simd_three_different.cpp +++ b/src/frontend/A64/translate/impl/simd_three_different.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_three_same.cpp b/src/frontend/A64/translate/impl/simd_three_same.cpp index 0268ea14..fa693ca9 100644 --- a/src/frontend/A64/translate/impl/simd_three_same.cpp +++ b/src/frontend/A64/translate/impl/simd_three_same.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_three_same_extra.cpp b/src/frontend/A64/translate/impl/simd_three_same_extra.cpp index b38a6450..07560488 100644 --- a/src/frontend/A64/translate/impl/simd_three_same_extra.cpp +++ b/src/frontend/A64/translate/impl/simd_three_same_extra.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/simd_two_register_misc.cpp b/src/frontend/A64/translate/impl/simd_two_register_misc.cpp index b8eccf4d..a409a3f6 100644 --- a/src/frontend/A64/translate/impl/simd_two_register_misc.cpp +++ b/src/frontend/A64/translate/impl/simd_two_register_misc.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/rounding_mode.h" diff --git a/src/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp b/src/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp index 7ccd0a9b..5644fd16 100644 --- a/src/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp +++ b/src/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/translate/impl/sys_dc.cpp b/src/frontend/A64/translate/impl/sys_dc.cpp index 8f9efef1..4591a9e1 100644 --- a/src/frontend/A64/translate/impl/sys_dc.cpp +++ b/src/frontend/A64/translate/impl/sys_dc.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/system.cpp b/src/frontend/A64/translate/impl/system.cpp index de3c1b9e..1bac82c2 100644 --- a/src/frontend/A64/translate/impl/system.cpp +++ b/src/frontend/A64/translate/impl/system.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/system_flag_format.cpp b/src/frontend/A64/translate/impl/system_flag_format.cpp index c7fc56d9..7fe0c400 100644 --- a/src/frontend/A64/translate/impl/system_flag_format.cpp +++ b/src/frontend/A64/translate/impl/system_flag_format.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/impl/system_flag_manipulation.cpp b/src/frontend/A64/translate/impl/system_flag_manipulation.cpp index 418caf3f..36f1e73b 100644 --- a/src/frontend/A64/translate/impl/system_flag_manipulation.cpp +++ b/src/frontend/A64/translate/impl/system_flag_manipulation.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2019 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/translate/impl/impl.h" diff --git a/src/frontend/A64/translate/translate.cpp b/src/frontend/A64/translate/translate.cpp index f9619b36..7fdeeaed 100644 --- a/src/frontend/A64/translate/translate.cpp +++ b/src/frontend/A64/translate/translate.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "frontend/A64/decoder/a64.h" diff --git a/src/frontend/A64/translate/translate.h b/src/frontend/A64/translate/translate.h index af5dc55f..73cf3bbe 100644 --- a/src/frontend/A64/translate/translate.h +++ b/src/frontend/A64/translate/translate.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/A64/types.cpp b/src/frontend/A64/types.cpp index 518effe6..5f9821ab 100644 --- a/src/frontend/A64/types.cpp +++ b/src/frontend/A64/types.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/A64/types.h b/src/frontend/A64/types.h index fa7c2bbc..c32f6007 100644 --- a/src/frontend/A64/types.h +++ b/src/frontend/A64/types.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/decoder/decoder_detail.h b/src/frontend/decoder/decoder_detail.h index 17cc85b4..5daf7eed 100644 --- a/src/frontend/decoder/decoder_detail.h +++ b/src/frontend/decoder/decoder_detail.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/decoder/matcher.h b/src/frontend/decoder/matcher.h index 4584e7d4..0d6f9f08 100644 --- a/src/frontend/decoder/matcher.h +++ b/src/frontend/decoder/matcher.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/imm.h b/src/frontend/imm.h index 4360a023..a0e666b4 100644 --- a/src/frontend/imm.h +++ b/src/frontend/imm.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/basic_block.cpp b/src/frontend/ir/basic_block.cpp index aa61fe21..421e48fe 100644 --- a/src/frontend/ir/basic_block.cpp +++ b/src/frontend/ir/basic_block.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/ir/basic_block.h b/src/frontend/ir/basic_block.h index c370d1c0..ade9b15b 100644 --- a/src/frontend/ir/basic_block.h +++ b/src/frontend/ir/basic_block.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/cond.h b/src/frontend/ir/cond.h index 8e5b1500..c408b10d 100644 --- a/src/frontend/ir/cond.h +++ b/src/frontend/ir/cond.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/ir_emitter.cpp b/src/frontend/ir/ir_emitter.cpp index e2f0c25d..989278d1 100644 --- a/src/frontend/ir/ir_emitter.cpp +++ b/src/frontend/ir/ir_emitter.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" diff --git a/src/frontend/ir/ir_emitter.h b/src/frontend/ir/ir_emitter.h index ce5207e7..8bd12591 100644 --- a/src/frontend/ir/ir_emitter.h +++ b/src/frontend/ir/ir_emitter.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/location_descriptor.cpp b/src/frontend/ir/location_descriptor.cpp index 6cb35dde..a95c8848 100644 --- a/src/frontend/ir/location_descriptor.cpp +++ b/src/frontend/ir/location_descriptor.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/ir/location_descriptor.h b/src/frontend/ir/location_descriptor.h index fd16c506..a4bfc554 100644 --- a/src/frontend/ir/location_descriptor.h +++ b/src/frontend/ir/location_descriptor.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/microinstruction.cpp b/src/frontend/ir/microinstruction.cpp index e6a9c4ff..102b2640 100644 --- a/src/frontend/ir/microinstruction.cpp +++ b/src/frontend/ir/microinstruction.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/ir/microinstruction.h b/src/frontend/ir/microinstruction.h index 54a2dc61..0facfa0b 100644 --- a/src/frontend/ir/microinstruction.h +++ b/src/frontend/ir/microinstruction.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/opcodes.cpp b/src/frontend/ir/opcodes.cpp index af038bac..3df6db39 100644 --- a/src/frontend/ir/opcodes.cpp +++ b/src/frontend/ir/opcodes.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/ir/opcodes.h b/src/frontend/ir/opcodes.h index 95180075..14e31b50 100644 --- a/src/frontend/ir/opcodes.h +++ b/src/frontend/ir/opcodes.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/terminal.h b/src/frontend/ir/terminal.h index b3794292..b3331f65 100644 --- a/src/frontend/ir/terminal.h +++ b/src/frontend/ir/terminal.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/type.cpp b/src/frontend/ir/type.cpp index a36da196..106a5838 100644 --- a/src/frontend/ir/type.cpp +++ b/src/frontend/ir/type.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/frontend/ir/type.h b/src/frontend/ir/type.h index db60459e..459b7891 100644 --- a/src/frontend/ir/type.h +++ b/src/frontend/ir/type.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/frontend/ir/value.cpp b/src/frontend/ir/value.cpp index 177a0a46..ae86bd6b 100644 --- a/src/frontend/ir/value.cpp +++ b/src/frontend/ir/value.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" @@ -181,7 +180,7 @@ s64 Value::GetImmediateAsS64() const { case IR::Type::U64: return s64(GetU64()); default: - ASSERT_MSG(false, "GetImmediateAsS64 called on an incompatible Value type."); + ASSERT_FALSE("GetImmediateAsS64 called on an incompatible Value type."); } } @@ -200,7 +199,7 @@ u64 Value::GetImmediateAsU64() const { case IR::Type::U64: return u64(GetU64()); default: - ASSERT_MSG(false, "GetImmediateAsU64 called on an incompatible Value type."); + ASSERT_FALSE("GetImmediateAsU64 called on an incompatible Value type."); } } diff --git a/src/frontend/ir/value.h b/src/frontend/ir/value.h index 78e6352d..d250648e 100644 --- a/src/frontend/ir/value.h +++ b/src/frontend/ir/value.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/ir_opt/a32_constant_memory_reads_pass.cpp b/src/ir_opt/a32_constant_memory_reads_pass.cpp index 92426a47..0d21c4e7 100644 --- a/src/ir_opt/a32_constant_memory_reads_pass.cpp +++ b/src/ir_opt/a32_constant_memory_reads_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/a32_get_set_elimination_pass.cpp b/src/ir_opt/a32_get_set_elimination_pass.cpp index 8399d403..c4cce036 100644 --- a/src/ir_opt/a32_get_set_elimination_pass.cpp +++ b/src/ir_opt/a32_get_set_elimination_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/a64_callback_config_pass.cpp b/src/ir_opt/a64_callback_config_pass.cpp index c73865ba..d2470332 100644 --- a/src/ir_opt/a64_callback_config_pass.cpp +++ b/src/ir_opt/a64_callback_config_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/a64_get_set_elimination_pass.cpp b/src/ir_opt/a64_get_set_elimination_pass.cpp index 7efec1e7..fc7db371 100644 --- a/src/ir_opt/a64_get_set_elimination_pass.cpp +++ b/src/ir_opt/a64_get_set_elimination_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/a64_merge_interpret_blocks.cpp b/src/ir_opt/a64_merge_interpret_blocks.cpp index 27022a6e..cff0c383 100644 --- a/src/ir_opt/a64_merge_interpret_blocks.cpp +++ b/src/ir_opt/a64_merge_interpret_blocks.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/constant_propagation_pass.cpp b/src/ir_opt/constant_propagation_pass.cpp index 02e8b104..21ab9146 100644 --- a/src/ir_opt/constant_propagation_pass.cpp +++ b/src/ir_opt/constant_propagation_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/dead_code_elimination_pass.cpp b/src/ir_opt/dead_code_elimination_pass.cpp index cca54293..09208bb5 100644 --- a/src/ir_opt/dead_code_elimination_pass.cpp +++ b/src/ir_opt/dead_code_elimination_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/iterator_util.h" diff --git a/src/ir_opt/identity_removal_pass.cpp b/src/ir_opt/identity_removal_pass.cpp index a52889f0..98c658f2 100644 --- a/src/ir_opt/identity_removal_pass.cpp +++ b/src/ir_opt/identity_removal_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2020 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/ir_matcher.h b/src/ir_opt/ir_matcher.h index 6069a8e9..8436db4a 100644 --- a/src/ir_opt/ir_matcher.h +++ b/src/ir_opt/ir_matcher.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2020 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/src/ir_opt/passes.h b/src/ir_opt/passes.h index 94e389a2..3b8fd698 100644 --- a/src/ir_opt/passes.h +++ b/src/ir_opt/passes.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/src/ir_opt/verification_pass.cpp b/src/ir_opt/verification_pass.cpp index 63c59dc6..ae8057af 100644 --- a/src/ir_opt/verification_pass.cpp +++ b/src/ir_opt/verification_pass.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A32/fuzz_arm.cpp b/tests/A32/fuzz_arm.cpp index e94698b9..f977a658 100644 --- a/tests/A32/fuzz_arm.cpp +++ b/tests/A32/fuzz_arm.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A32/fuzz_thumb.cpp b/tests/A32/fuzz_thumb.cpp index c1416f30..082c168d 100644 --- a/tests/A32/fuzz_thumb.cpp +++ b/tests/A32/fuzz_thumb.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A32/test_arm_disassembler.cpp b/tests/A32/test_arm_disassembler.cpp index daab197b..4e4b0bad 100644 --- a/tests/A32/test_arm_disassembler.cpp +++ b/tests/A32/test_arm_disassembler.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A32/test_arm_instructions.cpp b/tests/A32/test_arm_instructions.cpp index 3488bee1..443a15c4 100644 --- a/tests/A32/test_arm_instructions.cpp +++ b/tests/A32/test_arm_instructions.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A32/test_thumb_instructions.cpp b/tests/A32/test_thumb_instructions.cpp index 8c0ac18f..46169839 100644 --- a/tests/A32/test_thumb_instructions.cpp +++ b/tests/A32/test_thumb_instructions.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A32/testenv.h b/tests/A32/testenv.h index f4db4de4..93f207a4 100644 --- a/tests/A32/testenv.h +++ b/tests/A32/testenv.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/tests/A64/a64.cpp b/tests/A64/a64.cpp index e62a2b83..ce6667fb 100644 --- a/tests/A64/a64.cpp +++ b/tests/A64/a64.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A64/fuzz_with_unicorn.cpp b/tests/A64/fuzz_with_unicorn.cpp index 11e0aa14..cec5d270 100644 --- a/tests/A64/fuzz_with_unicorn.cpp +++ b/tests/A64/fuzz_with_unicorn.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A64/misaligned_page_table.cpp b/tests/A64/misaligned_page_table.cpp index 861922e6..45633764 100644 --- a/tests/A64/misaligned_page_table.cpp +++ b/tests/A64/misaligned_page_table.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/A64/testenv.h b/tests/A64/testenv.h index cc2f9af7..c917f596 100644 --- a/tests/A64/testenv.h +++ b/tests/A64/testenv.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/tests/A64/verify_unicorn.cpp b/tests/A64/verify_unicorn.cpp index e208c4b2..afcb820a 100644 --- a/tests/A64/verify_unicorn.cpp +++ b/tests/A64/verify_unicorn.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/fp/FPToFixed.cpp b/tests/fp/FPToFixed.cpp index 66f178a5..896b7310 100644 --- a/tests/fp/FPToFixed.cpp +++ b/tests/fp/FPToFixed.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/fp/FPValue.cpp b/tests/fp/FPValue.cpp index fd9a2e2a..37859505 100644 --- a/tests/fp/FPValue.cpp +++ b/tests/fp/FPValue.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/fp/info.h" diff --git a/tests/fp/mantissa_util_tests.cpp b/tests/fp/mantissa_util_tests.cpp index 89e9e700..d075849d 100644 --- a/tests/fp/mantissa_util_tests.cpp +++ b/tests/fp/mantissa_util_tests.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/fp/unpacked_tests.cpp b/tests/fp/unpacked_tests.cpp index 6a0d5a30..795271a8 100644 --- a/tests/fp/unpacked_tests.cpp +++ b/tests/fp/unpacked_tests.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/fuzz_util.cpp b/tests/fuzz_util.cpp index c0ba9a96..f6f610c7 100644 --- a/tests/fuzz_util.cpp +++ b/tests/fuzz_util.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/fuzz_util.h b/tests/fuzz_util.h index bdd3d5e9..04bf0f3a 100644 --- a/tests/fuzz_util.h +++ b/tests/fuzz_util.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/tests/main.cpp b/tests/main.cpp index 5f121b5a..a20b397a 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2016 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file diff --git a/tests/print_info.cpp b/tests/print_info.cpp index 45b8f3e3..c8e17240 100644 --- a/tests/print_info.cpp +++ b/tests/print_info.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/rand_int.h b/tests/rand_int.h index 8e954972..ea99e937 100644 --- a/tests/rand_int.h +++ b/tests/rand_int.h @@ -1,6 +1,7 @@ -// Copyright 2016 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ #pragma once diff --git a/tests/unicorn_emu/a32_unicorn.cpp b/tests/unicorn_emu/a32_unicorn.cpp index 25c04b97..3d71d9a9 100644 --- a/tests/unicorn_emu/a32_unicorn.cpp +++ b/tests/unicorn_emu/a32_unicorn.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include diff --git a/tests/unicorn_emu/a32_unicorn.h b/tests/unicorn_emu/a32_unicorn.h index 5f56aa0e..1570ffe6 100644 --- a/tests/unicorn_emu/a32_unicorn.h +++ b/tests/unicorn_emu/a32_unicorn.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once diff --git a/tests/unicorn_emu/a64_unicorn.cpp b/tests/unicorn_emu/a64_unicorn.cpp index f7103005..ae5dd136 100644 --- a/tests/unicorn_emu/a64_unicorn.cpp +++ b/tests/unicorn_emu/a64_unicorn.cpp @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #include "common/assert.h" diff --git a/tests/unicorn_emu/a64_unicorn.h b/tests/unicorn_emu/a64_unicorn.h index 95a1aa12..d0f27ada 100644 --- a/tests/unicorn_emu/a64_unicorn.h +++ b/tests/unicorn_emu/a64_unicorn.h @@ -1,7 +1,6 @@ /* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage - * This software may be used and distributed according to the terms of the GNU - * General Public License version 2 or any later version. + * SPDX-License-Identifier: 0BSD */ #pragma once