[orbis-kernel] store auth info per process

This commit is contained in:
DH 2023-11-11 17:12:08 +03:00
parent f7e8ce2164
commit 5a7d4dee1e
6 changed files with 59 additions and 29 deletions

View file

@ -780,6 +780,44 @@ int main(int argc, const char *argv[]) {
.unk4 = (isSystem ? orbis::slong(0x80000000'00000000) : 0),
};
if (isSystem) {
initProcess->authInfo = {
.unk0 = 0x3100000000000001,
.caps =
{
-1u,
-1u,
-1u,
-1u,
},
.attrs =
{
0x4000400040000000,
0x4000000000000000,
0x0080000000000002,
0xF0000000FFFF4000,
},
};
} else {
initProcess->authInfo = {
.unk0 = 0x3100000000000001,
.caps =
{
0x2000038000000000,
0x000000000000FF00,
0x0000000000000000,
0x0000000000000000,
},
.attrs =
{
0x4000400040000000,
0x4000000000000000,
0x0080000000000002,
0xF0000000FFFF4000,
},
};
}
auto [baseId, mainThread] = initProcess->threadsMap.emplace();
mainThread->tproc = initProcess;
mainThread->tid = initProcess->pid + baseId;