返回提交历史
Modified
AGENTS.md
+2
-2
Modified
README.md
+1
-1
Modified
Source/XFESystem.NativeKernel/UsbXhci.cs
+33
-6
Modified
Tools/IndependentKernel/TestUsbInput.py
+4
-0
Modified
Tools/IndependentKernel/VerifyDualDelivery.py
+3
-1
Modified
docs/DualGpuUsb20261015.md
+5
-3
Modified
docs/validation-results/DualGpuUsb20261015.json
+77
-62
XFEstudio/XFESystem
Correct xHCI hub context and EP0 negotiation for physical USB
74d3e77
代码差异
7 个文件
+125
-75
@@ -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
@@ -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 与完整预览一秒目标仍未通过。
@@ -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);
@@ -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
@@ -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,
@@ -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`。
@@ -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
}