process.cc (11794:97eebddaae84) process.cc (11851:824055fe6b30)
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

55SyscallDesc*
56SparcLinuxProcess::getDesc32(int callnum)
57{
58 if (callnum < 0 || callnum >= Num_Syscall32_Descs)
59 return NULL;
60 return &syscall32Descs[callnum];
61}
62
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

55SyscallDesc*
56SparcLinuxProcess::getDesc32(int callnum)
57{
58 if (callnum < 0 || callnum >= Num_Syscall32_Descs)
59 return NULL;
60 return &syscall32Descs[callnum];
61}
62
63Sparc32LinuxProcess::Sparc32LinuxProcess(LiveProcessParams * params,
63Sparc32LinuxProcess::Sparc32LinuxProcess(ProcessParams * params,
64 ObjectFile *objFile)
64 ObjectFile *objFile)
65 : Sparc32LiveProcess(params, objFile)
65 : Sparc32Process(params, objFile)
66{}
67
68void Sparc32LinuxProcess::handleTrap(int trapNum, ThreadContext *tc)
69{
70 switch (trapNum) {
71 case 0x10: //Linux 32 bit syscall trap
72 tc->syscall(tc->readIntReg(1));
73 break;
74 default:
66{}
67
68void Sparc32LinuxProcess::handleTrap(int trapNum, ThreadContext *tc)
69{
70 switch (trapNum) {
71 case 0x10: //Linux 32 bit syscall trap
72 tc->syscall(tc->readIntReg(1));
73 break;
74 default:
75 SparcLiveProcess::handleTrap(trapNum, tc);
75 SparcProcess::handleTrap(trapNum, tc);
76 }
77}
78
76 }
77}
78
79Sparc64LinuxProcess::Sparc64LinuxProcess(LiveProcessParams * params,
79Sparc64LinuxProcess::Sparc64LinuxProcess(ProcessParams * params,
80 ObjectFile *objFile)
80 ObjectFile *objFile)
81 : Sparc64LiveProcess(params, objFile)
81 : Sparc64Process(params, objFile)
82{}
83
84void Sparc64LinuxProcess::handleTrap(int trapNum, ThreadContext *tc)
85{
86 switch (trapNum) {
87 // case 0x10: // Linux 32 bit syscall trap
88 case 0x6d: // Linux 64 bit syscall trap
89 tc->syscall(tc->readIntReg(1));
90 break;
91 default:
82{}
83
84void Sparc64LinuxProcess::handleTrap(int trapNum, ThreadContext *tc)
85{
86 switch (trapNum) {
87 // case 0x10: // Linux 32 bit syscall trap
88 case 0x6d: // Linux 64 bit syscall trap
89 tc->syscall(tc->readIntReg(1));
90 break;
91 default:
92 SparcLiveProcess::handleTrap(trapNum, tc);
92 SparcProcess::handleTrap(trapNum, tc);
93 }
94}
93 }
94}