mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
Make some new Windows 10 memory APIs available
This commit is contained in:
parent
f6ba270ff3
commit
101fb3d9b3
5 changed files with 30 additions and 4 deletions
|
@ -1,5 +1,5 @@
|
||||||
#include "libc/nt/codegen.h"
|
#include "libc/nt/codegen.h"
|
||||||
.imp kernel32,__imp_MapViewOfFile3,MapViewOfFile3
|
.imp API-MS-Win-Core-Memory-l1-1-6,__imp_MapViewOfFile3,MapViewOfFile3
|
||||||
|
|
||||||
.text.windows
|
.text.windows
|
||||||
.ftrace1
|
.ftrace1
|
|
@ -1,5 +1,5 @@
|
||||||
#include "libc/nt/codegen.h"
|
#include "libc/nt/codegen.h"
|
||||||
.imp kernel32,__imp_VirtualAlloc2,VirtualAlloc2
|
.imp API-MS-Win-Core-Memory-l1-1-6,__imp_VirtualAlloc2,VirtualAlloc2
|
||||||
|
|
||||||
.text.windows
|
.text.windows
|
||||||
.ftrace1
|
.ftrace1
|
|
@ -158,6 +158,27 @@ $(LIBC_NT_SYNCHRONIZATION_A).pkg: \
|
||||||
|
|
||||||
#───────────────────────────────────────────────────────────────────────────────
|
#───────────────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
LIBC_NT_ARTIFACTS += LIBC_NT_MEMORY_A
|
||||||
|
LIBC_NT_MEMORY = $(LIBC_NT_MEMORY_A_DEPS) $(LIBC_NT_MEMORY_A)
|
||||||
|
LIBC_NT_MEMORY_A = o/$(MODE)/libc/nt/memory.a
|
||||||
|
LIBC_NT_MEMORY_A_SRCS := $(wildcard libc/nt/API-MS-Win-Core-Memory-l1-1-6/*.S)
|
||||||
|
LIBC_NT_MEMORY_A_OBJS = $(LIBC_NT_MEMORY_A_SRCS:%.S=o/$(MODE)/%.o)
|
||||||
|
LIBC_NT_MEMORY_A_CHECKS = $(LIBC_NT_MEMORY_A).pkg
|
||||||
|
LIBC_NT_MEMORY_A_DIRECTDEPS = LIBC_NT_KERNEL32
|
||||||
|
LIBC_NT_MEMORY_A_DEPS := \
|
||||||
|
$(call uniq,$(foreach x,$(LIBC_NT_MEMORY_A_DIRECTDEPS),$($(x))))
|
||||||
|
|
||||||
|
$(LIBC_NT_MEMORY_A): \
|
||||||
|
libc/nt/API-MS-Win-Core-Memory-l1-1-6/ \
|
||||||
|
$(LIBC_NT_MEMORY_A).pkg \
|
||||||
|
$(LIBC_NT_MEMORY_A_OBJS)
|
||||||
|
|
||||||
|
$(LIBC_NT_MEMORY_A).pkg: \
|
||||||
|
$(LIBC_NT_MEMORY_A_OBJS) \
|
||||||
|
$(foreach x,$(LIBC_NT_MEMORY_A_DIRECTDEPS),$($(x)_A).pkg)
|
||||||
|
|
||||||
|
#───────────────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
LIBC_NT_ARTIFACTS += LIBC_NT_USER32_A
|
LIBC_NT_ARTIFACTS += LIBC_NT_USER32_A
|
||||||
LIBC_NT_USER32 = $(LIBC_NT_USER32_A_DEPS) $(LIBC_NT_USER32_A)
|
LIBC_NT_USER32 = $(LIBC_NT_USER32_A_DEPS) $(LIBC_NT_USER32_A)
|
||||||
LIBC_NT_USER32_A = o/$(MODE)/libc/nt/user32.a
|
LIBC_NT_USER32_A = o/$(MODE)/libc/nt/user32.a
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#define kNtMemLargePages 0x20000000
|
#define kNtMemLargePages 0x20000000
|
||||||
#define kNtMem4mbPages 0x80000000
|
#define kNtMem4mbPages 0x80000000
|
||||||
|
|
||||||
|
#define kNtMemReservePlaceholder 0x00040000
|
||||||
#define kNtMemReplacePlaceholder 0x00004000
|
#define kNtMemReplacePlaceholder 0x00004000
|
||||||
|
|
||||||
#endif /* COSMOPOLITAN_LIBC_NT_ENUM_MEMFLAGS_H_ */
|
#endif /* COSMOPOLITAN_LIBC_NT_ENUM_MEMFLAGS_H_ */
|
||||||
|
|
|
@ -205,7 +205,6 @@ imp 'LoadResource' LoadResource kernel32 2
|
||||||
imp 'LocalFree' LocalFree kernel32 1
|
imp 'LocalFree' LocalFree kernel32 1
|
||||||
imp 'LockFile' LockFile kernel32 5
|
imp 'LockFile' LockFile kernel32 5
|
||||||
imp 'LockResource' LockResource kernel32 1
|
imp 'LockResource' LockResource kernel32 1
|
||||||
imp 'MapViewOfFile3' MapViewOfFile3 kernel32 9
|
|
||||||
imp 'MoveFile' MoveFileW kernel32 2
|
imp 'MoveFile' MoveFileW kernel32 2
|
||||||
imp 'MultiByteToWideChar' MultiByteToWideChar kernel32 6
|
imp 'MultiByteToWideChar' MultiByteToWideChar kernel32 6
|
||||||
imp 'OfferVirtualMemory' OfferVirtualMemory kernel32 3
|
imp 'OfferVirtualMemory' OfferVirtualMemory kernel32 3
|
||||||
|
@ -296,7 +295,6 @@ imp 'UnmapViewOfFile2' UnmapViewOfFile2 kernel32 2
|
||||||
imp 'UnmapViewOfFileEx' UnmapViewOfFileEx kernel32 3
|
imp 'UnmapViewOfFileEx' UnmapViewOfFileEx kernel32 3
|
||||||
imp 'UpdateProcThreadAttribute' UpdateProcThreadAttribute kernel32 7
|
imp 'UpdateProcThreadAttribute' UpdateProcThreadAttribute kernel32 7
|
||||||
imp 'VirtualAlloc' VirtualAlloc kernel32 4
|
imp 'VirtualAlloc' VirtualAlloc kernel32 4
|
||||||
imp 'VirtualAlloc2' VirtualAlloc2 kernel32 7
|
|
||||||
imp 'VirtualAllocEx' VirtualAllocEx kernel32 5
|
imp 'VirtualAllocEx' VirtualAllocEx kernel32 5
|
||||||
imp 'VirtualFree' VirtualFree kernel32 3
|
imp 'VirtualFree' VirtualFree kernel32 3
|
||||||
imp 'VirtualLock' VirtualLock kernel32 2
|
imp 'VirtualLock' VirtualLock kernel32 2
|
||||||
|
@ -629,6 +627,12 @@ imp 'WaitOnAddress' WaitOnAddress API-MS-Win-Core-Synch-l1-2-0 4
|
||||||
imp 'WakeByAddressAll' WakeByAddressAll API-MS-Win-Core-Synch-l1-2-0 1
|
imp 'WakeByAddressAll' WakeByAddressAll API-MS-Win-Core-Synch-l1-2-0 1
|
||||||
imp 'WakeByAddressSingle' WakeByAddressSingle API-MS-Win-Core-Synch-l1-2-0 1
|
imp 'WakeByAddressSingle' WakeByAddressSingle API-MS-Win-Core-Synch-l1-2-0 1
|
||||||
|
|
||||||
|
# API-MS-Win-Core-Memory-l1-1-6.dll (Windows 10+)
|
||||||
|
#
|
||||||
|
# Name Actual DLL Arity
|
||||||
|
imp 'MapViewOfFile3' MapViewOfFile3 API-MS-Win-Core-Memory-l1-1-6 9
|
||||||
|
imp 'VirtualAlloc2' VirtualAlloc2 API-MS-Win-Core-Memory-l1-1-6 7
|
||||||
|
|
||||||
# NTDLL.DLL
|
# NTDLL.DLL
|
||||||
# BEYOND THE PALE
|
# BEYOND THE PALE
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in a new issue