# Copyright (C) 2026 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
system sdv-1
set counter-offset 0
debug
logger debug,info,error slog
cpu sched 10 runmask 0,1,2,3
cpu sched 10 runmask 0,1,2,3
cpu sched 10 runmask 0,1,2,3
cpu sched 10 runmask 0,1,2,3
# DDR for LA
pass loc mem:$asinfo_start{android_sysram2},$asinfo_length{android_sysram2},rwcxm
pass loc mem:$asinfo_start{android_sysram1},$asinfo_length{android_sysram1},rwcxm
pass loc mem:$asinfo_start{android_sysram3},$asinfo_length{android_sysram3},rwcxm
unsupported register ignore
load /guests/android/sdv-ivi-1/kernel
load /guests/android/sdv-ivi-1/cf.dtb
initrd load /guests/android/sdv-ivi-1/vramdisk
# Allocate 4K RAM to the guest at an arbitrary address for storing the test
# DICE chain. This memory region is referred to in the Device Tree by a
# reserved-memory node tagged by "google,open-dice", so the open-dice driver
# can pick it up and expose it to user space.
ram 0xD1C30000,4K
# Load the test DICE chain to the reserved guest memory.
# Warning: This must not be used in a production system. Instead, either the
# guest loader or the bootloader must provide it.
data load 0xD1C30000,/guests/android/sdv-ivi-1/test_dice_handover
# The cmdline is limited to 2048 characters. Additional parameters must use
# the bootconfig.
cmdline "printk.devkmsg=on \
firmware_class.path=/vendor/etc/ \
init=/init \
kfence.sample_interval=500 \
loop.max_part=7 \
mac80211_hwsim.radios=0 \
kernel.snd-hda-intel.enable=0 \
kernel.vmw_vsock_virtio_transport_common.virtio_transport_max_vsock_pkt_buf_size=16384 \
buildvariant=userdebug \
console=ttyAMA0 \
panic=-1 \
earlycon=pl011,0x1c090000 \
pci=noacpi \
reboot=k \
audit=1 \
androidboot.boot_devices=vdevs/1c0f1000.virtio_blk \
androidboot.cpuvulkan.version=0 \
androidboot.hardware.gralloc=minigbm \
androidboot.hardware.gltransport=virtio-gpu-asg \
androidboot.hardware.hwcomposer=ranchu \
androidboot.hardware.egl=emulation \
androidboot.hardware.hwcomposer.mode= \
androidboot.hardware.hwcomposer.display_finder_mode=drm \
androidboot.hardware.vulkan=ranchu \
androidboot.serialno=SDV1 \
androidboot.setupwizard_mode=DISABLED \
androidboot.verifiedbootstate=orange \
androidboot.selinux=permissive \
androidboot.slot_suffix=_a \
androidboot.force_normal_boot=1 \
androidboot.sdv.instance_name=instance1 \
androidboot.sdv.keymint.rpc.hbk=799da7577efd41d5b27810c5952fcec0291cbcfd687e77ac9a6cec8370651b1d \
androidboot.sdv.boot_mode=locked \
androidboot.sdv.preprovisioned_vvmtruststore=etc \
androidboot.sdv.vvmfactorytrust=c779a73d0595a6814ba0414a419e99ad4026ad0feb603f2ad80ee6a9e4d1adb7 \
androidboot.sdv.ignore_avb_state=true \
androidboot.vbmeta.digest=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff \
stack_depot_disable=on \
cgroup_disable=pressure \
cma=0 \
enforcing=0 \
androidboot.cf_devcfg=1 \
androidboot.cf_wifi_on=1 \
androidboot.wifi_impl=virt_wifi \
androidboot.wifi_mac_prefix=5554 \
virtio_snd.pcm_buffer_ms=120 virtio_snd.pcm_periods_min=6 \
virtio_snd.pcm_periods_max=6 \
virtio_snd.pcm_period_ms_min=20 \
virtio_snd.pcm_period_ms_max=20 \
v4l2loopback.video_nr=10"
vdev pl011
loc 0x1c090000
intr gic:37
# Tip: Comment out all hostdev entries to get an interactive shell.
hostdev >/var/log/guest/guest.out
hostdev </dev/ptyp6
name vdev_pl011
vdev shmem
name vdev_shmem
vdev virtio-entropy
intr gic:38
loc 0x1c0a0000
vdev virtio-net
loc 0x1c0c0000
intr gic:40
peer /dev/vdevpeers/vp0
mac 02:00:AB:CD:EF:01
peerfeats 0x0382
name p2p_0
vdev virtio-blk
loc 0x1c0f1000
intr gic:41
hostdev /guests/android/sdv-ivi-1/disk.img
name virtio-blk_qvmdisk0
# /dev/hvc10 (oemlock)
vdev virtio-console
loc 0x1c0ef000
intr gic:71
hostdev >/dev/null
# /dev/hvc9 (bogus)
vdev virtio-console
loc 0x1c0ff000
intr gic:70
hostdev >/dev/null
# /dev/hvc8 (bogus)
vdev virtio-console
loc 0x1c0fd000
intr gic:69
hostdev >/dev/null
# /dev/hvc7 (GNSS fixed location)
vdev virtio-console
loc 0x1c0f5000
intr gic:68
hostdev /var/run/gnss1
#hostdev >/dev/null
# /dev/hvc6 (GNSS raw measurement)
vdev virtio-console
loc 0x1c0fb000
intr gic:67
hostdev >/dev/null
# /dev/hvc5 (Bluetooth)
vdev virtio-console
loc 0x1c0fa000
intr gic:66
hostdev >/dev/null
# /dev/hvc4 (bogus)
vdev virtio-console
loc 0x1c0f9000
intr gic:65
hostdev >/dev/null
# /dev/hvc3 (bogus)
vdev virtio-console
loc 0x1c0f7000
intr gic:62
hostdev >/dev/null
# /dev/hvc2 (logcat)
vdev virtio-console
loc 0x1c0f2000
intr gic:58
hostdev >/var/run/guestlogcat/hvc2_fifo
# /dev/hvc1 (androidboot.console)
vdev virtio-console
loc 0x1c0f3000
intr gic:59
hostdev >/dev/null
# /dev/hvc0 (kernel dmesg)
vdev virtio-console
loc 0x1c0f4000
intr gic:60
hostdev >/dev/null
vdev virtio-input
loc 0x1c0d0000
intr gic:43
screen keyboard
window *
vdev virtio-input
loc 0x1c0e0000
intr gic:44
screen mouse
window *
name virtio-input_mouse
vdev virtio-input
loc 0x1c0f0000
intr gic:45
protocol b
screen multi-touch
size 1920,1080
window *
vdev virtio-gpu
loc 0x1c160000
intr gic:63
vdisp -bsize=1920x1080,-disp_id=2:-size=1920x720,-class_name=qtcluster_native,-disp_id=1
vram_loc 0x700000000
redblue_swap 0
gfxstream
vdev virtio-vsock
guest_cid 3
loc 0x1c0f6000
intr gic:46
vdev virtio-snd
loc 0x20020000
intr gic:47
stream playback
nid 0
hostdev hw:CARD=qc,DEV=0
associated_control PCM
rates 44100:48000
formats s16
chmap playback
nid 0
channels 2
stream capture
nid 0
hostdev plughw:CARD=qc,DEV=0
rates 48000
formats s16
chmap capture
nid 0
channels 2
#map guest_fl=host_fl:guest_fr=host_fr:guest_rl=host_rl:guest_rr=host_rr
vdev virtio-video-camera
loc 0x1c0f8000
intr gic:50
num_cameras 2
sensor_unit SENSOR_UNIT_1,SENSOR_UNIT_2
dynamic_configuration false
blit_enabled true
camera_format CBYCRY
guest_format RGB8888
guest_num_buffers 4
vdev virtio-video-decoder
loc 0x1c0fc000
intr gic:48
vdev virtio-video-encoder
loc 0x1c100000
intr gic:49
vdev exhci
loc 0x1d000000
intr gic:55
name exhci_android_auto_14
# Share a host filesystem directory with the guest. Example guest mount command:
# mount -t virtiofs qhostfs /data/qnx_host
vdev virtio-fs
loc 0x1c0fe000
intr gic:56
tag qhostfs # Tag to use in guest's mount command.
num_req_queues 1
host_path /accounts/1000/shared/videos # If you set this to /pps, set directio true below.
directio false
QVM sample configuration for SDV IVI
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2026-06-17 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-17 UTC."],[],[]]