Giter Site home page Giter Site logo

riscvedk2's Introduction

## @file
#  Readme of how to build and launch RiscVVirtPkg
#
#  Copyright (c) 2016, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

=== EDKII RISC-V Virtual Package OVERVIEW ===

The RISC-V virtual package project is RISC-V UEFI port on EDKII OVMF package.
The binary built from RiscVVirtPkg can be lanuched on QEMU for emulating RISC-V ISA.

More information about UEFI can be found at http://www.tianocore.org
More information about OVMF can be found at http://www.tianocore.org/ovmf/
More information about RISC-V can be found at http://riscv.org

=== STATUS ===

Current capabilities:
  Current implementation can boot UEFI to internal shell.

* We preserved the capability of supporting RISC-V 32/64/128 arch
* Currently we only have the implementation of RISC-V 64 arch
* ACPI, SMBIOS, SMM and MP are not yet supported.
* QEMU RISC-V port
  - Video, USB keyboard
* Only GCC can build RISC-V arch

=== FUTURE PLANS ===

* Implement ACPI, MP, SMBIO and SMM for RISC-V.

=== BUILDING RiscVVirtPkg ===

Pre-requisites:
* Build environment capable of build the edk2 MdeModulePkg.
* GCC
  GCC RISC-V port can be found at https://github.com/riscv/riscv-gnu-toolchain
  More information for building GCC RISC-V port can be found at http://riscv.org/download.html#tab_gnu-toolchain
* QEMU
  QEMU RISC-V port can be found at https://github.com/riscv/riscv-qemu.
  More information for building QEMU RISC-V port can be found at http://riscv.org/download.html#tab_qemu

***For RISC-V UEFI port, we made some modifications on both GCC tool chain and QEMU RISC-V port base on above official links.
   Those chanegs are not reviewed and committed to the corresponding repository yet.

Update Conf/target.txt ACTIVE_PLATFORM for RiscVVirtPkg:
  * RiscVVirtPkg/RiscVVirt64.fdf
  * RiscVVirtPkg/RiscVVirt64.dsc
  * RiscVVirtPkg/RiscVVirtPkg.dec

ACTIVE_PLATFORM       = RiscVVirtPkg/RiscVVirt64.dsc
TARGET                = DEBUG
TARGET_ARCH           = RISCV64
TOOL_CHAIN_TAG        = GCC52RISCV

You can build RiscVVirtPkg through EDKII "build" under prompt.
You can build RiscVVirtPkg with debug serial port message under prompt
  build -D DEBUG_ON_SERIAL_PORT

=== RUNNING RiscVVirtPkg on QEMU ===
* Once your RiscVVirtPkg is built, you can find the flash device RISCVVIRT.fd under FV/ directory.
* After QEMU RISC-V port is built. You can find the executable file qemu-system-riscvpcat under
  YourQEMU/riscv-qemu/riscvpcat-softmmu.
* copy RISCVVIRT.fd to YourQEMU/riscv-qemu/riscvpcat-softmmu and launch RISCVVIRT.fd as below,
  ./qemu-system-riscvpcat -bios RISCVVIRT.fd -usb -usbdevice keyboard
* You can assign serial port to QEMU platform and have the debug messages output to terminal (like gdkterm).
  ./qemu-system-riscvpcat -bios -serial /dev/pts/8 RISCVVIRT.fd -usb -usbdevice keyboard

riscvedk2's People

Stargazers

Rex Wu avatar  avatar Nic avatar  avatar Elias Kouskoumvekakis avatar Fabrizio Fazzino avatar Chen Baozi avatar Joseph Kiniry avatar  avatar

Watchers

James Cloos avatar Paul Holland avatar Bryan Jacquot avatar Alfredo Herrera (aLean-Tec) avatar Abner Chang avatar  avatar  avatar

Forkers

00mjk

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.