1、China RISC-V Summit 2023The ACRN/RISC-V project:embedded hypervisor design and status updateHaicheng Li Victor Sun Intel ConfidentialDepartment or Event Name2RISC-V Summit China 20232Legal Notices and DisclaimersStatements in this document that refer to future plans or expectations are forward-looki
2、ng statements.These statements are based on current expectations and involve many risks and uncertainties that could cause actual results to differ materially from those expressed or implied in such statements.For more information on the factors that could cause actual results to differ materially,s
3、ee our most recent earnings release and SEC filings at .All product plans and roadmaps are subject to change without notice.Any forecasts of goods and services needed for Intels operations are provided for discussion purposes only.Intel will have no liability to make any purchase in connection with
4、forecasts published in this document.Code names are often used by Intel to identify products,technologies,or services that are in development and usage may change over time.No license(express or implied,by estoppel or otherwise)to any intellectual property rights is granted by this document.Intel Co
5、rporation.Intel,the Intel logo,and other Intel marks are trademarks of Intel Corporation or its subsidiaries.Other names and brands may be claimed as the property of others.This document contains information on products and/or processes in development.Intel ConfidentialDepartment or Event Name3RISC-
6、V Summit China 20233ACRN IntroductionACRNis a flexible,lightweight reference hypervisor,built with real-time and safety-criticality in mind,optimized to streamline embedded development through an open source platform.A Linux Foundation Project launched in March 2018 Version 1.0 released in May 2019
7、Version 2.0 released in June 2020 Version 3.0 released in June 2022 Version 3.2 released in Aug 2023Intel ConfidentialDepartment or Event Name4RISC-V Summit China 20234ACRN Key CapabilitiesPermissive Open Source LicensePermissive Open Source LicensePermissive BSD-3-clause licenseLinux Foundation Aff
8、iliationFlexible Architecture for Diverse IoT UsageFlexible Architecture for Diverse IoT UsagePartition Mode,Shared modeHybrid(mix of partition&shared)modeVarious Guest OSes SupportVarious Guest OSes SupportAndroid,Linux,Zephyr,VxWorks,WindowsSecure ContainerSecure ContainerKATA containers enables a
9、dded securityKubernetes support for KATA,enables ease of deployment&managementSystem ManageabilitySystem ManageabilityFlexible VM lifecycle ManagementSecurity&IsolationSecurity&IsolationFull isolation for mixed criticality workloadsHardware assisted isolationSecure bootRich I/O MediationRich I/O Med
10、iationGraphics,Audio,USBIndustry standard Virtio BE/FE driversEase of useEase of useACRN configuration toolRich documentationMultiple-channel community supportHard RealHard Real-timetimeSupport hard or soft RT VMOptimized for RT,e.g.no VMExit,cache isolationSafety in MindSafety in MindSmall footprin
11、tCoding guidelineIntel ConfidentialDepartment or Event Name5RISC-V Summit China 20235ACRN/RISC-V Architecture&StatusQEMUUser VMnetnetblkblkconsoleconsoleVIRTIO PMDVIRTIO PMDFE DriversFE DriversnetblkuartPT DevicesPT DevicesDriversDriversqHost ManagementHost ManagementSMP SchedulerVirtual MemoryTrap
12、HandlerDebug ConsoleqGuest ManagementGuest ManagementCPU VirtualizationMemory PartitioningIO HandlingIRQ DeliveryqDevice ModelDevice ModelHypervisor DMVirtiodevicesPass-thru devicesCLINTCLINTService VMNative Device DriversACRN DMACRN DMvirtiovirtio-netnetvirtiovirtio-blkblkvirtiovirtio-consoleconsol
13、eVIRTIO PMDVIRTIO PMDBE servicesBE servicesRV64RV64ACRN HypervisorMMUMMUIOMMUIOMMUPLICPLICAIAAIACacheCachePGTablePGTableTrap Trap HandlerHandlerTimerTimerVirtual Virtual MemMemThreadThreadSMPSMPConsoleConsoleLibraryLibraryHost ManagementHost ManagementVPLICVPLICVCLINTVCLINTHV DMHV DMVPCIVPCIGuest Ma
14、nagementGuest ManagementVIRQVIRQS2VMS2VMVMExitVMExitVCPUVCPUContextContextSwitchSwitchVIOVIOVMCallVMCallVM VM LifecyclLifecycle eVUARTVUARTReadyReadyWIPWIPIntel ConfidentialDepartment or Event Name6RISC-V Summit China 20236CPU Virtualization&Mem PartitioningqCPU VirtualizationCPU VirtualizationpCPUp
15、artitioningpCPUsharingPerCPUinfra.VM0vcpu0vcpu1Real clockReal clockpcpu0pcpu1Context SwitchContext SwitchVM1vcpu0vcpu1VM2vcpu0vcpu1runqueueReal clockrunqueueReal clockpcpu2pcpu3Context Switchpick vcpupick vcpuFair scheduler(BVT)/Priority based schedulerContext SwitchqMemory PartitioningMemory Partit
16、ioning2-stage address translationVMExitinfra.IOMMUMMIO HolesMMIO HolesUOS RAM LayoutUOS RAM LayoutService VM MemLayoutMMIO HolesMMIO HolesUser VM MemLayoutMMIO HolesMMIO HolesUOS RAM LayoutUOS RAM LayoutPhysical MemLayoutHVHVIntel ConfidentialDepartment or Event Name7RISC-V Summit China 20237DM&IO H
17、andling FlowQEMUUser VMqIO Handling FlowIO Handling FlowMMIO VMExitHandlerInstruction EmulatorIO Request Infra.VirtioframeworkqDevice ModelDevice ModelHypervisor DMVirtiodevicesPass-thru devicesETHETHService VMACRNDiskDiskCreate IO ReqCreate IO ReqDevice ModelDevice ModelVirtioVirtio and Hypervisor
18、service and Hypervisor service ModuleModuleHypervisorHypervisorEmulated DeviceEmulated DeviceModelModelUARTUARTGPUGPUAudioAudioEmulateEmulate?Instruction Decoder&Instruction Decoder&Guest Page Table WalkerGuest Page Table WalkerYESYESNONOkerneluserMMIOMMIOVMExitVMExitMMIOMMIOVMExitVMExitKernelKernel
19、MediatorsMediatorsIO Req DispatcherIO Req DispatcherIO Shared PageIO Shared PageVirtioVirtio FEFEDriversDriversLegacyLegacyDriversDriversIntel ConfidentialDepartment or Event Name8RISC-V Summit China 20238IRQ Delivery FlowQEMUUser VMqReal HW IRQReal HW IRQHV IRQ DispatcherIRQChipEmulationvIRQInjecti
20、onqVirtioVirtio vIRQvIRQVMCallHandlingIRQChipEmulationvIRQInjectionCLINTCLINTService VMACRNPLICPLICInterrupt DispatcherInterrupt DispatcherVAIAVAIAVCLINTVCLINTVPLICVPLICDeviceDeviceDriversDriversDeviceDeviceModelModelvIRQvIRQ deliverydeliveryhviphvipDevice DriversDevice Drivers(virtiovirtio/PT/emula
21、ted)/PT/emulated)VAIAVAIAVCLINTVCLINTVPLICVPLIChviphvipvIRQvIRQ deliverydeliveryassert/assert/deassertdeassertirqirq linelineAIAAIAIntel ConfidentialDepartment or Event Name9RISC-V Summit China 20239Call to ActionJoin us!If you support the ACRN project and feel that this is the right thing for the e
22、mbedded ecosystem,join us in moving this project forward together as a community member.We need code contributors,users,and project direction influencers!Contribute code!Make a difference to the project by committing code,help us become a better project.Project code merged in the past 6 months allow
23、s you to become a voting member of the Technical Steering Committee.All Contributions MatterIn open source projects a contribution can be anything which helps the project to accomplish its mission.Examples of Contributions beyond just code include:Financial Assistance,Requirements Gathering,Document
24、ation,Testing,Bug ReportingFind more info of ACRN/RISCFind more info of ACRN/RISC-V projectV projecthttps:/projectacrn.github.io/latest/projects/multihttps:/projectacrn.github.io/latest/projects/multi-archarch-support.html#riscsupport.html#risc-v v-supportsupportIntel ConfidentialDepartment or Event
25、 Name10RISC-V Summit China 202310RISE is focused on positive and transparent collaborations with upstream projects to deliver commercial-ready software for various use casesGoal:Goal:Accelerate open source SW for RISC-V architectureHow:How:Align on highest priorities&avoid(accidental)duplication of
26、work-https:/riseproject.devhttps:/ more interesting topics from Intel on RISC-V summit China 2023TopicTopicWhenWhenRISC-V Vector Support on ValgrindAugust 25 6pmBest practice to optimize SW with vectorization on RISC-VPosterRISC-V firmware solutionAugust 24 4:30pmEnhance UEFI on RISC-VAugust 24 4:20pmEnabling compliance test for RISC-V BRSAugust 24 3pm The ACRN/RISC-V project:embedded hypervisor design and status updateAugust 24 5pm