Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
675 commits
Select commit Hold shift + click to select a range
5a327e3
Merge pull request #81 from Vadiml1024/copilot/continue-windows-on-li…
Vadiml1024 Feb 22, 2026
c5ef371
Initial plan
Copilot Feb 22, 2026
9294266
feat: Phase 23 - reduce Windows-on-Linux stubs from 14 to 0
Copilot Feb 22, 2026
4dc9537
docs: update SESSION_SUMMARY for Phase 23
Copilot Feb 22, 2026
830dd9c
docs: fix doc-comments for LockFileEx, UnlockFile, and WaitOnAddress …
Copilot Feb 22, 2026
9e803e1
fix: resolve CI clippy errors in VirtualQuery and tests; update statu…
Copilot Feb 22, 2026
4240f9f
Merge pull request #82 from Vadiml1024/copilot/continue-windows-linux…
Vadiml1024 Feb 22, 2026
77f6b96
Initial plan
Copilot Feb 22, 2026
9462ed3
docs: remove duplicated content from windows_on_linux_status.md
Copilot Feb 22, 2026
e1cf156
Merge pull request #83 from Vadiml1024/copilot/review-windows-linux-s…
Vadiml1024 Feb 22, 2026
441615c
Initial plan
Copilot Feb 22, 2026
c8d340d
consolidate CI and other workflows into ci.yml
Copilot Feb 22, 2026
b6f5a01
Merge pull request #84 from Vadiml1024/copilot/consolidate-ci-workflows
Vadiml1024 Feb 22, 2026
1c37359
Initial plan
Copilot Feb 22, 2026
aae0d6c
Phase 24: Extended USER32 + new GDI32 stubs for GUI program support
Copilot Feb 22, 2026
dda23c5
Merge pull request #85 from Vadiml1024/copilot/implement-windows-on-l…
Vadiml1024 Feb 22, 2026
e454017
Initial plan
Copilot Feb 22, 2026
799a175
Phase 25: Add time APIs, local memory, interlocked ops, SHELL32, and …
Copilot Feb 22, 2026
8c96778
Phase 25: Fix code review issues, update docs (comparand spelling, re…
Copilot Feb 22, 2026
2455a03
Fix review issues: HeapAlloc for CommandLineToArgvW, NULL argv termin…
Copilot Feb 22, 2026
c56d7af
Merge pull request #86 from Vadiml1024/copilot/implement-windows-on-l…
Vadiml1024 Feb 22, 2026
7c52a02
Initial plan
Copilot Feb 22, 2026
5644530
feat: Phase 26 - Add mutex/semaphore, console, string, drive, and use…
Copilot Feb 22, 2026
d52183f
fix: address code review comments in Phase 26 advapi32 changes
Copilot Feb 22, 2026
bc3e22c
Phase 26: Mutex/Semaphore, Console, String Utils, Drive/Volume, User/…
Copilot Feb 22, 2026
b8a210a
fix: address review comments - error codes, race conditions, volume n…
Copilot Feb 22, 2026
3f57c13
Merge pull request #87 from Vadiml1024/copilot/implement-windows-on-l…
Vadiml1024 Feb 22, 2026
22023fa
Initial plan
Copilot Feb 22, 2026
eef3274
Phase 27: Add 27 new Windows API implementations
Copilot Feb 22, 2026
3d23387
Phase 27: Fix review comments - explicit overflow arithmetic
Copilot Feb 22, 2026
c7720b5
feat: Phase 27 - thread management, file times, character APIs, windo…
Copilot Feb 22, 2026
639e829
fix: correct Char*/CharLower/CharUpper mode detection and add single-…
Copilot Feb 22, 2026
a88592b
Phase 27: Thread management, file times, character APIs, window utili…
Copilot Feb 23, 2026
466c0dd
feat: add sync_test C++ integration test and wire phase27+sync into CI
Copilot Feb 23, 2026
1b02abd
chore: add .gitignore to sync_test, untrack sync_test.exe
Copilot Feb 23, 2026
dae64da
Merge pull request #88 from Vadiml1024/copilot/implement-windows-on-l…
Vadiml1024 Feb 23, 2026
78d294e
Initial plan
Copilot Feb 23, 2026
79e1977
Add composite actions for Rust and MinGW setup to reduce CI duplication
Copilot Feb 23, 2026
1598736
Add --verbose flag to suppress PE loader logs by default
Copilot Feb 23, 2026
0b46edc
Make --verbose also control trampoline setup messages
Copilot Feb 23, 2026
ae30aa1
Merge pull request #89 from Vadiml1024/copilot/optimize-ci-workflow
Vadiml1024 Feb 23, 2026
d1e5a22
Initial plan
Copilot Feb 23, 2026
15c4208
Phase 28: Add MSVCRT numeric/string/math/wchar, KERNEL32 file utils, …
Copilot Feb 23, 2026
cf0db4b
Fix strcmp-style comparisons to return -1/0/1 instead of 0/1/2
Copilot Feb 23, 2026
358aba6
Phase 28: Update SESSION_SUMMARY with phase 28 details
Copilot Feb 23, 2026
906ac23
Phase 28: MSVCRT/KERNEL32/SHLWAPI/USER32 API extensions (452 tests)
Copilot Feb 23, 2026
e28ac1f
Phase 28 review fixes: bug fixes, test coverage, and clippy compliance
Copilot Feb 23, 2026
47997b7
Merge pull request #90 from Vadiml1024/copilot/continue-windows-linux…
Vadiml1024 Feb 23, 2026
cf938a2
Initial plan
Copilot Feb 23, 2026
4d311df
Implement SEH (Structured Exception Handling) for Windows on Linux su…
Copilot Feb 23, 2026
f3825f2
Add C and C++ SEH exception test programs (seh_test/)
Copilot Feb 23, 2026
366a67a
Address code review: bounds checks, validation, UB fixes, and cleanup
Copilot Feb 23, 2026
b86767b
Fix workflow errors: add RemoveVectoredExceptionHandler stub and inte…
Copilot Feb 23, 2026
579e706
Merge pull request #91 from Vadiml1024/copilot/implement-seh-for-wind…
Vadiml1024 Feb 23, 2026
fcc6468
Initial plan
Copilot Feb 23, 2026
59f953a
Changes before error encountered
Copilot Feb 23, 2026
1df87bf
Add C++ exception handling R&D plan and status docs
Copilot Feb 23, 2026
3f1b1b6
Add SEH type-selector fix: set ctx->Rdx from ExceptionInformation[3] …
Copilot Feb 23, 2026
4907475
Fix review issues: allocator mismatch in realloc, #[cfg(test)] on mod…
Copilot Feb 23, 2026
258d3bd
Merge pull request #92 from Vadiml1024/copilot/implement-windows-on-l…
Vadiml1024 Feb 23, 2026
90d8a92
Initial plan
Copilot Feb 23, 2026
934e764
C++ exception handling: fix stack walk context, cached trampoline off…
Copilot Feb 23, 2026
09b293a
Fix CI: cargo fmt, clippy errors, remove debug eprintln spam
Copilot Feb 23, 2026
40960f0
Address PR review: fix match patterns, remove stale cache, tighten bo…
Copilot Feb 23, 2026
4ea9442
Extract magic number into named constant MAX_PE_IMAGE_SIZE
Copilot Feb 23, 2026
9ed3699
Fix ratchet_transmutes count and add seh_cpp_test to CI
Copilot Feb 23, 2026
98f7758
Merge pull request #93 from Vadiml1024/copilot/implement-cpp-exceptio…
Vadiml1024 Feb 23, 2026
9301bac
Initial plan
Copilot Feb 23, 2026
4b5b5ca
Implement __C_specific_handler with scope table support for C SEH __t…
Copilot Feb 24, 2026
6ca47b0
Fix clippy lint in __C_specific_handler
Copilot Feb 24, 2026
015e4ec
Implement Phase 2 cleanup walk in RtlUnwindEx and add MSVC C++ except…
Copilot Feb 24, 2026
6966520
Address all 6 PR review comments: add warnings, fix comments, use thr…
Copilot Feb 24, 2026
7285c61
Fix C++ exception handling: capture PE's RBP via [rbp] dereference fo…
Copilot Feb 24, 2026
de58948
Merge pull request #96 from Vadiml1024/copilot/continue-cpp-exception…
Vadiml1024 Feb 24, 2026
b0af9e8
Initial plan
Copilot Feb 24, 2026
377459a
Implement MSVC C++ exception handling data structures and __CxxFrameH…
Copilot Feb 24, 2026
0c48562
Address code review feedback: fix potential underflow in IP-to-state,…
Copilot Feb 24, 2026
b9d1101
Fix RBP capture in RaiseException and Phase 2 context propagation in …
Copilot Feb 24, 2026
3c8b895
Fix PE frame scanner with trampoline epilogue validation and leaf fun…
Copilot Feb 24, 2026
4dd35cf
Address review comments: struct access, iteration limits, safe arithm…
Copilot Feb 24, 2026
111e0ef
Address code review: extract constants, use sysconf for page size, re…
Copilot Feb 24, 2026
7a09b9d
Merge pull request #97 from Vadiml1024/copilot/continue-implementing-…
Vadiml1024 Feb 24, 2026
da74e63
Initial plan
Copilot Feb 24, 2026
5437e5a
Add OLEAUT32/WinRT stubs, WriteConsoleA, MSVC exception support, inte…
Copilot Feb 24, 2026
6d0bff3
Merge pull request #98 from Vadiml1024/copilot/continue-windows-on-li…
Vadiml1024 Feb 24, 2026
3d23eab
Initial plan
Copilot Feb 24, 2026
ce2cb89
Fix clippy errors and ratchet failures from Phase 29 C++ exception di…
Copilot Feb 24, 2026
d660173
Integrate MSVC-compiled Windows test executables into CI workflows
Copilot Feb 24, 2026
b4d15cc
Fix clippy borrow_as_ptr error, add __chkstk stub bypassing trampolin…
Copilot Feb 24, 2026
90b37a4
Merge pull request #99 from Vadiml1024/copilot/continue-windows-linux…
Vadiml1024 Feb 24, 2026
9f2654d
Initial plan
Copilot Feb 24, 2026
1bed330
Changes before error encountered
Copilot Feb 24, 2026
7a7b815
Fix STATUS_GCC_UNWIND handling for clang-compiled C++ exceptions
Copilot Feb 25, 2026
258896d
Fix MSVC-style C++ exception handling: correct EstablisherFrame and f…
Copilot Feb 25, 2026
15ea938
Address review comments: install lld in CI, use CLANG_C variable, use…
Copilot Feb 25, 2026
e53d8ae
Merge pull request #100 from Vadiml1024/copilot/fix-msvc-exceptions-l…
Vadiml1024 Feb 25, 2026
37da519
Initial plan
Copilot Feb 25, 2026
40d1a64
Add apt package caching to install-mingw action
Copilot Feb 25, 2026
a7d4af0
Remove rustc and mingw-w64 from copilot setup steps
Copilot Feb 25, 2026
502e9c9
Remove mold linker installation step from copilot setup steps
Copilot Feb 25, 2026
1e4e1ef
Fix apt cache path, improve fallback logging, add install timeout
Copilot Feb 25, 2026
420e1a2
Merge pull request #102 from Vadiml1024/copilot/optimize-mingw-instal…
Vadiml1024 Feb 25, 2026
1593c9f
fix: remove invalid timeout-minutes from composite action step
Vadiml1024 Feb 25, 2026
171b83b
Initial plan
Copilot Feb 25, 2026
fff4f5d
Changes before error encountered
Copilot Feb 25, 2026
dd2d0b9
Fix MSVC ABI C++ exception rethrow (throw;)
Copilot Feb 25, 2026
e21c805
Fix rethrow context restoration (RSP/RBP) for continuation code
Copilot Feb 25, 2026
b253c1f
Update status docs for MSVC ABI tests 1-5 passing
Copilot Feb 25, 2026
5800bc8
Address review comments: add #[inline(never)], clear TLS after catch,…
Copilot Feb 25, 2026
57dc578
Merge pull request #103 from Vadiml1024/copilot/run-soh-c-exception-test
Vadiml1024 Feb 25, 2026
ea82956
Initial plan
Copilot Feb 25, 2026
e0b4e2e
Remove debug eprintln! lines from kernel32.rs and msvcrt.rs
Copilot Feb 25, 2026
0f94039
Fix MSVC ABI C++ exception throw/catch/rethrow: stack unwinding, nest…
Copilot Feb 25, 2026
6574e32
Add SAFETY comment to transmute in in-catch new-throw shortcut
Copilot Feb 25, 2026
52da403
Merge pull request #104 from Vadiml1024/copilot/implement-msvc-abi-ex…
Vadiml1024 Feb 25, 2026
d6774dc
Initial plan
Copilot Feb 25, 2026
071601c
Fix MSVC hello_cli import/runtime compatibility in Windows-on-Linux r…
Copilot Feb 25, 2026
c2773e5
Address PR review feedback on docs, safety contracts, and W^X/static …
Copilot Feb 25, 2026
415294b
Merge pull request #105 from Vadiml1024/copilot/fix-hello-cli-msvc-abi
Vadiml1024 Feb 25, 2026
02ac31e
Initial plan
Copilot Feb 25, 2026
7315a5c
Test seh_cpp_test_msvc.exe: all 21 tests pass; update status document…
Copilot Feb 25, 2026
eae3377
docs: remove MSVC destructor unwinding from NOT Implemented table (it…
Copilot Feb 25, 2026
7f8738e
Merge pull request #106 from Vadiml1024/copilot/test-seh-cpp-test-msvc
Vadiml1024 Feb 25, 2026
a20e165
Initial plan
Copilot Feb 25, 2026
b778469
Phase 32: Add ole32.dll COM stubs, MSVCRT helpers, and TLS callbacks
Copilot Feb 25, 2026
8de3150
Phase 32: ole32.dll COM stubs, MSVCRT helpers, TLS callbacks, and upd…
Copilot Feb 25, 2026
cba9501
Address PR review: TLS bounds/read_unaligned, MSVCRT stubs, wcstol/ul…
Copilot Feb 25, 2026
561dbc3
Merge pull request #107 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Feb 26, 2026
90e0de9
Initial plan
Copilot Feb 26, 2026
c592147
Phase 33: printf formatter, msvcp140.dll stubs, _wfopen
Copilot Feb 26, 2026
1ea0565
Fix CI failures and apply review feedback
Copilot Feb 26, 2026
5a4ec48
Merge pull request #108 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Feb 26, 2026
94a4da5
Initial plan
Copilot Feb 26, 2026
28bcaa8
Start Phase 34: plan vprintf/vsprintf/vsnprintf and more CRT functions
Copilot Feb 26, 2026
e30d11b
Phase 34: Add vprintf/vsprintf/vsnprintf, vfprintf fix, _write, getch…
Copilot Feb 26, 2026
03c6ef6
Update SESSION_SUMMARY.md for Phase 34
Copilot Feb 26, 2026
18e16bb
Address PR review comments: fix _write/putchar, add wide_mode to prin…
Copilot Feb 26, 2026
15d28d8
Fix cargo fmt, cargo clippy failures
Copilot Feb 27, 2026
6b55f21
Fix SESSION_SUMMARY.md: remove duplicated Phase 33 content
Copilot Feb 27, 2026
63748d7
Merge pull request #109 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Feb 27, 2026
2dda349
Initial plan
Copilot Feb 27, 2026
2388fd9
Phase 35: _vsnwprintf, printf-length helpers, fd/handle interop, msvc…
Copilot Feb 27, 2026
816da73
Update SESSION_SUMMARY.md to Phase 35
Copilot Feb 27, 2026
46aff1e
Merge pull request #110 from Vadiml1024/copilot/continue-windows-on-l…
Vadiml1024 Feb 27, 2026
f981436
Initial plan
Copilot Feb 27, 2026
a1dd00c
Implement ProcessPrng and GetUserProfileDirectoryW Windows APIs
Copilot Feb 27, 2026
a1aaf4c
fix: prevent infinite loop in ProcessPrng when getrandom returns 0
Copilot Feb 27, 2026
783e272
Merge pull request #111 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Feb 27, 2026
7632fac
Initial plan
Copilot Feb 27, 2026
afc8787
Implement async IO for Windows on Linux: IOCP, ReadFileEx/WriteFileEx…
Copilot Feb 27, 2026
ca71708
Address code review: fix typo and add FileEntry::new() constructor
Copilot Feb 27, 2026
727991a
Fix cargo fmt formatting and correct GetQueuedCompletionStatusEx doc …
Copilot Feb 27, 2026
c9f2250
Merge pull request #112 from Vadiml1024/copilot/add-async-io-testing
Vadiml1024 Feb 27, 2026
72fed0d
Initial plan
Copilot Feb 27, 2026
ae04763
Phase 36: real sscanf, _wcsdup, __stdio_common_vsscanf
Copilot Feb 27, 2026
e64260f
Fix clippy cast_lossless errors in msvcrt.rs tests
Copilot Feb 27, 2026
b49f226
Fix remaining clippy warnings: unused var and items_after_statements
Copilot Feb 27, 2026
0c328a8
Merge pull request #113 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Feb 27, 2026
85a769c
Initial plan
Copilot Feb 27, 2026
99e37f8
Add async_io_test to test_win32_on_linux CI matrix
Copilot Feb 27, 2026
a488139
Fix async_io_test: add missing IOCP stubs and ANSI file API implement…
Copilot Feb 27, 2026
bd1eb84
Improve _snprintf_s: MSVCRT semantics, null/zero-size guards, unit tests
Copilot Feb 27, 2026
da7fcbe
Merge pull request #114 from Vadiml1024/copilot/add-async-io-test-to-ci
Vadiml1024 Feb 27, 2026
3f46034
Initial plan
Copilot Feb 27, 2026
f7d5774
feat: Phase 37 - UCRT sprintf/snprintf/fscanf, numeric conversions, s…
Copilot Feb 27, 2026
37f8764
fix: address Phase 37 review comments - self-assign, vswprintf, scanf…
Copilot Feb 27, 2026
29fb7db
Merge pull request #115 from Vadiml1024/copilot/continue-windows-on-l…
Vadiml1024 Feb 27, 2026
577591e
Initial plan
Copilot Feb 27, 2026
e5ab668
Phase 38: Add std::basic_string<wchar_t>, _wfindfirst/_wfindnext/_fin…
Copilot Feb 28, 2026
6b744af
Phase 38: basic_wstring<wchar_t>, _wfindfirst/_wfindnext/_findclose, …
Copilot Feb 28, 2026
33b9ece
Fix locale-printf num_params (7→9) and normalize Windows paths in _wf…
Copilot Feb 28, 2026
f62dccb
Merge pull request #116 from Vadiml1024/copilot/continue-windows-on-l…
Vadiml1024 Feb 28, 2026
4740d6e
Initial plan
Copilot Feb 28, 2026
7b76b49
Update windows_on_linux_status.md to reflect phases 33-38 (600 tests)
Copilot Feb 28, 2026
1b8e751
Address review comments: fix test count clarity, function names, ssca…
Copilot Feb 28, 2026
8b1c9be
Merge pull request #117 from Vadiml1024/copilot/update-windows-linux-…
Vadiml1024 Feb 28, 2026
d402515
Initial plan
Copilot Feb 28, 2026
464c3ba
Phase 39: Implement extended process management API for Windows-on-Linux
Copilot Feb 28, 2026
54f9af1
Address review feedback: fix UB in Read/WriteProcessMemory, correct J…
Copilot Feb 28, 2026
50121a4
Merge pull request #118 from Vadiml1024/copilot/implement-process-man…
Vadiml1024 Feb 28, 2026
96f29b6
Initial plan
Copilot Feb 28, 2026
c9f2ff8
Implement real CreateProcess for Windows on Linux support
Copilot Feb 28, 2026
2abdea9
Merge pull request #119 from Vadiml1024/copilot/implement-createproce…
Vadiml1024 Feb 28, 2026
f268b4b
Initial plan
Copilot Feb 28, 2026
9203c4a
Phase 39: Add low-level POSIX file I/O (MSVCRT) and std::vector<char>…
Copilot Feb 28, 2026
58b529d
Phase 39: Low-level POSIX file I/O and std::vector<char> stubs
Copilot Feb 28, 2026
bbcfd77
Merge pull request #120 from Vadiml1024/copilot/continue-implementing…
Vadiml1024 Feb 28, 2026
a0eb690
Initial plan
Copilot Feb 28, 2026
33f2272
Merge pull request #121 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Feb 28, 2026
2673cfe
Initial plan
Copilot Feb 28, 2026
ed5563a
docs: expand phases 10–17 into individual rows in windows_on_linux_st…
Copilot Feb 28, 2026
0c7db11
docs: fix table break after phase 27 (remove spurious blank line)
Copilot Mar 1, 2026
3f23380
Merge pull request #122 from Vadiml1024/copilot/expand-phases-10-17
Vadiml1024 Mar 1, 2026
0073647
Initial plan
Copilot Mar 1, 2026
cc627be
Phase 40: MSVCRT stat functions and WinSock event APIs
Copilot Mar 1, 2026
c1294c7
Phase 40: Add stat functions, wide-path file opens, and WSA event APIs
Copilot Mar 1, 2026
4863288
Fix clippy borrow_as_ptr and cast_possible_truncation errors in test …
Copilot Mar 1, 2026
229ba7a
Phase 40: Address all reviewer feedback - errno, overflow, poll error…
Copilot Mar 1, 2026
1880399
Merge pull request #123 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Mar 1, 2026
bbc2b23
Initial plan
Copilot Mar 1, 2026
114e391
Phase 41: Add _sopen_s/_wsopen_s, WSAAsyncSelect, std::map, std::ostr…
Copilot Mar 1, 2026
4d68127
Address review: use mangled names for msvcp140 exports, fix ostringst…
Copilot Mar 2, 2026
bee428c
Merge pull request #124 from Vadiml1024/copilot/continue-windows-on-l…
Vadiml1024 Mar 2, 2026
9eb2e91
Initial plan
Copilot Mar 2, 2026
f29f293
Phase 42: MSVCRT path manipulation, WS2_32 networking, msvcp140 istri…
Copilot Mar 2, 2026
facfc64
Phase 42: MSVCRT path manipulation, WS2_32 networking, msvcp140 istri…
Copilot Mar 2, 2026
dd988bc
Address Phase 42 review: _fullpath safety, _splitpath docs, WSAPoll W…
Copilot Mar 3, 2026
b100452
Merge pull request #125 from Vadiml1024/copilot/continue-windows-linu…
Vadiml1024 Mar 3, 2026
59cda3e
Initial plan
Copilot Mar 3, 2026
09dd699
Phase 43: std::stringstream, unordered_map, MSVCRT dir functions, KER…
Copilot Mar 3, 2026
d692d16
Fix review feedback: getcwd overflow bug, add unordered_map insert/fi…
Copilot Mar 3, 2026
8ff5bb8
Merge pull request #126 from Vadiml1024/copilot/continue-windows-on-l…
Vadiml1024 Mar 3, 2026
6410f48
Update Windows-on-Linux status document through Phase 43 (#127)
Copilot Mar 3, 2026
de11aa2
Initial plan
Copilot Mar 3, 2026
16ba6ab
Phase 44: std::deque/stack/queue, MSVCRT temp, WS2 service/proto, KER…
Copilot Mar 3, 2026
b654310
feat: Phase 44 - std::deque/stack/queue, MSVCRT temp helpers, WinSock…
Copilot Mar 3, 2026
649d2b5
fix: correct ABI for deque/stack/queue front/back/top — return void*&…
Copilot Mar 4, 2026
22953df
Merge pull request #128 from Vadiml1024/copilot/implement-windows-on-…
Vadiml1024 Mar 4, 2026
1f70da6
Initial plan
Copilot Mar 4, 2026
7abf141
Phase 45: Extended GUI APIs (USER32/GDI32), Vulkan-1 stubs, C GUI tes…
Copilot Mar 4, 2026
5c0d545
Fix GetDeviceCaps indices, GetTextMetricsW size/offsets, doc function…
Copilot Mar 4, 2026
7f9114b
Merge pull request #129 from Vadiml1024/copilot/implement-windows-gui…
Vadiml1024 Mar 4, 2026
63398cb
Initial plan
Copilot Mar 4, 2026
a670f9b
Add real_vulkan feature: dlopen passthrough, CI job, devcontainer pac…
Copilot Mar 4, 2026
1ad0bb8
Fix RTLD_GLOBAL -> RTLD_LOCAL to avoid global symbol table pollution;…
Copilot Mar 4, 2026
22ff3e9
Address review: use cargo nextest in real_vulkan CI job; rename misle…
Copilot Mar 4, 2026
0e8a61d
Merge pull request #130 from Vadiml1024/copilot/add-real-vulkan-api-s…
Vadiml1024 Mar 4, 2026
11c96ac
Initial plan
Copilot Mar 4, 2026
4a92c36
Add CI steps to build and run gui_test.exe (C Windows GUI API test)
Copilot Mar 4, 2026
c5890a0
Remove gui_test.exe build artifact and add .gitignore
Copilot Mar 4, 2026
955917c
Tighten grep pattern to ', 0 failed ===' and add stderr output on fai…
Copilot Mar 4, 2026
75bd2d1
Fix clippy::borrow_as_ptr errors in gdi32.rs and vulkan1.rs tests
Copilot Mar 4, 2026
8444fe6
Fix rustdoc warnings in vulkan1.rs and msvcp140.rs breaking cargo doc
Copilot Mar 4, 2026
f8fa015
Merge pull request #131 from Vadiml1024/copilot/test-gui-api-integration
Vadiml1024 Mar 4, 2026
51ed26e
Initial plan
Copilot Mar 4, 2026
ea88c64
Add workflow to sync sync-branch with microsoft/litebox upstream main
Copilot Mar 4, 2026
3fafeb9
Update sync-branch workflow to rebase origin/main onto upstream/main
Copilot Mar 4, 2026
1862bcc
Auto-resolve rebase conflicts by accepting local changes (--theirs)
Copilot Mar 4, 2026
5d5dd96
Merge pull request #132 from Vadiml1024/copilot/sync-branch
Vadiml1024 Mar 4, 2026
40bf1ec
Initial plan
Copilot Mar 5, 2026
ffb5849
Merge pull request #133 from Vadiml1024/copilot/trigger-sync-branch-w…
Vadiml1024 Mar 5, 2026
5322355
Initial plan
Copilot Mar 9, 2026
2d842fb
Merge upstream/main (microsoft/litebox) into fork, keeping fork's cod…
Mar 9, 2026
43da0ca
Merge microsoft/litebox upstream main and fix integration issues
Mar 9, 2026
481db69
Address review comments: overflow checks and CoW region overlap fix
Copilot Mar 11, 2026
72cde63
Merge pull request #135 from Vadiml1024/copilot/rebase-on-microsoft-main
Vadiml1024 Mar 11, 2026
e429747
Merge branch 'microsoft:main' into copilot/rebase-on-microsoft-main
Vadiml1024 Mar 11, 2026
221e9d5
Initial plan
Copilot Mar 11, 2026
9b9bab6
Merge copilot/rebase-on-microsoft-main: add signal infrastructure and…
Copilot Mar 11, 2026
0bf0cdc
Merge pull request #136 from Vadiml1024/copilot/merge-copilot-into-main
Vadiml1024 Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Cargo configuration for faster builds and better development experience
#
# This configuration provides optional optimizations that can significantly
# speed up compilation and linking times for local development.

# =============================================================================
# FAST LINKER CONFIGURATION (OPTIONAL BUT RECOMMENDED)
# =============================================================================
# Using a faster linker can reduce link times by 50-70% on large projects.
# Uncomment ONE of the options below based on what you have installed:

# Option 1: mold - Fastest linker for Linux (HIGHLY RECOMMENDED)
# Install: sudo apt install mold or cargo install --locked mold
# Typical speedup: 3-5x faster than GNU ld
# [target.x86_64-unknown-linux-gnu]
# linker = "clang"
# rustflags = ["-C", "link-arg=-fuse-ld=mold"]

# Option 2: lld - Fast cross-platform linker from LLVM
# Install: sudo apt install lld
# Typical speedup: 2-3x faster than GNU ld
# [target.x86_64-unknown-linux-gnu]
# linker = "clang"
# rustflags = ["-C", "link-arg=-fuse-ld=lld"]

# Option 3: System default linker (currently active)
# No configuration needed - this is what you're using now

# =============================================================================
# CARGO ALIASES FOR COMMON TASKS
# =============================================================================
[alias]
# Quick workspace check (excludes packages requiring special toolchains)
check-fast = "check --workspace --exclude litebox_runner_lvbs --exclude litebox_runner_snp"

# Build only default workspace members (faster than full workspace)
build-default = "build"

# Run tests with nextest if available (much faster than cargo test)
test-fast = "nextest run"
135 changes: 135 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Use Debian Bookworm as the base image for a stable, modern environment
FROM debian:bookworm-slim

# Install system dependencies including Node.js
RUN apt-get update && apt-get install -y \
curl \
build-essential \
pkg-config \
libssl-dev \
mingw-w64 \
gdb \
git \
ca-certificates \
nodejs \
npm \
libvulkan1 \
mesa-vulkan-drivers \
&& rm -rf /var/lib/apt/lists/*

# Set up Rust environment variables
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH

# Install rustup and the specific nightly toolchain
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none \
&& chmod -R a+w $RUSTUP_HOME $CARGO_HOME

# Copy rust-toolchain.toml to install the correct toolchain version
COPY rust-toolchain.toml /tmp/rust-toolchain.toml
RUN cd /tmp && rustup show && rustup default nightly-2026-01-15 && rm /tmp/rust-toolchain.toml

# Add Windows GNU target for cross-compilation
RUN rustup target add x86_64-pc-windows-gnu

# Install cargo-nextest for faster test execution
RUN cargo install cargo-nextest --locked

# Install MCP servers for GitHub Copilot integration
# Install GitHub MCP server - provides GitHub repository access (issues, PRs, code search, etc.)
RUN npm install -g github-mcp-server@latest --unsafe-perm

# Verify installations
RUN node --version && npm --version && github-mcp-server --version || echo "github-mcp-server installed"

# Create workspace directory
WORKDIR /workspace

# Copy Cargo workspace files for dependency caching
# This layer will be cached as long as dependencies don't change
COPY Cargo.toml Cargo.lock ./
COPY litebox/Cargo.toml ./litebox/
COPY litebox_common_linux/Cargo.toml ./litebox_common_linux/
COPY litebox_common_optee/Cargo.toml ./litebox_common_optee/
COPY litebox_platform_linux_kernel/Cargo.toml ./litebox_platform_linux_kernel/
COPY litebox_platform_linux_userland/Cargo.toml ./litebox_platform_linux_userland/
COPY litebox_platform_windows_userland/Cargo.toml ./litebox_platform_windows_userland/
COPY litebox_platform_linux_for_windows/Cargo.toml ./litebox_platform_linux_for_windows/
COPY litebox_platform_lvbs/Cargo.toml ./litebox_platform_lvbs/
COPY litebox_platform_multiplex/Cargo.toml ./litebox_platform_multiplex/
COPY litebox_runner_linux_userland/Cargo.toml ./litebox_runner_linux_userland/
COPY litebox_runner_linux_on_windows_userland/Cargo.toml ./litebox_runner_linux_on_windows_userland/
COPY litebox_runner_windows_on_linux_userland/Cargo.toml ./litebox_runner_windows_on_linux_userland/
COPY litebox_runner_lvbs/Cargo.toml ./litebox_runner_lvbs/
COPY litebox_runner_optee_on_linux_userland/Cargo.toml ./litebox_runner_optee_on_linux_userland/
COPY litebox_shim_linux/Cargo.toml ./litebox_shim_linux/
COPY litebox_shim_optee/Cargo.toml ./litebox_shim_optee/
COPY litebox_shim_windows/Cargo.toml ./litebox_shim_windows/
COPY litebox_syscall_rewriter/Cargo.toml ./litebox_syscall_rewriter/
COPY litebox_runner_snp/Cargo.toml ./litebox_runner_snp/
COPY dev_tests/Cargo.toml ./dev_tests/
COPY dev_bench/Cargo.toml ./dev_bench/

# Create dummy source files to enable dependency fetching and caching
# This allows cargo to download and compile dependencies without the actual source code
RUN mkdir -p litebox/src \
litebox_common_linux/src \
litebox_common_optee/src \
litebox_platform_linux_kernel/src \
litebox_platform_linux_userland/src \
litebox_platform_windows_userland/src \
litebox_platform_linux_for_windows/src \
litebox_platform_lvbs/src \
litebox_platform_multiplex/src \
litebox_runner_linux_userland/src \
litebox_runner_linux_on_windows_userland/src \
litebox_runner_windows_on_linux_userland/src \
litebox_runner_lvbs/src \
litebox_runner_optee_on_linux_userland/src \
litebox_shim_linux/src \
litebox_shim_optee/src \
litebox_shim_windows/src \
litebox_syscall_rewriter/src \
litebox_runner_snp/src \
dev_tests/src \
dev_bench/src \
&& touch litebox/src/lib.rs \
litebox_common_linux/src/lib.rs \
litebox_common_optee/src/lib.rs \
litebox_platform_linux_kernel/src/lib.rs \
litebox_platform_linux_userland/src/lib.rs \
litebox_platform_windows_userland/src/lib.rs \
litebox_platform_linux_for_windows/src/lib.rs \
litebox_platform_lvbs/src/lib.rs \
litebox_platform_multiplex/src/lib.rs \
litebox_runner_linux_userland/src/main.rs \
litebox_runner_linux_on_windows_userland/src/main.rs \
litebox_runner_windows_on_linux_userland/src/main.rs \
litebox_runner_lvbs/src/main.rs \
litebox_runner_optee_on_linux_userland/src/main.rs \
litebox_shim_linux/src/lib.rs \
litebox_shim_optee/src/lib.rs \
litebox_shim_windows/src/lib.rs \
litebox_syscall_rewriter/src/lib.rs \
litebox_runner_snp/src/main.rs \
dev_tests/src/lib.rs \
dev_bench/src/main.rs

# Fetch all dependencies to cache them in the Docker layer
# This step will be cached as long as Cargo.toml/Cargo.lock don't change
RUN cargo fetch

# Clean up dummy files - the actual source will be mounted/copied at runtime
RUN rm -rf litebox litebox_common_linux litebox_common_optee \
litebox_platform_linux_kernel litebox_platform_linux_userland \
litebox_platform_windows_userland litebox_platform_linux_for_windows \
litebox_platform_lvbs litebox_platform_multiplex \
litebox_runner_linux_userland litebox_runner_linux_on_windows_userland \
litebox_runner_windows_on_linux_userland litebox_runner_lvbs \
litebox_runner_optee_on_linux_userland litebox_shim_linux \
litebox_shim_optee litebox_shim_windows litebox_syscall_rewriter \
litebox_runner_snp dev_tests dev_bench Cargo.toml Cargo.lock

# Set the default command
CMD ["/bin/bash"]
150 changes: 150 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# LiteBox Development Container

This directory contains the configuration for a development container that provides a pre-configured environment for working on the LiteBox project.

## What's Included

The devcontainer provides:

- **Rust Toolchain**: Pre-installed Rust nightly-2026-01-15 (as specified in `rust-toolchain.toml`)
- **Build Tools**:
- `build-essential`, `pkg-config`, `libssl-dev` for compiling Rust projects
- `mingw-w64` for cross-compiling Windows PE binaries
- `gdb` for debugging
- **Node.js & npm**: For JavaScript tooling and MCP server support
- **Rust Targets**: `x86_64-pc-windows-gnu` for Windows cross-compilation
- **Cargo Tools**: `cargo-nextest` for faster test execution
- **MCP Servers**: Pre-installed Model Context Protocol servers for AI assistant integration:
- **GitHub MCP Server** (`github-mcp-server`) - Provides GitHub API access for repository management, issue/PR operations, code search, and workflow automation
- **Cached Dependencies**: All Cargo dependencies are pre-downloaded in the container image
- **VS Code Extensions**:
- `rust-analyzer` - Rust language server
- `vscode-lldb` - Debugger
- `even-better-toml` - TOML syntax support

## Benefits

- **Fast Startup**: Dependencies are cached in the container image, so you don't need to download them every time
- **Consistent Environment**: Everyone uses the same toolchain and dependencies, including MCP servers for AI assistants
- **No Local Setup**: No need to install Rust, MinGW, Node.js, or other tools on your local machine
- **AI-Ready**: Pre-configured MCP servers enable GitHub Copilot and other AI assistants to interact with your repository

## Using the Devcontainer

### GitHub Codespaces

1. Go to the repository on GitHub
2. Click the "Code" button
3. Select "Codespaces" tab
4. Click "Create codespace on [branch]"

The devcontainer will automatically build and start.

### VS Code with Docker

1. Install [Docker](https://www.docker.com/products/docker-desktop)
2. Install the [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension
3. Open the repository in VS Code
4. When prompted, click "Reopen in Container" (or run "Dev Containers: Reopen in Container" from the command palette)

The container will build the first time (this may take 10-15 minutes), but subsequent starts will be much faster.

## Building the Container Manually

If you want to build the container image manually:

```bash
cd .devcontainer
docker build -t litebox-dev .
```

## Customization

To customize the devcontainer:

- **Dockerfile**: Modify system packages, Rust components, or add new tools
- **devcontainer.json**: Adjust VS Code settings, extensions, or environment variables

## Caching

The devcontainer uses Docker volume mounts to cache:
- Cargo registry (`litebox-cargo-registry` volume)
- Cargo git repositories (`litebox-cargo-git` volume)

This means dependencies persist across container rebuilds, making subsequent builds faster.

## Troubleshooting

**Container build fails:**
- Ensure Docker has enough disk space (at least 10GB free)
- Try building with `docker build --no-cache` to force a clean build

**Slow first build:**
- The first build downloads and compiles all dependencies, which can take 10-15 minutes
- Subsequent builds will be much faster due to Docker layer caching

**VS Code can't connect to container:**
- Check that Docker is running
- Try rebuilding the container: "Dev Containers: Rebuild Container"

## MCP Servers

### What are MCP Servers?

Model Context Protocol (MCP) servers enable AI assistants like GitHub Copilot to interact with external systems and tools. They provide a standardized way for AI models to access GitHub repositories, file systems, and other resources.

### Pre-installed Servers

**GitHub MCP Server** (`github-mcp-server`)
- **Purpose**: Provides comprehensive GitHub API access for AI assistants
- **Capabilities**:
- Repository management (clone, create, list repositories)
- Issue and pull request operations (create, update, search, manage)
- Code search and analysis across repositories
- Workflow automation (commits, branches, merges)
- GitHub-specific queries and metadata access
- **Usage**: Automatically available to GitHub Copilot and other MCP-compatible AI assistants
- **Documentation**: [github-mcp-server on npm](https://www.npmjs.com/package/github-mcp-server)

### Verifying MCP Server Installation

To verify MCP servers are installed correctly in the devcontainer:

```bash
# Check Node.js and npm versions
node --version
npm --version

# Check GitHub MCP server installation
which github-mcp-server
github-mcp-server --version

# List globally installed npm packages
npm list -g --depth=0
```

### Using MCP Servers with GitHub Copilot

When using this devcontainer with GitHub Copilot:

1. The MCP servers are automatically available to GitHub Copilot Workspace
2. You can interact with GitHub repositories through natural language
3. Copilot can perform actions like:
- Searching code across the repository
- Creating and managing issues and pull requests
- Analyzing repository structure and dependencies
- Automating common Git workflows

### Adding More MCP Servers

If you need additional MCP servers, you can:

1. **Temporarily** (for current container session):
```bash
npm install -g <mcp-server-package>
```

2. **Permanently** (add to Dockerfile):
- Edit `.devcontainer/Dockerfile`
- Add installation line: `RUN npm install -g <mcp-server-package>`
- Rebuild the container
60 changes: 60 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"name": "LiteBox Development",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},

// Configure VS Code settings
"customizations": {
"vscode": {
// Extensions to install
"extensions": [
"rust-lang.rust-analyzer",
"vadimcn.vscode-lldb",
"tamasfe.even-better-toml"
],

// VS Code settings
"settings": {
"rust-analyzer.cargo.features": "all",
"rust-analyzer.checkOnSave": true,
"rust-analyzer.check.command": "clippy",
"rust-analyzer.check.allTargets": true,
"rust-analyzer.procMacro.enable": true,
"editor.formatOnSave": true,
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true
},
"files.watcherExclude": {
"**/target/**": true
}
}
}
},

// Mount the cargo registry and git cache for faster builds
"mounts": [
"source=litebox-cargo-registry,target=/usr/local/cargo/registry,type=volume",
"source=litebox-cargo-git,target=/usr/local/cargo/git,type=volume"
],

// Set environment variables
"remoteEnv": {
"RUST_BACKTRACE": "1",
"NODE_ENV": "development"
},

// Post-create command to set up the environment and verify installations
"postCreateCommand": "rustc --version && cargo --version && cargo nextest --version && node --version && npm --version",

// Features to add (optional)
"features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally
"forwardPorts": [],

// Use 'postStartCommand' to run commands after the container is started
"postStartCommand": ""
}
Loading