FreeNOS
SingleCoreServer.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 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 __SERVER_CORE_SINGLECORESERVER_H
19 #define __SERVER_CORE_SINGLECORESERVER_H
20 
22 #include "CoreServer.h"
23 
36 {
37  public:
38 
43 
49  virtual Result initialize();
50 
59  virtual Core::Result bootCore(uint coreId, CoreInfo *info);
60 
66  virtual Core::Result discoverCores();
67 
71  virtual void waitIPI() const;
72 
81 };
82 
88 #endif /* __SERVER_CORE_SINGLECORESERVER_H */
SingleCoreServer::bootCore
virtual Core::Result bootCore(uint coreId, CoreInfo *info)
Boot a processor core.
Definition: SingleCoreServer.cpp:39
SingleCoreServer::discoverCores
virtual Core::Result discoverCores()
Discover processor cores.
Definition: SingleCoreServer.cpp:44
SingleCoreServer::sendIPI
virtual Core::Result sendIPI(uint coreId)
Send Inter-Processor-Interrupt.
Definition: SingleCoreServer.cpp:53
uint
unsigned int uint
Unsigned integer number.
Definition: Types.h:44
SingleCoreServer::initialize
virtual Result initialize()
Initialize the server.
Definition: SingleCoreServer.cpp:34
CoreServer
Represents a single Core in a Central Processing Unit (CPU).
Definition: CoreServer.h:49
CoreServer.h
ChannelServer< CoreServer, CoreMessage >::Result
Result
Result codes.
Definition: ChannelServer.h:99
SunxiCpuConfig.h
SingleCoreServer
Implements a CoreServer for a single core only.
Definition: SingleCoreServer.h:35
CoreInfo
Per-Core information structure.
Definition: CoreInfo.h:60
Core::Result
Result
Result code for Actions.
Definition: Core.h:47
SingleCoreServer::SingleCoreServer
SingleCoreServer()
Class constructor function.
Definition: SingleCoreServer.cpp:29
coreId
u8 coreId
Definition: IntelACPI.h:64
SingleCoreServer::waitIPI
virtual void waitIPI() const
Wait for Inter-Processor-Interrupt.
Definition: SingleCoreServer.cpp:49