From 26829c2a2293c73f67a780ab78b2a2007c292c5c Mon Sep 17 00:00:00 2001 From: AprilNEA Date: Wed, 8 Jul 2026 10:03:19 +0800 Subject: [PATCH 1/2] feat(config): enable PL031 RTC + HCTOSYS on arm64 (ABX-416) The ArcBox HV backend now exposes a PL031 RTC backed by the host wall clock. RTC_CLASS + RTC_DRV_PL031 bind it via the AMBA bus; RTC_HCTOSYS sets CLOCK_REALTIME from rtc0 at boot, so the guest has correct wall time before the agent's clock-sync ping (TLS validation during early boot). Inert under VZ, which exposes no PL031. --- configs/arcbox-arm64.config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/configs/arcbox-arm64.config b/configs/arcbox-arm64.config index 96a53f6..41e0d3e 100644 --- a/configs/arcbox-arm64.config +++ b/configs/arcbox-arm64.config @@ -220,6 +220,14 @@ CONFIG_VIRTIO_IOMMU=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y +# RTC: PL031 on the custom HV backend (ABX-416). HCTOSYS sets +# CLOCK_REALTIME from rtc0 at boot, so the guest has correct wall time +# before the agent is up (TLS validation during early boot). +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_DRV_PL031=y + # Multi-device (RAID/LVM) and Device Mapper CONFIG_MD=y CONFIG_BLK_DEV_DM=y From 4127b478a919bffa69f6cfa4f277116e188f5dd0 Mon Sep 17 00:00:00 2001 From: AprilNEA Date: Wed, 8 Jul 2026 12:46:58 +0800 Subject: [PATCH 2/2] fix(config): explicitly disable RTC_SYSTOHC The virtual PL031 mirrors the host wall clock; an NTP-synced guest must not write adjusted time back into it. Keep the flow one-way (RTC -> system at boot via HCTOSYS). --- configs/arcbox-arm64.config | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/configs/arcbox-arm64.config b/configs/arcbox-arm64.config index 41e0d3e..8c64ff5 100644 --- a/configs/arcbox-arm64.config +++ b/configs/arcbox-arm64.config @@ -222,10 +222,13 @@ CONFIG_HW_RANDOM_VIRTIO=y # RTC: PL031 on the custom HV backend (ABX-416). HCTOSYS sets # CLOCK_REALTIME from rtc0 at boot, so the guest has correct wall time -# before the agent is up (TLS validation during early boot). +# before the agent is up (TLS validation during early boot). SYSTOHC is +# off: the virtual RTC mirrors the host wall clock, so the guest must +# not write NTP-adjusted time back into it (one-way, RTC -> system). CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_SYSTOHC is not set CONFIG_RTC_DRV_PL031=y # Multi-device (RAID/LVM) and Device Mapper