Deleted Added
sdiff udiff text old ( 6231:8130f3faa584 ) new ( 6232:e0ea733d2105 )
full compact
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * Copyright (c) 2007-2008 The Florida State University
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 397 unchanged lines hidden (view full) ---

406 /* 341 */ SyscallDesc("arm_sync_file_range", unimplementedFunc),
407 /* 342 */ SyscallDesc("tee", unimplementedFunc),
408 /* 343 */ SyscallDesc("vmsplice", unimplementedFunc),
409 /* 344 */ SyscallDesc("move_pages", unimplementedFunc),
410 /* 345 */ SyscallDesc("getcpu", unimplementedFunc),
411 /* 346 */ SyscallDesc("epoll_pwait", unimplementedFunc),
412};
413
414ArmLinuxProcess::ArmLinuxProcess(LiveProcessParams * params,
415 ObjectFile *objFile)
416 : ArmLiveProcess(params, objFile),
417 Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc))
418{ }
419
420SyscallDesc*
421ArmLinuxProcess::getDesc(int callnum)
422{
423 // Angel SWI syscalls are unsupported in this release
424 if (callnum == 0x123456)
425 panic("Attempt to execute an ANGEL_SWI system call (newlib-related)");
426 else if ((callnum & 0x00f00000) == 0x00900000)
427 callnum &= 0x000fffff;
428 // Linux syscalls have to strip off the 0x00900000
429
430 if (callnum < 0 || callnum > Num_Syscall_Descs)
431 return NULL;
432
433 return &syscallDescs[callnum];
434}