diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-21 05:55:02 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-21 05:56:26 +0200 |
| commit | f3432c10bd694344f7e1f82ed8cd793358f1a400 (patch) | |
| tree | b2ac11c9c1378cb24e046185b6d2eeb1b0e16e98 /Kernel | |
| parent | 3a11be8c6f15cb03b483e2693bcd244846c6d61d (diff) | |
IMP: protect other computers which doesnt support EPM layout (AMD64)
IMP: Add LTE builtin and NetworkDevice of type LTE.
UPDATE: Also updated ReadMe.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Kernel')
| -rw-r--r-- | Kernel/Builtins/GSM/IO.hxx | 29 | ||||
| -rw-r--r-- | Kernel/Builtins/LTE/.keepme (renamed from Kernel/Builtins/GSM/.keepme) | 0 | ||||
| -rw-r--r-- | Kernel/Builtins/LTE/IO.hxx | 29 | ||||
| -rw-r--r-- | Kernel/HALKit/ARM64/Storage/HalFlash.cxx | 54 | ||||
| -rw-r--r-- | Kernel/NetworkKit/LTE.hxx (renamed from Kernel/NetworkKit/GSM.hxx) | 10 | ||||
| -rw-r--r-- | Kernel/NetworkKit/NetworkDevice.hpp | 3 | ||||
| -rw-r--r-- | Kernel/Sources/KeMain.cxx | 19 | ||||
| -rw-r--r-- | Kernel/amd64-efi.make | 2 |
8 files changed, 80 insertions, 66 deletions
diff --git a/Kernel/Builtins/GSM/IO.hxx b/Kernel/Builtins/GSM/IO.hxx deleted file mode 100644 index 39de1a0f..00000000 --- a/Kernel/Builtins/GSM/IO.hxx +++ /dev/null @@ -1,29 +0,0 @@ -/* -------------------------------------------
-
-Copyright Zeta Electronics Corporation.
-
-File: GSM\IO.hxx.
-Purpose: GSM I/O.
-
-------------------------------------------- */
-
-#ifndef _INC_NETWORK_GSM_IO_HXX_
-#define _INC_NETWORK_GSM_IO_HXX_
-
-#include <NewKit/Defines.hpp>
-#include <NewKit/String.hpp>
-
-/// @brief GSM I/O routines.
-
-/// @brief Turn on SIM slot.
-NewOS::Boolean gsm_turn_on_slot(NewOS::Int32 slot);
-
-/// @brief Turn off SIM slot.
-NewOS::Boolean gsm_turn_off_slot(NewOS::Int32 slot);
-
-/// @brief Send AT command.
-NewOS::Boolean gsm_send_at_command(NewOS::Char* buf,
- NewOS::Size bufSz);
-
-
-#endif // ifndef _INC_NETWORK_GSM_IO_HXX_
diff --git a/Kernel/Builtins/GSM/.keepme b/Kernel/Builtins/LTE/.keepme index e69de29b..e69de29b 100644 --- a/Kernel/Builtins/GSM/.keepme +++ b/Kernel/Builtins/LTE/.keepme diff --git a/Kernel/Builtins/LTE/IO.hxx b/Kernel/Builtins/LTE/IO.hxx new file mode 100644 index 00000000..a3f62fa9 --- /dev/null +++ b/Kernel/Builtins/LTE/IO.hxx @@ -0,0 +1,29 @@ +/* -------------------------------------------
+
+Copyright Zeta Electronics Corporation.
+
+File: LTE\IO.hxx.
+Purpose: LTE I/O.
+
+------------------------------------------- */
+
+#ifndef _INC_NETWORK_LTE_IO_HXX_
+#define _INC_NETWORK_LTE_IO_HXX_
+
+#include <NewKit/Defines.hpp>
+#include <NewKit/String.hpp>
+
+/// @brief LTE I/O routines.
+
+/// @brief Turn on SIM slot.
+NewOS::Boolean lte_turn_on_slot(NewOS::Int32 slot);
+
+/// @brief Turn off SIM slot.
+NewOS::Boolean lte_turn_off_slot(NewOS::Int32 slot);
+
+/// @brief Send AT command.
+NewOS::Boolean lte_send_at_command(NewOS::Char* buf,
+ NewOS::Size bufSz);
+
+
+#endif // ifndef _INC_NETWORK_LTE_IO_HXX_
diff --git a/Kernel/HALKit/ARM64/Storage/HalFlash.cxx b/Kernel/HALKit/ARM64/Storage/HalFlash.cxx index 7bc9c8c0..4466963e 100644 --- a/Kernel/HALKit/ARM64/Storage/HalFlash.cxx +++ b/Kernel/HALKit/ARM64/Storage/HalFlash.cxx @@ -12,41 +12,55 @@ #ifdef __FLASH_MEM__ +#define cMaxFlash (4U) + namespace NewOS { - /// /:\\BRIDGE\\FLSH\\1 - constexpr auto cFlashBridgeMagic = "FLSH"; - constexpr auto cFlashBridgeRevision = 1; + /// /:\\BRIDGE\\FLSH\\1 + constexpr auto cFlashBridgeMagic = "FLSH"; + constexpr auto cFlashBridgeRevision = 1; - STATIC const Boolean kFlashEnabled = No; - STATIC SizeT kFlashSize = 0UL; - STATIC SizeT kFlashSectorSz = 0UL; + STATIC const Boolean kFlashEnabled = No; + STATIC SizeT kFlashSize[cMaxFlash] = {}; + STATIC SizeT kFlashSectorSz[cMaxFlash] = {}; - /// @brief Enable flash memory builtin. - STATIC Void drv_enable_builtin(Void); + /// @brief Enable flash memory builtin. + STATIC Void drv_enable_flash(Int32 slot); - /// @brief Disable flash memory builtin. - STATIC Void drv_disable_builtin(Void); + /// @brief Disable flash memory builtin. + STATIC Void drv_disable_flash(Int32 slot); - /// @brief get sector count. - /// @return drive sector count. - SizeT drv_std_get_sector_count(void) + /// @brief get sector count. + /// @return drive sector count. + SizeT drv_std_get_sector_count(Int32 slot) { - return kFlashSectorSz; + if (slot > cMaxFlash) + return 0; + + return kFlashSectorSz[slot]; } /// @brief get device size. /// @return drive size - SizeT drv_std_get_drv_size(void) + SizeT drv_std_get_drv_size(Int32 slot) { - return kFlashSize; + if (slot > cMaxFlash) + return 0; + + return kFlashSize[slot]; } - /// @brief Enable flash memory builtin. - STATIC Void drv_enable_builtin(Void) {} + /// @brief Enable flash memory at slot. + STATIC Void drv_enable_flash(Int32 arg) + { + kcout << "newoskrnl: enabled hardware.\r"; + } - /// @brief Disable flash memory builtin. - STATIC Void drv_disable_builtin(Void) {} + /// @brief Disable flash memory at slot. + STATIC Void drv_disable_flash(Int32 arg) + { + kcout << "newoskrnl: disabled hardware.\r"; + } } // namespace NewOS #endif // if __FLASH_MEM__ (Bridge) diff --git a/Kernel/NetworkKit/GSM.hxx b/Kernel/NetworkKit/LTE.hxx index f4b040b3..cb3aa1e1 100644 --- a/Kernel/NetworkKit/GSM.hxx +++ b/Kernel/NetworkKit/LTE.hxx @@ -2,15 +2,15 @@ Copyright Zeta Electronics Corporation. - File: GSM.hxx. - Purpose: GSM protocol classes. + File: LTE.hxx. + Purpose: LTE protocol classes. ------------------------------------------- */ -#ifndef _INC_NETWORK_GSM_HXX_ -#define _INC_NETWORK_GSM_HXX_ +#ifndef _INC_NETWORK_LTE_HXX_ +#define _INC_NETWORK_LTE_HXX_ #include <NewKit/Defines.hpp> #include <NewKit/String.hpp> -#endif // ifndef _INC_NETWORK_GSM_HXX_ +#endif // ifndef _INC_NETWORK_LTE_HXX_ diff --git a/Kernel/NetworkKit/NetworkDevice.hpp b/Kernel/NetworkKit/NetworkDevice.hpp index 9b251c2e..c6f0cca3 100644 --- a/Kernel/NetworkKit/NetworkDevice.hpp +++ b/Kernel/NetworkKit/NetworkDevice.hpp @@ -71,6 +71,9 @@ namespace NewOS /// @brief GSM device. using GSMNetworkDevice = NetworkDevice; + + /// @brief LTE device. + using LTENetworkDevice = NetworkDevice; } // namespace NewOS #include <NetworkKit/NetworkDevice.inl> diff --git a/Kernel/Sources/KeMain.cxx b/Kernel/Sources/KeMain.cxx index 59f53f34..3ff754c2 100644 --- a/Kernel/Sources/KeMain.cxx +++ b/Kernel/Sources/KeMain.cxx @@ -26,8 +26,7 @@ namespace NewOS::Detail { - /// @brief Filesystem auto mounter, additional checks are also done by the - /// class. + /// @brief Filesystem auto installer, additional checks are also done by the class. class FilesystemInstaller final { NewOS::NewFilesystemManager* fNewFS{nullptr}; @@ -105,12 +104,8 @@ namespace NewOS::Detail auto catalogSystem = fNewFS->GetParser()->GetCatalog(cDirStr[dirIndx]); - kcout << "newoskrnl: write fork...\r"; - fNewFS->GetParser()->CreateFork(catalogSystem, theFork); - kcout << "newoskrnl: write catalog...\r"; - fNewFS->GetParser()->WriteCatalog( catalogSystem, (NewOS::VoidPtr)(metadataFolder.CData()), metadataSz, cFolderInfo); @@ -186,11 +181,12 @@ namespace NewOS::Detail } }; - /// @brief Loads necessary servers for the OS to work. - /// @param void no parameters. + /// @brief Loads necessary servers for the kernel -> user mode switch. + /// @param void no args. /// @return void no return value. STATIC NewOS::Void ke_launch_srv(NewOS::Void) { + // load security server. NewOS::PEFLoader secureSrv("C:\\System\\securesrv.exe"); if (!secureSrv.IsLoaded()) @@ -201,14 +197,15 @@ namespace NewOS::Detail NewOS::Utils::execute_from_image(secureSrv, NewOS::ProcessHeader::kAppKind); - NewOS::PEFLoader uiSrv("C:\\System\\uisrv.exe"); + /// load middleware service. + NewOS::PEFLoader middlewareSvc("C:\\System\\middlewaresvc.exe"); - if (!uiSrv.IsLoaded()) + if (!middlewareSvc.IsLoaded()) { NewOS::ke_stop(RUNTIME_CHECK_FAILED); } - NewOS::Utils::execute_from_image(uiSrv, + NewOS::Utils::execute_from_image(middlewareSvc, NewOS::ProcessHeader::kAppKind); } } // namespace NewOS::Detail diff --git a/Kernel/amd64-efi.make b/Kernel/amd64-efi.make index 9421f63a..c230bc48 100644 --- a/Kernel/amd64-efi.make +++ b/Kernel/amd64-efi.make @@ -84,4 +84,4 @@ help: .PHONY: clean clean: - rm -f $(LDOBJ) $(wildcard *.o) $(KERNEL) + rm -f $(LDOBJ) $(wildcard *.o) $(KERNEL) $(KERNEL_512K) |
