This commit is contained in:
Pavel 2024-12-17 21:41:08 +03:00
parent 272634e790
commit 23b8f63cec
3 changed files with 64 additions and 3 deletions

View File

@ -62,6 +62,57 @@ type
size :QWORD;
end;
p_set_prt_aperture=^t_set_prt_aperture;
t_set_prt_aperture=packed record
addr :Pointer;
len :QWORD;
apertureId:Integer;
end;
function set_prt_aperture(data:p_set_prt_aperture):Integer;
var
addr:QWORD;
len :QWORD;
begin
Result:=0;
addr:=QWORD(data^.addr);
if ((addr and $3fff) <> 0) then
begin
Exit(EINVAL);
end;
len:=data^.len;
if ((QWORD($fc00000000) - addr) < len) then
begin
Exit(EINVAL);
end;
if (DWORD((addr - QWORD($1000000000)) shr 34) > 58) then
begin
Exit(EINVAL);
end;
if (Int64(len) < 0) then
begin
Exit(EINVAL);
end;
if (DWORD(data^.apertureId) > 2) then
begin
Exit(EINVAL);
end;
if ((len and $3fff) <> 0) then
begin
Exit(EINVAL);
end;
Writeln('TODO:set_prt_aperture(0x',HexStr(addr,10),',0x',HexStr(len,10),',',data^.apertureId,')');
end;
Function dmem_ioctl(dev:p_cdev;cmd:QWORD;data:Pointer;fflag:Integer):Integer;
var
dmap:p_dmem_obj;
@ -143,6 +194,11 @@ begin
Result:=dmem_map_get_memory_type(dmap^.dmem,data);
end;
$80188008: //sceKernelSetPrtAperture
begin
set_prt_aperture(data);
end;
else
begin
print_error_td('dmem_ioctl(0x'+HexStr(cmd,8)+')');

View File

@ -683,7 +683,7 @@ var
),
(//[125]
sy_narg:3;
sy_call:nil;
sy_call:@sys_netgetiflist;
sy_name:'sys_netgetiflist'
),
(//[126]

View File

@ -5,7 +5,8 @@ unit kern_bnet;
interface
function sys_netcontrol(fd,op:Integer;buf:Pointer;nbuf:DWORD):Integer;
function sys_netcontrol (fd,op:Integer;buf:Pointer;nbuf:DWORD):Integer;
function sys_netgetiflist(param1:Pointer;param2,param3:Integer):Integer;
implementation
@ -90,7 +91,11 @@ begin
end;
end;
function sys_netgetiflist(param1:Pointer;param2,param3:Integer):Integer;
begin
Writeln('TODO:sys_netgetiflist(0x',HexStr(QWORD(param1),10),',',param2,',',param3,')');
Result:=0;
end;
end.