mirror of
https://github.com/bolucat/Archive.git
synced 2025-12-24 13:28:37 +08:00
Update On Thu Apr 18 20:29:27 CEST 2024
This commit is contained in:
@@ -20,7 +20,7 @@ permissions: {}
|
||||
jobs:
|
||||
codespell:
|
||||
name: Check for spelling errors
|
||||
runs-on: verify
|
||||
runs-on: docker
|
||||
steps:
|
||||
- uses: https://code.forgejo.org/actions/checkout@v3
|
||||
with:
|
||||
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
|
||||
reuse:
|
||||
name: Check REUSE Specification
|
||||
runs-on: verify
|
||||
runs-on: docker
|
||||
if: ${{ github.repository == 'suyu/suyu' }}
|
||||
steps:
|
||||
- uses: https://code.forgejo.org/actions/checkout@v3
|
||||
|
||||
@@ -38,7 +38,7 @@ env:
|
||||
jobs:
|
||||
format:
|
||||
name: 'Verify Format'
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: docker
|
||||
container: fijxu/build-environments:linux-clang-format
|
||||
steps:
|
||||
- uses: https://code.forgejo.org/actions/checkout@v3
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
build-linux:
|
||||
name: 'test build'
|
||||
needs: format
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: docker
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -175,7 +175,7 @@ jobs:
|
||||
# name: ${{ env.INDIVIDUAL_EXE }}
|
||||
# path: ${{ env.INDIVIDUAL_EXE }}
|
||||
android:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: docker
|
||||
container: fijxu/build-environments:android
|
||||
needs: format
|
||||
steps:
|
||||
|
||||
@@ -21,9 +21,10 @@ Support the original suyu developer team [here](https://discord.gg/ajz5hdrZ)
|
||||
<br>
|
||||
</h1>
|
||||
|
||||
<h4 align="center"><b>suyu</b> was the continuation of the world's most popular, open-source, Nintendo Switch emulator, yuzu.
|
||||
<h4 align="center"><b>suyu</b> was the continuation of the world's most popular, open-source Nintendo Switch emulator, yuzu, but is now something more.
|
||||
<br>
|
||||
It is written in C++ (C# possibly required soon) with portability in mind, and we're actively working on builds for Windows, Linux and Android along with a custom OS called [suyuos](https://git.suyu.dev/suyu/suyu-os).
|
||||
It is written in C++ (C# possibly required soon) with portability in mind, we actively work on builds for Windows, Linux, Android and hopefully IOS, along with a WIP custom OS called suyuOS (https://git.suyu.dev/suyu/suyu-os) .
|
||||
|
||||
</h4>
|
||||
|
||||
<p align="center">
|
||||
@@ -61,6 +62,7 @@ You can also contact any of the developers on Discord to learn more about the cu
|
||||
* __Linux__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
* __macOS__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
* __Android__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
* __For IOS users, we recommend Sudachi__: [Releases](https://github.com/emuPlace/Sudachi/releases)
|
||||
|
||||
If you want daily builds then [Click here](https://git.suyu.dev/suyu/suyu/actions)
|
||||
If you don't know how to download the daily builds then [Click here](https://git.suyu.dev/suyu/suyu/raw/branch/dev/img/daily-builds.png)
|
||||
|
||||
@@ -172,6 +172,7 @@ Result KPageTableBase::InitializeForKernel(bool is_64_bit, KVirtualAddress start
|
||||
m_mapped_unsafe_physical_memory = 0;
|
||||
m_mapped_insecure_memory = 0;
|
||||
m_mapped_ipc_server_memory = 0;
|
||||
m_alias_region_extra_size = 0;
|
||||
|
||||
m_memory_block_slab_manager =
|
||||
m_kernel.GetSystemSystemResource().GetMemoryBlockSlabManagerPointer();
|
||||
@@ -269,6 +270,12 @@ Result KPageTableBase::InitializeForProcess(Svc::CreateProcessFlag as_type, bool
|
||||
process_code_end = m_code_region_end;
|
||||
}
|
||||
|
||||
m_alias_region_extra_size = 0;
|
||||
if (as_type == Svc::CreateProcessFlag::EnableReservedRegionExtraSize) {
|
||||
m_alias_region_extra_size = GetAddressSpaceSize() / 8;
|
||||
alias_region_size += m_alias_region_extra_size;
|
||||
}
|
||||
|
||||
// Set other basic fields.
|
||||
m_enable_aslr = enable_aslr;
|
||||
m_enable_device_address_space_merge = enable_das_merge;
|
||||
|
||||
@@ -208,6 +208,7 @@ private:
|
||||
size_t m_mapped_unsafe_physical_memory{};
|
||||
size_t m_mapped_insecure_memory{};
|
||||
size_t m_mapped_ipc_server_memory{};
|
||||
size_t m_alias_region_extra_size{};
|
||||
mutable KLightLock m_general_lock;
|
||||
mutable KLightLock m_map_physical_memory_lock;
|
||||
KLightLock m_device_map_lock;
|
||||
@@ -682,6 +683,9 @@ public:
|
||||
size_t GetAliasRegionSize() const {
|
||||
return m_alias_region_end - m_alias_region_start;
|
||||
}
|
||||
size_t GetReservedRegionExtraSize() const {
|
||||
return m_alias_region_extra_size;
|
||||
}
|
||||
size_t GetStackRegionSize() const {
|
||||
return m_stack_region_end - m_stack_region_start;
|
||||
}
|
||||
|
||||
@@ -410,6 +410,9 @@ public:
|
||||
size_t GetAliasRegionSize() const {
|
||||
return m_page_table.GetAliasRegionSize();
|
||||
}
|
||||
size_t GetReservedRegionExtraSize() const {
|
||||
return m_page_table.GetReservedRegionExtraSize();
|
||||
}
|
||||
size_t GetStackRegionSize() const {
|
||||
return m_page_table.GetStackRegionSize();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,8 @@ Result GetInfo(Core::System& system, u64* result, InfoType info_id_type, Handle
|
||||
case InfoType::TotalNonSystemMemorySize:
|
||||
case InfoType::UsedNonSystemMemorySize:
|
||||
case InfoType::IsApplication:
|
||||
case InfoType::FreeThreadCount: {
|
||||
case InfoType::FreeThreadCount:
|
||||
case InfoType::ReservedRegionExtraSize: {
|
||||
R_UNLESS(info_sub_id == 0, ResultInvalidEnumValue);
|
||||
|
||||
const auto& handle_table = GetCurrentProcess(system.Kernel()).GetHandleTable();
|
||||
@@ -134,6 +135,10 @@ Result GetInfo(Core::System& system, u64* result, InfoType info_id_type, Handle
|
||||
}
|
||||
R_SUCCEED();
|
||||
|
||||
case InfoType::ReservedRegionExtraSize:
|
||||
*result = process->GetPageTable().GetReservedRegionExtraSize();
|
||||
R_SUCCEED();
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -153,6 +153,7 @@ enum class InfoType : u32 {
|
||||
ThreadTickCount = 25,
|
||||
IsSvcPermitted = 26,
|
||||
IoRegionHint = 27,
|
||||
ReservedRegionExtraSize = 28,
|
||||
|
||||
MesosphereMeta = 65000,
|
||||
MesosphereCurrentProcess = 65001,
|
||||
@@ -642,9 +643,12 @@ enum class CreateProcessFlag : u32 {
|
||||
// 11.x+ DisableDeviceAddressSpaceMerge.
|
||||
DisableDeviceAddressSpaceMerge = (1 << 12),
|
||||
|
||||
EnableReservedRegionExtraSize = (1 << 13),
|
||||
|
||||
// Mask of all flags.
|
||||
All = Is64Bit | AddressSpaceMask | EnableDebug | EnableAslr | IsApplication |
|
||||
PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge,
|
||||
PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge |
|
||||
EnableReservedRegionExtraSize,
|
||||
};
|
||||
DECLARE_ENUM_FLAG_OPERATORS(CreateProcessFlag);
|
||||
|
||||
|
||||
@@ -323,7 +323,7 @@ public:
|
||||
{11, &IProfileCommon::LoadImage, "LoadImage"},
|
||||
{20, &IProfileCommon::GetImageSize, "GetLargeImageSize"}, // 18.0.0+
|
||||
{21, &IProfileCommon::LoadImage, "LoadLargeImage"}, // 18.0.0+
|
||||
{30, nullptr, "GetImageId"}, // 18.0.0+
|
||||
{30, &IProfileCommon::Unknown, "GetImageId"}, // 18.0.0+
|
||||
};
|
||||
|
||||
RegisterHandlers(functions);
|
||||
@@ -494,6 +494,13 @@ protected:
|
||||
rb.Push(ResultSuccess);
|
||||
}
|
||||
|
||||
void Unknown(HLERequestContext& ctx) {
|
||||
LOG_WARNING(Service_ACC, "(STUBBED) called");
|
||||
IPC::ResponseBuilder rb{ctx, 3};
|
||||
rb.Push(ResultSuccess);
|
||||
rb.Push(0);
|
||||
}
|
||||
|
||||
ProfileManager& profile_manager;
|
||||
Common::UUID user_id{}; ///< The user id this profile refers to.
|
||||
};
|
||||
@@ -509,7 +516,15 @@ class IProfileEditor final : public IProfileCommon {
|
||||
public:
|
||||
explicit IProfileEditor(Core::System& system_, Common::UUID user_id_,
|
||||
ProfileManager& profile_manager_)
|
||||
: IProfileCommon{system_, "IProfileEditor", true, user_id_, profile_manager_} {}
|
||||
: IProfileCommon{system_, "IProfileEditor", true, user_id_, profile_manager_} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{30, &IProfileEditor::Unknown, "Unknown"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
RegisterHandlers(functions);
|
||||
}
|
||||
};
|
||||
|
||||
class ISessionObject final : public ServiceFramework<ISessionObject> {
|
||||
|
||||
Reference in New Issue
Block a user