FreeNOS
IntelProcess.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2009 Niek Linnenbank
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef __INTEL_PROCESS_H
19#define __INTEL_PROCESS_H
20
21#include <FreeNOS/Process.h>
22#include <Types.h>
23
38class IntelProcess : public Process
39{
40 private:
41
44
45 public:
46
55 IntelProcess(ProcessID id, Address entry, bool privileged, const MemoryMap &map);
56
60 virtual ~IntelProcess();
61
70 virtual Result initialize();
71
77 virtual void reset(const Address entry);
78
84 virtual void execute(Process *previous);
85
86 private:
87
90
93
94};
95
96namespace Arch
97{
98 typedef IntelProcess Process;
99};
100
106#endif /* __INTEL_PROCESS_H */
u32 entry[]
Definition IntelACPI.h:1
Process which may execute on an Intel CPU.
Address m_kernelStackBase
Base kernel stack (fixed)
Address m_kernelStack
Current kernel stack address (changes during execution).
virtual void execute(Process *previous)
Execute the process.
virtual void reset(const Address entry)
Restart execution at the given entry point.
static const Size KernelStackSize
Size of the kernel stack.
virtual Result initialize()
Initialize the Process.
virtual ~IntelProcess()
Destructor function.
Describes virtual memory map layout.
Definition MemoryMap.h:39
Represents a process which may run on the host.
Definition Process.h:45
Result
Result codes.
Definition Process.h:55
#define PAGESIZE
ARM uses 4K pages.
Definition ARMConstant.h:97
u32 ProcessID
Process Identification Number.
Definition Types.h:140
unsigned long Address
A memory address.
Definition Types.h:131
unsigned int Size
Any sane size indicator cannot go negative.
Definition Types.h:128
ARMProcess Process
Definition ARMProcess.h:105