联想小新 Pad Pro 2021(j716f)
Lenovo TB-J716F migration record for the UniXNU iPadOS 17.7.11 bring-up.
源记录: porting.toml, f7f9f4a315e2f467d5a9dfe7fdf70c34c917fc87.
本页按设备记录自动生成。
| 部分 | 状态 |
|---|---|
| 配置 | host-verified |
| 固件与启动 | device-verified |
| CPU 与中断 | planned |
| 内存与 DMA | device-verified |
| 存储与根卷 | planned |
| 显示 | device-verified |
| 输入 | device-verified |
| GPU | planned |
| 网络 | planned |
| 音频 | planned |
| 电源 | planned |
| 镜像组装 | host-verified |
| 诊断 | device-verified |
配置
host-verified
组件: XnuPrelink, DarwinBoot.
硬件与依赖
- SM8250/Kona identity, iPadOS 17.7.11 profile candidate, source defconfig, and the local SoC evidence snapshot.
配置
- board.toml uses schema_version 2, soc_source sm8250, os_profile ipados-17.7.11-21H461, and device:dts/j716f.dts.
- The source qualification defconfig remains the reproducible kernel configuration; it does not claim a bootable XNU.
操作步骤
- Run the latest UniXNU defconfig, status, tree, and porting-record checks from the UniXNU checkout.
开发经验
- No reviewed public UniXNU-sm8250-common repository was available, so the board-local source is explicitly marked as a transition snapshot.
- The macOS source workflow is pinned to UniXNU 42bffe8 and keeps its J716F compatibility fixes in the device repository.
- The source qualification defconfig disables the profile's MOCKFS fixture because that fixture requires ArmCpu, while this board intentionally keeps ArmCpu disabled.
- The source-output sealing step discovers the migration-qualified report and tree instead of assuming the legacy out/j716f root.
完成条件
- The format 2 identity, source paths, defconfig, and patch order resolve without ambiguous board fields.
当前范围
- The SoC source is local and not yet a reusable fixed public commit; component ABI inputs remain incomplete.
下一步
- Extract the shared SM8250 resources into a reviewed UniXNU-sm8250-common repository and pin its 40-character commit.
证据
host: Format 2 board identity and migration fields are present. Command:python3 scripts/porting-record.py check --device ../UniXNU-j716f. Revision:f82228a9e166603d6a8b522bf0214db3379fad0d.
固件与启动
device-verified
硬件与依赖
- Mu-Silicium J716F platform, inherited GOP, fixed ZUI memory map, and the board UEFI DSC/FDF.
配置
- The device board points to the j716f DSC/FD and keeps vendor inputs outside the public repository.
操作步骤
- Build the diagnostic FD with the local UEFI checkout, audit its inputs, then boot only through boot_b for hardware checks.
开发经验
- V14 reached the UniXNU menu and exercised the documented button and DarwinBoot protocol paths.
- V16 on boot_b displayed the green ExitBootServices bar, the blue MMU-off XNU entry probe and the magenta pre-MMU-enable probe; the screen also showed the normal CapsuleRuntimeDxe LockCapsuleInterface callback.
- V17 on boot_b waited through the post-MMU probe, executed PSCI reset, and returned to the UniXNU menu with the same three entry bars.
- V18 displayed the same three bars but later reset back to UniXNU despite replacing stage 3 with a WFE loop; the external reset/watchdog source is unresolved.
- V19/V20 added read-only reset diagnostics. V20 photographs showed the DarwinBoot pre-ExitBootServices message and a later menu, but no readable PMIC value.
- V21 was built and host-audited, flashed only to boot_b and rebooted. A photograph confirms its large-text V21 menu and PMIC RESET: 0x02000001; the V21 XNU attempt remains unobserved.
完成条件
- The FD enters UniXNU, preserves the documented memory reservations, and exposes the framebuffer for the menu.
当前范围
- MMU-on persistence, ArmCpu/ArmDTPlatform initialization, UFS/root, userspace and iPadOS remain unverified; TzDxe is out of scope.
下一步
- Record a V21 XNU attempt, final text/color bars and any Lenovo logo reappearance; use the PMIC sample as historical baseline without assigning a reset cause.
证据
device: V16 device boot reached ExitBootServices and the XNU early-entry probes on boot_b; no other partition was written. Command:fastboot boot boot_b. Revision:b421b9bf8036fe89883f5e4987fb483eda45568b.device: V21 boot_b menu photograph confirms readable enlarged text and PMIC 0x02000001; XNU attempt and reset attribution remain pending. Command:fastboot flash boot_b <V21_BOOT_IMAGE>; fastboot reboot; observe the V21 menu.. Revision:2c13d875f8b3d38414f61443dc44b9b9559dfcb7.
CPU 与中断
planned
硬件与依赖
- CPU0 MPIDR affinity 0, PSCI SMC, and a 19.2 MHz timer from the firmware device-tree evidence.
配置
- The DTS describes one enabled CPU and the measured timer frequency; the source qualification defconfig keeps ArmCpu disabled.
操作步骤
- Compile the DTS, enable the reviewed ArmCpu implementation, and verify CPU entry, timer and IPI checkpoints.
开发经验
- Only the single boot CPU and shared resource addresses are currently audited; no multi-core XNU entry has been established.
- The source qualification keeps ArmCpu disabled, so the profile's MOCKFS executable-root fixture is disabled rather than claiming CPU component support.
完成条件
- Every enabled CPU reaches its entry checkpoint and timer/IPI handling works on the selected cores.
当前范围
- No public SM8250 ArmCpu source or device-side CPU entry evidence is pinned yet.
下一步
- Review the SM8250 CPU topology and ArmCpu ABI before enabling the component.
证据
按下一步操作收集证据。
内存与 DMA
device-verified
硬件与依赖
- Two firmware RAM banks, a 5 GiB primary contiguous bank, reserved ranges, and the qualified 256 MiB DarwinBoot window.
配置
- The board DTS records the primary 0xc0000000/0x140000000 bank; the diagnostic payload separately requests 0x10000000 owned bytes.
操作步骤
- Audit the memory map on the host, then allocate, cache-maintain, read back and release the V14 window on boot_b.
开发经验
- The V14 256 MiB physical window passed seven checks, including two complete write/read rounds with cache maintenance and release; this does not validate full DRAM ownership.
- V21 host audit confirms the same embedded FAT payload and module GUID set as V20; this does not add a new RAM qualification result.
完成条件
- Handoff regions do not overlap and the requested DarwinBoot window is allocated, coherently accessed and released.
当前范围
- The V15 larger FAT payload and runtime initrd allocation still need a device observation.
下一步
- Repeat the memory check with V15 while recording the initrd range and final owned-memory result.
证据
device: Seven V14 checks passed, including two full write/read rounds over one 256 MiB window, cache maintenance and release. Command:fastboot boot boot_b. Revision:3159b53f6fe197d661f1cf31fb2bc1b9e1128f42.
存储与根卷
planned
硬件与依赖
- UFS controller, PHY, LUN and userdata geometry are not yet represented by a reviewed J716F component source.
配置
- No UFS node, root volume UUID, GPT window or Data seed is declared in the public board configuration.
操作步骤
- Capture the UFS controller and GPT facts from recovery/TWRP, then select a compatible storage component and root policy.
开发经验
- The current V15 payload is a diagnostic FAT volume and does not prove physical UFS access or root mounting.
完成条件
- Controller reads, GPT windows, OS/SystemOS ranges and root persistence pass on the device.
当前范围
- No storage ABI, trust cache or userdata seed is public or verified.
下一步
- Record UFS register, LUN and userdata geometry before adding a storage component.
证据
按下一步操作收集证据。
显示
device-verified
硬件与依赖
- Inherited GOP at 2560x1600 with 10240 bytes per row and 32-bit pixels.
配置
- The UEFI platform keeps the inherited framebuffer and the board DTS does not invent a panel controller.
操作步骤
- Enter the menu through boot_b, observe the framebuffer geometry, and preserve the last screen on a returned diagnostic path.
开发经验
- The menu and diagnostic screens rendered on the device; panel, backlight and native display driver adaptation are not complete.
- V21 device photography confirms the scale-4 menu with hidden logo and readable PMIC summary. The active framebuffer log font was changed from scale 3 to 5, but its device effect has not yet been observed.
完成条件
- A known frame has the measured geometry and format, followed by a native display provider and backlight result.
当前范围
- Only GOP/menu output is verified; native display and backlight remain pending.
下一步
- Capture the V21 DarwinBoot/entry screen and then identify panel/backlight resources from the vendor DT.
证据
device: The existing diagnostic series records a measured 2560x1600 GOP and menu rendering; V15 itself remains pending. Command:fastboot boot boot_b. Revision:f82228a9e166603d6a8b522bf0214db3379fad0d.device: V21 boot_b menu photograph confirms readable enlarged text and PMIC 0x02000001; XNU attempt and reset attribution remain pending. Command:fastboot flash boot_b <V21_BOOT_IMAGE>; fastboot reboot; observe the V21 menu.. Revision:2c13d875f8b3d38414f61443dc44b9b9559dfcb7.
输入
device-verified
硬件与依赖
- Volume and power key paths provided by the Mu-Silicium platform and J716F key DXE.
配置
- The menu remains interactive only where the platform reports an input device; no touch component is selected yet.
操作步骤
- Use volume keys to select and the power key to confirm, then record whether the selected entry returns or advances.
开发经验
- Volume and power keys were observed in the diagnostic menu; touch coordinates and HID reports are not yet adapted.
完成条件
- Touches map to the display and buttons produce stable reports through the selected input component.
当前范围
- Only the hardware keys are verified; touch controller and HID ABI are pending.
下一步
- Collect touch controller bus, interrupt and coordinate mapping from the vendor DT and recovery logs.
证据
device: The existing bring-up record confirms volume and power key interaction in the UniXNU menu. Command:fastboot boot boot_b. Revision:f82228a9e166603d6a8b522bf0214db3379fad0d.
GPU
planned
硬件与依赖
- Adreno/GMU registers, firmware, SMMU streams and Metal ABI inputs are not public for this board.
配置
- No GPU component is selected; the source defconfig keeps native Adreno disabled.
操作步骤
- Audit the SM8250 GPU resources, obtain matching firmware and ABI records, then add a component and package service.
开发经验
- The current screen result comes from inherited GOP and does not establish GPU submission or Metal presentation.
完成条件
- GPU submissions, mapping, fences, known rendering and the selected Metal client all pass.
当前范围
- No GPU firmware or device-side submission evidence is available.
下一步
- Inventory Adreno 650/SM8250 resources and firmware ownership before selecting a component.
证据
按下一步操作收集证据。
网络
planned
硬件与依赖
- Wireless chipset, bus, firmware and DMA ownership are not identified in the public port.
配置
- No Wi-Fi component or network package is selected.
操作步骤
- Identify the wireless controller and firmware, then follow the network adaptation guide and record association/traffic tests.
开发经验
- No network path has been exercised by the diagnostic images.
完成条件
- Scanning, association, address configuration and sustained traffic pass with the selected firmware.
当前范围
- Wireless hardware and OS ABI inputs are missing.
下一步
- Extract the wireless controller identity and firmware source from the stock system.
证据
按下一步操作收集证据。
音频
planned
硬件与依赖
- DSP, codec, clocks and firmware service ownership are not yet described.
配置
- No audio component or board package service is selected.
操作步骤
- Inventory the audio graph and DSP firmware, then validate playback and capture routes.
开发经验
- The current bring-up stops before userspace audio and has no audio evidence.
完成条件
- Declared routes carry the selected format through playback and capture with correct start/stop behavior.
当前范围
- Audio inputs and firmware are unavailable.
下一步
- Capture the codec/DSP graph and firmware interfaces from the stock device.
证据
按下一步操作收集证据。
电源
planned
硬件与依赖
- Regulators, clocks, battery units and firmware ownership are not yet modeled.
配置
- The port keeps vendor power initialization in UEFI and declares no XNU power component.
操作步骤
- Document regulators and power domains, then validate battery readings and a controlled sleep/resume cycle.
开发经验
- No sleep/resume or battery result has been obtained from the diagnostic image.
- The V20/V21 UEFI diagnostic provider reads PMIC history without clearing it. V21 displays 0x02000001; bit semantics and reset cause remain unclassified, and this does not validate an XNU power driver.
完成条件
- Power readings and supported sleep/resume transitions restore dependent peripherals.
当前范围
- Power resources and low-power ownership remain unknown.
下一步
- Inventory PMIC and battery resources before adding a power component.
证据
device: V21 boot_b menu photograph confirms readable enlarged text and PMIC 0x02000001; XNU attempt and reset attribution remain pending. Command:fastboot flash boot_b <V21_BOOT_IMAGE>; fastboot reboot; observe the V21 menu.. Revision:2c13d875f8b3d38414f61443dc44b9b9559dfcb7.
镜像组装
host-verified
组件: XnuPrelink, DarwinBoot.
硬件与依赖
- V15 FAT payload layout, Android boot image v2 parameters, UEFI FD and the real kernel/ADT private inputs.
配置
- The board declares a 64 MiB diagnostic volume, firmware DarwinBoot loader, measured DRAM and boot image v2 offsets.
- The UEFI repository now declares the shared RAM-disk DXE alongside DiskIoDxe and FAT while retaining the existing V15 embedded-FAT diagnostic path.
操作步骤
- Run host image audits, verify kernel/ADT hashes and inspect the boot image before any boot_b test.
开发经验
- V15 host packaging and static audits passed.
- V16 host packaging produced the source-prelinked kernel, J716F ADT and boot image used for the boot_b test.
- The source build applies a device-local patch-series compatibility fix before the pinned UniXNU resolver, so optional Sheng PMGR context is not required for J716F.
- V21 host checks passed FD/FV/FFS checksums, AARCH64 PE and linked-module identity, V21 markers, unchanged V20 embedded FAT, BootShim/gzip, both DTB copies and Android v2 header/SHA1/padding.
- The byte-identical local V21 DSC is preserved in the firmware repository; it retains the V15 FDF/output path and omits the public V15 DSC additional standard-initrd declarations. Device board.toml retains historical V17 payload settings and is not the complete V21 artifact recipe.
完成条件
- Kernel and ADT inputs are reproducible, the payload contains declared files, and the boot image matches the platform header and size constraints.
当前范围
- Private payload binaries and vendor inputs are intentionally excluded; MMU-on continuation and later platform stages remain unverified.
下一步
- Keep the recorded V21 image/profile identity while collecting the pending XNU attempt and reset evidence.
证据
host: V16 kernel/ADT/payload packaging and host audits passed for the local diagnostic artifact used on boot_b. Command:python3 scripts/check-j716f.py. Revision:f82228a9e166603d6a8b522bf0214db3379fad0d.host: V21 host image audits passed; hashes and source/profile identities are recorded separately from the menu observation. Command:python tools/package_j716f_v21.py (local workspace; generated artifacts remain private). Revision:2c13d875f8b3d38414f61443dc44b9b9559dfcb7.
诊断
device-verified
硬件与依赖
- Host audit scripts, V14 memory evidence, V15 entry preparation, V16 boot_b observation, and source-build reports.
配置
- Diagnostic outputs are separated from private binaries and the record distinguishes host, device and planned evidence.
操作步骤
- Run the preflight and record checks, preserve only text metadata in CI, and use the boot_b-only recovery procedure on hardware.
开发经验
- V16 device evidence confirms ExitBootServices and XNU early-entry probes on boot_b; the result is preserved in docs/V16_SOURCE_ENTRY_RESULT.md.
- Source-build diagnostics record both device-local compatibility patches and keep patch preparation idempotent across repeated macOS runner attempts.
- V21 was built, audited and flashed to boot_b; the observed menu has V21 labels, enlarged text and PMIC RESET: 0x02000001.
- The current PMIC value is a boot-history baseline. Neither this sample nor the earlier exiting boot services message identifies the cause of a reset; no V21 XNU attempt has yet been observed.
完成条件
- Each claimed milestone has a reproducible command, matching source/image revision and an accessible result.
当前范围
- No UART capture is available; MMU-on persistence, platform drivers, UFS/root and userspace remain unverified.
下一步
- Record the selected XNU diagnostic attempt, final text/color bars, possible Lenovo logo and final held screen or menu before changing the next checkpoint.
证据
device: V16 records the audited private-input hashes and the boot_b screen evidence for ExitBootServices and XNU early entry. Command:python3 scripts/porting-record.py check --device ../UniXNU-j716f. Revision:b421b9bf8036fe89883f5e4987fb483eda45568b.device: V21 boot_b menu photograph confirms readable enlarged text and PMIC 0x02000001; XNU attempt and reset attribution remain pending. Command:fastboot flash boot_b <V21_BOOT_IMAGE>; fastboot reboot; observe the V21 menu.. Revision:2c13d875f8b3d38414f61443dc44b9b9559dfcb7.