orbis: implement protect dmem for pid

fixed void mappings
fixed fmem commit
add map flags validation
redirect stdout/stderr to log-init.txt
remove tty.txt, redirect to stdin/stdout
ipmi:
handle SceLncService::loadExec(status, "EXIT")
fill SceShellCoreUtil shm magic
This commit is contained in:
DH 2025-12-02 03:01:28 +03:00
parent b9d36bc0b8
commit 3f6fad89c2
21 changed files with 1088 additions and 299 deletions

View file

@ -317,8 +317,7 @@ struct AllocableResource : Resource {
} else {
if (flags & AllocationFlags::Stack) {
fixedRange = rx::AddressRange::fromBeginSize(
rx::alignDown(it.endAddress() - size, alignment),
size);
rx::alignDown(it.endAddress() - size, alignment), size);
} else {
fixedRange = rx::AddressRange::fromBeginSize(
rx::alignUp(it.beginAddress(), alignment), size);
@ -353,6 +352,10 @@ struct AllocableResource : Resource {
return {it, {}, fixedRange};
}
return {merge(it), {}, fixedRange};
}
iterator merge(iterator it) {
if (it != begin()) {
// try to merge with previous node
iterator prevIt = it;
@ -393,7 +396,7 @@ struct AllocableResource : Resource {
}
}
return {it, {}, fixedRange};
return it;
}
void destroy() {