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
@@ -7,6 +7,7 @@
|
||||
// FFFF800000000000-FFFF87FFFFFFFFFF is reserved for kernel images and fixed kernel mappings.
|
||||
// FFFF880000000000-FFFF8FFFFFFFFFFF is the physical direct map.
|
||||
// FFFF900000000000-FFFF97FFFFFFFFFF is the PCI MMIO aperture owned by pci.sys.
|
||||
// FFFF980000000000-FFFF9FFFFFFFFFFF is the generic device-MMIO aperture.
|
||||
// FFFFA00000000000-FFFFAFFFFFFFFFFF is the kernel shared-view arena.
|
||||
// FFFFC00000000000-FFFFDFFFFFFFFFFF is the kernel pool.
|
||||
//
|
||||
@@ -43,7 +44,6 @@ static KSTATUS KiCopyToUserPaged(void* userDst, const void* kernelSrc, size_t si
|
||||
static PHYSICAL_ADDRESS gVadZeroPageFrame;
|
||||
|
||||
// User/kernel copy boundary helpers.
|
||||
// Implements the user Range Valid operation.
|
||||
static bool KiUserRangeValid(uintptr_t addr, size_t size) {
|
||||
if (size == 0) return true;
|
||||
if (addr < USER_BASE) return false;
|
||||
@@ -2584,7 +2584,6 @@ size_t MmVadGetSizeByBase(const void* base) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Implements the VAD Type Name operation.
|
||||
static const char* KiVadTypeName(MM_VAD_TYPE type) {
|
||||
switch (type) {
|
||||
case MmVadGeneric: return "generic";
|
||||
@@ -2600,7 +2599,6 @@ static const char* KiVadTypeName(MM_VAD_TYPE type) {
|
||||
}
|
||||
}
|
||||
|
||||
// Implements the debug Dump VADs operation.
|
||||
void MmVadDebugDumpProcess(PROCESS* process) {
|
||||
if (!process) {
|
||||
DbgPrint("MM: VADs: <no process>\n");
|
||||
@@ -2629,7 +2627,6 @@ void MmVadDebugDumpProcess(PROCESS* process) {
|
||||
if (!count) DbgPrint(" <none>\n");
|
||||
}
|
||||
|
||||
// Implements the debug Describe Address operation.
|
||||
void MmDebugDescribeAddress(uintptr_t addr) {
|
||||
PHYSICAL_ADDRESS phys = 0;
|
||||
uint64_t flags = 0;
|
||||
@@ -2705,7 +2702,6 @@ __declspec(dllexport) void MmFreeUserMemoryForProcess(PROCESS* process, void* pt
|
||||
(void)MmVadDestroy(process, ptr);
|
||||
}
|
||||
|
||||
// Implements the reallocate User Memory For Process operation.
|
||||
__declspec(dllexport) void* MmReallocateUserMemoryForProcess(PROCESS* process, void* ptr, size_t newSize) {
|
||||
if (!process) return (void*)0;
|
||||
if (!ptr) return MmAllocateUserMemoryForProcess(process, newSize);
|
||||
@@ -2737,7 +2733,6 @@ __declspec(dllexport) void MmFreeUserMemory(void* ptr) {
|
||||
MmFreeUserMemoryForProcess(process, ptr);
|
||||
}
|
||||
|
||||
// Implements the reallocate User Memory operation.
|
||||
__declspec(dllexport) void* MmReallocateUserMemory(void* ptr, size_t newSize) {
|
||||
PROCESS* process = KeGetCurrentProcess();
|
||||
return MmReallocateUserMemoryForProcess(process, ptr, newSize);
|
||||
|
||||
Reference in new issue
Block a user