replace nob with ms' build, move disk creation to build.bat, major comment cleanup, remove old and stupid tests, overhaul interrupt management with per-CPU vector allocation, affinity migration and safe teardown, add proper IOAPIC routing and PCI MSI/MSI-X/INTx support, migrate drivers to the new interrupt API, integrate ACPICA with a proper OS services layer, move ACPI firmware events, power button handling and S5 shutdown into acpi.sys, add parallel driver startup and atomic publication, replace PnP arrays with dynamic lists, redesign service startup again to be asynchronous, add delayed startup mode for services, allow omitting keys in services.ini, fix acpi ec deferred work handling, fix kernel threads having garbage exit code.
This commit is contained in:
1 parent
d36f19509c
commit
36eef8f58d
696 files changed
+147281
-7530
No files matched your search
@@ -0,0 +1 @@
|
||||
!include $(BASEDIR)\makefile.def
|
||||
@@ -128,7 +128,6 @@ static void printUInt64(uint64_t n) {
|
||||
while (i > 0) { char c[2] = { buf[--i], '\0' }; print(c); }
|
||||
}
|
||||
|
||||
// Implements the u64 Digits operation.
|
||||
static uint32_t u64Digits(uint64_t n) {
|
||||
uint32_t digits = 1;
|
||||
while (n >= 10u) { n /= 10u; digits++; }
|
||||
@@ -833,7 +832,6 @@ static bool readLine(char* buf, int len) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Implements the trim operation.
|
||||
static char* trim(char* s) {
|
||||
while (*s == ' ') s++;
|
||||
int len = (int)strlen(s);
|
||||
@@ -1001,7 +999,6 @@ static void cmd_volume(const char* args) {
|
||||
print("\n");
|
||||
}
|
||||
|
||||
// Implements the cmd stats operation.
|
||||
static void cmd_stats(void) {
|
||||
SYS_SCHEDULER_STATS sched;
|
||||
SYS_PMM_STATS pmm;
|
||||
@@ -1416,7 +1413,6 @@ static void cmd_stats(void) {
|
||||
SysFreeVm(cpuBuffer);
|
||||
}
|
||||
|
||||
// Implements the cmd time operation.
|
||||
static void cmd_time(void) {
|
||||
SYS_SYSTEM_TIME t;
|
||||
KSTATUS status = SysGetSystemTime(&t);
|
||||
@@ -1476,7 +1472,6 @@ static void printDisplayStats(const char* title, const DISPLAY_STATS* st) {
|
||||
print(" hide="); printUInt64(st->CursorHideCount); print("\n");
|
||||
}
|
||||
|
||||
// Implements the cmd display operation.
|
||||
static void cmd_display(void) {
|
||||
SYS_DISPLAY_INFO info;
|
||||
KSTATUS status = SysQueryDisplayInfo(&info);
|
||||
@@ -1673,7 +1668,6 @@ static void cmd_surfbench(void) {
|
||||
shellPrintFramebufferBenchmark("full", &full);
|
||||
}
|
||||
|
||||
// Implements the cmd mem operation.
|
||||
static void cmd_mem(void) {
|
||||
SYS_MEMORY_STATUS st;
|
||||
if (SysGetMemoryStatus(&st) != 0) {
|
||||
@@ -1767,7 +1761,6 @@ static void printThreadFlags(uint32_t flags) {
|
||||
printStringWidth(buf, 7);
|
||||
}
|
||||
|
||||
// Implements the cmd ps operation.
|
||||
static void cmd_ps(void) {
|
||||
SYS_PROCESS_INFO procs[MAX_PROCS];
|
||||
size_t count = 0;
|
||||
@@ -1825,7 +1818,6 @@ static void cmd_ps(void) {
|
||||
}
|
||||
}
|
||||
|
||||
// Implements the cmd threads operation.
|
||||
static void cmd_threads(const char* args) {
|
||||
uint32_t pid = 0;
|
||||
if (!parseUInt(args, &pid)) {
|
||||
@@ -1922,7 +1914,6 @@ static void cmd_kill(const char* args) {
|
||||
}
|
||||
}
|
||||
|
||||
// Implements the cmd write operation.
|
||||
static void cmd_write(const char* args) {
|
||||
char filename[MAX_CMD]; int i = 0;
|
||||
while (args[i] != ' ' && args[i] != '\0' && i < MAX_CMD - 1) {
|
||||
@@ -2083,7 +2074,6 @@ static bool shellTryResourceDir(const char* target) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Implements the cmd dir operation.
|
||||
static void cmd_dir(const char* path) {
|
||||
uint32_t hDir;
|
||||
const char* target = (path && *path != '\0') ? path : ".";
|
||||
@@ -2131,7 +2121,6 @@ static void cmd_dir(const char* path) {
|
||||
SysFreeVm(entries);
|
||||
}
|
||||
|
||||
// Implements the cmd type operation.
|
||||
static void cmd_type(const char* filename) {
|
||||
uint32_t hFile;
|
||||
if (open_file(filename, &hFile) != 0) { print("type: cannot open file\n"); return; }
|
||||
@@ -2144,7 +2133,6 @@ static void cmd_type(const char* filename) {
|
||||
SysCloseHandle(hFile); print("\n");
|
||||
}
|
||||
|
||||
// Implements the extract Program Path operation.
|
||||
static bool extractProgramPath(const char* cmdline, char* out, size_t outSize) {
|
||||
if (!cmdline || !out || outSize == 0) return false;
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
TARGETNAME=shell_native
|
||||
TARGETPATH=obj
|
||||
TARGETTYPE=PROGRAM
|
||||
FLAVOR=USER
|
||||
TARGETLIBS="$(BASEDIR)\bin\syscall.lib" "$(BASEDIR)\bin\libc.lib" "$(BASEDIR)\bin\native_runtime.lib"
|
||||
EXTRA_LFLAGS=/ENTRY:NtlNativeStart
|
||||
SOURCES=@/code/user/apps/shell_native/shell_native.c
|
||||
Reference in new issue
Block a user