Commit Graph

8255 Commits

Author SHA1 Message Date
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
9f6c1b058a CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
This is more localized to what we want to enforce directory-wise with
the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but
this would cause the wrong behavior if someone included yuzu as part of
a larger buildsystem (for whatever reason). Instead, we want to use the
directory where the "project(yuzu)" command was declared as the root
path reference.
2018-10-27 00:20:52 +02:00
446989aaaf common: Actually remove memory_util.cpp 2018-10-27 00:14:23 +02:00
a74d97b15f configure_system: Default initialize member variables
These should be initialized to deterministic values so it's easier to
catch improper behavior, as it'll always be reproducable, instead of
performing uninitialized reads.
2018-10-27 00:02:27 +02:00
470cc66049 configure_system: Amend function casing 2018-10-27 00:00:43 +02:00
97cdf44ddd configure_system: Add missing override specifier on the destructor 2018-10-26 23:59:18 +02:00
452cfb46a9 configure_system: Make public slots private
These are only used within this class, so we can make them private to
keep their use contained. This also gets rid of the pre-Qt5 'slot'
identifier, since Qt 5's connection syntax doesn't require a function to
be declared a slot anymore.
2018-10-26 23:58:37 +02:00
027197cf1f bootmanager: Use QStringLiteral instead of std::string to represent the window title
This gets rid of an unnecessary type conversion. We can just use the
regular QStringLiteral to already format the string as the type
setWindowTitle accepts instead of converting from a std::string
instance.
2018-10-26 23:56:04 +02:00
bf6dd78324 yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
Same behavior, less code.
2018-10-26 23:53:58 +02:00
f4bd5c3559 yuzu/configuration/config: Reorganize member variable and function layout
Makes the class layout consistent with the others.
2018-10-26 23:52:25 +02:00
452ccf02a6 game_list: Make game list column headers translatable
These are user-facing strings, so they should be marked as translatable
2018-10-26 23:51:04 +02:00
24b931eca1 CMakeLists: Remove EMU_ARCH_BITS definition
This was only ever used by the now-removed memory_util functions. Also,
given we don't plan to support 32-bit architectures, this is just a
leftover from citra at this point.
2018-10-26 23:40:08 +02:00
0242d2b13a common: Remove memory_util.cpp/.h
Everything from here is completely unused and also written with the
notion of supporting 32-bit architecture variants in mind. Given the
Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
architectures. If we need specific allocation functions in the future,
it's likely more worthwhile to new functions for that purpose.
2018-10-26 23:39:08 +02:00