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;

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

40#include "sim/syscall_emul.hh"
41
42using namespace std;
43using namespace SparcISA;
44
45
46/// Target uname() handler.
47static SyscallReturn
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;

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

40#include "sim/syscall_emul.hh"
41
42using namespace std;
43using namespace SparcISA;
44
45
46/// Target uname() handler.
47static SyscallReturn
48unameFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
48unameFunc(SyscallDesc *desc, int callnum, Process *process,
49 ThreadContext *tc)
50{
51 int index = 0;
52 TypedBufferArg<Solaris::utsname> name(process->getSyscallArg(tc, index));
53
54 strcpy(name->sysname, "SunOS");
55 strcpy(name->nodename, "m5.eecs.umich.edu");
56 strcpy(name->release, "5.9"); //?? do we want this or something newer?

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

317 /* 250 */ SyscallDesc("lwp_mutex_unlock", unimplementedFunc),
318 /* 251 */ SyscallDesc("lwp_mutex_trylock", unimplementedFunc),
319 /* 252 */ SyscallDesc("lwp_mutex_init", unimplementedFunc),
320 /* 253 */ SyscallDesc("cladm", unimplementedFunc),
321 /* 254 */ SyscallDesc("lwp_sigtimedwait", unimplementedFunc),
322 /* 255 */ SyscallDesc("umount2", unimplementedFunc)
323};
324
49 ThreadContext *tc)
50{
51 int index = 0;
52 TypedBufferArg<Solaris::utsname> name(process->getSyscallArg(tc, index));
53
54 strcpy(name->sysname, "SunOS");
55 strcpy(name->nodename, "m5.eecs.umich.edu");
56 strcpy(name->release, "5.9"); //?? do we want this or something newer?

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

317 /* 250 */ SyscallDesc("lwp_mutex_unlock", unimplementedFunc),
318 /* 251 */ SyscallDesc("lwp_mutex_trylock", unimplementedFunc),
319 /* 252 */ SyscallDesc("lwp_mutex_init", unimplementedFunc),
320 /* 253 */ SyscallDesc("cladm", unimplementedFunc),
321 /* 254 */ SyscallDesc("lwp_sigtimedwait", unimplementedFunc),
322 /* 255 */ SyscallDesc("umount2", unimplementedFunc)
323};
324
325SparcSolarisProcess::SparcSolarisProcess(LiveProcessParams * params,
326 ObjectFile *objFile)
327 : Sparc64LiveProcess(params, objFile),
325SparcSolarisProcess::SparcSolarisProcess(ProcessParams * params,
326 ObjectFile *objFile)
327 : Sparc64Process(params, objFile),
328 Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc))
329{
330 // The sparc syscall table must be <= 284 entries because that is all there
331 // is space for.
332 assert(Num_Syscall_Descs <= 284);
333}
334
335
336
337SyscallDesc*
338SparcSolarisProcess::getDesc(int callnum)
339{
340 if (callnum < 0 || callnum >= Num_Syscall_Descs)
341 return NULL;
342 return &syscallDescs[callnum];
343}
328 Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc))
329{
330 // The sparc syscall table must be <= 284 entries because that is all there
331 // is space for.
332 assert(Num_Syscall_Descs <= 284);
333}
334
335
336
337SyscallDesc*
338SparcSolarisProcess::getDesc(int callnum)
339{
340 if (callnum < 0 || callnum >= Num_Syscall_Descs)
341 return NULL;
342 return &syscallDescs[callnum];
343}