413a414,421
> SyscallDesc ArmLinuxProcess::privSyscallDescs[] = {
> /* 1 */ SyscallDesc("breakpoint", unimplementedFunc),
> /* 2 */ SyscallDesc("cacheflush", unimplementedFunc),
> /* 3 */ SyscallDesc("usr26", unimplementedFunc),
> /* 4 */ SyscallDesc("usr32", unimplementedFunc),
> /* 5 */ SyscallDesc("set_tls", unimplementedFunc)
> };
>
417c425,426
< Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc))
---
> Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc)),
> Num_Priv_Syscall_Descs(sizeof(privSyscallDescs) / sizeof(SyscallDesc))
424c433
< if (callnum == 0x123456)
---
> if (callnum == 0x123456) {
426c435
< else if ((callnum & 0x00f00000) == 0x00900000)
---
> } else if ((callnum & 0x00f00000) == 0x00900000) {
427a437,443
> if ((callnum & 0x0f0000) == 0xf0000) {
> callnum -= 0x0f0001;
> if (callnum < 0 || callnum > Num_Priv_Syscall_Descs)
> return NULL;
> return &privSyscallDescs[callnum];
> }
> }