move semaphre to kernel

This commit is contained in:
Martin Baliet 2024-03-06 14:40:30 +01:00
parent 14c4ed173d
commit 40a5f1f221
10 changed files with 5 additions and 32 deletions

View File

@ -11,7 +11,6 @@ add_subdirectory(timer)
add_subdirectory(systemContent)
add_subdirectory(fileManager)
add_subdirectory(imports)
add_subdirectory(semaphore)
add_subdirectory(memory)
add_subdirectory(dmem)
@ -24,7 +23,6 @@ add_library(core SHARED
$<TARGET_OBJECTS:videoout>
$<TARGET_OBJECTS:fileManager>
$<TARGET_OBJECTS:imports>
$<TARGET_OBJECTS:semaphore>
$<TARGET_OBJECTS:memory>
$<TARGET_OBJECTS:dmem>
)
@ -45,4 +43,4 @@ ADD_CUSTOM_COMMAND(TARGET core POST_BUILD
${CMAKE_CURRENT_BINARY_DIR}/core.lib
${CMAKE_BINARY_DIR}/lib)
install(FILES $<TARGET_PDB_FILE:core> DESTINATION debug OPTIONAL)
install(FILES $<TARGET_PDB_FILE:core> DESTINATION debug OPTIONAL)

View File

@ -4,6 +4,7 @@ add_library(kernel OBJECT
errors.cpp
filesystem.cpp
pthread.cpp
semaphore.cpp
)
add_dependencies(kernel third_party)

View File

@ -1,5 +0,0 @@
add_library(semaphore OBJECT
semaphore.cpp
)
add_dependencies(semaphore third_party)

View File

@ -13,6 +13,6 @@ package "psOff Emulator" {
Modules -> core
core <-- "psOff Emulator"
core --> "psOff Emulator" : callbacks
core --> "psOff Emulator" : callbacks "imports"
@enduml

View File

@ -1,17 +0,0 @@
@startuml
skinparam classAttributeIconSize 0
package "Modules" {}
class "psOff Emulator"{
+accessRuntimeLinker()
+accessInitParams()
+accessTimer()
+accessVideoOut()
+accessFileManager()
+accessGpuMemory()
+accessSystemContent()
}
Modules -> "psOff Emulator"
@enduml

View File

@ -1,6 +1,6 @@
#include "common.h"
#include "core/kernel/errors.h"
#include "core/semaphore/semaphore.h"
#include "core/kernel/semaphore.h"
#include "core/timer/timer.h"
#include "logging.h"
#include "types.h"

View File

@ -1,4 +1,4 @@
#include "core/semaphore/semaphore.h"
#include "core/kernel/semaphore.h"
#include "common.h"
#include "core/kernel/errors.h"

View File

@ -2,10 +2,6 @@
Each target library is created separately as a shared library in the **modules** folder. This allows NIDs generation at build time and a clean code separation.
<div align="center">
![](../out/docs/uml/modules/simpleOverview/simpleOverview.svg)
</div>
The Emulator loads the libraries on demand and resolves the symbols etc. A library does only communicate with the emulator.
If it should need information/calls from other libraries, a separate top class should be used. The library can link against it and access the interface.