Fernando Sahmkow
90792cdb6e
Core_Timing: Make core_timing threadsafe by default.
...
The old implementation had faulty Threadsafe methods where events could
be missing. This implementation unifies unsafe/safe methods and makes
core timing thread safe overall.
2019-06-16 14:14:35 -04:00
David Marcec
50e3269f3b
Signalled accumulated_suspended_tick_changed_event on creation based on RE
2019-06-16 22:18:54 +10:00
David Marcec
5fb6781c61
Cleanup
2019-06-16 20:18:35 +10:00
David Marcec
335127af69
Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent
...
IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
2019-06-16 19:06:33 +10:00
Zach Hilman
c140b6ae2c
Merge pull request #2581 from lioncash/hex
...
common/hex_util: Combine HexVectorToString() and HexArrayToString()
2019-06-15 16:47:13 -04:00
bunnei
0360c40e90
Merge pull request #2582 from lioncash/reserved
...
file_sys/ips_layer: Remove unnecessary reserve() call
2019-06-14 11:24:18 -04:00
Zach Hilman
a9521c983b
Merge pull request #2580 from lioncash/redundant
...
kernel/vm_manager: Remove redundant Reset call in destructor
2019-06-12 19:26:07 -04:00
Zach Hilman
0f08f2d562
Merge pull request #2577 from lioncash/fs
...
file_sys/card_image: Minor cleanup
2019-06-12 19:23:33 -04:00
Lioncash
18c1d91920
file_sys/ips_layer: Remove unnecessary reserve() call
...
Given 'replace' is assigned to on the following line, this isn't
necessary, given the underlying data is going to be overwritten
entirely.
2019-06-12 18:12:45 -04:00
Lioncash
a62088539e
common/hex_util: Combine HexVectorToString() and HexArrayToString()
...
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
2019-06-12 17:54:05 -04:00
Lioncash
c7daddb715
file_sys/card_image: Remove obsolete TODO
...
We already support Rev 1+.
2019-06-12 16:52:19 -04:00
Lioncash
0af3b4d9f4
kernel/vm_manager: Remove redundant Reset call in destructor
...
This is performing more work than would otherwise be necessary during
VMManager's destruction. All we actually want to occur in this scenario
is for any allocated memory to be freed, which will happen automatically
as the VMManager instance goes out of scope.
Anything else being done is simply unnecessary work.
2019-06-12 16:10:00 -04:00
Lioncash
a602bcaaf8
file_sys/nca_metadata: Update CNMT structures
...
Names a few more entries in relevant structures. Information based off
SwitchBrew and my own RE.
2019-06-10 23:51:06 -04:00
Lioncash
7bdef6106e
file_sys/card_image: Deduplicate casts within AddNCAFromPartition()
...
Makes for nicer reading.
2019-06-10 23:27:14 -04:00
Lioncash
81d361d9f8
file_sys/card_image: Make bracing consistent
...
Makes for more consistent reading.
2019-06-10 23:27:13 -04:00
Lioncash
e34368249f
file_sys/card_image: Assign collapsed NCA contents directly to ncas member
...
Same thing, significantly less noisy.
2019-06-10 23:27:13 -04:00
Lioncash
288d027e89
file_sys/card_image: Deduplicate type cast
...
Same thing, less duplication. We can also std::move raw into the
PartitionFilesystem constructor.
2019-06-10 23:27:05 -04:00
Lioncash
825ffd7b1f
file_sys/card_image: Get rid of a magic number
...
We can just use the size of the array to dehardcode it.
2019-06-10 22:58:08 -04:00
Lioncash
bf35138d1d
file_sys/card_image: Use std::array deduction guides
...
Same thing, less code.
2019-06-10 22:57:53 -04:00
Zach Hilman
fc0bf91a96
kernel: Differentiate kernel and user processes when picking ID
...
This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range.
2019-06-10 00:28:33 -04:00
Zach Hilman
364932df3a
Merge pull request #2571 from lioncash/ref
...
kernel/process: Make Create()'s name parameter be taken by value
2019-06-09 20:43:57 -04:00
Lioncash
fea6568955
kernel/process: Make Create()'s name parameter be taken by value
...
Makes the interface more flexible in terms of how Create() may be
called, while still allowing the parameter itself to be moved into.
2019-06-09 18:47:37 -04:00
Lioncash
3f87664d8f
kernel/svc: Implement TotalMemoryUsedWithoutMmHeap/TotalMemoryAvailableWithoutMmHeap
...
Given we don't currently implement the personal heap yet, the existing
memory querying functions are essentially doing what the memory querying
types introduced in 6.0.0 do.
So, we can build the necessary machinery over the top of those and just
use them as part of info types.
2019-06-09 18:22:30 -04:00
Lioncash
c1a8f684df
kernel/svc: Amend naming for TotalMemoryUsage in svcGetInfo()
...
Disambiguates and makes the name a little more consistent with
TotalPhysicalMemoryUsed.
2019-06-09 18:12:05 -04:00
Lioncash
81b1102090
kernel/svc: Remove duplicate enum entry in svcGetInfo()
2019-06-09 18:08:37 -04:00
Zach Hilman
11f2f0f45c
constants: Extract backup JPEG used by account services
2019-06-07 17:46:57 -04:00
Zach Hilman
de33ad25f5
Merge pull request #2514 from ReinUsesLisp/opengl-compat
...
video_core: Drop OpenGL core in favor of OpenGL compatibility
2019-06-07 17:23:25 -04:00
Zach Hilman
9db119f8a2
kernel_executable: Optimize BLZ decompression
2019-06-06 19:20:15 -04:00
Zach Hilman
adb8a9152b
Merge pull request #2549 from lioncash/header
...
kernel/process: Remove unused boost header include
2019-06-06 14:31:46 -04:00
bunnei
03d9bbaa90
Merge pull request #2551 from lioncash/dtor
...
service/ns: Add missing override specifiers
2019-06-06 10:37:28 -04:00
bunnei
e4fea833d4
Merge pull request #2419 from DarkLordZach/srv-lr-iface
...
lr: Add command handler skeletons for Open*LocationResolver
2019-06-05 18:05:50 -04:00
Lioncash
8304aaf282
service/ns: Add missing override specifiers
2019-06-05 16:20:24 -04:00
Zach Hilman
799302bc9d
Merge pull request #2526 from lioncash/global
...
core/telemetry_session: Remove usages of the global system accessor
2019-06-05 15:57:48 -04:00
Zach Hilman
81e09bb121
Merge pull request #2545 from lioncash/timing
...
core/core_timing_util: Use std::chrono types for specifying time units
2019-06-05 15:52:37 -04:00
Zach Hilman
2beaaa35c5
Merge pull request #2510 from SciresM/desired_language
...
Implement/Fix IApplicationFunctions::GetDesiredLanguage
2019-06-05 15:39:33 -04:00
Lioncash
19dcb50692
kernel/process: Remove unused boost header include
...
Boost headers typically include a lot of other headers, so removing this
can prevent a bit of unnecessary compiler churn when building.
2019-06-05 14:03:29 -04:00
Zach Hilman
c417b4fe28
game_list: Accept *.kip as a file extension of executables
2019-06-05 00:33:05 -04:00
Zach Hilman
ce9f7ac4f2
loader: Add recognition for KIP file type
2019-06-05 00:22:07 -04:00
Zach Hilman
a76bd49268
loader: Add KIP and INI file parser-specific errors
2019-06-05 00:21:44 -04:00
Zach Hilman
c3548967b1
loader: Add AppLoader_KIP for KIP files
2019-06-05 00:21:17 -04:00
Zach Hilman
b550a01f74
program_metadata: Add function to load meta from raw parameters
...
Needed for KIP loading as KIPs do not have an NPDM but do have the essential parts of the data within.
2019-06-05 00:20:26 -04:00
Zach Hilman
0f37096820
partition_data_manager: Remove KIP processing and use FileSys
...
Previously, this TU contained the necessary headers to parse KIP/INI but now it should just use the FileSys class.
2019-06-05 00:19:29 -04:00
Zach Hilman
421c3e831a
file_sys: Add classes to parse KIP1 and INI1 files
2019-06-05 00:18:25 -04:00
Lioncash
2548661c08
core/core_timing_util: Amend casing of cyclesTo* functions
...
Makes the casing consistent with all of our general function naming
conventions.
2019-06-04 20:31:46 -04:00
Lioncash
42f5fd0ab3
core/core_timing_util: Use std::chrono types for specifying time units
...
Makes the interface more type-safe and consistent in terms of return
values.
2019-06-04 20:31:24 -04:00
Lioncash
79189c7e3e
core/core_timing_utils: Simplify overload set
...
Removes unused overloads, simplifying the overall interface,
deduplicating some code.
2019-06-04 19:44:05 -04:00
Lioncash
e32bf646cf
yuzu/bootmanager: Treat the resolution factor as a u32
...
Treating it as a u16 can result in a sign-conversion warning when
performing arithmetic with it, as u16 promotes to an int when aritmetic
is performed on it, not unsigned int.
This also makes the interface more uniform, as the layout interface now
operates on u32 across the board.
2019-06-03 15:34:31 -04:00
bunnei
ed74a3cb8b
Merge pull request #1931 from DarkLordZach/mii-database-1
...
mii: Implement MiiManager backend and several mii service commands
2019-05-30 13:26:40 -04:00
ReinUsesLisp
7259f7a733
rasterizer_opengl: Remove OpenGL core profile
2019-05-30 13:21:00 -03:00
bunnei
665b7e8e18
Merge pull request #2518 from ReinUsesLisp/sdl2-window
...
yuzu_cmd: Split emu_window OpenGL implementation into its own file
2019-05-29 11:01:12 -04:00
Lioncash
8bbe930fac
core/core: Remove unnecessary includes
...
The contents of these includes aren't used anywhere in this translation
unit.
2019-05-29 00:00:27 -04:00
Lioncash
84a8fb9264
core/loader: Remove LoadKernelSystemMode
...
This is a hold-over from Citra and doesn't apply to yuzu.
2019-05-28 22:28:44 -04:00
Lioncash
b1a4ab2ccc
core/telemetry_session: Remove unnecessary web service nulling out in destructor
...
This will automatically occur when the backend instance goes out of
scope at the end of the destructor's execution.
2019-05-28 22:28:18 -04:00
Lioncash
215fd82738
core/telemetry_session: Remove usages of the global system accessor
...
Makes the dependency explicit in the TelemetrySession's interface
instead of making it a hidden dependency.
This also revealed a hidden issue with the way the telemetry session was
being initialized. It was attempting to retrieve the app loader and log
out title-specific information. However, this isn't always guaranteed to
be possible.
During the initialization phase, everything is being constructed. It
doesn't mean an actual title has been selected. This is what the Load()
function is for. This potentially results in dead code paths involving
the app loader. Instead, we explicitly add this information when we know
the app loader instance is available.
2019-05-28 22:28:15 -04:00
Lioncash
05af9d915c
core/telemetry_session: Explicitly delete copy and move constructors
...
NonCopyable is misleading here. It also makes the class non-moveable as
well, so we can be explicit about this.
2019-05-28 21:07:38 -04:00
Lioncash
2fb3b9b951
core/telemetry_session: Remove unused include
2019-05-28 20:56:22 -04:00
bunnei
cfd885163f
Merge pull request #2519 from lioncash/sign
...
loader/nso, core/core_timing_util: Silence sign-comparison warning
2019-05-27 12:26:17 -04:00
Zach Hilman
52b80d231c
ncm: Implement LR OpenAddOnContentLocationResolver (2)
...
Returns an object of type IAddOnContentLocationResolver for the provided StorageId.
2019-05-26 20:37:13 -04:00
Zach Hilman
e0920ef4ba
ncm: Implement LR OpenRegisteredLocationResolver (1)
...
Returns an object of type IRegisteredLocationResolver for the StorageId.
2019-05-26 18:24:48 -04:00
Zach Hilman
33ac193bf6
ncm: Implement LR OpenLocationResolver (0)
...
Returns an object of type ILocationResolver with the provided StorageId.
2019-05-26 18:24:48 -04:00
Zach Hilman
b77fde7c5c
loader: Move NSO module tracking to AppLoader
...
Also cleanup of general stuff
2019-05-26 11:40:46 -04:00
ReinUsesLisp
37eaf39b44
emu_window: Pass OnMinimalClientAreaChangeRequest argument by copy
...
There's no performance improvement in passing an unsigned pair by
reference.
2019-05-26 00:54:13 -03:00
bunnei
bb248a2710
Merge pull request #2509 from lioncash/aoc
...
service/aoc_u: Minor cleanup
2019-05-25 23:00:12 -04:00
Lioncash
0fa039d8d0
core_timing_util: Silence sign-comparison warnings
...
We can just make the conversion explicit instead of implicit here to
silence -Wsign-compare warnings.
2019-05-25 17:01:18 -04:00
Lioncash
e5159cfb84
loader/nso: Silence sign-comparison warning
...
This was previously performing a size_t == int comparison. Silences a
-Wsign-compare warning.
2019-05-25 16:53:33 -04:00
Zach Hilman
cdf52b9374
prepo: Save reports from PlayReport service
...
Logs a lot of seemingly innocuous telemetry games generate.
2019-05-25 16:09:20 -04:00
Zach Hilman
34e9736910
fatal: Save report on fatal:u call
...
Matches offical behavior with creport and replaces old log/text based report system.
2019-05-25 16:09:20 -04:00
Zach Hilman
fc309bf893
service: Save report on unimplemented function call
2019-05-25 16:09:20 -04:00
Zach Hilman
24392c8ec8
applets/error: Save report on error applet
...
This matches official behavior with the erpt/eclct/eupld service chain.
2019-05-25 16:09:20 -04:00
Zach Hilman
bdc47693f1
applets: Save report on stubbed applet
...
This also reworks the applet data storage to be peekable.
2019-05-25 16:09:20 -04:00
Zach Hilman
186db894b9
svc: Save report on call to svcBreak
2019-05-25 16:09:20 -04:00
Zach Hilman
2dde8f5cfe
core: Add Reporter class to take/save reports
2019-05-25 16:09:20 -04:00
Zach Hilman
658d2ee97d
settings: Add 'Reporting Services' config option
...
Full enable/disable for all reports.
2019-05-25 16:09:20 -04:00
Zach Hilman
5574be21cc
arm_interface: Expand backtrace generation
...
Returns results as a vector of entries for further processing. Logs addresses, offsets, and mangled name.
2019-05-25 16:06:53 -04:00
Zach Hilman
2179ad7483
core: Track load offsets of NSO modules
...
Needed for backtrace decomposition
2019-05-25 16:06:53 -04:00
bunnei
d4f8fe24d9
Merge pull request #2489 from FearlessTobi/port-4716
...
Port citra-emu/citra#4716 : "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
2019-05-24 18:23:15 -04:00
Michael Scire
016f2eab73
Fix bitmask logic inversion
2019-05-23 02:37:13 -07:00
Michael Scire
2ed896075e
fix introduced clang-format errors
2019-05-23 01:39:22 -07:00
Michael Scire
d81b58f320
Address review comments
2019-05-23 01:28:27 -07:00
Michael Scire
7fba9c7224
clang-format fixes
2019-05-23 01:14:11 -07:00
Michael Scire
7dbf4c1ae5
Implement IApplicationFunctions::GetDesiredLanguage
2019-05-23 00:55:56 -07:00
Lioncash
3e7d37301a
service/aoc: Avoid allocating and discarding data
...
Previously, the code was accumulating data into a std::vector and then
tossing all of it away if a setting was disabled.
Instead, we can just check if it's disabled and do no work at all if
possible. If it's enabled, then we can append to the vector and
allocate.
Unlikely to impact usage much, but it is slightly less sloppy with
resources.
2019-05-23 00:26:21 -04:00
Lioncash
d0e200a894
service/aoc: Remove unnecessary includes
...
Removes two header dependencies related to file handling that aren't
actually used within the source file.
2019-05-22 23:26:12 -04:00
Lioncash
819d229e76
service/aoc: Pop all passed values where applicable
...
A few of the aoc service stubs/implementations weren't fully popping all
of the parameters passed to them. This ensures that all parameters are
popped and, at minimum, logged out.
2019-05-22 23:24:27 -04:00
bunnei
13dda1d8ed
Merge pull request #2410 from lioncash/affinity
...
kernel/svc: Reorganize and fix up the initial handling of svcSetThreadCoreMask()
2019-05-19 13:59:52 -04:00
Hexagon12
6fd247c84a
Merge pull request #2439 from lioncash/audren
...
service/audren_u: Get rid of magic values within GetAudioRendererWorkBufferSize
2019-05-19 15:23:04 +01:00
Hexagon12
594328f494
Merge pull request #2463 from lioncash/set
...
service/set: Correct and simplify behavior related to copying language codes
2019-05-19 15:17:39 +01:00
Hexagon12
3ff0c70c72
Merge pull request #2487 from lioncash/service-return
...
service/am: Add missing return in error case for IStorageAccessor's Read/Write()
2019-05-19 14:59:40 +01:00
Hexagon12
edf8c0a545
Merge pull request #2490 from lioncash/float
...
ipc_helpers: Amend floating-point type in Pop<double> specialization
2019-05-19 14:50:30 +01:00
Sebastian Valle
27033de2e5
Merge pull request #2486 from lioncash/resetname
...
core/kernel/object: Rename ResetType enum members for clarity
2019-05-19 08:47:59 -05:00
Lioncash
242273788a
ipc_helpers: Amend floating-point type in Pop<double> specialization
...
Currently, this overload isn't used, so this wasn't actually hit in any
code, only the float overload is used.
2019-05-18 22:05:33 -04:00
Tobias
5993133d5e
Address review comment
...
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-05-19 02:14:30 +02:00
Lioncash
d5cce86431
kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally linked
...
These are only used from within this translation unit, so they don't
need to have external linkage. They were intended to be marked with this
anyways to be consistent with the other service functions.
2019-05-18 19:10:34 -04:00
Lioncash
88c263ee8e
service/am: Add missing return in error case for IStorageAccessor's Read()/Write().
...
Previously this would fall through and return successfully, despite
being an out of bounds read or write.
2019-05-18 18:50:04 -04:00
Lioncash
a47aaa7f1b
core/kernel/object: Rename ResetType enum members
...
Renames the members to more accurately indicate what they signify.
"OneShot" and "Sticky" are kind of ambiguous identifiers for the reset
types, and can be kind of misleading. Automatic and Manual communicate
the kind of reset type in a clearer manner. Either the event is
automatically reset, or it isn't and must be manually cleared.
The "OneShot" and "Sticky" terminology is just a hold-over from Citra
where the kernel had a third type of event reset type known as "Pulse".
Given the Switch kernel only has two forms of event reset types, we
don't need to keep the old terminology around anymore.
2019-05-18 15:52:51 -04:00
Weiyi Wang
8d6342384b
HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread
...
This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
2019-05-18 19:53:39 +02:00
Lioncash
c823cf6594
service/set: Correct and simplify behavior related to copying language codes
...
This corrects cases where it was possible to write more entries into the
write buffer than were requested. Now, we check the size of the buffer
before actually writing into them.
We were also returning the wrong value for
GetAvailableLanguageCodeCount2(). This was previously returning 64, but
only 17 should have been returned. 64 entries is the size of the static
array used in MakeLanguageCode() within the service binary itself, but
isn't the actual total number of language codes present.
2019-05-09 21:28:36 -04:00
bunnei
7cb17834c7
Merge pull request #2437 from lioncash/audctl
...
service/audctl: Update documentation comments to be relative to 8.0.0
2019-05-09 13:24:13 -04:00
bunnei
5907619a04
Merge pull request #2445 from FearlessTobi/port-4749
...
Port citra-emu/citra#4749 : "web_service: Misc fixes"
2019-05-09 13:22:00 -04:00
bunnei
5b6571c170
Merge pull request #2453 from lioncash/enum
...
core/memory: Remove unused FlushMode enum
2019-05-09 13:19:49 -04:00
Lioncash
495a8d8d95
core/memory: Remove unused FlushMode enum
...
Recent changes to memory-related code resulted in this being unused, so
we can remove it.
2019-05-07 13:55:17 -04:00
zhupengfei
10c4f23953
core/telemetry_session: Only create the backend when we really need it
...
The backend is not used until we decide to submit the testcase/telemetry, and creating it early prevents users from updating the credentials properly while the games are running.
2019-05-04 19:45:48 +02:00
Lioncash
1230a0e7ce
core/frontend/emu_window: Make GraphicsContext's destructor virtual
...
This class is used in a polymorphic context, so destruction of the
context will lead to undefined behavior if the destructor isn't virtual.
2019-05-04 01:47:38 -04:00
Lioncash
2bcb8a20b4
service/audren_u: Handle variadic command buffers in GetWorkBufferSize()
...
Also introduced in REV5 was a variable-size audio command buffer. This
also affects how the size of the work buffer should be determined, so we
can add handling for this as well.
Thankfully, no other alterations were made to how the work buffer size
is calculated in 7.0.0-8.0.0. There were indeed changes made to to how
some of the actual audio commands are generated though (particularly in
REV7), however they don't apply here.
2019-04-30 23:52:28 -04:00
Lioncash
03746be097
service/audren_u: Handle version 2 of performance frame info in GetWorkBufferSize()
...
Introduced in REV5. This is trivial to add support for, now that
everything isn't a mess of random magic constant values.
All this is, is a change in data type sizes as far as this function
cares.
2019-04-30 23:52:28 -04:00
Lioncash
de93507a5a
service/audren_u: Clean up work buffer calculations
...
"Unmagics" quite a few magic constants within this code, making it much
easier to understand. Particularly given this factors out specific
sections into their own self-contained lambda functions.
2019-04-30 23:51:59 -04:00
Lioncash
75a8b304d4
loader/nso: Remove left-in debug pragma
...
Unintentionally introduced in 552d5071fa
2019-04-30 22:55:53 -04:00
Lioncash
19632d2421
kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread calls show up in the debug log
...
These are actually quite important indicators of thread lifetimes, so
they should be going into the debug log, rather than being treated as
misc info and delegated to the trace log.
2019-04-29 01:38:27 -04:00
Lioncash
d672c6e759
kernel/svc: Reorganize svcSetThreadCoreMask()
...
Makes the code much nicer to follow in terms of behavior and control
flow. It also fixes a few bugs in the implementation.
Notably, the thread's owner process shouldn't be accessed in order to
retrieve the core mask or ideal core. This should be done through the
current running process. The only reason this bug wasn't encountered yet
is because we currently only support running one process, and thus every
owner process will be the current process.
We also weren't checking against the process' CPU core mask to see if an
allowed core is specified or not.
With this out of the way, it'll be less noisy to implement proper
handling of the affinity flags internally within the kernel thread
instances.
2019-04-29 01:38:27 -04:00
Lioncash
69a2003a8e
kernel/thread: Update thread processor ID flags
...
Adds the missing flags to the enum and documents them.
2019-04-29 01:37:51 -04:00
bunnei
2be32eb3d2
Merge pull request #2412 from lioncash/system
...
kernel/vm_manager: Remove usages of global system accessors
2019-04-28 22:27:14 -04:00
Lioncash
565fce71b1
service/audctl: Update documentation comments to be relative to 8.0.0
...
The state of these service calls are still the same in version 8.0.0.
2019-04-27 23:17:58 -04:00
Zach Hilman
4e462d1fd7
mii_manager: Fix incorrect loop condition in mii UUID generation code
2019-04-25 08:57:23 -04:00
Zach Hilman
851c01c45e
profile_select: Port Service::Account::UUID to Common::UUID
2019-04-25 08:13:11 -04:00
Zach Hilman
1aa2b99a98
mii: Implement Delete and Destroy file
2019-04-25 08:07:57 -04:00
Zach Hilman
c40cff454d
mii: Implement IsUpdated command (IPC 0)
2019-04-25 08:07:57 -04:00
Zach Hilman
f0db2e3ef3
mii_manager: Cleanup and optimization
2019-04-25 08:07:57 -04:00
Zach Hilman
e25a7891e9
mii: Implement IDatabaseService commands using MiiManager
...
Since the MiiManager was designed around the IPC interface, this is quite easy. Only functions that were clearly defined were implemented.
2019-04-25 08:07:57 -04:00
Zach Hilman
daf5b8c61b
mii: Add MiiManager class to manage Mii database
...
Provides serialization/deserialization to the database in system save files, accessors for database state and proper handling of both major Mii formats (MiiInfo and MiiStoreData)
2019-04-25 08:07:57 -04:00
Zach Hilman
ca5638a142
common: Extract UUID to its own class
...
Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
2019-04-25 08:07:57 -04:00
bunnei
78574e7a47
Merge pull request #2416 from lioncash/wait
...
kernel/svc: Clean up wait synchronization related functionality
2019-04-24 22:56:08 -04:00
bunnei
94db649205
Merge pull request #2424 from FernandoS27/compat
...
Allow picking a Compatibility Profile for OpenGL.
2019-04-24 22:54:27 -04:00
bunnei
53f746fa9a
Merge pull request #2228 from DarkLordZach/applet-manager-p1
...
applets: Add AppletManager and implement PhotoViewer and Error applets
2019-04-24 22:53:21 -04:00
bunnei
9cab042674
Merge pull request #2420 from lioncash/audctl
...
service/audctl: Implement GetTargetVolumeMin() and GetTargetVolumeMax()
2019-04-22 22:12:48 -04:00
Fernando Sahmkow
788497fd9d
Allow picking a Compatibility Profile for OpenGL.
...
This option allows picking the compatibility profile since a lot of bugs
are fixed in it. We devs will use this option to easierly debug current
problems in our Core implementation.:wq
2019-04-20 00:05:24 -04:00
bunnei
62c2404d3c
Merge pull request #2415 from lioncash/const
...
kernel/wait_object: Make GetHighestPriorityReadyThread() a const member function
2019-04-19 19:12:02 -04:00
bunnei
b6faea0dd2
Merge pull request #2421 from lioncash/svc-call
...
kernel/svc: Name supervisor call 0x36
2019-04-19 19:10:20 -04:00
bunnei
40dc893c37
Merge pull request #2374 from lioncash/pagetable
...
core: Reorganize boot order
2019-04-19 19:09:20 -04:00
Lioncash
f8be3f55da
kernel/svc: Name supervisor call 0x36
...
This call was added to the SVC handlers in the 8.0.0 kernel, so we can
finally give it a name.
2019-04-19 14:34:56 -04:00
Lioncash
19f8f86bdb
service/audctl: Implement GetTargetVolumeMin() and GetTargetVolumeMax()
...
These two service functions are literally hardcoded to always return
these values without any other error checking.
2019-04-18 16:39:54 -04:00
bunnei
83b830eb2f
Merge pull request #2397 from lioncash/thread-unused
...
kernel/thread: Remove unused guest_handle member variable
2019-04-17 21:46:46 -04:00
Zach Hilman
2adb226b26
web_browser: Make OpenPage non-const
2019-04-17 11:35:24 -04:00
Zach Hilman
8f8049e846
main: Add GMainWindow hooks for Error display
2019-04-17 11:35:24 -04:00
Zach Hilman
f6e2295055
general_backend: Move StubApplet and add backend PhotoViewer
2019-04-17 11:35:24 -04:00
Zach Hilman
80c9e4d3ab
general_frontend: Add frontend scaffold for PhotoViewer applet
2019-04-17 11:35:24 -04:00
Zach Hilman
d9f6715d45
frontend: Add frontend receiver for Error applet
2019-04-17 11:35:24 -04:00
Zach Hilman
de3cfb1d37
applets: Add Error applet
...
Responsible for displaying error codes and messages
2019-04-17 11:35:24 -04:00
Zach Hilman
d273bec68f
applets: Port current applets to take frontend in constructor
...
As opposed to using Core::System::GetInstance()
2019-04-17 11:35:24 -04:00
Zach Hilman
f7540157e4
web_browser: Make OpenPage const
2019-04-17 11:35:24 -04:00
Zach Hilman
ec0bc3061e
core: Remove specific applets in favor of AppletManager
2019-04-17 11:35:24 -04:00
Zach Hilman
6cea62b756
am: Delegate applet creation to AppletManager
2019-04-17 11:35:24 -04:00
Zach Hilman
e51d33f0ce
applets: Add AppletManager class to control lifetime
2019-04-17 11:35:24 -04:00
Lioncash
c268ffd831
kernel/thread: Unify wait synchronization types
...
This is a holdover from Citra, where the 3DS has both
WaitSynchronization1 and WaitSynchronizationN. The switch only has one
form of wait synchronizing (literally WaitSynchonization). This allows
us to throw out code that doesn't apply at all to the Switch kernel.
Because of this unnecessary dichotomy within the wait synchronization
utilities, we were also neglecting to properly handle waiting on
multiple objects.
While we're at it, we can also scrub out any lingering references to
WaitSynchronization1/WaitSynchronizationN in comments, and change them
to WaitSynchronization (or remove them if the mention no longer
applies).
2019-04-17 09:30:56 -04:00
Lioncash
433b59c112
kernel/svc: Migrate svcCancelSynchronization behavior to a thread function
...
The actual behavior of this function is slightly more complex than what
we're currently doing within the supervisor call. To avoid dumping most
of this behavior in the supervisor call itself, we can migrate this to
another function.
2019-04-17 09:30:56 -04:00
Lioncash
6b2bece81f
kernel/wait_object: Make GetHighestPriorityReadyThread() a const member function
...
This doesn't actually modify internal state of a wait object, so it can
be const qualified.
2019-04-17 06:44:34 -04:00
Lioncash
b6a87b422e
kernel/vm_manager: Remove usages of global system accessors
...
Makes the dependency on the system instance explicit within VMManager's
interface.
2019-04-16 20:02:50 -04:00
bunnei
9186f76b07
Merge pull request #2382 from lioncash/table
...
service: Update service function tables
2019-04-15 21:46:15 -04:00
bunnei
fc64156533
Merge pull request #2393 from lioncash/svc
...
kernel/svc: Implement svcMapProcessCodeMemory/svcUnmapProcessCodeMemory
2019-04-15 21:43:56 -04:00
Lioncash
3283aa1e20
svc: Specify handle value in thread's name
...
Allows the handle to be seen alongside the entry point.
2019-04-15 15:56:18 -04:00
Lioncash
e3566e6c1d
kernel/thread: Remove BoostPriority()
...
This is a holdover from Citra that currently remains unused, so it can
be removed from the Thread interface.
2019-04-15 06:59:19 -04:00