summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Sources
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-09-03 22:37:17 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-09-03 22:37:17 +0200
commitcc9ce57cac59bd443e2319e3b8f427172b93f7da (patch)
tree524ac4109ba00c887765f243e07e3d8c25cddffa /dev/ZKA/Sources
parent2a20797f83b5184cd569bacefbe68efb731a1135 (diff)
[ KERNEL ] REFACTORINGS AND IMPROVEMENTS OVER KERNEL AND DRIVERS.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKA/Sources')
-rw-r--r--dev/ZKA/Sources/MP.cxx7
-rw-r--r--dev/ZKA/Sources/PEFCodeManager.cxx6
2 files changed, 6 insertions, 7 deletions
diff --git a/dev/ZKA/Sources/MP.cxx b/dev/ZKA/Sources/MP.cxx
index fcf555cb..b3b62609 100644
--- a/dev/ZKA/Sources/MP.cxx
+++ b/dev/ZKA/Sources/MP.cxx
@@ -15,10 +15,6 @@
///! @brief This file handles multi processing in the Kernel.
///! @brief Multi processing is needed for multi-tasking operations.
-#ifdef __ZKA_AMD64__
-EXTERN Kernel::HAL::Detail::ZKA_TSS cTSS;
-#endif // ifdef __ZKA_AMD64__
-
namespace Kernel
{
/***********************************************************************************/
@@ -104,9 +100,6 @@ namespace Kernel
if (kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled)
{
-#ifdef __ZKA_AMD64__
- cTSS.fRsp0 = (UIntPtr)stack_ptr;
-#endif // ifdef __ZKA_AMD64__
return mp_register_process(fStack);
}
diff --git a/dev/ZKA/Sources/PEFCodeManager.cxx b/dev/ZKA/Sources/PEFCodeManager.cxx
index a797fd50..526312e0 100644
--- a/dev/ZKA/Sources/PEFCodeManager.cxx
+++ b/dev/ZKA/Sources/PEFCodeManager.cxx
@@ -164,6 +164,12 @@ namespace Kernel
Char* blobRet = new Char[container_header->Size];
+ HAL::mm_update_pte(blobRet, HAL::eFlagsPresent);
+ HAL::mm_update_pte(blobRet, HAL::eFlagsUser);
+
+ if (container_header->Kind != kPefCode)
+ HAL::mm_update_pte(blobRet, HAL::eFlagsRw);
+
rt_copy_memory((VoidPtr)((Char*)blob + sizeof(PEFCommandHeader)), blobRet, container_header->Size);
mm_delete_ke_heap(blob);