Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit ce93918

Browse files
nioffeCarlos Llamas
authored andcommitted
ANDROID: GKI: enable options to run GKI as Microdroid guest
Starting with android15-6.6 we are planning to support running GKI as Microdroid guest kernel to enable VM use cases that require loading vendor-provided kernel modules into guest VM (e.g. device assignment). Additionally adjust the rockpi4_gki.fragment to address the build breakage caused by changes to the gki_defconfig. Bug: 302467077 Test: see 613f7c1b2fef7ebe3edd1f89279cb40d2a7bf8fb Change-Id: Ide66b713a0edee869264ee9dd1def5f21d28c862 Signed-off-by: Nikita Ioffe <[email protected]>
1 parent 07aafb5 commit ce93918

File tree

5 files changed

+29
-3
lines changed

5 files changed

+29
-3
lines changed

BUILD.bazel

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,6 @@ copy_to_dist_dir(
531531

532532
_ROCKPI4_MODULE_OUTS = [
533533
# keep sorted
534-
"drivers/block/virtio_blk.ko",
535534
"drivers/char/hw_random/virtio-rng.ko",
536535
"drivers/clk/clk-rk808.ko",
537536
"drivers/cpufreq/cpufreq-dt.ko",
@@ -576,9 +575,7 @@ _ROCKPI4_MODULE_OUTS = [
576575
"drivers/thermal/rockchip_thermal.ko",
577576
"drivers/usb/host/ohci-hcd.ko",
578577
"drivers/usb/host/ohci-platform.ko",
579-
"drivers/virtio/virtio_pci.ko",
580578
"drivers/virtio/virtio_pci_legacy_dev.ko",
581-
"drivers/virtio/virtio_pci_modern_dev.ko",
582579
"net/core/failover.ko",
583580
]
584581

arch/arm64/configs/gki_defconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ CONFIG_EXPERT=y
4747
CONFIG_KALLSYMS_ALL=y
4848
# CONFIG_RSEQ is not set
4949
CONFIG_PROFILING=y
50+
CONFIG_KEXEC_FILE=y
5051
CONFIG_ARCH_SUNXI=y
5152
CONFIG_ARCH_HISI=y
5253
CONFIG_ARCH_QCOM=y
@@ -272,6 +273,7 @@ CONFIG_NET_ACT_MIRRED=y
272273
CONFIG_NET_ACT_SKBEDIT=y
273274
CONFIG_NET_ACT_BPF=y
274275
CONFIG_VSOCKETS=y
276+
CONFIG_VIRTIO_VSOCKETS=m
275277
CONFIG_CGROUP_NET_PRIO=y
276278
CONFIG_CAN=m
277279
CONFIG_BT=m
@@ -312,11 +314,14 @@ CONFIG_BLK_DEV_LOOP=y
312314
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
313315
CONFIG_BLK_DEV_RAM=y
314316
CONFIG_BLK_DEV_RAM_SIZE=8192
317+
CONFIG_VIRTIO_BLK=m
315318
CONFIG_BLK_DEV_UBLK=y
316319
CONFIG_BLK_DEV_NVME=y
317320
CONFIG_NVME_MULTIPATH=y
318321
CONFIG_SRAM=y
319322
CONFIG_UID_SYS_STATS=y
323+
CONFIG_OPEN_DICE=m
324+
CONFIG_VCPU_STALL_DETECTOR=m
320325
CONFIG_SCSI=y
321326
# CONFIG_SCSI_PROC_FS is not set
322327
CONFIG_BLK_DEV_SD=y
@@ -401,7 +406,9 @@ CONFIG_SERIAL_SPRD_CONSOLE=y
401406
CONFIG_NULL_TTY=y
402407
CONFIG_HVC_DCC=y
403408
CONFIG_SERIAL_DEV_BUS=y
409+
CONFIG_VIRTIO_CONSOLE=m
404410
CONFIG_HW_RANDOM=y
411+
CONFIG_HW_RANDOM_CCTRNG=m
405412
# CONFIG_DEVMEM is not set
406413
# CONFIG_DEVPORT is not set
407414
# CONFIG_I2C_COMPAT is not set
@@ -559,6 +566,9 @@ CONFIG_GUNYAH=y
559566
# CONFIG_GUNYAH_QCOM_PLATFORM is not set
560567
CONFIG_GUNYAH_IRQFD=y
561568
CONFIG_GUNYAH_IOEVENTFD=y
569+
CONFIG_VIRTIO_PCI=m
570+
# CONFIG_VIRTIO_PCI_LEGACY is not set
571+
CONFIG_VIRTIO_BALLOON=m
562572
CONFIG_VHOST_VSOCK=y
563573
CONFIG_STAGING=y
564574
CONFIG_ASHMEM=y
@@ -703,6 +713,7 @@ CONFIG_TRACE_MMIO_ACCESS=y
703713
CONFIG_CRC_CCITT=y
704714
CONFIG_XZ_DEC=y
705715
CONFIG_SWIOTLB_DYNAMIC=y
716+
CONFIG_DMA_RESTRICTED_POOL=y
706717
CONFIG_DMA_CMA=y
707718
CONFIG_PRINTK_TIME=y
708719
CONFIG_PRINTK_CALLER=y

arch/arm64/configs/rockpi4_gki.fragment

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,4 @@ CONFIG_HW_RANDOM_VIRTIO=m
8282
CONFIG_VIRTIO_PCI=m
8383
CONFIG_VIRTIO_BLK=m
8484
CONFIG_VIRTIO_NET=m
85+
CONFIG_VIRTIO_PCI_LEGACY=m

arch/x86/configs/gki_defconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ CONFIG_EXPERT=y
5252
CONFIG_KALLSYMS_ALL=y
5353
# CONFIG_RSEQ is not set
5454
CONFIG_PROFILING=y
55+
CONFIG_KEXEC_FILE=y
5556
CONFIG_SMP=y
5657
CONFIG_X86_X2APIC=y
5758
CONFIG_HYPERVISOR_GUEST=y
@@ -266,6 +267,7 @@ CONFIG_NET_ACT_MIRRED=y
266267
CONFIG_NET_ACT_SKBEDIT=y
267268
CONFIG_NET_ACT_BPF=y
268269
CONFIG_VSOCKETS=y
270+
CONFIG_VIRTIO_VSOCKETS=m
269271
CONFIG_CGROUP_NET_PRIO=y
270272
CONFIG_CAN=m
271273
CONFIG_BT=m
@@ -296,11 +298,13 @@ CONFIG_BLK_DEV_LOOP=y
296298
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
297299
CONFIG_BLK_DEV_RAM=y
298300
CONFIG_BLK_DEV_RAM_SIZE=8192
301+
CONFIG_VIRTIO_BLK=m
299302
CONFIG_BLK_DEV_UBLK=y
300303
CONFIG_BLK_DEV_NVME=y
301304
CONFIG_NVME_MULTIPATH=y
302305
CONFIG_SRAM=y
303306
CONFIG_UID_SYS_STATS=y
307+
CONFIG_VCPU_STALL_DETECTOR=m
304308
CONFIG_SCSI=y
305309
# CONFIG_SCSI_PROC_FS is not set
306310
CONFIG_BLK_DEV_SD=y
@@ -376,6 +380,7 @@ CONFIG_SERIAL_SAMSUNG=y
376380
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
377381
CONFIG_NULL_TTY=y
378382
CONFIG_SERIAL_DEV_BUS=y
383+
CONFIG_VIRTIO_CONSOLE=m
379384
CONFIG_HW_RANDOM=y
380385
# CONFIG_HW_RANDOM_VIA is not set
381386
# CONFIG_DEVMEM is not set
@@ -514,6 +519,8 @@ CONFIG_DMABUF_SYSFS_STATS=y
514519
CONFIG_DMABUF_HEAPS_DEFERRED_FREE=y
515520
CONFIG_DMABUF_HEAPS_PAGE_POOL=y
516521
CONFIG_UIO=y
522+
CONFIG_VIRTIO_PCI=m
523+
CONFIG_VIRTIO_BALLOON=m
517524
CONFIG_VHOST_VSOCK=y
518525
CONFIG_STAGING=y
519526
CONFIG_ASHMEM=y

modules.bzl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@ This module contains a full list of kernel modules
88

99
_COMMON_GKI_MODULES_LIST = [
1010
# keep sorted
11+
"drivers/block/virtio_blk.ko",
1112
"drivers/block/zram/zram.ko",
1213
"drivers/bluetooth/btbcm.ko",
1314
"drivers/bluetooth/btqca.ko",
1415
"drivers/bluetooth/btsdio.ko",
1516
"drivers/bluetooth/hci_uart.ko",
17+
"drivers/char/virtio_console.ko",
18+
"drivers/misc/vcpu_stall_detector.ko",
1619
"drivers/net/can/dev/can-dev.ko",
1720
"drivers/net/can/slcan/slcan.ko",
1821
"drivers/net/can/vcan.ko",
@@ -42,6 +45,9 @@ _COMMON_GKI_MODULES_LIST = [
4245
"drivers/usb/mon/usbmon.ko",
4346
"drivers/usb/serial/ftdi_sio.ko",
4447
"drivers/usb/serial/usbserial.ko",
48+
"drivers/virtio/virtio_balloon.ko",
49+
"drivers/virtio/virtio_pci.ko",
50+
"drivers/virtio/virtio_pci_modern_dev.ko",
4551
"kernel/kheaders.ko",
4652
"lib/crypto/libarc4.ko",
4753
"mm/zsmalloc.ko",
@@ -73,6 +79,7 @@ _COMMON_GKI_MODULES_LIST = [
7379
"net/rfkill/rfkill.ko",
7480
"net/tipc/diag.ko",
7581
"net/tipc/tipc.ko",
82+
"net/vmw_vsock/vmw_vsock_virtio_transport.ko",
7683
]
7784

7885
# Deprecated - Use `get_gki_modules_list` function instead.
@@ -86,6 +93,8 @@ _ARM_GKI_MODULES_LIST = [
8693
_ARM64_GKI_MODULES_LIST = [
8794
# keep sorted
8895
"arch/arm64/geniezone/gzvm.ko",
96+
"drivers/char/hw_random/cctrng.ko",
97+
"drivers/misc/open-dice.ko",
8998
"drivers/ptp/ptp_kvm.ko",
9099
]
91100

@@ -97,6 +106,7 @@ _X86_GKI_MODULES_LIST = [
97106
_X86_64_GKI_MODULES_LIST = [
98107
# keep sorted
99108
"drivers/ptp/ptp_kvm.ko",
109+
"drivers/virtio/virtio_pci_legacy_dev.ko",
100110
]
101111

102112
# buildifier: disable=unnamed-macro

0 commit comments

Comments
 (0)