cosmopolitan/libc/nt
tkchia 0da47c51de
[metal] Allow programs larger than 440 KiB to run in bare metal mode (#685)
* [metal] Copy program pages to extended memory at startup
* [metal] Reclaim base memory pages for later app use
* [metal] Load program pages beyond 1st 440 KiB to extended memory

o//examples/hellolua.com now runs correctly under QEMU (in
legacy BIOS mode).

* [metal] Place GDT in read/write segment

The CPU absolutely needs to alter the GDT when loading the
task register (via ltr).  To account for this, I move the
GDT into a read/write data section.  There is still a "rump"
read-only GDT in the text section that is used by the real
mode bootloader.

We also delay the loading of the task register (ltr) until
after the IDT and TSS are finally set up.

* [metal] Get examples/vga2.c serial output working for UEFI boot
* [metal] Get examples/vga2.c VGA output working for UEFI boot
* [metal] Allow munmap() to reclaim dynamically allocated pages
* Place TLS sections right after .text, not after embedded zip file

Co-authored-by: tkchia <tkchia-cosmo@gmx.com>
2022-12-17 17:51:20 -08:00
..
advapi32 Remove ANSI WIN32 functions and undocumented ADVAPI32 2022-08-15 09:01:40 -07:00
API-MS-Win-Core-Synch-l1-2-0 Change support vector to Windows 8+ 2022-09-15 03:55:05 -07:00
comdlg32 Delete most undocumented New Technology APIs 2022-04-11 23:41:12 -07:00
enum Rewrite brk() and sbrk() 2022-10-01 23:11:56 -07:00
gdi32 Unbloat the build 2022-08-11 00:15:29 -07:00
iphlpapi Add ioctl(SIOCGIFxxx) support (#197) 2021-06-24 10:53:27 -07:00
kernel32 Make fixes and improvements 2022-10-19 07:19:19 -07:00
MsWSock Delete most undocumented New Technology APIs 2022-04-11 23:41:12 -07:00
nt Correct more typos (#500) 2022-07-21 20:53:30 -07:00
ntdll Unbloat the build 2022-08-11 00:15:29 -07:00
pdh Fix some win32 definitions 2022-03-22 19:54:36 -07:00
PowrProf Make more fixes and improvements 2022-04-21 13:44:59 -07:00
psapi Fix some win32 definitions 2022-03-22 19:54:36 -07:00
struct Rewrite brk() and sbrk() 2022-10-01 23:11:56 -07:00
thunk Make improvements 2022-04-24 10:06:05 -07:00
typedef Add epoll and do more release readiness changes 2020-11-28 12:01:51 -08:00
url Delete most undocumented New Technology APIs 2022-04-11 23:41:12 -07:00
user32 Unbloat the build 2022-08-11 00:15:29 -07:00
ws2_32 Make fixes and improvements 2022-06-25 21:09:09 -07:00
accounting.h Make improvements 2022-05-28 00:28:09 -07:00
automation.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
codegen.h Make improvements 2020-12-01 03:43:40 -08:00
codegen.sh Rewrite recursive mutex code 2022-09-10 09:18:52 -07:00
comdlg.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
comms.h Make fixes and improvements 2022-10-19 07:19:19 -07:00
console.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
createfile.h Improve synchronization 2022-04-15 15:31:55 -07:00
debug.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
dll.h Make numerous improvements 2021-09-28 01:52:34 -07:00
efi.h [metal] Allow programs larger than 440 KiB to run in bare metal mode (#685) 2022-12-17 17:51:20 -08:00
errors.h Add WSL to test fleet 2022-11-02 06:49:42 -07:00
events.h Delete most undocumented New Technology APIs 2022-04-11 23:41:12 -07:00
files.h Add posix semaphores support 2022-10-14 09:21:02 -07:00
iocp.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
ipc.h Improve synchronization 2022-04-15 15:31:55 -07:00
iphlpapi.h Add test for ioctl(SIOCGIFCONF) and polyfill on BSDs 2021-06-25 18:44:04 -07:00
master.sh Make fixes and improvements 2022-10-19 07:19:19 -07:00
memory.h Get life.com in MODE=tiny back down to 12kb 2022-03-23 08:09:01 -07:00
messagebox.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
nt.mk Change support vector to Windows 8+ 2022-09-15 03:55:05 -07:00
ntdll.h Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
ntdllimport.h Reduce build graph by another 14 percent 2022-08-17 20:01:21 -07:00
ntdllimport.S Pay off more technical debt 2022-09-12 23:36:56 -07:00
paint.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
pdh.h Fix some win32 definitions 2022-03-22 19:54:36 -07:00
pedef.internal.h Add UEFI support 2021-02-21 21:33:04 -08:00
privilege.h Fix some win32 definitions 2022-03-22 19:54:36 -07:00
process.h Improve the affinity system calls 2022-10-06 15:08:29 -07:00
registry.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
runtime.h Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
signals.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
startupinfo.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
synchronization.h Change support vector to Windows 8+ 2022-09-15 03:55:05 -07:00
system.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
systeminfo.h Fix cosmopolitan.h for C++ 2021-02-01 04:04:44 -08:00
sysv2nt.s Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
thread.h Improve threading support further 2022-05-17 04:14:28 -07:00
version.h Optimize memory layout 2022-09-12 04:26:52 -07:00
windows.h Add ioctl(SIOCGIFxxx) support (#197) 2021-06-24 10:53:27 -07:00
winsock.h Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00