Commit Graph

8567 Commits

Author SHA1 Message Date
5179915fb4 filesys/ncch: prevent buffer overflow on calculating SHA256 2018-11-10 22:58:32 -05:00
31c394e9b5 qt: Add help option to open yuzu folder 2018-11-09 17:00:14 +01:00
d0edb81182 Memory: convert PAddr for N3DS FCRAM extension 2018-11-09 10:40:04 -05:00
98ddea4ddd Kernel: correct MemoryState for TLS 2018-11-09 00:14:13 -05:00
5325388e24 SVC: QueryMemory merges similar VMA 2018-11-08 20:42:21 -05:00
a59920ed35 Merge pull request #4412 from tgsm/update-contributingmd
CONTRIBUTING.md: migrate to the wiki
2018-11-08 20:56:47 +05:30
39cbd4166c Merge pull request #4409 from valentinvanelslande/cro
ldr_ro: change std::tie to structured binding
2018-11-08 21:39:56 +08:00
2654a679b3 Memory: replace PhysicalToVirtualAddress with a more dedicated function
There is no external use of PhysicalToVirtualAddress any more, so it there is no need to have a generic function that handles all physical regions. Also, the previous APT change makes it possible that linear heap has some regions mapped to old and new VAddr regions at the same time, so we need to check both region and mark cached for the mapped one. RasterizerMarkRegionCached would skip the unmapped one in its loop
2018-11-08 00:19:57 -05:00
8c65433ab5 Kernel, APT: SharedFont/SharedMemoryOnSharedDevice should always use old linear heap VAddr 2018-11-08 00:19:19 -05:00
df1ffeb34f CONTRIBUTING.md: migrate to the wiki 2018-11-08 00:15:55 -05:00
81cbc3fa15 Flatpak support (#4383)
* Initial flatpak support

* Fix compatibility list directory

* Hard-code SSH mount location

* Add workaround documentation

* Change SSH repo directory

* Change SSH repo directory (again)

* Fix variable name

* Remove temporary testing branch placeholder

* Use a flatpak-specific docker image

* Enable network access during the flatpak build so we can download compatibility list the right way

* Fix flatpak tag support

* Fix typo

* Use cloned git for the build

* Change SSH repo location

* Disable shallow git cloning, needed for tagged building
2018-11-07 21:33:36 -05:00
0f4a6e39c9 ldr_ro: change std::tie to structured binding 2018-11-07 13:38:52 -05:00
1444d60109 Merge pull request #4400 from wwylele/core-timing-global
CoreTiming: wrap into class
2018-11-06 20:04:56 -05:00
2067946f59 Kernel: reimplement memory management on physical FCRAM (#4392)
* Kernel: reimplement memory management on physical FCRAM

* Kernel/Process: Unmap does not care the source memory permission

What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there

* Kernel/SharedMemory: zero initialize new-allocated memory

* Process/Thread: zero new TLS entry

* Kernel: fix a bug where code segments memory usage are accumulated twice

It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.

Question: is TLS page also added to this number?

* Kernel/SharedMemory: add more object info on mapping error

* Process: lower log level; SharedMemory: store phys offset

* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
f852f9f219 Merge pull request #4395 from Hexagon12/tx-update-181102
dist/languages: Updated translations
2018-11-06 11:42:18 -05:00
4228cd8b60 Merge pull request #4403 from wwylele/kernel-dtor-2
Kernel: thread manager still has to be destructed first
2018-11-04 12:08:40 -05:00
9458e4d8ec CoreTiming: wrap into class 2018-11-04 10:26:38 -05:00
2d9dfe5bce Kernel: thread manager still has to be destructed first 2018-11-04 09:29:28 -05:00
57e1f47a52 Kernel: destruct thread/timer managers after processes (#4399)
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
ab07d44193 citra_qt/configuration: fix language configuration issues 2018-11-03 09:34:01 +08:00
edb7ef5e5f Updated translations (18/11/02) 2018-11-02 19:07:29 +02:00
7c3d325aff Merge pull request #4389 from wwylele/kernel-global-4
Kernel: clean up the rest of global states
2018-11-01 14:09:27 -04:00
fc84091d88 Service, Kernel: move named port list to kernel 2018-11-01 12:56:40 -04:00
ece96807c4 Kernel: move memory_regions into Kernel instance 2018-11-01 12:56:40 -04:00
263290d48c HLE: move SharedPage into Kernel
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
773ec47629 Kernel: make config_mem and MapSharedPages members of KernelSystem 2018-11-01 12:56:40 -04:00
95790218f2 HLE: move config_mem to kernel
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
a753b9c6cc Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
445538c2cf Merge pull request #4371 from wwylele/kernel-global-3
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
2183d0d6be core: use internal kernel pointer directly 2018-10-30 00:35:37 -04:00
bd4beb6558 Merge pull request #4386 from wwylele/codeset-class
Kernel/CodeSet: change struct to class
2018-10-30 00:30:50 -04:00
c97146226a LLE Mapped Buffer: Addressed comments. 2018-10-29 18:35:34 -04:00
f63098ccdf Kernel/CodeSet: change struct to class
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
67888f92e5 Merge pull request #4348 from B3n30/native_firm_keys
Load keys from save mode native firm
2018-10-28 10:24:29 -04:00
9d05fbbef4 Merge pull request #4369 from FearlessTobi/compat-new
compatdb: Use a seperate endpoint for testcase submission
2018-10-28 03:53:10 -04:00
3219bdb30d Merge pull request #4382 from FearlessTobi/reset-defaults
configure_general: Add an option to reset defaults
2018-10-28 03:52:10 -04:00
96ee82c464 configure_general: Add an option to reset defaults 2018-10-27 22:43:29 +02:00
6e6c437a52 applets: stub mii selector to always return a standard mii
To obtain the data, the LLEd mii selector of system version 11.8.0 was used.
In AppletManager::GlanceParameter, the following code was added to write the returned buffer data to a file:

    if (parameter.buffer.size() == 132) {
        std::u16string name(10, '\0');
        std::memcpy(name.data(), parameter.buffer.data() + 0x26, 10 * sizeof(u16));
        name = std::u16string(name.data());
        FileUtil::IOFile file{fmt::format("{}.mii", Common::UTF16ToUTF8(name)), "wb"};
        file.WriteBytes(parameter.buffer.data(), parameter.buffer.size());
    }

Then "xxd -i" was used on the file to convert it to a hex array.
2018-10-27 12:23:24 +02:00
236a7dba7e Move "Report compatibility" button to Emulation tab 2018-10-27 12:20:03 +02:00
b7117bf050 compatdb: Use a seperate endpoint for testcase submission 2018-10-27 12:20:03 +02:00
5b7d21c3cd FileSys/DelayGenerator: add missing #include and virtual dtor (#4363)
* FileSys/DelayGenerator: add missing #include and virtual dtor

Added the needed include so that it won't cause error if another file includes this without including the depended files

Deleting a virtual class via base type without virtual dtor is UB, which happens inFileBackend.

* FileSys/DelayGenerator: move function definition into cpp file/n/nTo avoid generating vtable in all units that includes the header file

* filesys/delay_generator: rearrange #include
2018-10-27 12:46:03 +08:00
fa46dbdf0b Merge pull request #4376 from FearlessTobi/port-1571
Port yuzu-emu/yuzu#1571: "graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function"
2018-10-26 22:40:55 -04:00
724b458a83 Merge pull request #4373 from FearlessTobi/port-1553
Port yuzu-emu/yuzu#1553: "common: Remove memory_util.h/.cpp"
2018-10-26 22:38:18 -04:00
f274340001 Merge pull request #4374 from FearlessTobi/frontend-ports
Port various frontend cleanups from yuzu
2018-10-26 22:38:07 -04:00
477cda1a7e Merge pull request #4364 from wwylele/gl-error-tr
citra_qt: fix translation for opengl version error
2018-10-26 22:37:47 -04:00
dd626bb5db Merge pull request #4368 from FreddyFunk/unused-import
scripting/citra: Removed unused import binascii
2018-10-26 22:37:31 -04:00
59cb0ec570 Merge pull request #4359 from FearlessTobi/port-webstuff
web_service: Port yuzu-emu/yuzu#1465 and Port yuzu-emu/yuzu#1473 (Many self-contained changes)
2018-10-26 22:34:51 -04:00
27ab61f963 Merge pull request #4375 from FearlessTobi/port-1542
Port yuzu-emu/yuzu#1542: "CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR"
2018-10-26 22:34:00 -04:00
d28233961b Put WebResult into a seperate file 2018-10-27 00:39:02 +02:00
494d86d083 graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function
tr() will not function properly on static/global data like this, as the
object is only ever constructed once, so the strings won't translate if
the language is changed without restarting the program, which is
undesirable. Instead we can just turn the map into a plain old function
that maps the values to their equivalent strings. This is also lessens
the memory allocated, since it's only allocating memory for the strings
themselves, and not an encompassing map as well.
2018-10-27 00:33:31 +02:00