GithubHelp home page GithubHelp logo

kvm-riscv / linux Goto Github PK

View Code? Open in Web Editor NEW
44.0 44.0 16.0 2.17 GB

Linux KVM RISC-V repo

License: Other

Makefile 0.20% Roff 0.02% C 98.35% Assembly 0.74% C++ 0.01% Shell 0.36% Perl 0.10% Awk 0.01% Python 0.19% sed 0.01% Yacc 0.01% Lex 0.01% UnrealScript 0.01% SmPL 0.01% Gherkin 0.01% XS 0.01% Clojure 0.01% M4 0.01% Raku 0.01% MATLAB 0.01%

linux's People

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

Watchers

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

linux's Issues

Allow QEMU Guest/VM to use in-kernel AIA support

When the host supports RISC-V AIA, the KVM kernel module will provide in-kernel AIA virtualization and the QEMU should:

  1. Detect and configure in-kernel AIA support
  2. Generate AIA DT nodes instead of PLIC DT node

Need in-kernel AIA virtualization in KVM RISC-V (#39)

Not started yet.

Allow KVMTOOL Guest/VM to use in-kernel AIA support

When the host supports RISC-V AIA, the KVM kernel module will provide in-kernel AIA virtualization and the KVMTOOL should:

  1. Detect and configure in-kernel AIA support
  2. Generate AIA DT nodes instead of PLIC DT node

Need in-kernel AIA virtualization in KVM RISC-V (#39)

Allow QEMU Guest/VM to use virtual HS-mode

When KVM RISC-V supports nested virtualization, the QEMU RISC-V should:

  1. Append "h" to to the HART ISA string in generated DTB
  2. Save/restore virtual HS-mode state for QEMU Guest/VM migration

Need KVM RISC-V nested virtualization support (#3)
Need KVM ONE_REG interface for accessing Guest VCPU virtual HS-mode state (#15)

Not started yet.

Allow QEMU Guest/VM to use RISC-V V-Extension

When the host supports RISC-V V-Extension, the QEMU RISC-V should:

  1. Append "v" to the HART ISA string in generated DTB
  2. Save/restore V-extension state for Guest/VM migration

Need RISC-V V-extension virtualization in KVM RISC-V (#13)
Need KVM ONE_REG interface for accessing Guest VCPU V-extension state (#14)

Not started yet.

Add Linux SBI PMU driver

Implement a new Linux SBI PMU driver for Linux RISC-V. The driver will mostly access RISC-V PMU counters directly but it will use SBI PMU calls to discover and configure RISC-V PMU counters.

Need SBI specification changes first. (#10)

Not started yet.

KVM RISC-V nested virtualization support

We will first get Xvisor RISC-V running inside KVM RISC-V (and vice-versa). The Xvisor RISC-V has nested MMU test suite which can be helpful in implementing Stage2 MMU emulation for KVM RISC-V.

Finally, we will get KVM RISC-V running inside KVM RISC-V.

Work in progress.

Add QEMU KVM RISC-V support to Libvirt

We have to extend the existing QEMU KVM driver in Libvirt to support QEMU KVM RISC-V.

Need QEMU KVM RISC-V support for this (#25).
Need QEMU KVM RISC-V Guest/VM migration support for this (#26).

Define SBI PMU extension in SBI specifications

Extend SBI specification to include SBI performance monitoring unit (PMU) extension

The SBI PMU draft proposal is under review on RISC-V Unix Platform mailing list.

Work in progress.

AIA HW guest file

Hi,
I really want to know the meaning of IMSIC HW guest file? Is that different from guest file? Or is that related to devices?
hope receive your reply as soon,
thanks

Implement SBI PMU extension in KVM RISC-V

Implement SBI PMU extension in KVM RISC-V so that Guest/VM has a way to access RISC-V PMU counters.

Need SBI PMU defined in SBI specification (#10)
Need Linux SBI PMU driver (#11)

Yet to be started.

Define SBI PTS extension in SBI specification

Extend SBI specification to include SBI para-virt time scaling (PTS) extension. The SBI PTS calls will be VDSO-style calls using which Guest/VM can know the scaling to be done on TIME CSR value before using it.

Not started yet.

Implement SBI SRST extension in KVM RISC-V

Implement SBI SRST extension in KVM RISC-V so that we can PowerOff or Reboot a Guest/VM.

Need SBI SRST defined in SBI specification (#19)
Need SBI SRST to be used by Linux RISC-V SBI (#20)

Yet to be started.

About DTB

Sorry for help, according to the output 'Placing fdt at 0x81800000 - 0x87ffffff' and the code of kvmtool, I should load fdt file to gpa:0x81800000.
But I cannot find the fdt file. I only find that the kvmtool load the kernel file (build-riscv64/arch/riscv/boot/Image) to gpa:0x80200000. So where can I find the fdt file?
Thank you so much!

Allow KVMTOOL Guest/VM to use virtual HS-mode

When KVM RISC-V supports nested virtualization, the KVMTOOL should:

  1. Append "h" to to the HART ISA string in generated DTB
  2. Dump virtual HS-mode state in kvm_cpu__show_registers()

Need KVM RISC-V nested virtualization support (#3)
Need KVM ONE_REG interface for accessing Guest VCPU virtual HS-mode state (#15)

Implement SBI PTS extension in KVM RISC-V

Implement SBI PTS extension in KVM RISC-V so that we can allow migrating Guest/VM across Hosts with different timer frequency.

Need SBI PTS defined in SBI specification (#7)
Need SBI PTS to be used by Linux RISC-V timer driver (#8)

Yet to be started.

How to get the HiFive Unleashed board?

I have reviewed all your KVM patches about riscv, I admire your ability very much,But can't find the HiFive Unleashed board to verify and study it.

Implement SBI PSTA extension in KVM RISC-V

Implement SBI PSTA extension in KVM RISC-V so that Linux running as KVM Guest/VM can use steal time accounting information provided by the KVM RISC-V hypervisor.

Need to SBI PSTA defined in SBI specification (#4)
Need SBI PSTA based para-virt ops for Linux RISC-V (#5)

Yet to be started.

Why not add hfence.vvma after modify vsatp?

csr_write(CSR_VSATP, csr->vsatp);

I only found a modification of vsatp here. If csr->vsatp is different with CSR_VSATP, I think hfence.vma should be added after write CSR_VSATP.

BTW, I can't find the modification of csr->vsatp. Could you help to point out how csr->vsatp was modified?

Thanks

Add in-kernel AIA virtualization in KVM RISC-V

The AIA CSRs and AIA IMSIC has interrupt virtualization support so the KVM RISC-V kernel module can leverage this for hardware assisted AIA emulation/virtualization.

Need AIA support in Linux RISC-V INTC driver (#36)
Need Linux IMSIC driver (#37)
Need Linux APLIC driver (#38)

vcpu kick

Sorry for help. I want to learn about the IPI.
I found that hideleg got 1U << IRQ_VS_SOFT, and that means all the IRQ_VS_SOFT interrupts will be delegate to VS mode.
Then I found "smp_send_reschedule(cpu)" in kvm_vcpu_kick. And it send IPI to the guest. Is the IPI a IRQ_VS_SOFT? If so, the IPI will be handle by the VS mode, and it won't be kicked to hypervisor in HS mode. So I must misunderstand something. Can U help me?

Allow KVMTOOL Guest/VM to use RISC-V V-Extension

When the host supports RISC-V V-Extension, the KVMTOOL should:

  1. Append "v" to the HART ISA string in generated DTB
  2. Dump V-extension state in kvm_cpu__show_registers()

Need RISC-V V-extension virtualization in KVM RISC-V (#13)
Need KVM ONE_REG interface for accessing Guest VCPU V-extension state (#14)

Not started yet.

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.