Zach Hilman
32bfa92c71
core: Add getter and setter for WebBrowserApplet frontend
2018-12-28 15:32:39 -05:00
Zach Hilman
85a3368e6d
frontend: Add frontend responder for web browser
2018-12-28 15:32:39 -05:00
Zach Hilman
69f622be36
applets: Implement LibAppletOff (Web) applet
2018-12-28 15:32:39 -05:00
Zach Hilman
4c20a39828
loader: Add accessor for Manual RomFS
2018-12-28 15:32:39 -05:00
Zach Hilman
621b25b6be
hid: Make Hid service accessible and add GetPressState
2018-12-28 15:32:03 -05:00
Zach Hilman
abbcc8e61e
romfs: Add SingleDiscard extraction type
...
Needed for manual RomFS extraction, as Full generates an extra directory and Truncated generates variable results.
2018-12-28 15:30:36 -05:00
Zach Hilman
94db6e5f3f
am: Add size parameter to am:IStorage logging
2018-12-28 15:30:36 -05:00
bunnei
19bfbb28ce
Merge pull request #1954 from lioncash/npdm
...
file_sys/program_metadata: Print out more descriptive address space descriptions
2018-12-27 19:58:36 -05:00
Lioncash
9aa68212d9
file_sys/program_metadata: Print out more descriptive address space descriptions
...
Provides extra information that makes it easier to tell if an executable
being run is using a 36-bit address space or a 39-bit address space.
While we don't support AArch32 executables yet, this also puts in
distinguishing information for the 32-bit address space types as well.
2018-12-27 19:16:45 -05:00
Lioncash
fbeaa330a3
kernel/process: Remove most allocation functions from Process' interface
...
In all cases that these functions are needed, the VMManager can just be
retrieved and used instead of providing the same functions in Process'
interface.
This also makes it a little nicer dependency-wise, since it gets rid of
cases where the VMManager interface was being used, and then switched
over to using the interface for a Process instance. Instead, it makes
all accesses uniform and uses the VMManager instance for all necessary
tasks.
All the basic memory mapping functions did was forward to the Process'
VMManager instance anyways.
2018-12-27 19:08:47 -05:00
bunnei
795335af0f
Merge pull request #1928 from lioncash/caps
...
kernel: Handle kernel capability descriptors
2018-12-27 11:15:34 -05:00
bunnei
8e23e40a72
Merge pull request #1929 from bunnei/fix-hid
...
hid: Fix SetNpadJoyHoldType and improve logging.
2018-12-27 11:04:56 -05:00
bunnei
2991c747c9
Merge pull request #1945 from bunnei/fix-hid-horiz
...
npad: Remove code to invert input in horizontal mode.
2018-12-27 11:04:40 -05:00
bunnei
7477c12fe2
Merge pull request #1949 from lioncash/unmap
...
kernel/vm_manager: Reset region attributes when unmapping a VMA
2018-12-27 11:04:26 -05:00
Zach Hilman
c643f364b4
am: Implement GetSaveDataSize and ExtendSaveData
...
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
2018-12-27 00:18:00 -05:00
Zach Hilman
2e6b67a079
filesystem: Populate save data sizes from control data
2018-12-27 00:18:00 -05:00
Zach Hilman
4082c4eda6
savedata_factory: Partially implement IVFC save sizes using files
...
This stores a file in the save directory called '.yuzu_save_size' which stores the two save sizes (normal area and journaled area) sequentially as u64s.
2018-12-27 00:18:00 -05:00
Zach Hilman
0756f29a2c
loader: Add accessor for game control data
2018-12-27 00:16:55 -05:00
Zach Hilman
417e1ef09c
control_metadata: Update NACP fields with latest Switchbrew data
2018-12-27 00:16:55 -05:00
Zach Hilman
5c4259ec1a
control_metadata: Use value member instead of unique_ptr to store struct
...
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
2018-12-27 00:16:55 -05:00
Zach Hilman
4a6ba58073
vfs: Add reinterpret_casts to WriteArray and Object
...
Allows these functions to compile when T is not u8.
2018-12-27 00:16:55 -05:00
Lioncash
1392597ede
kernel/vm_manager: Reset region attributes when unmapping a VMA
...
Like the other members related to memory regions, the attributes need to
be reset back to their defaults as well.
2018-12-26 20:15:29 -05:00
bunnei
ae582b6669
Merge pull request #1849 from encounter/svcSetThreadActivity
...
svc: Implement SetThreadActivity (thread suspension)
2018-12-26 15:54:14 -05:00
bunnei
7e622c5575
npad: Remove code to invert input in horizontal mode.
...
- This was incorrect, the game appears to handle this for us.
- Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
2018-12-26 15:47:11 -05:00
bunnei
9a22a94a51
Merge pull request #1886 from FearlessTobi/port-4164
...
Port citra-emu/citra#4164 : "citra_qt, video_core: Screenshot functionality"
2018-12-23 14:36:51 -05:00
bunnei
f95f6c7d86
Merge pull request #1781 from DarkLordZach/applet-profile-select
...
am: Implement HLE profile selector applet
2018-12-23 14:35:13 -05:00
bunnei
e75e8b9580
Merge pull request #1921 from ogniK5377/no-unit
...
Fixed uninitialized memory due to missing returns in canary
2018-12-21 14:12:54 -05:00
bunnei
59ac3346eb
Merge pull request #1925 from lioncash/pid
...
kernel/{process, thread}: Amend behavior related to IDs
2018-12-21 13:45:27 -05:00
bunnei
41cbd088c2
Merge pull request #1914 from lioncash/id
...
service/am: Unstub GetAppletResourceUserId
2018-12-21 13:43:51 -05:00
bunnei
1120e0b4d2
hid: Fix SetNpadJoyHoldType and improve logging.
2018-12-21 13:37:39 -05:00
Lioncash
002ae08bbd
kernel/process: Hook up the process capability parser to the process itself
...
While we're at it, we can also toss out the leftover capability parsing
from Citra.
2018-12-21 07:05:34 -05:00
Lioncash
d09fb82113
kernel/process_capability: Handle debug capability flags
2018-12-21 07:05:34 -05:00
Lioncash
10824c5d63
kernel/process_capability: Handle handle table capability flags
...
This just specifies the handle table size. There's also a section of
reserved bits that are checked against.
2018-12-21 07:05:34 -05:00
Lioncash
e0e84aede0
kernel/process_capability: Handle kernel version capability flags
2018-12-21 07:05:34 -05:00
Lioncash
010bc677f3
kernel/process_capability: Handle program capability flags
2018-12-21 07:05:34 -05:00
Lioncash
0f216d20e3
kernel/process_capability: Handle interrupt capability flags
...
Similar to the service capability flags, however, we currently don't
emulate the GIC, so this currently handles all interrupts as being valid
for the time being.
2018-12-21 07:05:34 -05:00
Lioncash
3dc59b74ec
kernel/process_capability: Handle syscall capability flags
2018-12-21 07:05:34 -05:00
Lioncash
27caf71204
kernel/process_capability: Handle the priority mask and core mask flags
...
Handles the priority mask and core mask flags to allow building up the
masks to determine the usable thread priorities and cores for a kernel
process instance.
2018-12-21 07:05:34 -05:00
Lioncash
6ff5135521
kernel/process: Introduce process capability parsing skeleton
...
We've had the old kernel capability parser from Citra, however, this is
unused code and doesn't actually map to how the kernel on the Switch
does it. This introduces the basic functional skeleton for parsing
process capabilities.
2018-12-21 07:05:31 -05:00
bunnei
4923df10cc
Merge pull request #1923 from ogniK5377/nfp-device-list
...
Device handle should not be a random id, instead it's the current npad id
2018-12-19 13:14:43 -05:00
bunnei
80d36634e1
Merge pull request #1915 from lioncash/sm
...
service/sm: Improve debug log for RegisterService
2018-12-19 13:10:11 -05:00
Lioncash
b74eb88c68
kernel/svc: Handle thread handles within GetProcessId
...
If a thread handle is passed to svcGetProcessId, the kernel attempts to
access the process ID via the thread's instance's owning process.
Technically, this function should also be handling the kernel debug
objects as well, however we currently don't handle those kernel objects
yet, so I've left a note via a comment about it to remind myself when
implementing it in the future.
2018-12-19 12:16:15 -05:00
bunnei
e73dd39413
Merge pull request #1907 from lioncash/attribute
...
kernel/svc: Implement svcSetMemoryAttribute
2018-12-19 11:50:50 -05:00
Lioncash
caab838bdb
svc: Implement svcSetMemoryAttribute
...
With all the basic backing functionality implemented, we can now unstub
svcSetMemoryAttribute.
2018-12-19 10:59:40 -05:00
Lioncash
622242e345
vm_manager: Add member function for setting memory attributes across an address range
...
This puts the backing functionality for svcSetMemoryAttribute in place,
which will be utilized in a following change.
2018-12-19 10:59:40 -05:00
Lioncash
603cc72168
vm_manager: Add member function for checking a memory range adheres to certain attributes, permissions and states
2018-12-19 10:59:36 -05:00
Lioncash
62d4377053
kernel/kernel: Use correct initial PID for userland Process instances
...
Starts the process ID counter off at 81, which is what the kernel itself
checks against internally when creating processes. It's actually
supposed to panic if the PID is less than 81 for a userland process.
2018-12-18 22:54:01 -05:00
Lioncash
0906302ca9
kernel/svc: Correct output parameter for svcGetThreadId
...
The service call uses a 64-bit value, just like svcGetProcessId. This
amends the function signature accordingly.
2018-12-18 22:38:26 -05:00
Lioncash
8435451093
kernel/thread: Make thread_id a 64-bit value
...
The kernel uses a 64-bit value for the thread ID, so we shouldn't be
using a 32-bit value.
2018-12-18 22:37:03 -05:00
Lioncash
43e1189688
kernel/svc: Correct output parameter for svcGetProcessId
...
svcGetProcessId's out parameter is a pointer to a 64-bit value, not a
32-bit one.
2018-12-18 22:30:56 -05:00