Commit graph

758 commits

Author SHA1 Message Date
Andrea Pappacoda
6a2efdda2f chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
Morph
b8cff68056 Merge pull request #8549 from liamwhite/kscheduler-sc
kernel: use KScheduler from Mesosphere
2022-07-25 12:00:31 -04:00
merry
bdf6e32aed Merge pull request #8569 from merryhime/watchpoints
dynarmic: Abort watchpoints ASAP
2022-07-17 22:41:28 +01:00
Liam
9858c3ce34 core/arm: skip watchpoint checks when reading instructions 2022-07-15 19:47:28 -04:00
Merry
f719a0a078 dynarmic: Abort watchpoints ASAP 2022-07-15 10:03:30 +01:00
Liam
e47bced65d kernel: use KScheduler from mesosphere 2022-07-14 22:47:18 -04:00
Mai
485473f118 Merge pull request #8501 from liamwhite/backtrace-again
core/arm: better support for backtrace generation
2022-07-07 23:49:54 -04:00
Morph
f64cc85d4b Merge pull request #8490 from liamwhite/read-code-stop
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-30 20:57:39 -07:00
Liam
416a71804b core/arm: better support for backtrace generation 2022-06-25 12:54:24 -04:00
Liam
83f1ecb73b kernel: make current thread pointer thread local 2022-06-23 00:28:00 -04:00
Liam
0d04631c1f dynarmic: Stop ReadCode callbacks to unmapped addresses 2022-06-21 20:01:43 -04:00
Liam
8d2abc710c core/debugger: memory breakpoint support 2022-06-16 13:18:07 -04:00
Liam
a6c1036ddc core: centralize profile scope for Dynarmic 2022-06-14 18:19:04 -04:00
Liam
8f979d453d common: consolidate ELF structure definitions 2022-06-05 09:42:05 -04:00
Liam
da50e98e3a core/debugger: Improved stepping mechanism and misc fixes 2022-06-01 02:15:15 -04:00
Liam
2ee161a0bf core/debugger: Implement new GDB stub debugger 2022-06-01 00:01:25 -04:00
Lioncash
9272114d86 general: Avoid ambiguous format_to compilation errors
Ensures that we're using the fmt version of format_to.

These are also the only three outliers. All of the other formatters we
have are properly qualified.
2022-05-14 16:48:34 -04:00
Merry
71b0b6274e Remove unused PrepareReschedule function 2022-04-24 12:10:16 +01:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Liam
80afee83ba core/arm: separate backtrace collection 2022-04-20 21:39:42 -04:00
bunnei
cc53f4b48d Merge pull request #8188 from merryhime/jit-race-page-table-changed
dynarmic: Fix race when switching page tables
2022-04-16 00:24:53 -07:00
merry
0b947e0341 dynarmic: Fix single core mode
Regression introduced in ac87509300. Closes #8201.
2022-04-13 20:40:12 +01:00
merry
396a1dc9b0 dynarmic: Fix race when switching page tables 2022-04-10 15:46:29 +01:00
Liam
28fb3e8240 core: extract symbol reading 2022-04-09 02:16:34 -04:00
Fernando S
0bb26a7794 Merge pull request #8148 from merryhime/interrupts
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
merry
8bcfa4046f dynarmic: Print stack trace on unrecognised instruction or other exception 2022-04-05 20:40:20 +01:00
bunnei
18017f7adf Merge pull request #8089 from merryhime/paranoia
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 -07:00
merry
ac87509300 arm_dynarmic: Use HaltReason for svc calls and reschedules 2022-04-03 18:20:11 +01:00
merry
f54345590b dynarmic: Better interrupts 2022-04-03 16:39:48 +01:00
merry
5a37246da6 arm_dynarmic_64: Invalidate on all cores 2022-03-27 15:37:19 +01:00
merry
e752529c4c configuration: Add Paranoid CPU accuracy level
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +00:00
bunnei
89a97915a8 Revert "dynarmic: Reduce size of code caches" 2022-03-22 18:32:54 -07:00
ameerj
22e01068e1 core: Reduce unused includes 2022-03-19 02:23:32 -04:00
Merry
eb30b2382a dynarmic: Reduce size of code caches 2022-03-13 22:17:14 +00:00
merry
3fe2c2d40d dynarmic: Inline exclusive memory accesses
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.

We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.

An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.

See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
Lioncash
8a509e5a2c general: Replace NonCopyable struct with equivalents 2022-02-02 13:17:12 -05:00
jam1garner
4b9926e608 arm: dynarmic: Cleanup icache op handling 2021-11-21 22:44:13 -05:00
jam1garner
068124d506 arm: dynarmic: Implement icache op handling for 'ic iallu' instruction 2021-11-21 21:18:56 -05:00
jam1garner
3f51dd23da arm: dynarmic: Implement icache op handling for 'ic ivau' instruction 2021-11-21 21:10:14 -05:00
ameerj
d27abf5546 core: Remove unused includes 2021-11-03 21:42:57 -04:00
Andrew Strelsky
5179872db6 Fixed ARM_Dynamic_64 Step 2021-10-24 11:16:32 -04:00
lat9nq
95163455a6 settings, arm_dynarmic, yuzu qt: Move CPU debugging option
Decouples the CPU debugging mode from the enumeration to its own
boolean. After this, it moves the CPU Debugging tab over to a sub tab
underneath the Debug tab in the configuration UI.
2021-07-08 16:56:44 -04:00
lat9nq
23660e8fd5 arm_dynarmic_64: Re-add fastmem_address_space_bits to Auto setting 2021-07-08 15:14:45 -04:00
lat9nq
c92f2ecee8 arm_dynarmic{32,64}: Fixes from test build
Now sets optimizations regardless of the Settings. Drops unsafe fastmem
optimization.
2021-07-08 14:56:09 -04:00
lat9nq
14e4dbe61e core,common,yuzu qt: Add CPU accuracy option 'Auto'
The current CPU accuracy settings in yuzu are fairly polarized and
require more than common knowledge to know what the optimal settings for
yuzu would be. This adds a curated option called 'Auto' that applies a
few at the moment known-good unsafe optimizations to Dynarmic.
2021-07-08 14:56:09 -04:00
Wunkolo
722f9c3cb5 common: Replace common_sizes into user-literals
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.

To keep the global namespace clean, users will have to use:

```
using namespace Common::Literals;
```

to access these literals.
2021-06-24 09:27:40 -07:00
Fernando Sahmkow
1592ec32bc Update dynarmic and add new unsafe CPU option. 2021-06-20 20:40:02 +02:00
FernandoS27
3147b9e34c General: Add settings for fastmem and disabling adress space check. 2021-06-11 17:27:17 +02:00
Markus Wick
99f6d60a99 core: Make use of fastmem 2021-06-11 17:27:06 +02:00
bunnei
89c77a6b91 Merge pull request #6385 from degasus/save_memory_access
core/memory: Check our memory fallbacks for out-of-bound behavior.
2021-05-30 23:21:39 -07:00