Skip to content

Releases: sarabpal-dev/qemu

samsung-v2 — QEMU for Samsung Android Kernel (Qualcomm & Exynos/MediaTek Support)

Choose a tag to compare

@sarabpal-dev sarabpal-dev released this 15 Aug 16:46

QEMU for Samsung Android Kernel (v2) — Qualcomm & Exynos/MediaTek Support

This release provides statically-linked QEMU system emulator binaries for running Samsung Android kernel images with both Qualcomm (Snapdragon) and Exynos / MediaTek SoC emulation.

What's New in v2

  • Samsung uH HVC Emulation: Added support for Samsung's HVC-based microvisor interface (UH_APP_RKP / UH_APP_KDP) used on Exynos and other ARM64 architectures.
  • Unified Call Dispatcher: Seamlessly handles both Qualcomm SMC register format and packed 0x83000000 | (app_id << 8) | command conventions.
  • Multi-Ramdisk Tooling: Updated build-rootfs-defex.sh with support for header v4 vendor_boot.img multi-ramdisk tables.

Binaries & Assets

  • qemu-system-aarch64-static-pc: Statically-linked AArch64 system emulator for x86-64 Linux hosts (~112 MB).
  • buildroot-tc.tar.xz: Buildroot cross-compilation toolchain for AArch64 targets (~117 MB).

Usage

./run.sh

samsung-v1 — QEMU for Samsung Android Kernel 5.10 (Qualcomm SoC Emulation)

Choose a tag to compare

@sarabpal-dev sarabpal-dev released this 08 Aug 04:01

QEMU for Samsung Android Kernel 5.10 — Static x86-64 Build

This is a statically-linked QEMU system emulator (qemu-system-aarch64) compiled for x86-64 Linux hosts (PC), modified to support running Samsung Android kernel 5.10 with Qualcomm SoC emulation.

Binary

File Description
qemu-system-aarch64-static-pc Static aarch64 system emulator for x86-64 PC (~111 MB, debug symbols included)

Modifications from Upstream QEMU

  • Memory Layout: Mimics real Qualcomm SoC memory map with kernel start address at 0xa8000000 (matching Samsung bootloader convention)
  • CPU Emulation: Customized to mimic real Qualcomm CPU features and behavior for proper kernel boot compatibility
  • KDP & Defex Support: Added support to load Samsung kernel images with both Kernel Data Protection (KDP) and Defex security enabled
  • Boot Extensions: Extended ARM virt board and boot code to handle Samsung-specific boot parameters (DTB patching, memory node configuration, reserved memory regions)
  • GICv5 Fixes: Fixed interrupt controller configuration for multi-cluster Qualcomm-style CPU topology
  • Android Build Support: meson.build and oslib modifications for Android compatibility

Source Code

Available on the samsung branch of this repository.

Usage

./qemu-system-aarch64-static-pc \
  -machine virt \
  -cpu max \
  -m 4G \
  -kernel samsung-kernel-5.10 \
  -append "console=ttyAMA0 ..." \
  ...