summaryrefslogtreecommitdiffhomepage
path: root/Private/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Source')
-rw-r--r--Private/Source/AppMain.cxx2
-rw-r--r--Private/Source/PEFCodeManager.cxx29
-rw-r--r--Private/Source/compile_flags.txt1
3 files changed, 19 insertions, 13 deletions
diff --git a/Private/Source/AppMain.cxx b/Private/Source/AppMain.cxx
index 6dd78496..8fa74459 100644
--- a/Private/Source/AppMain.cxx
+++ b/Private/Source/AppMain.cxx
@@ -24,7 +24,7 @@ EXTERN_C NewOS::Void AppMain(NewOS::Void) {
NewOS::FilesystemManagerInterface::Mount(newFS);
if (newFS->GetImpl()) {
- auto catalog = newFS->GetImpl()->GetCatalog("/");
+ auto catalog = newFS->GetImpl()->GetCatalog("/Boot");
if (catalog) {
NewOS::kcout << "Catalog-Path-Name: " << catalog->Name << NewOS::endl;
delete catalog;
diff --git a/Private/Source/PEFCodeManager.cxx b/Private/Source/PEFCodeManager.cxx
index 6ff5730d..cd1b301f 100644
--- a/Private/Source/PEFCodeManager.cxx
+++ b/Private/Source/PEFCodeManager.cxx
@@ -35,11 +35,9 @@ UInt32 rt_get_pef_platform(void) noexcept {
/// @brief PEF loader constructor w/ blob.
/// @param blob
-PEFLoader::PEFLoader(const VoidPtr blob) : fCachedBlob(nullptr) {
- fCachedBlob = blob;
- fBad = false;
-
+PEFLoader::PEFLoader(const VoidPtr blob) : fCachedBlob(blob) {
MUST_PASS(fCachedBlob);
+ fBad = false;
}
/// @brief PEF loader constructor.
@@ -155,10 +153,8 @@ ErrorOr<VoidPtr> PEFLoader::FindStart() {
/// @return
bool PEFLoader::IsLoaded() noexcept { return !fBad && fCachedBlob; }
-#define kPefAppnameCommandHdr "PefAppName"
-
namespace Utils {
-bool execute_from_image(PEFLoader &exec) noexcept {
+bool execute_from_image(PEFLoader &exec, const Int32& procKind) noexcept {
auto errOrStart = exec.FindStart();
if (errOrStart.Error() != 0) return false;
@@ -166,10 +162,7 @@ bool execute_from_image(PEFLoader &exec) noexcept {
ProcessHeader proc(errOrStart.Leak().Leak());
Ref<ProcessHeader> refProc = proc;
- proc.Kind = ProcessHeader::kUserKind;
- rt_copy_memory(exec.FindSymbol(kPefAppnameCommandHdr, kPefData), proc.Name,
- rt_string_len((const Char *)exec.FindSymbol(
- kPefAppnameCommandHdr, kPefData)));
+ proc.Kind = procKind;
return ProcessScheduler::Shared().Leak().Add(refProc);
}
@@ -177,7 +170,19 @@ bool execute_from_image(PEFLoader &exec) noexcept {
const char *PEFLoader::Path() { return fPath.Leak().CData(); }
-const char *PEFLoader::Format() { return "PEF"; }
+const char *PEFLoader::Format() {
+ #ifdef __32x0__
+ return "32x0 PEF.";
+ #elif defined(__64x0__)
+ return "64x0 PEF.";
+ #elif defined(__x86_64__)
+ return "x86_64 PEF.";
+ #elif defined(__powerpc64__)
+ return "POWER PEF.";
+ #else
+ return "Unknonwn PEF.";
+ #endif // __32x0__ || __64x0__ || __x86_64__
+}
const char *PEFLoader::MIME() { return kPefApplicationMime; }
} // namespace NewOS
diff --git a/Private/Source/compile_flags.txt b/Private/Source/compile_flags.txt
index b96cbe62..1f54e6fb 100644
--- a/Private/Source/compile_flags.txt
+++ b/Private/Source/compile_flags.txt
@@ -4,3 +4,4 @@
-I../
-I$(HOME)/
-D__FSKIT_NEWFS__
+-D__NEWOS_AMD64__