Coder Social home page Coder Social logo

msm8916-mainline / qhypstub Goto Github PK

View Code? Open in Web Editor NEW
61.0 6.0 10.0 51 KB

"hyp" firmware stub for Qualcomm MSM8916/MSM8939 that allows using EL2/KVM

License: GNU General Public License v2.0

Assembly 94.40% Makefile 5.60%
firmware qualcomm msm8916 hypervisor aarch64 arm arm64 msm8939 qcom

qhypstub's People

Contributors

stephan-gh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

qhypstub's Issues

Dos it suppo for msm8953 (sdm625)?

I have a msm8953 device and I want to enable KVM on it.I have a kernel with KVM module builded.But I have not finished lk1st build,the drive have some bug.

PSCI HVC

Hello.

Found this project and it looks very interesting. Is there any plan to look into PSCI/HVC for the purposes of

  • SMP boot
  • Runtime LPM wrappering

Understood lk2nd already does spin-table SMP boot. A project I am involved with is interested in PSCI for 8916/8936/8939.

If you have plans to do it or some way for us to collaborate on it ?

Firmwares with pure AArch32 TZ

Found some MSM8916 devices shipped with trustzone firmware running entirely in AArch32 mode (both EL3 and Secure EL1)

$readelf -a tz.elf
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x86500000
Start of program headers: 52 (bytes into file)
Start of section headers: 0 (bytes into file)
Flags: 0x5000002, Version5 EABI,
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 10
Size of section headers: 40 (bytes)
Number of section headers: 0
Section header string table index: 0

There are two possible reasons for this. One is that QC switched to pure-AA32 TZBSP on LA at some point.
Another is devices under Tested devices are actually using WP firmware, which has AA64 TZ(EL3-only) and HYP.

According to ARMv8-A spec, if EL3 runs in AArch32, then all lower ELs have to run under AA32 as well.
Therefore, devices with these TZ firmwares, when flashed with qhypstub, won't boot anymore.

Possible solutions:

  1. Flash a (WP?)TZ with an AArch64 EL3. (Afaik, QC SBL1 has support for automatically switching to 64 when the ELF is 64).
  2. Redo everything EL2 and EL1(0) in AArch32 instead. Since Mainline has stopped supporting AArch32 KVM host, it'll be a dead end.

Does MSM8939 support GICv3

Hi stephan, sorry to bother again. I've bought a Redmi2 to install PostmarketOS, but found out that the msm8916 SoC didn't support GICv3. I'm wondering if the msm8939 support for GICv3. All I want is to run GICv3 VMs on those old Android phones.

Thanks a lot.

@stephan-gh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.