XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESystem

【Rust】XFE系统,基于Rust和汇编

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESystem

Correct xHCI hub context and EP0 negotiation for physical USB

74d3e77
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

7 个文件 +125 -75
Modified AGENTS.md +2 -2
@@ -1,8 +1,8 @@
1 1 # XFESystem 用户约定
2 2
3 2026-10-15 **0.3.0-dev.4-gpu-usb.1** 已将 RTX 5090 只读资源/FSP 状态诊断合入最新双启动版本,原启动动画、Monaco 延迟分析优化和网页功能保留。当前独立内核新增自研 C# xHCI 原生工作线程,完成固件接管、端口供电、集线器枚举和 HID 键鼠;只处理集线器/HID,不读写 USB 存储。16 组、1451 项宿主检查通过,含 19 项 HID 检查;873 个宿主/来宾/GPU 绑定输入与暂存字节完全一致;两个独立版本和同一 256 MiB 双启动镜像两个实际菜单入口通过 QEMU 8 虚拟 CPU(实际 BSP 1)动画/应用验收。两版本均在 **i8042 关闭、只有 xHCI USB 键鼠、经过集线器** 的配置实际编辑、执行命令并拔插键盘重新输入通过。无串口图形启动、GPU 源码保护检查、118 项设备映射断言和 157 项固件资源断言通过。首轮宿主 HTTP 测试的测试服务器关闭竞态已修复,原失败记录保留。实体键鼠、RGB 灯效、CUDA/GPU 渲染仍未验收;系统内 CUDA 与 GPU 渲染未实现,`FullReleaseQualified=false`,继续 RAM-only。
3 2026-10-15 **0.3.0-dev.4-gpu-usb.2** 已将 RTX 5090 只读资源/FSP 状态诊断合入最新双启动版本,原启动动画、Monaco 延迟分析优化和网页功能保留。最终镜像进一步修复 xHCI 1.x 集线器 Configure Endpoint、单 TRB Data Stage 的 CH=0,以及先读 8 字节再协商 EP0 最大包长。QEMU 不模型化集线器 Hub/TT 回读,仅为精确 `1b36:000d` 虚拟设备保留明确例外;实体控制器必须回读匹配。原严格回读失败留存,不能宣称 QEMU 验证了实体 TT 硬件。当前独立内核新增自研 C# xHCI 原生工作线程,完成固件接管、端口供电、集线器枚举和 HID 键鼠;只处理集线器/HID,不读写 USB 存储。16 组、1451 项宿主检查通过,含 19 项 HID 检查;873 个宿主/来宾/GPU 绑定输入与暂存字节完全一致;两个独立版本和同一 256 MiB 双启动镜像两个实际菜单入口通过 QEMU 8 虚拟 CPU(实际 BSP 1)动画/应用验收。两版本均在 **i8042 关闭、只有 xHCI USB 键鼠、经过集线器** 的配置实际编辑、执行命令并拔插键盘重新输入通过。无串口图形启动、GPU 源码保护检查、118 项设备映射断言和 157 项固件资源断言通过。首轮宿主 HTTP 测试的测试服务器关闭竞态已修复,原失败记录保留。实体键鼠、RGB 灯效、CUDA/GPU 渲染仍未验收;系统内 CUDA 与 GPU 渲染未实现,`FullReleaseQualified=false`,继续 RAM-only。
4 4
5 新镜像 SHA256 `974a5decc12c1f5fd59b87f2cf671ca14f7226ae0eaa0a5ea19abf942fd15c6e`,两个 ZIP 全回读、解压哈希、重定位与 PowerShell 5.1 启动计划通过,已复制到主目录 `dist`。专用 USB 又报告 262144 字节 / UniqueId `5001FF20564C4900`,精确存储父节点恢复返回 3010 后未恢复。用户明确回复“暂不方便,先完成镜像”,因此本轮 **未开始原始写盘、未改写 U 盘镜像**;记录 `build/usb-media/XFEstudio-Dual-GpuUsb-0.3.0-dev.4-1792075094030/NotWritten.json`。恢复后再按同一身份和 `IndependentDualCSharp256` 新计划流程写入。构建工作树 `C:\Users\XFEstudio\.codex\worktrees\bing-native-https\XFESystem`;主目录原有 `EfiEntry.cs` 换行差异继续保留。详情 `docs/DualGpuUsb20261015.md` 和 `docs/validation-results/DualGpuUsb20261015.json`。`ImageDeliveryComplete=true`,`DeliveryComplete=false`、`UsbWritten=false`。
5 新镜像 SHA256 `531bcf6c033548bf7960372dd0361fefcdcc85e6eb9a35e6b213f692fef859b9`,两个 ZIP 全回读、解压哈希、重定位与 PowerShell 5.1 启动计划通过,已复制到主目录 `dist`。专用 USB 又报告 262144 字节 / UniqueId `5001FF20564C4900`,精确存储父节点恢复返回 3010 后未恢复。用户明确回复“暂不方便,先完成镜像”,因此本轮 **未开始原始写盘、未改写 U 盘镜像**;记录 `build/usb-media/XFEstudio-Dual-GpuUsb2-0.3.0-dev.4-1792075963972/NotWritten.json`。恢复后再按同一身份和 `IndependentDualCSharp256` 新计划流程写入。构建工作树 `C:\Users\XFEstudio\.codex\worktrees\bing-native-https\XFESystem`;主目录原有 `EfiEntry.cs` 换行差异继续保留。详情 `docs/DualGpuUsb20261015.md` 和 `docs/validation-results/DualGpuUsb20261015.json`。`ImageDeliveryComplete=true`,`DeliveryComplete=false`、`UsbWritten=false`。
6 6
7 7 2026-10-15 Monaco 初始化优化 **0.3.0-dev.4-monaco.1** 已与启动动画提交 `c682726` 合并重建。打包资源在解析时完整校验语法,Jint 函数分析延迟到首次使用;保留标识符和属性键缓存,解析时直接计数节点。文件通过可信字符串一次创建最终模型,先设置主题;网站 C# 分词按模型/版本复用。官方 Monaco、网站语法和调色板字节保持原样。合并后的 **16 组、1411 项宿主检查,847 个宿主/来宾输入与提交字节一致**;独立 Console / Desktop、同一双镜像两个实际菜单入口、启动动画、Bing 原生 TLS、Monaco 实际编辑、文档八项和终端验收通过;单 CPU 无串口和熵失效负向测试通过。
8 8
Modified README.md +1 -1
@@ -51,7 +51,7 @@ python .\Tools\IndependentKernel\TestBoot.py <Desktop的Kernel.elf> --desktop --
51 51
52 52 专用 U 盘此前的 0.3.0-dev.3 更新、首次管理员提权取消及后续成功重试均保留历史记录,详见该版摘要。最新双版本交付以 [品牌启动动画摘要](docs/validation-results/BootAnimation20261015.json) 为准。`DeliveryComplete=true` 表示实验镜像交付完成,实体启动与输入仍需实测,不代表完整发行版验收。
53 53
54 RTX 5090 的只读硬件与 CUDA 前提诊断正合并至双启动版本;Windows 宿主 CUDA 参考结果不代表 XFESystem 内 CUDA 已实现。详见 [原生 CUDA 状态](docs/NativeCudaPort.md)。
54 RTX 5090 的只读硬件与 CUDA 前提诊断已合入双启动版本;Windows 宿主 CUDA 参考结果不代表 XFESystem 内 CUDA 已实现。详见 [原生 CUDA 状态](docs/NativeCudaPort.md)。
55 55
56 56
57 57 独立内核现已接入 C# xHCI/USB HID,经过关闭 PS/2 的 QEMU 集线器输入与重新插入验收;实体 Corsair 键鼠兼容仍待测试。持久存储、实体网络、GPU/CUDA、多屏、SMP、独立用户进程隔离及长期稳定性尚未完成。实体启动/输入兼容尚未验收。浏览器没有 Worker、完整语言服务器、WebAssembly、图片/背景图或完整 CSS/SVG/shaping 支持,Bing 的页面布局仍不完整。Jint 的反射/动态代码路径仍有 NativeAOT 裁剪和动态代码警告,当前验收不证明全部 Jint/.NET API 兼容。TLS 尚无吊销查询、CT、公共后缀表及外部 distrust 元数据。后台编辑、独立导航与字体快照已接入自研运行时;实际 240 Hz 与完整预览一秒目标仍未通过。
Modified Source/XFESystem.NativeKernel/UsbXhci.cs +33 -6
@@ -272,7 +272,9 @@ public static unsafe class UsbXhci
272 272 bool input=(requestType&128)!=0;
273 273 ulong setup=requestType|((ulong)request<<8)|((ulong)value<<16)|((ulong)index<<32)|((ulong)length<<48);
274 274 Put(&d->Control,setup,8,(2u<<10)|64|((length==0?0u:input?3u:2u)<<16));
275 if(length!=0)Put(&d->Control,d->Buffer,length,(3u<<10)|16|4|(input?1u<<16:0));
275 // A single Data Stage TRB is already its complete Data Stage TD.
276 // CH must be clear; the Status Stage is a separate TD.
277 if(length!=0)Put(&d->Control,d->Buffer,length,(3u<<10)|4|(input?1u<<16:0));
276 278 ulong pending=Put(&d->Control,0,0,(4u<<10)|32|((length==0||!input)?1u<<16:0));d->Completed=0;
277 279 Write(d->Controller->Doorbell+d->Slot*4,1);ulong end=Now()+1500;
278 280 do
@@ -344,17 +346,24 @@ public static unsafe class UsbXhci
344 346 uint* ep=Context(d,2);ep[1]=3u<<1|4u<<3|d->Packet<<16;((ulong*)(ep+2))[0]=d->Control.Physical|1;ep[4]=8;
345 347 if(!Command(c,11,d->Input,slot<<24,out slot)){DeviceLog(d,"ADDRESS_FAILED");Disconnect(d);return null;}
346 348 uint got;
347 if(!Control(d,128,6,0x100,0,18,out got)){DeviceLog(d,"DEVICE_DESCRIPTOR_FAILED");Disconnect(d);return null;}
349 // Full-speed EP0 may actually use 64-byte packets. Request only the
350 // first eight bytes before updating the provisional 8-byte context;
351 // asking for all 18 first can cause a real controller babble error.
352 if(!Control(d,128,6,0x100,0,8,out got)){DeviceLog(d,"DEVICE_DESCRIPTOR_PREFIX_FAILED");Disconnect(d);return null;}
348 353 byte* desc=At(d->Buffer);
349 354 if(desc[0]<18||desc[1]!=1){Disconnect(d);return null;}
350 d->Vendor=desc[8]|(uint)desc[9]<<8;d->Product=desc[10]|(uint)desc[11]<<8;
351 uint deviceClass=desc[4],protocol=desc[6];uint packet=d->Speed>=4?1u<<desc[7]:desc[7];
352 if(packet is not (8 or 16 or 32 or 64 or 512)){Disconnect(d);return null;}
355 uint packet=d->Speed>=4?1u<<desc[7]:desc[7];
356 if(packet is not (8 or 16 or 32 or 64 or 512) || d->Speed==2&&packet!=8 ||
357 d->Speed==3&&packet!=64 || d->Speed>=4&&packet!=512 || d->Speed==1&&packet>64){Disconnect(d);return null;}
353 358 if(packet!=d->Packet)
354 359 {
355 360 d->Packet=packet;ic[0]=0;ic[1]=2;CopyContext(d,2);Context(d,2)[1]=(Context(d,2)[1]&65535)|packet<<16;
356 361 if(!Command(c,13,d->Input,d->Slot<<24,out slot)){Disconnect(d);return null;}
357 362 }
363 if(!Control(d,128,6,0x100,0,18,out got)){DeviceLog(d,"DEVICE_DESCRIPTOR_FAILED");Disconnect(d);return null;}
364 desc=At(d->Buffer);if(desc[0]<18||desc[1]!=1){Disconnect(d);return null;}
365 d->Vendor=desc[8]|(uint)desc[9]<<8;d->Product=desc[10]|(uint)desc[11]<<8;
366 uint deviceClass=desc[4],protocol=desc[6];
358 367 if(!Control(d,128,6,0x200,0,9,out got)){Disconnect(d);return null;}
359 368 byte* config=At(d->Buffer);uint total=config[2]|(uint)config[3]<<8;
360 369 if(config[0]<9||total<9||total>4096||!Control(d,128,6,0x200,0,(ushort)total,out got)){Disconnect(d);return null;}
@@ -445,7 +454,25 @@ public static unsafe class UsbXhci
445 454 uint powerWait=(uint)desc[5]*2+20;if(powerWait>1000)powerWait=1000;
446 455 uint* ic=Context(d,0);ic[0]=0;ic[1]=1;CopyContext(d,1);
447 456 uint* s=Context(d,1);s[0]|=1u<<26;s[1]=(s[1]&0xffffff)|ports<<24;s[2]=(s[2]&~0x30000u)|d->HubTt<<16;
448 uint slot;if(!Command(d->Controller,13,d->Input,d->Slot<<24,out slot)){DeviceLog(d,"HUB_CONTEXT_FAILED");return;}
457 // xHCI 1.x initializes Hub/MTT/TTT/NumberOfPorts at the first
458 // Configure Endpoint transition from Addressed to Configured. Evaluate
459 // Context ignores these fields (it only evaluates latency/interrupt
460 // targeting in the slot). A full-speed QEMU hub can hide that mistake;
461 // real high-speed hubs need this context for their transaction translator.
462 uint slot;if(!Command(d->Controller,12,d->Input,d->Slot<<24,out slot)){DeviceLog(d,"HUB_CONTEXT_FAILED");return;}
463 Native.MemoryBarrier();uint* actual=(uint*)At(d->Output);
464 if((actual[0]&(1u<<26))==0 || (actual[1]>>24)!=ports || ((actual[2]>>16)&3)!=d->HubTt)
465 {
466 // QEMU 11.1's own xhci_configure_slot only copies Context Entries
467 // and Slot State, not Hub/NumberOfPorts/TTT. Keep that limitation
468 // explicit. Never grant this exception to a physical PCI vendor.
469 uint pci=d->Controller->Pci;
470 if(PciRead(pci>>16,pci>>8&31,pci&7,0)!=0x000d1b36 || (actual[3]>>27)!=3)
471 {DeviceLog(d,"HUB_CONTEXT_NOT_APPLIED");d->HubPorts=0;Failures++;return;}
472 DeviceLog(d,"HUB_CONTEXT_QEMU_NOT_MODELED");
473 }
474 else DeviceLog(d,"HUB_CONTEXT_APPLIED");
475 DeviceLog(d,"HUB_CONTEXT_CONFIGURED");
449 476 if(d->HubSuper!=0)Control(d,0x20,12,(ushort)d->Depth,0,0,out got);
450 477 for(uint port=1;port<=ports;port++)Control(d,0x23,3,8,(ushort)port,0,out got);
451 478 Sleep(powerWait);DeviceLog(d,"HUB_POWERED");ScanHub(d);
Modified Tools/IndependentKernel/TestUsbInput.py +4 -0
@@ -73,6 +73,10 @@ def verify(image, hub=False, bootstrap=False, edition='Desktop'):
73 73 wait('XFE_USB|INITIAL_ENUMERATION_COMPLETE')
74 74 log=text()
75 75 assert '|Kind|1|' in log and '|Kind|2|' in log, 'Both USB keyboard and mouse must be configured: '+log[-4096:]
76 if hub:
77 assert '|HUB_CONTEXT_CONFIGURED' in log, 'The xHC must complete Configure Endpoint before enumerating hub children'
78 result['HubContextReadbackVerified']='|HUB_CONTEXT_APPLIED' in log
79 result['QemuHubContextNotModeled']='|HUB_CONTEXT_QEMU_NOT_MODELED' in log
76 80 tree=qmp.call('human-monitor-command',{'command-line':'info qtree'})
77 81 assert 'dev: i8042' not in tree and 'dev: ps2-kbd' not in tree and 'dev: ps2-mouse' not in tree
78 82 assert 'dev: usb-kbd' in tree and 'dev: usb-mouse' in tree
Modified Tools/IndependentKernel/VerifyDualDelivery.py +3 -1
@@ -127,7 +127,9 @@ def verify_dual(image, composite_path, media=None):
127 127 'dev: usb-kbd' in tree and 'dev: usb-mouse' in tree and 'dev: usb-hub' in tree,
128 128 'USB input must not fall back to a PS/2 device')
129 129 require(all(x in log for x in ('XFE_USB_HID_READY','|Kind|1|','|Kind|2|',
130 'FIRST_HARDWARE_KEY_QUEUED','FIRST_HARDWARE_POINTER_QUEUED','|DISCONNECTED')), 'Missing actual hardware USB reports')
130 'FIRST_HARDWARE_KEY_QUEUED','FIRST_HARDWARE_POINTER_QUEUED','|HUB_CONTEXT_CONFIGURED','|DISCONNECTED')), 'Missing actual hardware USB reports')
131 require(usb.get('HubContextReadbackVerified') is False and usb.get('QemuHubContextNotModeled') is True and
132 '|HUB_CONTEXT_QEMU_NOT_MODELED' in log, 'QEMU does not model physical hub/TT context readback; do not claim hardware proof')
131 133 require('usb-replug' in terminal_command_output(usb['RepluggedCommandReadback']['Value'],'echo usb-replug'),
132 134 'The replugged keyboard must submit and render the exact echo command')
133 135 require(usb.get('ActualUsbDesktopEditingPassed' if edition=='Desktop' else 'ActualUsbConsoleEditingPassed') is True,
Modified docs/DualGpuUsb20261015.md +5 -3
@@ -1,6 +1,6 @@
1 1 # 双启动、RTX 5090 诊断与原生 USB 输入
2 2
3 实验标签:**0.3.0-dev.4-gpu-usb.1**,2026-10-15。仍使用自研 C# 独立内核、官方 Microsoft .NET 10 NativeAOT,实际一个 BSP 执行,软件渲染,RAM 会话。关机不保存文件和设置。
3 实验标签:**0.3.0-dev.4-gpu-usb.2**,2026-10-15。仍使用自研 C# 独立内核、官方 Microsoft .NET 10 NativeAOT,实际一个 BSP 执行,软件渲染,RAM 会话。关机不保存文件和设置。
4 4
5 5 RTX 5090 的只读 PCI/BAR、ACPI/MCFG、UEFI 资源交接和 GB202 FSP 状态诊断已合入 Console/Desktop。发现 `10DE:2B85` 时,Desktop 自动打开 `X:\System\Diagnostics\Gpu.txt`;Console 显示同一诊断并提供该 RAM 文件。FSP 状态不能表示 GSP/RM、计算通道或 CUDA 已初始化。**XFESystem 内 CUDA 和 GPU 渲染尚未实现。** 先前 Windows SM120 参考程序结果仍只属于 Windows 宿主。
6 6
@@ -8,6 +8,8 @@ RTX 5090 的只读 PCI/BAR、ACPI/MCFG、UEFI 资源交接和 GB202 FSP 状态
8 8
9 9 实现参考 [Intel xHCI 规范](https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf) 和 [USB-IF HID 1.11](https://www.usb.org/sites/default/files/documents/hid1_11.pdf),没有移用旧 Cosmos 驱动。枚举和等待均有边界:最多 8 个控制器、每个 32 个 slot、共 96 个设备/端点、5 层集线器、每个集线器 15 个下游口、4 KiB HID 描述符。失效控制器仍可能拥有的 DMA 页在 RAM 会话中隔离,避免过早复用。
10 10
11 最终规范复核修订了三处实体兼容细节:用 Configure Endpoint 初始化集线器 Hub/TT 上下文;单个 Data Stage TRB 的 CH=0;先读取设备描述符前 8 字节并更新 EP0 包长,再读取完整描述符。严格回读检查曾暴露 [QEMU 11.1 的 configure-slot 实现](https://github.com/qemu/qemu/blob/v11.1.0/hw/usb/hcd-xhci.c) 不复制 Hub/TT 字段。该失败保留;最终仅对精确虚拟设备 `1b36:000d` 明确记录 `QEMU_NOT_MODELED` 并检查真实 Slot Configured 状态,实体控制器必须回读 Hub/端口数/TTT 匹配。模拟器输入通过不等于实体 TT 已通过。
12
11 13 ## 实际验收
12 14
13 15 | 范围 | 结果 |
@@ -33,8 +35,8 @@ RTX 5090 的只读 PCI/BAR、ACPI/MCFG、UEFI 资源交接和 GB202 FSP 状态
33 35
34 36 镜像和两个独立 QEMU 启动包已保存在主项目 `dist`,具体路径、SHA256、源码与来宾回执见 [验证摘要](validation-results/DualGpuUsb20261015.json)。双启动镜像为 268435456 字节,SHA256:
35 37
36 `974a5decc12c1f5fd59b87f2cf671ca14f7226ae0eaa0a5ea19abf942fd15c6e`
38 `531bcf6c033548bf7960372dd0361fefcdcc85e6eb9a35e6b213f692fef859b9`
37 39
38 本轮实体 U 盘只报告 262144 字节。核对同一磁盘与精确存储父节点后,仅重启该存储设备;Windows 返回 3010,可寻址空间仍未恢复。用户回复“暂不方便,先完成镜像”,因此未创建可执行写盘令牌、未开始原始写入,也没有物理介质完整回读通过的声明。未写记录保留于主项目 `build/usb-media/XFEstudio-Dual-GpuUsb-0.3.0-dev.4-1792075094030/NotWritten.json`。用户重新连接后再核对身份、创建新计划,使用 `IndependentDualCSharp256` 写入并校验容量调整后的完整镜像与实际盘尾 GPT。
40 本轮实体 U 盘只报告 262144 字节。核对同一磁盘与精确存储父节点后,仅重启该存储设备;Windows 返回 3010,可寻址空间仍未恢复。用户回复“暂不方便,先完成镜像”,因此未创建可执行写盘令牌、未开始原始写入,也没有物理介质完整回读通过的声明。未写记录保留于主项目 `build/usb-media/XFEstudio-Dual-GpuUsb2-0.3.0-dev.4-1792075963972/NotWritten.json`。用户重新连接后再核对身份、创建新计划,使用 `IndependentDualCSharp256` 写入并校验容量调整后的完整镜像与实际盘尾 GPT。
39 41
40 42 实体复测时,分别选择 Desktop 和 Console,检查键鼠输入及重新插入;GPU 诊断可拍照保留。`X:\System\Diagnostics\Usb.txt` 每两秒更新控制器、设备、端点、输入报告与失败计数。Corsair 与无线接收器的实体兼容和灯效仍待实际启动确认;此版本使用设备默认 RGB 行为,未实现厂商 RGB 协议。`ImageDeliveryComplete=true`,`UsbWritten=false`,`FullReleaseQualified=false`。
Modified docs/validation-results/DualGpuUsb20261015.json +77 -62
@@ -1,7 +1,7 @@
1 1 {
2 2 "Kind": "XfeDualGpuUsbInputValidation",
3 3 "Date": "2026-10-15",
4 "BuildLabel": "0.3.0-dev.4-gpu-usb.1",
4 "BuildLabel": "0.3.0-dev.4-gpu-usb.2",
5 5 "SoftwareAcceptancePassed": true,
6 6 "DeliveryComplete": false,
7 7 "UsbWritten": false,
@@ -17,46 +17,50 @@
17 17 "HostSuites": 16,
18 18 "HostChecks": 1451,
19 19 "BuildRoot": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem",
20 "ImagePath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Dual-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792075056077439000\\System.img",
20 "ImagePath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Dual-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075948258497900\\System.img",
21 21 "ImageBytes": 268435456,
22 "ImageSha256": "974a5decc12c1f5fd59b87f2cf671ca14f7226ae0eaa0a5ea19abf942fd15c6e",
23 "SourceImagePath": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Dual-GpuUsb-1792074475483\\System.img",
22 "ImageSha256": "531bcf6c033548bf7960372dd0361fefcdcc85e6eb9a35e6b213f692fef859b9",
23 "SourceImagePath": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Dual-GpuUsb2-1792075620515\\System.img",
24 24 "KernelSha256": {
25 "Desktop": "f5c48665e4ee12e403d7452c4883641b52c246a9373e4a6387c8b11c0884ba46",
26 "Console": "6be3820147b3600b60143a04cb86c15c1c7143e655df81a2c707cdf6028ac70b"
25 "Desktop": "936440198183bcae5228cba11e2021bdacae2faed9e21333bf76eecb10cbcdcd",
26 "Console": "1b7c18bbb9165571622b7e20b35bac8f6b13a2fc0987b3af9b2a874dcbf51597"
27 27 },
28 28 "Evidence": {
29 29 "Desktop": {
30 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792074440664558600\\Result.json",
31 "Sha256": "7fa5feaab8d85403433070114917a98c7852d8b6dd518a41933e1737447fc322"
30 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792075591391640900\\Result.json",
31 "Sha256": "5a902dd42f312755fe84281d5df4e3401d75a1a9e4abf77b3a195676648fbc05"
32 32 },
33 33 "Console": {
34 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792074440502232100\\Result.json",
35 "Sha256": "0f6046ea72dfa42f24d0d00f01c79d3734e8dca9179a2ff3e55d2129721aaeff"
34 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792075591237550000\\Result.json",
35 "Sha256": "ef52a2420610d2588c914c7d7ee55e8d9a05b3fc4e375c300a8290129babfaf1"
36 36 },
37 37 "DualDesktop": {
38 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792074605900459400\\Result.json",
39 "Sha256": "bc0c3dcfcfe6601687eb942a634d149d49b03e14b1eec79b0a7fe515ae05a15e"
38 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792075646938189000\\Result.json",
39 "Sha256": "4f46cb7363f362098ed160ab5b844f47c05e8cdf4dd61eaa08bf95f4a422ca8e"
40 40 },
41 41 "DualConsole": {
42 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792074605716501900\\Result.json",
43 "Sha256": "9f87e0ff26faf5d75d0516fab497e8f7cb6c6090ff6919a5aad0a71160bf60c5"
42 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792075646742320700\\Result.json",
43 "Sha256": "c5b471a685e6d989453135860d26ac5ce9bae76706ca829d828fb974edf82df5"
44 44 },
45 45 "UsbDesktop": {
46 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\UsbInput-1792074490582454200\\Result.json",
47 "Sha256": "fb906abde94cf88111aad1a4801e6c7836a590d168d42c4dc81216c7b48d6e7e"
46 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\UsbInput-1792075646694695500\\Result.json",
47 "Sha256": "fa483ff5f5d724f611da5c15cc9bc99275760ac98f42ed516213649eb8dc8456"
48 48 },
49 49 "UsbConsole": {
50 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\UsbInput-1792074490581454200\\Result.json",
51 "Sha256": "2b6f1d6f8b6d18dfbb6dcd64e68ca1f20706ab3facdbba9e74dd4f06c8904d92"
50 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\UsbInput-1792075646695215500\\Result.json",
51 "Sha256": "ea6f18f44074a3d168c37c99b7c51a768390bfe9b8fadbd5bd7c827366fa863e"
52 52 },
53 53 "NoSerial": {
54 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792074806832269800\\Result.json",
55 "Sha256": "2a0bb32a1680e58feaae42ea48c7b3c5f0f0372ceeaa368ed9e511c5dc60fb89"
54 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Proof-1792075783486736700\\Result.json",
55 "Sha256": "5f6f3ae3d0b1339fc97867c157016feb908543192fcb44f2927c1b23c57703a4"
56 56 },
57 57 "Host": {
58 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\CSharp\\HostTests-1792074581072\\Result.json",
59 "Sha256": "74814e52af7dc3cec34fced2a4ffbeb641f2d3e16aa4cbc55b480f911b27f2c4"
58 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\CSharp\\HostTests-1792075591098\\Result.json",
59 "Sha256": "0b2e6bfe0036a656db2dd6627173bcfe99b47ab41e2d8448e11664a57e1ff513"
60 },
61 "DualDelivery": {
62 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Dual-GpuUsb2-1792075620515\\Result.json",
63 "Sha256": "372ed142f0c92319a6443240d4bdb83f898a38b02700dc445484c96c7e497d7f"
60 64 },
61 65 "GpuBridge": {
62 66 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\GpuDiscoveryHost-1792074769086415500\\Result.json",
@@ -69,23 +73,19 @@
69 73 "GpuFirmware": {
70 74 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\Gpu\\GpuFirmwareChecks-1792074808284-72552f35\\Result.json",
71 75 "Sha256": "2c50b8640cc487e615e8d94fb0dd1cd55ecbbf7374b954d76a41de3609f776b4"
72 },
73 "DualDelivery": {
74 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\Dual-GpuUsb-1792074475483\\Result.json",
75 "Sha256": "ae9008cc0918fe85a3423ddc7f1037dd27af3ef4b5134debfac336794cffdc39"
76 76 }
77 77 },
78 78 "Packages": {
79 79 "Console": {
80 "Package": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Console-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907403-dc45e51e",
81 "ZipPath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Console-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907403-dc45e51e.zip",
82 "ZipSha256": "40bf802d5bd1d1f7f27ca9182e5c9bd1ea1ed61286222da7995224acc7ccaf42",
80 "Package": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Console-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075784586-b72eea5b",
81 "ZipPath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Console-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075784586-b72eea5b.zip",
82 "ZipSha256": "c32731fd9ee60ce3c2271d3949ecc0eb73e7c09262d6335403d30e91571b6835",
83 83 "FullReadbackPassed": true
84 84 },
85 85 "Desktop": {
86 "Package": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f",
87 "ZipPath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f.zip",
88 "ZipSha256": "7b1afc4f8361196b779b41cc44a1c29da5811e535394eed5e05fcf45a8964b33",
86 "Package": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34",
87 "ZipPath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34.zip",
88 "ZipSha256": "6024fcd4036ec073da35502993886b8ceebadeaf61bad1fd6b7fa0b421c5b04b",
89 89 "FullReadbackPassed": true
90 90 }
91 91 },
@@ -95,38 +95,35 @@
95 95 "HistoricalFailures": [
96 96 "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\CSharp\\HostTests-1792074411359\\Failure.json",
97 97 "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\UsbBootstrapCompile.log",
98 "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\UsbPack.log"
98 "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\UsbPack.log",
99 "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\IndependentKernel\\UsbInput-1792075453857288300\\Result.json"
99 100 ],
100 101 "ImageDeliveryComplete": true,
101 102 "UsbDriverImplemented": true,
102 103 "UsbHidQemuVerified": true,
103 104 "GuestCudaImplemented": false,
105 "HubContextCommand": "Configure Endpoint",
106 "HubContextPhysicalReadbackVerified": false,
107 "QemuHubContextReadbackNotModeled": true,
108 "DescriptorPrefixBeforePacketSizeUpdate": true,
109 "ControlDataStageSingleTrbChain": false,
110 "SupersedesLabel": "0.3.0-dev.4-gpu-usb.1",
104 111 "PhysicalMediaCompletion": {
105 112 "Written": false,
106 "RecordPath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\build\\usb-media\\XFEstudio-Dual-GpuUsb-0.3.0-dev.4-1792075094030\\NotWritten.json",
107 "RecordSha256": "351d0920612af6ea442207bfe550c07eb3b872617a4c9c3cdb48813c16540f5e"
108 },
109 "SourceIndexAudit": {
110 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\UsbSourceIndexAudit.json",
111 "Sha256": "2a377b70f48341cc7151f2d46bbfb8c162ddc82de8bf9c52dfa226ab129cef43",
112 "Result": {
113 "Passed": true,
114 "InputCount": 873,
115 "Mismatches": [],
116 "Scope": "Exact staged bytes versus frozen host/guest/GPU receipts"
117 }
113 "RecordPath": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\build\\usb-media\\XFEstudio-Dual-GpuUsb2-0.3.0-dev.4-1792075963972\\NotWritten.json",
114 "RecordSha256": "e790b6a6506e51329af24a46baf393ee3e9b9e9d71bd4d38ca9964340a228dd0"
118 115 },
119 116 "InteractiveUsbWindow": {
120 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\UsbInteractiveObservation.json",
121 "Sha256": "964a7e9003b6a009d252177dbae5be0bc28ac7d32bc347371e73bb980b7c6699",
117 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\Usb2InteractiveObservation.json",
118 "Sha256": "1fcca77d4188eef09788e9f8f93af5895c4d9ff8b502b49e94475d2294ad7a03",
122 119 "Result": {
123 120 "Kind": "XfeVisibleUsbDesktopObservation",
124 121 "Passed": true,
125 "ProcessId": 56916,
126 "LaunchDirectory": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f\\build\\IndependentKernel\\Interactive-Desktop-1792075257151-9fa195ac",
127 "SerialLog": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f\\build\\IndependentKernel\\Interactive-Desktop-1792075257151-9fa195ac\\Serial.log",
128 "ImageSha256": "db3320dd61ef468aa6a17c12a1d8afd4d5fa18a151f6f358615ef8b53d5f9428",
129 "KernelSha256": "f5c48665e4ee12e403d7452c4883641b52c246a9373e4a6387c8b11c0884ba46",
122 "ProcessId": 60744,
123 "LaunchDirectory": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34\\build\\IndependentKernel\\Interactive-Desktop-1792075993705-93dc987d",
124 "SerialLog": "C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34\\build\\IndependentKernel\\Interactive-Desktop-1792075993705-93dc987d\\Serial.log",
125 "ImageSha256": "8ba4d0cd4d382f3dccf7acac3858f57f17b7801901735be03c3e024f806b2e9d",
126 "KernelSha256": "936440198183bcae5228cba11e2021bdacae2faed9e21333bf76eecb10cbcdcd",
130 127 "Ps2ControllerPresent": false,
131 128 "Input": "Real QEMU xHCI + USB hub + USB keyboard/mouse",
132 129 "GuestCudaVerified": false,
@@ -153,13 +150,13 @@
153 150 "-rtc",
154 151 "base=utc",
155 152 "-drive",
156 "if=pflash,format=raw,readonly=on,file=C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f\\Firmware\\edk2-x86_64-code.fd",
153 "if=pflash,format=raw,readonly=on,file=C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34\\Firmware\\edk2-x86_64-code.fd",
157 154 "-drive",
158 "if=pflash,format=raw,file=C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f\\build\\IndependentKernel\\Interactive-Desktop-1792075257151-9fa195ac\\FirmwareVars.fd",
155 "if=pflash,format=raw,file=C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34\\build\\IndependentKernel\\Interactive-Desktop-1792075993705-93dc987d\\FirmwareVars.fd",
159 156 "-drive",
160 "file=C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f\\build\\IndependentKernel\\Interactive-Desktop-1792075257151-9fa195ac\\System.img,format=raw,if=ide,snapshot=on",
157 "file=C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34\\build\\IndependentKernel\\Interactive-Desktop-1792075993705-93dc987d\\System.img,format=raw,if=ide,snapshot=on",
161 158 "-serial",
162 "file:C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.1-1792074907550-57e2865f\\build\\IndependentKernel\\Interactive-Desktop-1792075257151-9fa195ac\\Serial.log",
159 "file:C:\\Users\\XFEstudio\\Desktop\\work\\CSharp\\GitHub\\XFEstudio\\XFESystem\\dist\\XFESystem-Desktop-Independent-RAM-0.3.0-dev.4-gpu-usb.2-1792075785064-60ed5d34\\build\\IndependentKernel\\Interactive-Desktop-1792075993705-93dc987d\\Serial.log",
163 160 "-monitor",
164 161 "none",
165 162 "-no-reboot",
@@ -176,21 +173,39 @@
176 173 "-device",
177 174 "usb-mouse,id=XfeMouse,bus=XfeUsbXhci.0,port=1.2",
178 175 "-qmp",
179 "tcp:127.0.0.1:57963,server=on,wait=off"
176 "tcp:127.0.0.1:61012,server=on,wait=off"
180 177 ],
181 178 "HostLaunchLifetime": "Retained exec session until QEMU closes"
182 179 }
183 180 },
181 "SourceIndexAudit": {
182 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\Usb2SourceIndexAudit.json",
183 "Sha256": "d7b3304ff070f4ca4681fbc9429b221076a15674ffb9526110c581ac3eced0d5",
184 "Result": {
185 "Passed": true,
186 "InputCount": 873,
187 "Mismatches": [],
188 "Scope": "Exact staged bytes versus frozen host/guest/GPU receipts",
189 "SourceProofHashes": {
190 "Host": "0b2e6bfe0036a656db2dd6627173bcfe99b47ab41e2d8448e11664a57e1ff513",
191 "DualDelivery": "372ed142f0c92319a6443240d4bdb83f898a38b02700dc445484c96c7e497d7f",
192 "GpuBridge": "ba91078bd062c74d6ea248c54c173dfd0dcc3eb02452698c27f36c787a48fb41",
193 "DeviceMapping": "532547b1fda1c514a002eebe62b2b3a41bab98d32b8b973303cce3301b600432",
194 "GpuFirmware": "2c50b8640cc487e615e8d94fb0dd1cd55ecbbf7374b954d76a41de3609f776b4"
195 },
196 "InputMapSha256": "b3eeaa9c687fb15efeb0c055b2fa648c5bf39abb17aa051706a8ef0749ddc11a"
197 }
198 },
184 199 "HostWindow": {
185 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\UsbInteractiveHostWindow.json",
186 "Sha256": "02a337f8eb81b1031d3ba10746bd21a3eeea66daa9e9fd2be46f2026d7898a98",
200 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\bing-native-https\\XFESystem\\build\\Usb2InteractiveHostWindow.json",
201 "Sha256": "c0fdd02f11d9c8dc049f8b2fab74f0b45027388c3105570f780bbf3a71202f95",
187 202 "Result": {
188 203 "Kind": "XfeQemuHostWindowObservation",
189 204 "Passed": true,
190 "ProcessId": 56916,
191 "MainWindowHandle": 791334,
205 "ProcessId": 60744,
206 "MainWindowHandle": 529094,
192 207 "MainWindowTitle": "QEMU (XFESystem Desktop | XFEstudio - USB HID test-0)",
193 "Utc": "2026-10-15T14:42:19.0541153Z"
208 "Utc": "2026-10-15T14:54:49.4063978Z"
194 209 }
195 210 }
196 211 }