Formatting changes

This commit is contained in:
wheremyfoodat 2024-11-09 18:29:57 +02:00
parent b89a21444e
commit d4f0b22748
3 changed files with 17 additions and 20 deletions

View file

@ -335,6 +335,7 @@ set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp
include/PICA/pica_frag_uniforms.hpp include/PICA/shader_gen_types.hpp include/PICA/shader_decompiler.hpp include/PICA/pica_frag_uniforms.hpp include/PICA/shader_gen_types.hpp include/PICA/shader_decompiler.hpp
include/PICA/pica_vert_config.hpp include/sdl_sensors.hpp include/PICA/draw_acceleration.hpp include/renderdoc.hpp include/PICA/pica_vert_config.hpp include/sdl_sensors.hpp include/PICA/draw_acceleration.hpp include/renderdoc.hpp
include/align.hpp include/audio/aac_decoder.hpp include/PICA/pica_simd.hpp include/services/fonts.hpp include/align.hpp include/audio/aac_decoder.hpp include/PICA/pica_simd.hpp include/services/fonts.hpp
include/kernel/fcram.hpp
) )
cmrc_add_resource_library( cmrc_add_resource_library(

View file

@ -5,7 +5,7 @@
class Memory; class Memory;
typedef std::list<FcramBlock> FcramBlockList; using FcramBlockList = std::list<FcramBlock>;
class KFcram { class KFcram {
struct Region { struct Region {

View file

@ -1,6 +1,8 @@
#include "fcram.hpp" #include "fcram.hpp"
#include "memory.hpp" #include "memory.hpp"
void KFcram::Region::reset(u32 start, size_t size) { void KFcram::Region::reset(u32 start, size_t size) {
this->start = start; this->start = start;
pages = size >> 12; pages = size >> 12;
@ -34,27 +36,24 @@ void KFcram::Region::alloc(std::list<FcramBlock>& out, s32 allocPages, bool line
FcramBlock outBlock(paddr, it->pages); FcramBlock outBlock(paddr, it->pages);
out.push_back(outBlock); out.push_back(outBlock);
if (allocPages < 1) return; if (allocPages < 1) {
return;
}
} }
// Official kernel panics here // Official kernel panics here
Helpers::panic("Failed to allocate FCRAM, not enough guest memory"); Helpers::panic("Failed to allocate FCRAM, not enough guest memory");
} }
u32 KFcram::Region::getUsedCount() { u32 KFcram::Region::getUsedCount() { return pages - freePages; }
return pages - freePages; u32 KFcram::Region::getFreeCount() { return freePages; }
}
u32 KFcram::Region::getFreeCount() {
return freePages;
}
KFcram::KFcram(Memory& mem) : mem(mem) {} KFcram::KFcram(Memory& mem) : mem(mem) {}
void KFcram::reset(size_t ramSize, size_t appSize, size_t sysSize, size_t baseSize) { void KFcram::reset(size_t ramSize, size_t appSize, size_t sysSize, size_t baseSize) {
fcram = mem.getFCRAM(); fcram = mem.getFCRAM();
refs = std::unique_ptr<u32>(new u32[ramSize >> 12]); refs = std::unique_ptr<u32>(new u32[ramSize >> 12]);
memset(refs.get(), 0, (ramSize >> 12) * sizeof(u32)); std::memset(refs.get(), 0, (ramSize >> 12) * sizeof(u32));
appRegion.reset(0, appSize); appRegion.reset(0, appSize);
sysRegion.reset(appSize, sysSize); sysRegion.reset(appSize, sysSize);
@ -63,15 +62,9 @@ void KFcram::reset(size_t ramSize, size_t appSize, size_t sysSize, size_t baseSi
void KFcram::alloc(FcramBlockList& out, s32 pages, FcramRegion region, bool linear) { void KFcram::alloc(FcramBlockList& out, s32 pages, FcramRegion region, bool linear) {
switch (region) { switch (region) {
case FcramRegion::App: case FcramRegion::App: appRegion.alloc(out, pages, linear); break;
appRegion.alloc(out, pages, linear); case FcramRegion::Sys: sysRegion.alloc(out, pages, linear); break;
break; case FcramRegion::Base: baseRegion.alloc(out, pages, linear); break;
case FcramRegion::Sys:
sysRegion.alloc(out, pages, linear);
break;
case FcramRegion::Base:
baseRegion.alloc(out, pages, linear);
break;
default: Helpers::panic("Invalid FCRAM region chosen for allocation!"); break; default: Helpers::panic("Invalid FCRAM region chosen for allocation!"); break;
} }
@ -92,7 +85,10 @@ void KFcram::decRef(FcramBlockList& list) {
for (int i = 0; i < it->pages; i++) { for (int i = 0; i < it->pages; i++) {
u32 index = (it->paddr >> 12) + i; u32 index = (it->paddr >> 12) + i;
refs.get()[index]--; refs.get()[index]--;
if (!refs.get()[index]) Helpers::panic("TODO: Freeing FCRAM");
if (!refs.get()[index]) {
Helpers::panic("TODO: Freeing FCRAM");
}
} }
} }
} }