diff options
| author | 2023-02-11 13:28:03 -0500 | |
|---|---|---|
| committer | 2023-02-14 12:33:11 -0500 | |
| commit | 45e13b03f372230dbf780f3fa87dd88f388af605 (patch) | |
| tree | 555593e7e5016b6ba2a777d7417ada244abce458 /src/core/hle/kernel/kernel.cpp | |
| parent | Merge pull request #9795 from Kelebek1/biquad_fix (diff) | |
| download | yuzu-45e13b03f372230dbf780f3fa87dd88f388af605.tar.gz yuzu-45e13b03f372230dbf780f3fa87dd88f388af605.tar.xz yuzu-45e13b03f372230dbf780f3fa87dd88f388af605.zip | |
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
| -rw-r--r-- | src/core/hle/kernel/kernel.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 5b72eaaa1..563e2681b 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
| @@ -254,7 +254,7 @@ struct KernelCore::Impl { | |||
| 254 | system_resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, kernel_size); | 254 | system_resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, kernel_size); |
| 255 | 255 | ||
| 256 | // Reserve secure applet memory, introduced in firmware 5.0.0 | 256 | // Reserve secure applet memory, introduced in firmware 5.0.0 |
| 257 | constexpr u64 secure_applet_memory_size{4_MiB}; | 257 | constexpr static u64 secure_applet_memory_size{4_MiB}; |
| 258 | ASSERT(system_resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, | 258 | ASSERT(system_resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, |
| 259 | secure_applet_memory_size)); | 259 | secure_applet_memory_size)); |
| 260 | } | 260 | } |
| @@ -477,9 +477,9 @@ struct KernelCore::Impl { | |||
| 477 | const VAddr code_end_virt_addr = KernelVirtualAddressCodeEnd; | 477 | const VAddr code_end_virt_addr = KernelVirtualAddressCodeEnd; |
| 478 | 478 | ||
| 479 | // Setup the containing kernel region. | 479 | // Setup the containing kernel region. |
| 480 | constexpr size_t KernelRegionSize = 1_GiB; | 480 | constexpr static size_t KernelRegionSize = 1_GiB; |
| 481 | constexpr size_t KernelRegionAlign = 1_GiB; | 481 | constexpr static size_t KernelRegionAlign = 1_GiB; |
| 482 | constexpr VAddr kernel_region_start = | 482 | constexpr static VAddr kernel_region_start = |
| 483 | Common::AlignDown(code_start_virt_addr, KernelRegionAlign); | 483 | Common::AlignDown(code_start_virt_addr, KernelRegionAlign); |
| 484 | size_t kernel_region_size = KernelRegionSize; | 484 | size_t kernel_region_size = KernelRegionSize; |
| 485 | if (!(kernel_region_start + KernelRegionSize - 1 <= KernelVirtualAddressSpaceLast)) { | 485 | if (!(kernel_region_start + KernelRegionSize - 1 <= KernelVirtualAddressSpaceLast)) { |
| @@ -489,11 +489,11 @@ struct KernelCore::Impl { | |||
| 489 | kernel_region_start, kernel_region_size, KMemoryRegionType_Kernel)); | 489 | kernel_region_start, kernel_region_size, KMemoryRegionType_Kernel)); |
| 490 | 490 | ||
| 491 | // Setup the code region. | 491 | // Setup the code region. |
| 492 | constexpr size_t CodeRegionAlign = PageSize; | 492 | constexpr static size_t CodeRegionAlign = PageSize; |
| 493 | constexpr VAddr code_region_start = | 493 | constexpr static VAddr code_region_start = |
| 494 | Common::AlignDown(code_start_virt_addr, CodeRegionAlign); | 494 | Common::AlignDown(code_start_virt_addr, CodeRegionAlign); |
| 495 | constexpr VAddr code_region_end = Common::AlignUp(code_end_virt_addr, CodeRegionAlign); | 495 | constexpr static VAddr code_region_end = Common::AlignUp(code_end_virt_addr, CodeRegionAlign); |
| 496 | constexpr size_t code_region_size = code_region_end - code_region_start; | 496 | constexpr static size_t code_region_size = code_region_end - code_region_start; |
| 497 | ASSERT(memory_layout->GetVirtualMemoryRegionTree().Insert( | 497 | ASSERT(memory_layout->GetVirtualMemoryRegionTree().Insert( |
| 498 | code_region_start, code_region_size, KMemoryRegionType_KernelCode)); | 498 | code_region_start, code_region_size, KMemoryRegionType_KernelCode)); |
| 499 | 499 | ||
| @@ -524,8 +524,8 @@ struct KernelCore::Impl { | |||
| 524 | } | 524 | } |
| 525 | 525 | ||
| 526 | // Decide on the actual size for the misc region. | 526 | // Decide on the actual size for the misc region. |
| 527 | constexpr size_t MiscRegionAlign = KernelAslrAlignment; | 527 | constexpr static size_t MiscRegionAlign = KernelAslrAlignment; |
| 528 | constexpr size_t MiscRegionMinimumSize = 32_MiB; | 528 | constexpr static size_t MiscRegionMinimumSize = 32_MiB; |
| 529 | const size_t misc_region_size = Common::AlignUp( | 529 | const size_t misc_region_size = Common::AlignUp( |
| 530 | std::max(misc_region_needed_size, MiscRegionMinimumSize), MiscRegionAlign); | 530 | std::max(misc_region_needed_size, MiscRegionMinimumSize), MiscRegionAlign); |
| 531 | ASSERT(misc_region_size > 0); | 531 | ASSERT(misc_region_size > 0); |
| @@ -541,8 +541,8 @@ struct KernelCore::Impl { | |||
| 541 | const bool use_extra_resources = KSystemControl::Init::ShouldIncreaseThreadResourceLimit(); | 541 | const bool use_extra_resources = KSystemControl::Init::ShouldIncreaseThreadResourceLimit(); |
| 542 | 542 | ||
| 543 | // Setup the stack region. | 543 | // Setup the stack region. |
| 544 | constexpr size_t StackRegionSize = 14_MiB; | 544 | constexpr static size_t StackRegionSize = 14_MiB; |
| 545 | constexpr size_t StackRegionAlign = KernelAslrAlignment; | 545 | constexpr static size_t StackRegionAlign = KernelAslrAlignment; |
| 546 | const VAddr stack_region_start = | 546 | const VAddr stack_region_start = |
| 547 | memory_layout->GetVirtualMemoryRegionTree().GetRandomAlignedRegion( | 547 | memory_layout->GetVirtualMemoryRegionTree().GetRandomAlignedRegion( |
| 548 | StackRegionSize, StackRegionAlign, KMemoryRegionType_Kernel); | 548 | StackRegionSize, StackRegionAlign, KMemoryRegionType_Kernel); |
| @@ -563,7 +563,7 @@ struct KernelCore::Impl { | |||
| 563 | const PAddr code_end_phys_addr = code_start_phys_addr + code_region_size; | 563 | const PAddr code_end_phys_addr = code_start_phys_addr + code_region_size; |
| 564 | const PAddr slab_start_phys_addr = code_end_phys_addr; | 564 | const PAddr slab_start_phys_addr = code_end_phys_addr; |
| 565 | const PAddr slab_end_phys_addr = slab_start_phys_addr + slab_region_size; | 565 | const PAddr slab_end_phys_addr = slab_start_phys_addr + slab_region_size; |
| 566 | constexpr size_t SlabRegionAlign = KernelAslrAlignment; | 566 | constexpr static size_t SlabRegionAlign = KernelAslrAlignment; |
| 567 | const size_t slab_region_needed_size = | 567 | const size_t slab_region_needed_size = |
| 568 | Common::AlignUp(code_end_phys_addr + slab_region_size, SlabRegionAlign) - | 568 | Common::AlignUp(code_end_phys_addr + slab_region_size, SlabRegionAlign) - |
| 569 | Common::AlignDown(code_end_phys_addr, SlabRegionAlign); | 569 | Common::AlignDown(code_end_phys_addr, SlabRegionAlign); |
| @@ -575,8 +575,8 @@ struct KernelCore::Impl { | |||
| 575 | slab_region_start, slab_region_size, KMemoryRegionType_KernelSlab)); | 575 | slab_region_start, slab_region_size, KMemoryRegionType_KernelSlab)); |
| 576 | 576 | ||
| 577 | // Setup the temp region. | 577 | // Setup the temp region. |
| 578 | constexpr size_t TempRegionSize = 128_MiB; | 578 | constexpr static size_t TempRegionSize = 128_MiB; |
| 579 | constexpr size_t TempRegionAlign = KernelAslrAlignment; | 579 | constexpr static size_t TempRegionAlign = KernelAslrAlignment; |
| 580 | const VAddr temp_region_start = | 580 | const VAddr temp_region_start = |
| 581 | memory_layout->GetVirtualMemoryRegionTree().GetRandomAlignedRegion( | 581 | memory_layout->GetVirtualMemoryRegionTree().GetRandomAlignedRegion( |
| 582 | TempRegionSize, TempRegionAlign, KMemoryRegionType_Kernel); | 582 | TempRegionSize, TempRegionAlign, KMemoryRegionType_Kernel); |
| @@ -656,7 +656,7 @@ struct KernelCore::Impl { | |||
| 656 | ASSERT(linear_extents.GetEndAddress() != 0); | 656 | ASSERT(linear_extents.GetEndAddress() != 0); |
| 657 | 657 | ||
| 658 | // Setup the linear mapping region. | 658 | // Setup the linear mapping region. |
| 659 | constexpr size_t LinearRegionAlign = 1_GiB; | 659 | constexpr static size_t LinearRegionAlign = 1_GiB; |
| 660 | const PAddr aligned_linear_phys_start = | 660 | const PAddr aligned_linear_phys_start = |
| 661 | Common::AlignDown(linear_extents.GetAddress(), LinearRegionAlign); | 661 | Common::AlignDown(linear_extents.GetAddress(), LinearRegionAlign); |
| 662 | const size_t linear_region_size = | 662 | const size_t linear_region_size = |
| @@ -737,11 +737,11 @@ struct KernelCore::Impl { | |||
| 737 | void InitializeHackSharedMemory() { | 737 | void InitializeHackSharedMemory() { |
| 738 | // Setup memory regions for emulated processes | 738 | // Setup memory regions for emulated processes |
| 739 | // TODO(bunnei): These should not be hardcoded regions initialized within the kernel | 739 | // TODO(bunnei): These should not be hardcoded regions initialized within the kernel |
| 740 | constexpr std::size_t hid_size{0x40000}; | 740 | constexpr static std::size_t hid_size{0x40000}; |
| 741 | constexpr std::size_t font_size{0x1100000}; | 741 | constexpr static std::size_t font_size{0x1100000}; |
| 742 | constexpr std::size_t irs_size{0x8000}; | 742 | constexpr static std::size_t irs_size{0x8000}; |
| 743 | constexpr std::size_t time_size{0x1000}; | 743 | constexpr static std::size_t time_size{0x1000}; |
| 744 | constexpr std::size_t hidbus_size{0x1000}; | 744 | constexpr static std::size_t hidbus_size{0x1000}; |
| 745 | 745 | ||
| 746 | hid_shared_mem = KSharedMemory::Create(system.Kernel()); | 746 | hid_shared_mem = KSharedMemory::Create(system.Kernel()); |
| 747 | font_shared_mem = KSharedMemory::Create(system.Kernel()); | 747 | font_shared_mem = KSharedMemory::Create(system.Kernel()); |