process.cc (13570:b6484720c6a9) process.cc (13984:7200989d951c)
1/*
2 * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com>
3 * All rights reserved.
4 *
5 * This software was developed by the University of Cambridge Computer
6 * Laboratory as part of the CTSRD Project, with support from the UK Higher
7 * Education Innovation Fund (HEIF).
8 *

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

36#include <sys/param.h>
37#include <sys/syscall.h>
38#include <sys/sysctl.h>
39#include <sys/types.h>
40#include <utime.h>
41
42#include "arch/arm/freebsd/freebsd.hh"
43#include "arch/arm/isa_traits.hh"
1/*
2 * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com>
3 * All rights reserved.
4 *
5 * This software was developed by the University of Cambridge Computer
6 * Laboratory as part of the CTSRD Project, with support from the UK Higher
7 * Education Innovation Fund (HEIF).
8 *

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

36#include <sys/param.h>
37#include <sys/syscall.h>
38#include <sys/sysctl.h>
39#include <sys/types.h>
40#include <utime.h>
41
42#include "arch/arm/freebsd/freebsd.hh"
43#include "arch/arm/isa_traits.hh"
44#include "base/loader/object_file.hh"
44#include "base/trace.hh"
45#include "cpu/thread_context.hh"
46#include "kern/freebsd/freebsd.hh"
47#include "sim/process.hh"
48#include "sim/syscall_desc.hh"
49#include "sim/syscall_emul.hh"
50#include "sim/system.hh"
51
52using namespace std;
53using namespace ArmISA;
54
45#include "base/trace.hh"
46#include "cpu/thread_context.hh"
47#include "kern/freebsd/freebsd.hh"
48#include "sim/process.hh"
49#include "sim/syscall_desc.hh"
50#include "sim/syscall_emul.hh"
51#include "sim/system.hh"
52
53using namespace std;
54using namespace ArmISA;
55
56namespace
57{
58
59class ArmFreebsdObjectFileLoader : public ObjectFile::Loader
60{
61 public:
62 Process *
63 load(ProcessParams *params, ObjectFile *obj_file) override
64 {
65 auto arch = obj_file->getArch();
66 auto opsys = obj_file->getOpSys();
67
68 if (arch != ObjectFile::Arm && arch != ObjectFile::Thumb &&
69 arch != ObjectFile::Arm64) {
70 return nullptr;
71 }
72
73 if (opsys != ObjectFile::FreeBSD)
74 return nullptr;
75
76 if (arch == ObjectFile::Arm64)
77 return new ArmFreebsdProcess64(params, obj_file, arch);
78 else
79 return new ArmFreebsdProcess32(params, obj_file, arch);
80 }
81};
82
83ArmFreebsdObjectFileLoader loader;
84
85} // anonymous namespace
86
55static SyscallReturn
56issetugidFunc(SyscallDesc *desc, int callnum, Process *process,
57 ThreadContext *tc)
58{
59
60 return 0;
61}
62

--- 1219 unchanged lines hidden ---
87static SyscallReturn
88issetugidFunc(SyscallDesc *desc, int callnum, Process *process,
89 ThreadContext *tc)
90{
91
92 return 0;
93}
94

--- 1219 unchanged lines hidden ---