运维123 - openbsd
type: channel
link: https://www.sddts.cn/index.php/tag/openbsd/
items: OpenBSD-current now runs as guest under Apple Hypervisor

OpenBSD-current now runs as guest under Apple Hypervisor
type: item
date: 2026-01-16T09:37:57+00:00
description: OpenBSD-current now runs as guest under Apple Hypervisor一、新闻概述1. 标题OpenBSD-current 现已支持在 Apple Hypervisor 上运行2. 发布时间2026 年 1 月 15 日3. 来源OpenBSD Journal（undeadly.org）二、核心内容1. 事件摘要A. 主要内容OpenBSD 项目宣布 OpenBSD/arm64 分支现在可以作为客机操作系统在 Apple Hypervisor 框架上正常运行。这一突破性进展得益于近期的一系列代码提交。B. 核心亮点OpenBSD/arm64 成功支持 Apple Silicon Mac 的虚拟化框架修复了 viogpu 显卡驱动的关键内存映射问题完善了 virtio 网络驱动的 MTU 特性支持相关补丁已进入快照版本2. 关键信息A. 版本信息OpenBSD-current（开发版本）OpenBSD/arm64 架构B. 核心开发者Helg Bredow（helg@）Stefan Fritsch（sf@）C. 涉及组件Apple Hypervisor 框架virtio GPU 驱动（sys/dev/pv/viogpu.c）virtio 网络驱动（sys/dev/pv/if_vio.c）3. 背景介绍A. 技术背景Apple Hypervisor 是 Apple 提供的虚拟化框架，允许在 macOS 上创建和管理虚拟机。自 Apple Silicon（M1/M2/M3 系列芯片）推出以来，开发者一直期待在 Apple Silicon Mac 上运行 OpenBSD 虚拟机。B. 技术挑战OpenBSD 在 Apple Hypervisor 上运行面临两大技术障碍：GPU 驱动的内存映射问题导致 X11 无法正常显示网络驱动的 MTU 特性协商不完善三、详细报道1. 主要内容A. 显卡驱动修复Helg Bredow 提交的补丁修复了 viogpu 驱动的关键问题：graph LR A[viogpu_wsmmap] -->|返回| B[虚拟地址 KVA] B -->|应返回| C[物理地址] C -->|通过| D[bus_dmamem_mmap] D --> E[修复前：黑屏] D --> F[修复后：正常显示]问题根源：viogpu_wsmmap() 函数返回了内核虚拟地址（KVA）应该返回物理地址以便通过 bus_dmamem_mmap(9) 映射到用户空间导致 QEMU 启动 X11 时只显示黑屏在 Apple Hypervisor 上会导致内核崩溃解决方案：修改 viogpu_wsmmap() 返回物理地址而非虚拟地址添加 bus_dmamap_sync(9) 调用，确保帧缓冲区更新对宿主机可见保证在不同 CPU 核心运行时的内存一致性B. 网络驱动增强Stefan Fritsch 实现了 VIRTIO_NET_F_MTU 特性支持：sequenceDiagram participant G as 客机系统 participant H as Hypervisor participant D as virtio 网卡驱动 G->>H: 特性协商请求 H-->>G: 支持 VIRTIO_NET_F_MTU G->>D: 获取 hypervisor MTU 限制 D->>D: 设置当前 MTU = hardmtu D->>D: 检查是否超过 ETHER_MAX_HARDMTU_LEN alt MTU 超限 D->>H: 重新协商，禁用 VIRTIO_NET_F_MTU else MTU 正常 D->>D: 使用 hypervisor MTU end技术细节：实现 VIRTIO_NET_F_MTU 特性，允许从 hypervisor 获取 hardmtu将当前 MTU 设置为与 hardmtu 相同的值（与 Linux 行为一致）使用 ETHER_MAX_HARDMTU_LEN 作为上限，替代原有的 MAXMCLBYTES若 hypervisor 请求的 MTU 超过上限，重新协商并禁用该特性C. 技术改进要点组件修改内容影响范围viogpu 驱动修复内存映射返回值QEMU 和 Apple Hypervisor 显示viogpu 驱动添加内存同步调用多核 CPU 场景vio 网络驱动MTU 特性支持Apple Virtualization 兼容性四、影响分析1. 行业影响A. 虚拟化生态OpenBSD 加入 Apple Hypervisor 支持行列，丰富了 Apple Silicon 平台的虚拟化选择。与其他 BSD 系统（如 FreeBSD）形成互补。B. 开源社区这一进展展示了开源社…