├── .gitignore ├── .gitmodules ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── ci ├── Dockerfile │ ├── fedora33 │ ├── fedora33.ppc64le │ ├── fedora33.x86_64 │ ├── ubuntu2004 │ ├── ubuntu2004.ppc64le │ └── ubuntu2004.x86_64 ├── build-all-defconfigs.sh └── build.sh ├── dl └── .gitignore ├── doc ├── .gitignore ├── Makefile ├── boot-devices.rst ├── conf.py ├── index.rst ├── introduction.rst ├── process │ ├── CONTRIBUTING.md │ ├── KernelTree.rst │ ├── building-with-ci.rst │ ├── index.rst │ └── stable-rules.rst ├── release-notes │ ├── index.rst │ ├── v1.21-rc1.rst │ ├── v1.21-rc2.rst │ ├── v1.21.1.rst │ ├── v1.21.2.rst │ ├── v1.21.rst │ ├── v1.22-rc1.rst │ ├── v1.22.rst │ ├── v2.0-rc1.rst │ ├── v2.0.1.rst │ ├── v2.0.10.rst │ ├── v2.0.11.rst │ ├── v2.0.12.rst │ ├── v2.0.13.rst │ ├── v2.0.14.rst │ ├── v2.0.15.rst │ ├── v2.0.16.rst │ ├── v2.0.2.rst │ ├── v2.0.3.rst │ ├── v2.0.4.rst │ ├── v2.0.5.rst │ ├── v2.0.6.rst │ ├── v2.0.7.rst │ ├── v2.0.8.rst │ ├── v2.0.9.rst │ ├── v2.0.rst │ ├── v2.1-rc1.rst │ ├── v2.1.rst │ ├── v2.2-rc1.rst │ ├── v2.2.rst │ ├── v2.3-rc1.rst │ ├── v2.3-rc2.rst │ ├── v2.3.1.rst │ ├── v2.3.rst │ ├── v2.4-rc1.rst │ ├── v2.4.rst │ ├── v2.5-rc1.rst │ ├── v2.5.rst │ └── v2.6.rst ├── requirements.txt ├── testing.rst └── versioning.rst ├── op-build ├── op-build-env ├── openpower ├── Config.in ├── configs │ ├── blackbird_defconfig │ ├── busybox.fragment │ ├── hostboot │ │ ├── blackbird.config │ │ ├── mihawk.config │ │ ├── mowgli.config │ │ ├── nicole.config │ │ ├── p9dsu.config │ │ ├── romulus.config │ │ ├── swift.config │ │ ├── witherspoon.config │ │ └── zaius.config │ ├── linux │ │ └── skiroot_defconfig │ ├── mihawk_defconfig │ ├── mowgli_defconfig │ ├── nicole_defconfig │ ├── opal_defconfig │ ├── p9dsu_defconfig │ ├── romulus_defconfig │ ├── swift_defconfig │ ├── users-table │ ├── witherspoon_defconfig │ ├── zaius_defconfig │ └── zz_defconfig ├── custom │ ├── Config.in │ ├── README │ ├── configs │ │ └── .dont_delete_this │ ├── package │ │ └── .dont_delete_this │ └── patches │ │ ├── .dont_delete_this │ │ ├── busybox │ │ └── 0001-init-Only-print-shutdown-messages-to-log.patch │ │ └── dtc │ │ └── dtc-0001-sort-unit-addresses-by-number.patch ├── device_table.txt ├── external.desc ├── external.mk ├── linux │ ├── 0001-xhci-Reset-controller-on-xhci-shutdown.patch │ └── 0002-Release-OpenPower-kernel.patch ├── overlay │ ├── bin │ │ └── msglog │ ├── etc │ │ ├── fstab │ │ ├── init.d │ │ │ ├── S10udev │ │ │ ├── S17udevsettle │ │ │ ├── S18lvm │ │ │ └── S99signal-linux-complete │ │ ├── inittab │ │ ├── locale │ │ └── sudoers │ └── lib │ │ └── udev │ │ └── rules.d │ │ ├── 10-dm.rules │ │ ├── 11-dm-lvm.rules │ │ ├── 13-dm-disk.rules │ │ └── 95-dm-notify.rules ├── package │ ├── Config.in │ ├── VERSION.readme │ ├── alternate-binutils │ │ ├── Config.in │ │ └── alternate-binutils.mk │ ├── alternate-gcc │ │ ├── Config.in │ │ └── alternate-gcc.mk │ ├── capp-ucode │ │ ├── Config.in │ │ └── capp-ucode.mk │ ├── hcode │ │ ├── Config.in │ │ └── hcode.mk │ ├── hostboot-binaries │ │ ├── Config.in │ │ └── hostboot_binaries.mk │ ├── hostboot │ │ ├── Config.in │ │ └── hostboot.mk │ ├── ima-catalog │ │ ├── Config.in │ │ └── ima-catalog.mk │ ├── libflash │ │ ├── Config.in │ │ └── libflash.mk │ ├── loadkeys │ │ ├── Config.in │ │ ├── S16-keymap │ │ ├── backtab-keymap │ │ ├── loadkeys.hash │ │ └── loadkeys.mk │ ├── machine-xml │ │ ├── Config.in │ │ └── machine-xml.mk │ ├── occ │ │ ├── Config.in │ │ └── occ.mk │ ├── ocmb-explorer-fw │ │ ├── Config.in │ │ └── ocmb-explorer-fw.mk │ ├── openpower-ffs │ │ ├── Config.in │ │ └── openpower-ffs.mk │ ├── openpower-pnor-util │ │ └── openpower-pnor-util.mk │ ├── openpower-pnor │ │ ├── Config.in │ │ └── openpower-pnor.mk │ ├── petitboot │ │ ├── 63-md-raid-arrays.rules │ │ ├── 65-md-incremental.rules │ │ ├── 66-add-sg-module.rules │ │ ├── Config.in │ │ ├── S14silence-console │ │ ├── S15pb-discover │ │ ├── kexec-restart │ │ ├── petitboot-console-ui.rules │ │ ├── petitboot.hash │ │ ├── petitboot.mk │ │ ├── removable-event-poll.rules │ │ ├── shell_config │ │ └── shell_profile │ ├── pkg-versions.mk │ ├── ppe42-binutils │ │ ├── Config.in │ │ └── ppe42-binutils.mk │ ├── ppe42-gcc │ │ ├── 0001-2016-02-19-Jakub-Jelinek-jakub-redhat.com.patch │ │ ├── 0001-reload-Change-to-type-of-x_spill_indirect_levels.patch │ │ ├── Config.in │ │ └── ppe42-gcc.mk │ ├── ppe42-toolchain-external │ │ ├── Config.in │ │ └── ppe42-toolchain-external.mk │ ├── sb-signing-framework │ │ ├── Config.in │ │ └── sb-signing-framework.mk │ ├── sb-signing-utils │ │ ├── Config.in │ │ ├── keys │ │ │ ├── README.md │ │ │ ├── hw_key_a.key │ │ │ ├── hw_key_b.key │ │ │ ├── hw_key_c.key │ │ │ └── sw_key_a.key │ │ └── sb-signing-utils.mk │ ├── sbe │ │ ├── Config.in │ │ └── sbe.mk │ └── skiboot │ │ ├── Config.in │ │ └── skiboot.mk ├── patches │ ├── blackbird-patches │ │ └── hostboot │ │ │ └── 0001-Add-detailed-ISTEP-output-option-to-hostboot.patch │ └── mihawk-patches │ │ ├── hostboot │ │ └── hostboot-20200728-changed-Delay-registers-and-RD-VERF-registers-values.patch │ │ └── openpower-pnor │ │ └── 0001-Increase-BOOTKERNEL-to-24MiB.patch ├── platform │ └── Config.in ├── scripts │ ├── firmware-whitelist │ ├── fixup-target-var │ ├── op-target-dependencies │ ├── release-notes │ └── update-defconfigs.sh └── toolchain │ ├── Config.in │ └── ppe42-toolchain │ ├── Config.in │ └── ppe42-toolchain.mk └── output └── .gitignore /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | customrc 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "buildroot"] 2 | path = buildroot 3 | branch = 2022.02-op-build 4 | url = https://github.com/open-power/buildroot 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | dist: trusty 3 | 4 | cache: 5 | apt: true 6 | 7 | git: 8 | depth: false 9 | 10 | addons: 11 | apt: 12 | packages: 13 | - python-pip 14 | - libalgorithm-diff-perl 15 | - graphviz 16 | 17 | language: python 18 | python: 19 | - "2.7" 20 | install: 21 | - "pip install -r doc/requirements.txt" 22 | script: 23 | - bash openpower/scripts/update-defconfigs.sh 24 | - cd doc/; make html 25 | 26 | deploy: 27 | provider: pages 28 | skip-cleanup: true 29 | github-token: $GITHUB_TOKEN # Set in travis-ci.org dashboard, marked secure 30 | local_dir: "doc/_build/html" 31 | on: 32 | branch: master 33 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing to op-build 2 | ======================== 3 | 4 | op-build is the open source build system for OpenPOWER firmware. It assembles 5 | many individual components (only a few of which are OpenPOWER specific) into 6 | a single firmware image. op-build is implemented as a buildroot overlay. 7 | 8 | If you haven't already, join us on IRC (#openpower on Freenode) and on 9 | the mailing list ( openpower-firmware@lists.ozlabs.org - subscribe by 10 | going to https://lists.ozlabs.org/listinfo/openpower-firmware ) 11 | 12 | We use GitHub Issues and Pull Requests for tracking contributions. We 13 | expect participants to adhere to the GitHub Community Guidelines (found 14 | at https://help.github.com/articles/github-community-guidelines/ ). 15 | 16 | If you are unable or unwilling to use GitHub, we can accept contributions 17 | via the mailing list. 18 | 19 | All contributions should have a Developer Certificate of Origin (see below). 20 | 21 | Development Philosophy 22 | ---------------------- 23 | 24 | Our development philosophy is: 25 | 26 | 1. Don't re-invent the wheel 27 | 2. Upstream first 28 | 29 | As such, we don't like to carry patches in op-build, we prefer to interact 30 | with upstream projects and get patches accepted there. Where we do need 31 | to patch things locally, we prefer to carry backports from upstream, which 32 | can be removed when we move to more recent upstream. 33 | 34 | Development Environment 35 | ----------------------- 36 | 37 | For working on op-build you will need a reasonably recent Linux distribution. 38 | We aim to have all current major distros be suitable development platforms 39 | (focused on Ubuntu and Fedora, as that's what most developers currently use). 40 | 41 | A host GCC of at least 4.9 is recommended (all modern Linux distributions 42 | provide this). 43 | 44 | You can build on x86-64, ppc64 or ppc64le, op-build will build appropriate 45 | cross-compilers for you (thanks to the magic of buildroot). 46 | 47 | You will need 8-15GB of disk space to do a full build of any one configuration. 48 | 49 | Development Process 50 | ------------------- 51 | 52 | The main source repository is on GitHub. We use GitHub issues and pull requests 53 | as well as a mailing list (https://lists.ozlabs.org/listinfo/openpower-firmware). 54 | 55 | We tag a new op-build release roughly every 6 weeks. 56 | 57 | We use GitHub milestones: https://github.com/open-power/op-build/milestones 58 | 59 | Starting with the v1.15 release, active development occurs against the master 60 | branch. When we're nearing a release, we move the content of the master branch 61 | over to a 'release' branch, ensuring development can continue while the release 62 | is prepared. 63 | 64 | We accept pull requests on GitHub: https://github.com/open-power/op-build/pulls 65 | 66 | Developer Certificate of Origin 67 | ------------------------------- 68 | 69 | Contributions to this project should conform to the `Developer Certificate 70 | of Origin` as defined at http://elinux.org/Developer_Certificate_Of_Origin. 71 | Commits to this project need to contain the following line to indicate 72 | the submitter accepts the DCO: 73 | ``` 74 | Signed-off-by: Your Name 75 | ``` 76 | By contributing in this way, you agree to the terms as follows: 77 | ``` 78 | Developer Certificate of Origin 79 | Version 1.1 80 | 81 | Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 82 | 660 York Street, Suite 102, 83 | San Francisco, CA 94110 USA 84 | 85 | Everyone is permitted to copy and distribute verbatim copies of this 86 | license document, but changing it is not allowed. 87 | 88 | 89 | Developer's Certificate of Origin 1.1 90 | 91 | By making a contribution to this project, I certify that: 92 | 93 | (a) The contribution was created in whole or in part by me and I 94 | have the right to submit it under the open source license 95 | indicated in the file; or 96 | 97 | (b) The contribution is based upon previous work that, to the best 98 | of my knowledge, is covered under an appropriate open source 99 | license and I have the right under that license to submit that 100 | work with modifications, whether created in whole or in part 101 | by me, under the same open source license (unless I am 102 | permitted to submit under a different license), as indicated 103 | in the file; or 104 | 105 | (c) The contribution was provided directly to me by some other 106 | person who certified (a), (b) or (c) and I have not modified 107 | it. 108 | 109 | (d) I understand and agree that this project and the contribution 110 | are public and that a record of the contribution (including all 111 | personal information I submit with it, including my sign-off) is 112 | maintained indefinitely and may be redistributed consistent with 113 | this project or the open source license(s) involved. 114 | ``` 115 | 116 | 117 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | All files under the buildroot subdirectory are licensed under their respective 2 | terms in ./buildroot. 3 | 4 | All other files contained within are licensed under the terms of the GNU 5 | General Public License v2.0. A copy may be obtained at: 6 | http://www.gnu.org/licenses/gpl-2.0 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenPOWER Firmware Build Environment 2 | 3 | The OpenPOWER firmware build process uses Buildroot to create a toolchain and 4 | build the various components of the PNOR firmware, including Hostboot, Skiboot, 5 | OCC, Petitboot etc. 6 | 7 | ## Documentation 8 | 9 | https://open-power.github.io/op-build/ 10 | 11 | See the doc/ directory for documentation source. Contributions 12 | are *VERY* welcome! 13 | 14 | ## Development 15 | 16 | Issues, Milestones, pull requests and code hosting is on GitHub: 17 | https://github.com/open-power/op-build 18 | 19 | See [CONTRIBUTING.md](CONTRIBUTING.md) for howto contribute code. 20 | 21 | * Mailing list: openpower-firmware@lists.ozlabs.org 22 | * Info/Subscribe: https://lists.ozlabs.org/listinfo/openpower-firmware 23 | * Archives: https://lists.ozlabs.org/pipermail/openpower-firmware/ 24 | 25 | ## Building an image 26 | 27 | To build an image for a Blackbird system: 28 | 29 | ``` 30 | git clone --recursive https://github.com/open-power/op-build.git 31 | cd op-build 32 | ./op-build blackbird_defconfig && ./op-build 33 | ``` 34 | 35 | There are also default configurations for other platforms in 36 | `openpower/configs/`. Current POWER9 platforms include Witherspoon, 37 | Boston (p9dsu), Romulus, and Zaius. 38 | 39 | Buildroot/op-build supports both native and cross-compilation - it will 40 | automatically download and build an appropriate toolchain as part of the build 41 | process, so you don't need to worry about setting up a 42 | cross-compiler. Cross-compiling from a x86-64 host is officially supported. 43 | 44 | The machine your building on will need Python 2.7, GCC 8.4 (or later), and 45 | a handful of other packages (see below). 46 | 47 | ### Dependencies for *64-bit* Ubuntu/Debian systems 48 | 49 | 1. Install Ubuntu 22.04 or Debian 12 (x86_64 or ppc64le). 50 | 2. Enable Universe (Ubuntu only): 51 | 52 | sudo apt-get install software-properties-common 53 | sudo add-apt-repository universe 54 | 3. Install the packages necessary for the build: 55 | 56 | sudo apt-get install cscope universal-ctags libz-dev libexpat-dev \ 57 | python2 python-is-python3 language-pack-en texinfo gawk cpio xxd \ 58 | build-essential g++ git bison flex unzip \ 59 | libssl-dev libxml-simple-perl libxml-sax-perl libxml-parser-perl libxml2-dev libxml2-utils xsltproc \ 60 | wget bc rsync 61 | 62 | ### Dependencies for *64-bit* Fedora systems 63 | 64 | 1. Install Fedora 33 (x86_64 or ppc64le). 65 | 2. Install the packages necessary for the build: 66 | 67 | sudo dnf install gcc-c++ flex bison git ctags cscope expat-devel patch \ 68 | zlib-devel zlib-static texinfo "perl(bigint)" "perl(XML::Simple)" \ 69 | "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \ 70 | "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" "perl(ExtUtils::MakeMaker)" \ 71 | "perl(FindBin)" "perl(English)" "perl(Time::localtime)" "perl(open)" \ 72 | libxml2-devel which wget unzip tar cpio python bzip2 bc findutils ncurses-devel \ 73 | openssl-devel make libxslt vim-common lzo-devel python2 rsync hostname 74 | 75 | -------------------------------------------------------------------------------- /ci/Dockerfile/fedora33: -------------------------------------------------------------------------------- 1 | FROM fedora:33 2 | RUN dnf -y install gcc-c++ flex bison git ctags cscope expat-devel patch \ 3 | zlib-devel zlib-static texinfo "perl(bigint)" "perl(XML::Simple)" \ 4 | "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \ 5 | "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" "perl(ExtUtils::MakeMaker)" \ 6 | libxml2-devel which wget unzip tar cpio python bzip2 bc findutils ncurses-devel \ 7 | openssl-devel make libxslt vim-common lzo-devel python2 rsync hostname 8 | RUN dnf -y install nosync redhat-lsb-core python-matplotlib python-numpy graphviz 9 | -------------------------------------------------------------------------------- /ci/Dockerfile/fedora33.ppc64le: -------------------------------------------------------------------------------- 1 | fedora33 -------------------------------------------------------------------------------- /ci/Dockerfile/fedora33.x86_64: -------------------------------------------------------------------------------- 1 | fedora33 -------------------------------------------------------------------------------- /ci/Dockerfile/ubuntu2004: -------------------------------------------------------------------------------- 1 | FROM ubuntu:20.04 2 | # Don't ask. Ubuntu is awful. 3 | RUN sed -e 's/main$/main universe/' --in-place=orig /etc/apt/sources.list 4 | RUN DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yy cscope ctags libz-dev libexpat-dev \ 5 | python-is-python3 language-pack-en texinfo gawk cpio xxd \ 6 | build-essential g++ git bison flex unzip \ 7 | libssl-dev libxml-simple-perl libxml-sax-perl libxml-parser-perl libxml2-dev libxml2-utils xsltproc \ 8 | wget bc rsync 9 | RUN DEBIAN_FRONTEND=noninteractive apt-get -y install eatmydata python3-matplotlib \ 10 | python3-scipy graphviz bsdmainutils lsb-release 11 | -------------------------------------------------------------------------------- /ci/Dockerfile/ubuntu2004.ppc64le: -------------------------------------------------------------------------------- 1 | ubuntu2004 -------------------------------------------------------------------------------- /ci/Dockerfile/ubuntu2004.x86_64: -------------------------------------------------------------------------------- 1 | ubuntu2004 -------------------------------------------------------------------------------- /ci/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | set -eo pipefail 5 | 6 | CONTAINERS="ubuntu2004 fedora32" 7 | SDK_ONLY=0 8 | 9 | opt=$(getopt -o 's:Sab:p:c:hr' -- "$@") 10 | if [ $? -ne 0 ] ; then 11 | echo "Invalid arguments" 12 | exit 1 13 | fi 14 | 15 | eval set -- "$opt" 16 | unset opt 17 | 18 | while true; do 19 | case "$1" in 20 | '-s') 21 | shift 22 | echo "SDK Cache dir: $1" 23 | SDK_CACHE="$1" 24 | ;; 25 | '-S') 26 | echo "Build SDK Only" 27 | SDK_ONLY=1 28 | ;; 29 | '-a') 30 | echo "Build firmware images for all the platforms" 31 | PLATFORMS="" 32 | ;; 33 | '-b') 34 | shift 35 | echo "Directory to bind to container: $1" 36 | BIND="$1" 37 | ;; 38 | '-p') 39 | shift 40 | echo "Build firmware images for the platforms: $1" 41 | PLATFORMS="$1" 42 | ;; 43 | '-c') 44 | shift 45 | echo "Build in container: $1" 46 | CONTAINERS="$1" 47 | ;; 48 | '-h') 49 | echo "Usage: ./ci/build.sh [options]" 50 | echo "-h Print this help and exit successfully." 51 | echo "-a Build firmware images for all the platform defconfig's." 52 | echo "-b DIR Bind DIR to container." 53 | echo "-p List of comma separated platform names to build images for particular platforms." 54 | echo "-s DIR SDK cache dir (must exist)." 55 | echo "-S Build SDK only" 56 | echo "-c Container to run in" 57 | echo "" 58 | echo "Note: set environment variables HTTP_PROXY and HTTPS_PROXY if a proxy is required." 59 | echo "" 60 | echo "Example:DOCKER_PREFIX=sudo ./ci/build.sh -a" 61 | echo -e "\tDOCKER_PREFIX=sudo ./ci/build.sh -p firestone" 62 | echo -e "\tDOCKER_PREFIX=sudo ./ci/build.sh -p garrison,palmetto,opal" 63 | exit 1 64 | ;; 65 | '-r') 66 | echo "Build for release" 67 | release_args="-r" 68 | ;; 69 | '--') 70 | shift 71 | break 72 | ;; 73 | *) 74 | echo "Internal Error!" 75 | exit 1 76 | ;; 77 | esac 78 | shift 79 | done 80 | 81 | 82 | if [ ! -d "$SDK_CACHE" ]; then 83 | echo "Error: SDK Cache dir doesn't exist: $SDK_CACHE" 84 | exit 1 85 | fi 86 | 87 | function run_docker 88 | { 89 | if [ -n "$BIND" ]; then 90 | BINDARG="--mount=type=bind,src=${BIND},dst=${BIND}" 91 | else 92 | BINDARG="--mount=type=bind,src=${PWD},dst=${PWD}" 93 | fi 94 | $DOCKER_PREFIX docker run --init --cap-add=sys_admin --net=host --rm=true \ 95 | --user="${USER}" -w "${PWD}" "${BINDARG}" \ 96 | -t $1 $2 97 | } 98 | 99 | 100 | env 101 | 102 | for distro in $CONTAINERS; 103 | do 104 | base_dockerfile=ci/Dockerfile/$distro.`uname -m` 105 | if [ ! -f $base_dockerfile ]; then 106 | echo "$distro not supported on $(uname -m)."; 107 | continue 108 | fi 109 | if [[ -n "$HTTP_PROXY" ]]; then 110 | http_proxy=$HTTP_PROXY 111 | HTTP_PROXY_ENV="ENV http_proxy $HTTP_PROXY" 112 | fi 113 | if [[ -n "$HTTPS_PROXY" ]]; then 114 | https_proxy=$HTTPS_PROXY 115 | HTTPS_PROXY_ENV="ENV https_proxy $HTTPS_PROXY" 116 | fi 117 | if [[ -n "$http_proxy" ]]; then 118 | if [[ "$distro" == fedora30 ]]; then 119 | PROXY="RUN echo \"proxy=${http_proxy}\" >> /etc/dnf/dnf.conf" 120 | fi 121 | if [[ "$distro" == ubuntu1804 ]]; then 122 | PROXY="RUN echo \"Acquire::http::Proxy \\"\"${http_proxy}/\\"\";\" > /etc/apt/apt.conf.d/000apt-cacher-ng-proxy" 123 | fi 124 | fi 125 | if [ ! -z ${DL_DIR+x} ]; then 126 | DL_DIR_ENV="ENV DL_DIR $DL_DIR" 127 | fi 128 | if [ ! -z ${CCACHE_DIR+x} ]; then 129 | CCACHE_DIR_ENV="ENV CCACHE_DIR $CCACHE_DIR" 130 | fi 131 | 132 | Dockerfile=$(head -n1 $base_dockerfile; echo ${PROXY}; tail -n +2 $base_dockerfile; cat << EOF 133 | ${PROXY} 134 | RUN useradd -d ${HOME} -m -u ${UID} ${USER} 135 | ENV HOME ${HOME} 136 | ${HTTP_PROXY_ENV} 137 | ${HTTPS_PROXY_ENV} 138 | ${DL_DIR_ENV} 139 | ${CCACHE_DIR_ENV} 140 | EOF 141 | ) 142 | $DOCKER_PREFIX docker build --network=host -t openpower/op-build-$distro - <<< "${Dockerfile}" 143 | 144 | if [ -n "$PLATFORMS" ]; then 145 | platform_args="-p $PLATFORMS" 146 | else 147 | platform_args="" 148 | fi 149 | 150 | if [ $SDK_ONLY -ne 0 ]; then 151 | sdk_args="-S" 152 | else 153 | sdk_args="" 154 | fi 155 | 156 | run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh -o `pwd`/output-$distro ${platform_args} ${release_args} ${sdk_args} -s $SDK_CACHE" 157 | 158 | if [ $? -ne 0 ]; then 159 | exit $?; 160 | fi 161 | done; 162 | 163 | -------------------------------------------------------------------------------- /dl/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = OpenPOWERFirmware 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /doc/index.rst: -------------------------------------------------------------------------------- 1 | .. OpenPOWER Firmware documentation master file, created by 2 | sphinx-quickstart on Thu Oct 12 14:38:45 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to OpenPOWER Firmware's documentation! 7 | ============================================== 8 | 9 | This documentation is for the ``op-build`` project, which is a buildroot 10 | overlay designed to build a full firmware image for OpenPOWER Systems. 11 | Individual firmware components will have their own documentation, which 12 | we link to where needed, but this document is focused on specifics to 13 | do with building the full firmware image. 14 | 15 | .. toctree:: 16 | :maxdepth: 2 17 | :caption: Contents: 18 | 19 | introduction 20 | testing 21 | process/index 22 | boot-devices 23 | versioning 24 | release-notes/index 25 | 26 | Indices and tables 27 | ================== 28 | 29 | * :ref:`genindex` 30 | * :ref:`modindex` 31 | * :ref:`search` 32 | -------------------------------------------------------------------------------- /doc/introduction.rst: -------------------------------------------------------------------------------- 1 | Introduction to OpenPOWER Firmware 2 | ================================== 3 | 4 | The ``op-build`` project constructs a host firmware image for OpenPOWER 5 | machines. 6 | 7 | Firmware Components 8 | ------------------- 9 | 10 | Buildroot_ 11 | We use http://buildroot.net/ as the build system for assembling a firmware 12 | image. `op-build` is a "Buildroot overlay". We build a kernel and initramfs 13 | using buildroot to run the Petitboot boot loader in. We maintain a branch 14 | with a minimum number of patches on top of upstream buildroot. 15 | op-build_ 16 | A buildroot overlay that assembles OpenPOWER Firmware images. 17 | SBE_ 18 | the Self Boot Engine is the first unit inside the POWER processor to start 19 | executing. It's job is to set up a core and load Hostboot. 20 | Hostboot_ 21 | Low level system boot firmware. It brings up CPU cores, the OCC, Memory 22 | and hands control over to OPAL (skiboot) 23 | OCC_ 24 | The On Chip Controller is responsible for thermal limits and frequency 25 | management. 26 | OPAL 27 | The OpenPOWER Abstraction Layer, provided by skiboot 28 | skiboot_ 29 | skiboot implements OPAL (the OpenPOWER Abstraction Layer). Skiboot is 30 | boot and runtime firmware and is responsible for bringing up PCI and 31 | providing runtime abstractions to the running OS. 32 | Linux_ 33 | Once skiboot has finished setting up the machine, it hands control over 34 | to a Linux kernel. This kernel provides device drivers and userspace to 35 | run the bootloader, Petitboot. We maintain our own branch with a minimal 36 | number of patches on top of the latest upstream stable release. 37 | Petitboot_ 38 | The bootloader. It is a normal user-space process running on Linux that 39 | searches the system for disks and network devices that it can boot the 40 | OS from. 41 | HCODE_ 42 | Firmware for the power management PPE. Implements heavy lifting for deeper 43 | STOP states. 44 | 45 | .. _Buildroot: https://github.com/open-power/buildroot 46 | .. _op-build: https://github.com/open-power/op-build 47 | .. _SBE: https://github.com/open-power/sbe 48 | .. _OCC: https://github.com/open-power/occ 49 | .. _Hostboot: https://github.com/open-power/hostboot 50 | .. _skiboot: https://open-power.github.io/skiboot/ 51 | .. _Linux: https://github.com/open-power/linux 52 | .. _Petitboot: https://github.com/open-power/petitboot/ 53 | .. _HCODE: https://github.com/open-power/hcode 54 | 55 | Introductory Videos 56 | ------------------- 57 | 58 | There are a number of good recorded presentations from various conferences 59 | around the world that have overviews and deep dives into various parts of 60 | the firmware stack. 61 | 62 | Here, we present technical presentations that may be useful in learning 63 | about topics relevant to OpenPOWER firmware development. 64 | 65 | For broader OpenPOWER topics, check out the following channels: 66 | 67 | - `OpenPOWER Foundation` `_ 68 | 69 | Introductory 70 | ^^^^^^^^^^^^ 71 | 72 | .. youtube:: https://www.youtube.com/watch?v=a4XGvssR-ag 73 | .. youtube:: https://www.youtube.com/watch?v=hcLhKjxa-40 74 | 75 | Secure Boot 76 | ^^^^^^^^^^^ 77 | 78 | .. youtube:: https://www.youtube.com/watch?v=hwB1bkXQep4 79 | 80 | Interfaces and standards 81 | ^^^^^^^^^^^^^^^^^^^^^^^^ 82 | 83 | .. youtube:: https://www.youtube.com/watch?v=2TroT3ORw0s 84 | 85 | OpenCAPI 86 | ^^^^^^^^ 87 | 88 | .. youtube:: https://www.youtube.com/watch?v=h3pLBDCqY-I 89 | 90 | .. youtube:: https://www.youtube.com/watch?v=K4dhx0ctjkQ 91 | 92 | XIVE Interrupt Controller 93 | ^^^^^^^^^^^^^^^^^^^^^^^^^ 94 | 95 | .. youtube:: https://www.youtube.com/watch?v=s88beMQWkks 96 | 97 | Petitboot 98 | ^^^^^^^^^ 99 | 100 | .. youtube:: https://www.youtube.com/watch?v=4JbDb4bRBK4 101 | .. youtube:: https://www.youtube.com/watch?v=oxmMJMibZQ8 102 | 103 | Booting Faster 104 | ^^^^^^^^^^^^^^ 105 | 106 | .. youtube:: https://www.youtube.com/watch?v=fTLsS_QZ8us 107 | 108 | Testing 109 | ^^^^^^^ 110 | 111 | .. youtube:: https://www.youtube.com/watch?v=znEM2xqJhBU 112 | 113 | Bringup and customisation 114 | ^^^^^^^^^^^^^^^^^^^^^^^^^ 115 | 116 | .. youtube:: https://www.youtube.com/watch?v=v73Nw7NDxYI 117 | 118 | .. youtube:: https://www.youtube.com/watch?v=dBEBQQYP_eI 119 | -------------------------------------------------------------------------------- /doc/process/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ../../CONTRIBUTING.md -------------------------------------------------------------------------------- /doc/process/KernelTree.rst: -------------------------------------------------------------------------------- 1 | op-build Linux Kernel 2 | ===================== 3 | 4 | The skiroot/Petitboot kernel is currently based on the 5.3 series. 5 | 6 | Submitting a patch 7 | ------------------ 8 | 9 | If you require a patch added to the firmware, follow these steps: 10 | 11 | 1. Submit your patch upstream. It doesn’t need to be upstream, but it 12 | should be on it’s way 13 | 2. Send a pull request or a ``git format-patch`` formatted patch series 14 | to openpower-firmware@lists.ozlabs.org, and cc joel@jms.id.au. Be 15 | sure to use ``--suppress-cc=sob`` when generating the patches so we 16 | don’t spam the community. The current tree is based on 5.1-stable 17 | (although we will always move to the latest stable kernel ASAP). 18 | 19 | Bug fixes 20 | --------- 21 | 22 | Whenever a stable release is tagged in 23 | https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/, 24 | we will rebase our patches on top of that and create a new release. 25 | 26 | If you are submitting patches upstream that you want to be included, 27 | then ensure you cc stable as per the 28 | `rules `__. 29 | 30 | Versioning 31 | ---------- 32 | 33 | Versions are the upstream version number, followed by ``-openpowerN``, 34 | where N is the revision that counts up from 1 for the given upstream 35 | version number. These versions will be present as tags in the git 36 | repository hosted at https://github.com/open-power/linux. 37 | 38 | We aim to follow "the latest upstream release". 39 | 40 | For op-build stable trees, we follow the latest stable release of the 41 | kernel that particular op-build release was made with. Since op-build 42 | stable releases may outlast how long an upstream kernel is maintain for, 43 | we will move up the kernel version we use until the next LTS kernel. 44 | Once on an LTS kernel, an op-build stable release will stick with that 45 | version. 46 | 47 | Tree and patches 48 | ---------------- 49 | 50 | The kernel tree hosted at https://github.com/open-power/linux contains 51 | the current release plus a set of patches that we carry. Ideally there 52 | would be no patches carried, as everything should be upstream. 53 | 54 | We take the commits in this tree between the upstream tag and the 55 | openpower tag and generate a series of patches that are imported into 56 | the op-build Buildroot overlay, and placed in 57 | `op-build/openpower/linux `_. 58 | op-build then fetches the upstream tarball and applies these patches. 59 | This way we don’t have to clone an entire tree when doing an op-build 60 | build. 61 | 62 | All patches are to head upstream *first*. There is a zero chance that 63 | op-build will carry kernel patches for any time greater than "until the 64 | next kernel release", and even then, only in *exceptional* circumstances. 65 | 66 | Patches in the tree 67 | ------------------- 68 | 69 | - xhci: Reset controller on xhci shutdown 70 | -------------------------------------------------------------------------------- /doc/process/building-with-ci.rst: -------------------------------------------------------------------------------- 1 | Building with ci scripts 2 | ======================== 3 | 4 | op-build has several build scripts in the ci/ directory aimed at being used to 5 | help continuous integration environments, as well as specifying build 6 | dependencies as code. 7 | 8 | These use Docker containers for the build environment. 9 | 10 | It is recommended you use (or send patches so that you can use them) these over 11 | rolling your own scripts. 12 | -------------------------------------------------------------------------------- /doc/process/index.rst: -------------------------------------------------------------------------------- 1 | Development Process 2 | =================== 3 | 4 | .. toctree:: 5 | 6 | CONTRIBUTING.md 7 | KernelTree.rst 8 | building-with-ci 9 | stable-rules.rst 10 | -------------------------------------------------------------------------------- /doc/process/stable-rules.rst: -------------------------------------------------------------------------------- 1 | .. _stable-rules: 2 | 3 | ======================================= 4 | op-build stable tree rules and releases 5 | ======================================= 6 | 7 | Our stable tree process follows processes similar to other open source projects 8 | such as the Linux Kernel and Buildroot, as do several OpenPOWER Firmware 9 | components such as Skiboot and Petitboot. 10 | 11 | The purpose of a -stable tree is to give vendors a stable base to create 12 | firmware releases from and to incorporate into service packs. New stable 13 | releases contain critical fixes only. 14 | 15 | As a general rule, only the most recent op-build release gets a maintained 16 | -stable tree. If you wish to maintain an older tree, speak up! For example, 17 | with my IBMer hat on, we'll maintain branches that we ship in products. 18 | 19 | What patches are accepted? 20 | -------------------------- 21 | 22 | * Patches must be obviously correct and tested 23 | 24 | * A Tested-by signoff is *important* 25 | * A patch must fix a real bug 26 | * No trivial patches, such fixups belong in main branch 27 | * Not fix a purely theoretical problem unless you can prove how 28 | it's exploitable 29 | * The patch, or an equivalent one, must already be in master 30 | 31 | * Submitting to both at the same time is okay, but back-porting is better 32 | 33 | HOWTO submit to stable 34 | ---------------------- 35 | 36 | 1. Make a pull request with "[stable op-build-N.N.y]" in subject (where N.N.y 37 | is the stable branch to which you are targeting) 38 | 39 | * This targets the patch *ONLY* to the stable branch. 40 | 41 | * Such commits will *NOT* be merged into master. 42 | * Use this when: 43 | 44 | a. cherry-picking a fix from master 45 | b. fixing something that is only broken in stable 46 | c. fix in stable needs to be completely different than in master 47 | 48 | If b or c: explain why. 49 | * If cherry-picking, include the following at the top of your 50 | commit message (or use the -x option to git-cherry-pick): :: 51 | 52 | commit upstream. 53 | * If the patch has been modified, explain why in description. 54 | 55 | 2. Add a comment on the PR indicating that a PR should also go to a stable 56 | branch when making a Pull request to master 57 | 58 | * This targets the patch to master and stable. 59 | * You can target a patch to a specific stable tree by putting that in the 60 | comment 61 | * You can ask for prerequisites to be cherry-picked. 62 | 63 | Trees 64 | ----- 65 | 66 | * https://github.com/open-power/op-build/ (or via ssh at ``git@github.com:open-power/op-build.git`` ) 67 | 68 | * (branches are op-build-X.Y.y - e.g. op-build-2.0.y) 69 | 70 | * Some stable versions may last longer than others 71 | 72 | * So there may be op-build-2.0.y and op-build-2.4.y actively maintained 73 | and op-build-2.0.y could possibly outlast op-build-2.4.y. 74 | -------------------------------------------------------------------------------- /doc/release-notes/index.rst: -------------------------------------------------------------------------------- 1 | .. _release-notes: 2 | 3 | op-build Release Notes 4 | ====================== 5 | 6 | v1.21 7 | ----- 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | v1.21-rc1 13 | v1.21-rc2 14 | v1.21 15 | v1.21.1 16 | v1.21.2 17 | 18 | v1.22 19 | ----- 20 | 21 | .. toctree:: 22 | :maxdepth: 1 23 | 24 | v1.22-rc1 25 | v1.22 26 | 27 | v2.0 28 | ---- 29 | 30 | .. toctree:: 31 | :maxdepth: 1 32 | 33 | v2.0-rc1 34 | v2.0 35 | v2.0.1 36 | v2.0.2 37 | v2.0.3 38 | v2.0.4 39 | v2.0.5 40 | v2.0.6 41 | v2.0.7 42 | v2.0.8 43 | v2.0.9 44 | v2.0.10 45 | v2.0.11 46 | v2.0.12 47 | v2.0.13 48 | v2.0.14 49 | v2.0.15 50 | v2.0.16 51 | 52 | v2.1 53 | ---- 54 | 55 | .. toctree:: 56 | :maxdepth: 1 57 | 58 | v2.1-rc1 59 | v2.1 60 | 61 | v2.2 62 | ---- 63 | 64 | .. toctree:: 65 | :maxdepth: 1 66 | 67 | v2.2-rc1 68 | v2.2-rc2 69 | v2.2 70 | 71 | v2.3 72 | ---- 73 | 74 | .. toctree:: 75 | :maxdepth: 1 76 | 77 | v2.3-rc1 78 | v2.3-rc2 79 | v2.3 80 | v2.3.1 81 | 82 | v2.4 83 | ---- 84 | 85 | .. toctree:: 86 | :maxdepth: 1 87 | 88 | v2.4-rc1 89 | v2.4 90 | 91 | v2.5 92 | ---- 93 | 94 | .. toctree:: 95 | :maxdepth: 1 96 | 97 | v2.5-rc1 98 | v2.5 99 | 100 | v2.6 101 | ---- 102 | 103 | .. toctree:: 104 | :maxdepth: 1 105 | 106 | v2.6 107 | -------------------------------------------------------------------------------- /doc/release-notes/v1.21.1.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v1.21.1 2 | ============================================ 3 | 4 | This is a point release on top of op-build v1.21. 5 | 6 | Like v1.21, this release is NOT intended for GA POWER9 platforms, for that, 7 | op-build v2.0 is *required*. 8 | 9 | Changes since v1.21: 10 | 11 | - skiboot v5.10.1 12 | 13 | - libflash/blocklevel: Correct miscalculation in blocklevel_smart_erase() 14 | - NPU2 HMIs: dump out a *LOT* of npu2 registers for debugging 15 | - linux 4.14.22-openpower1 16 | 17 | - 40be210c830e powerpc: Fix DABR match on hash based systems 18 | - 3b09911d3beb powerpc/xive: Use hw CPU ids when configuring the CPU queues 19 | - 892674b5058a powerpc/mm: Flush radix process translations when setting MMU type 20 | - 4386f223b418 powerpc/numa: Invalidate numa_cpu_lookup_table on cpu remove 21 | - 5b98d31481f9 powerpc/radix: Remove trace_tlbie call from radix__flush_tlb_all 22 | - c3bdd547042f rtc-opal: Fix handling of firmware error codes, prevent busy loops 23 | - 8e56a935a4b7 cpufreq: powernv: Dont assume distinct pstate values for nominal and pmin 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/release-notes/v1.21.2.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v1.21.2 2 | ============================================ 3 | 4 | This is a point release on top of op-build v1.21. 5 | 6 | Like v1.21, this release is NOT intended for GA POWER9 platforms, for that, 7 | op-build v2.0 is *required*. 8 | 9 | Changes since v1.21.1: 10 | 11 | - skiboot 5.10.2 12 | 13 | - Tie tm-suspend fw-feature and opal_reinit_cpus() together 14 | 15 | - kernel: Move to Linux 4.14.24-openpower1 16 | -------------------------------------------------------------------------------- /doc/release-notes/v2.0.1.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v2.0.1 2 | =========================================== 3 | 4 | Updated Packages 5 | ---------------- 6 | 7 | +------+------------+------------+------------------------------------------------+ 8 | | Pack | Old | New | Platforms | 9 | | age | Version | Version | | 10 | +======+============+============+================================================+ 11 | | hcod | hw051018a. | hw051718a. | p9dsu, romulus, witherspoon, zaius | 12 | | e | op920 | op920 | | 13 | +------+------------+------------+------------------------------------------------+ 14 | | host | 8e05a4399b | a4eb7f02f9 | p9dsu, romulus, witherspoon, zaius | 15 | | boot | f567a49f91 | 9742a24596 | | 16 | | | cfee8ad24b | 474467e0dd | | 17 | | | 3896e96982 | 51c21cd932 | | 18 | +------+------------+------------+------------------------------------------------+ 19 | | host | 20119f0868 | hw051718a. | barreleye, firestone, garrison, habanero, | 20 | | boot | 7783a87862 | op920 | p9dsu, palmetto, romulus, vesnin, witherspoon, | 21 | | -bin | cee268df12 | | zaius | 22 | | arie | 60f914c01e | | | 23 | | s | | | | 24 | +------+------------+------------+------------------------------------------------+ 25 | | skib | v6.0.1 | v6.0.2 | barreleye, firenze, firestone, garrison, | 26 | | oot | | | habanero, openpower\_mambo, | 27 | | | | | openpower\_p9\_mambo, p9dsu, p9dsu\_dev, | 28 | | | | | palmetto, pseries, romulus, vesnin, | 29 | | | | | witherspoon, witherspoon\_dev, zaius, zz | 30 | +------+------------+------------+------------------------------------------------+ 31 | 32 | Package: hostboot 33 | ----------------- 34 | 35 | `Repository `__ 36 | 37 | Patches 38 | ~~~~~~~ 39 | 40 | - `0007-Disable-warnings-that-crop-up-a-lot-with-GCC6.patch `__ 41 | - `hostboot-0002-Revert-Mark-Read-Only-Partitions-as-Such.patch `__ 42 | - `hostboot-1020-Revert-jgr17071200-Removed-pdwn-settings.patch `__ 43 | 44 | Commits 45 | ~~~~~~~ 46 | 47 | Andres Lugo-Reyes (1): 48 | 49 | - `a4eb7f02f997 `__ 50 | Fix off-by-one error when counting WOF reset counts 51 | 52 | Package: skiboot 53 | ---------------- 54 | 55 | `Repository `__ 56 | 57 | Patches 58 | ~~~~~~~ 59 | 60 | Commits 61 | ~~~~~~~ 62 | 63 | Michael Neuling (1): 64 | 65 | - `b179d8ff62a8 `__ 66 | cpu: Clear PCR SPR in opal\_reinit\_cpus() 67 | 68 | Stewart Smith (1): 69 | 70 | - `e05b3fb62d44 `__ 71 | skiboot 6.0.2 release notes 72 | -------------------------------------------------------------------------------- /doc/release-notes/v2.0.2.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v2.0.2 2 | =========================================== 3 | 4 | op-build v2.0.2 was released on Thursday May 24th, 2018 and replaces 5 | op-build v2.0.1 as the current stable release in the 2.0.x series. 6 | 7 | It is recommended that v2.0.2 be used over any previous v2.0.x version 8 | due to the bug fixes contained within. 9 | 10 | This release includes a skiboot version bump, where bugs are fixed 11 | related to i2c and TPMs. 12 | 13 | Updated Packages 14 | ---------------- 15 | 16 | +---------+-------------+-------------+------------------------------------------------------------------+ 17 | | Package | Old Version | New Version | Platforms | 18 | +=========+=============+=============+==================================================================+ 19 | | skiboot | v6.0.2 | v6.0.3 | barreleye, firenze, firestone, garrison, habanero, | 20 | | | | | openpower\_mambo, openpower\_p9\_mambo, p9dsu, p9dsu\_dev, | 21 | | | | | palmetto, pseries, romulus, vesnin, witherspoon, | 22 | | | | | witherspoon\_dev, zaius, zz | 23 | +---------+-------------+-------------+------------------------------------------------------------------+ 24 | 25 | Package: skiboot 26 | ---------------- 27 | 28 | `Repository `__ 29 | 30 | Patches 31 | ~~~~~~~ 32 | 33 | Commits 34 | ~~~~~~~ 35 | 36 | Oliver O'Halloran (4): 37 | 38 | - `e22f7e46dfa3 `__ 39 | p8-i2c: Allow a per-port default timeout 40 | - `ed21a758a43a `__ 41 | hdata: Add TPM timeout workaround 42 | - `652c0dd64313 `__ 43 | libstb/i2c-driver: Bump max timeout 44 | - `d523a210dfbf `__ 45 | p8-i2c: Remove force reset 46 | 47 | Stewart Smith (1): 48 | 49 | - `8cdc58924f8d `__ 50 | skiboot 6.0.3 release notes 51 | -------------------------------------------------------------------------------- /doc/release-notes/v2.0.5.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v2.0.5 2 | =========================================== 3 | 4 | op-build v2.0.5 was released on Thursday July 19th, 2018 and replaces op-build v2.0.4 as the current stable release in the 2.0.x series. 5 | 6 | It is recommended that v2.0.4 be used over any previous v2.0.x version due to the bug fixes contained within. 7 | 8 | Updated Packages 9 | ---------------- 10 | 11 | +---------------------+---------------------+---------------------+----------------------------------------------------+ 12 | | Package | Old Version | New Version | Platforms | 13 | +=====================+=====================+=====================+====================================================+ 14 | | skiboot | v6.0.5 | v6.0.6 | openpower_mambo, firestone, firenze, garrison, | 15 | | | | | zaius, p9dsu, palmetto, pseries, vesnin, | 16 | | | | | witherspoon, habanero, openpower_p9_mambo, zz, | 17 | | | | | barreleye, romulus | 18 | +---------------------+---------------------+---------------------+----------------------------------------------------+ 19 | 20 | Skiboot changes 21 | --------------- 22 | 23 | - phb4/CAPI: Reallocate PEC2 DMA-Read engines to improve GPU-Direct bandwidth 24 | 25 | We reallocate additional 16/8 DMA-Read engines allocated to stack0/1 26 | on PEC2 respectively. This is needed to improve bandwidth available to 27 | the Mellanox CX5 adapter when trying to read GPU memory (GPU-Direct). 28 | 29 | If kernel cxl driver indicates a request to allocate maximum possible 30 | DMA read engines when calling enable_capi_mode() and card is attached 31 | to PEC2/stack0 slot then we assume its a Mellanox CX5 adapter. We then 32 | allocate additional 16/8 extra DMA read engines to stack0 and stack1 33 | respectively on PEC2. This is done by populating the 34 | XPEC_PCI_PRDSTKOVR and XPEC_NEST_READ_STACK_OVERRIDE as suggested by 35 | the h/w team. 36 | - phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled 37 | 38 | By default when a PCIe device issues a read request via the PHB it is first 39 | issued with nodal scope. When accessing GPU memory the NPU does not know at the 40 | time of response if the requested memory page is off node or not. Therefore 41 | every read of GPU memory by a PHB is retried with larger scope which introduces 42 | bandwidth and latency issues. 43 | 44 | On smaller boxes which have pump mode enabled nodal and group scoped reads are 45 | treated the same and both types of request are broadcast to one chip. Therefore 46 | we can avoid the retry by disabling nodal scope on the PHB for these boxes. On 47 | larger boxes nodal (single chip) and group (multiple chip) scoped reads are 48 | treated differently. Therefore we avoid disabling nodal scope on large boxes 49 | which have pump mode disabled to avoid all PHB requests being broadcast to 50 | multiple chips. 51 | - npu2/hw-procedures: Enable parity and credit overflow checks 52 | 53 | Enable these error checking features by setting the appropriate bits in 54 | our one-off initialization of each "NTL Misc Config 2" register. 55 | 56 | The exception is NDL RX parity checking, which should be disabled during 57 | the link training procedures. 58 | -------------------------------------------------------------------------------- /doc/release-notes/v2.0.7.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v2.0.7 2 | =========================================== 3 | 4 | op-build v2.0.6 was released on Friday August 3rd, 2018 and replaces op-build v2.0.6 as the current stable release in 5 | the 2.0.x series. 6 | 7 | It is recommended that v2.0.7 be used over any previous v2.0.x version on POWER9 systems due to the bug fixes contained within. 8 | 9 | The only update in this release is to skiboot v6.0.7 to work around a hardware errata in the interrupt controller on POWER9. 10 | 11 | The bug fix is: 12 | 13 | - xive: Disable block tracker 14 | 15 | Due to some HW errata, the block tracking facility (performance 16 | optimisation for large systems) should be disabled on Nimbus chips. 17 | Disable it unconditionally for now. 18 | -------------------------------------------------------------------------------- /doc/release-notes/v2.0.8.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v2.0.8 2 | =========================================== 3 | 4 | op-build v2.0.8 was released on Monday August 6th, 2018 and replaces op-build v2.0.7 as the current stable release in 5 | the 2.0.x series. 6 | 7 | It is recommended that v2.0.8 be used over any previous v2.0.x version on POWER9 systems due to the bug fixes contained 8 | within. 9 | 10 | Updated Packages 11 | ---------------- 12 | 13 | +--------------------+-------------------------+------------------------------+----------------------------------------+ 14 | | Package | Old Version | New Version | Platforms | 15 | +====================+=========================+==============================+========================================+ 16 | | hcode | hw072318a.op920 | hw080418a.op920 | zaius, p9dsu, witherspoon, romulus | 17 | +--------------------+-------------------------+------------------------------+----------------------------------------+ 18 | | hostboot | 58b3d491a4354 | d0332131ea0c0 | zaius, p9dsu, witherspoon, romulus | 19 | +--------------------+-------------------------+------------------------------+----------------------------------------+ 20 | | hostboot-binaries | hw072318a.op920 | hw080418a.op920 | firestone, garrison, zaius, p9dsu, | 21 | | | | | palmetto, vesnin, witherspoon, | 22 | | | | | habanero, barreleye, romulus | 23 | +--------------------+-------------------------+------------------------------+----------------------------------------+ 24 | 25 | Package: hcode 26 | -------------- 27 | 28 | `Repository `__ 29 | 30 | Patches 31 | ~~~~~~~ 32 | 33 | Commits 34 | ~~~~~~~ 35 | 36 | Yue Du (1): 37 | 38 | - `fa7d3943af91 `__ STOP: Fix incorrect solution in 61385 39 | 40 | hostboot (3): 41 | 42 | - `7903b32b3d7e `__ Release tag information updated for 43 | hw080118a.op920 44 | - `b7536dec8c2a `__ Release tag information updated for 45 | hw080318a.op920 46 | - `9b0cff5c99d7 `__ Release tag information updated for 47 | hw080418a.op920 48 | 49 | Package: hostboot 50 | ----------------- 51 | 52 | `Repository `__ 53 | 54 | .. _v2.0.8-patches-1: 55 | 56 | Patches 57 | ~~~~~~~ 58 | 59 | .. _v2.0.8-commits-1: 60 | 61 | Commits 62 | ~~~~~~~ 63 | 64 | Andres Lugo-Reyes (1): 65 | 66 | - `52d75b98b6b4 `__ HTMGT: WOF Reset Disable Flag 67 | 68 | Greg Still (1): 69 | 70 | - `716483393aec `__ PM: Move PBAFIR checkstops to 71 | recoverable attentions 72 | 73 | Nick Bofferding (1): 74 | 75 | - `af6f77c1aab7 `__ i2c: Don’t wait for SDA to go high 76 | before sending slave stop command 77 | 78 | Nick Klazynski (1): 79 | 80 | - `efb7cc5f4a17 `__ Clockgate disable workaround for 81 | HW452921 82 | 83 | Prem Shanker Jha (1): 84 | 85 | - `c5efa55e3247 `__ STOP_Recovery: Added hwp changes to 86 | support error log parser. 87 | 88 | Raja Das (1): 89 | 90 | - `5de34dd6c24d `__ Inverted logic of hasClock bit in Clock 91 | Status register 92 | 93 | Rick Ward (1): 94 | 95 | - `25d11acf0292 `__ Host went to kernel panic after 96 | gard’ing PEC0/PHB0 (PCIFIR CS) 97 | 98 | Yue Du (1): 99 | 100 | - `a83a93a35943 `__ PM: Prevent Core-L2 Quiesce from 101 | removing PM_EXIT upon SPWU 102 | 103 | Zane Shelley (2): 104 | 105 | - `14ae5a21b925 `__ PRD: Disable reading/writing lane 106 | repair VPD 107 | - `bd04abf36c3f `__ PRD: change threshold for L3FIR[28] LRU 108 | parity error 109 | 110 | nagurram-in (1): 111 | 112 | - `d0332131ea0c `__ attribute ECID value updation in hdat 113 | pcrd structure 114 | -------------------------------------------------------------------------------- /doc/release-notes/v2.0.9.rst: -------------------------------------------------------------------------------- 1 | Release Notes for OpenPower Firmware v2.0.9 2 | =========================================== 3 | 4 | op-build v2.0.9 was released on Thursday August 16th, 2018 and replaces op-build v2.0.8 as the current stable release in 5 | the 2.0.x series. 6 | 7 | It is recommended that v2.0.9 be used over any previous v2.0.x version on POWER9 systems due to the bug fixes contained within. 8 | 9 | The only update in this release is to skiboot. Skiboot v6.0.8 includes the following bug fixes: 10 | 11 | - i2c: Ensure ordering between i2c_request_send() and completion 12 | 13 | i2c_request_send loops waiting for a flag "uc.done" set by 14 | the completion routine, and then look for a result code 15 | also set by that same completion. 16 | 17 | There is no synchronization, the completion can happen on another 18 | processor, so we need to order the stores to uc and the reads 19 | from uc so that uc.done is stored last and tested first using 20 | memory barriers. 21 | - i2c: Fix multiple-enqueue of the same request on NACK 22 | 23 | i2c_request_send() will retry the request if the error is a NAK, 24 | however it forgets to clear the "ud.done" flag. It will thus 25 | loop again and try to re-enqueue the same request causing internal 26 | request list corruption. 27 | - phb4: Disable 32-bit MSI in capi mode 28 | 29 | If a capi device does a DMA write targeting an address lower than 4GB, 30 | it does so through a 32-bit operation, per the PCI spec. In capi mode, 31 | the first TVE entry is configured in bypass mode, so the address is 32 | valid. But with any (bad) luck, the address could be 0xFFFFxxxx, thus 33 | looking like a 32-bit MSI. 34 | 35 | We currently enable both 32-bit and 64-bit MSIs, so the PHB will 36 | interpret the DMA write as a MSI, which very likely results in an EEH 37 | (MSI with a bad payload size). 38 | 39 | We can fix it by disabling 32-bit MSI when switching the PHB to capi 40 | mode. Capi devices are 64-bit. 41 | 42 | - capp: Fix the capp recovery timeout comparison 43 | 44 | The current capp recovery timeout control loop in 45 | do_capp_recovery_scoms() uses a wrong comparison for return value of 46 | tb_compare(). This may cause do_capp_recovery_scoms() to report an 47 | timeout earlier than the 168ms stipulated time. 48 | 49 | The patch fixes this by updating the loop timeout control branch in 50 | do_capp_recovery_scoms() to use the correct enum tb_cmpval. 51 | - phb4/capp: Update DMA read engines set in APC_FSM_READ_MASK based on link-width 52 | 53 | Commit 47c09cdfe7a3("phb4/capp: Calculate STQ/DMA read engines based 54 | on link-width for PEC") update the CAPP init sequence by calculating 55 | the needed STQ/DMA-read engines based on link width and populating it 56 | in XPEC_NEST_CAPP_CNTL register. This however needs to be synchronized 57 | with the value set in CAPP APC FSM Read Machine Mask Register. 58 | 59 | Hence this patch update phb4_init_capp_regs() to calculate the link 60 | width of the stack on PEC2 and populate the same values as previously 61 | populated in PEC CAPP_CNTL register. 62 | 63 | - core/cpu: Call memset with proper cpu_thread offset 64 | 65 | 66 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | # Pinned due to https://github.com/sphinx-doc/sphinx/issues/5419 2 | sphinx==1.7.9 3 | recommonmark 4 | sphinxcontrib.youtube 5 | -------------------------------------------------------------------------------- /doc/testing.rst: -------------------------------------------------------------------------------- 1 | Testing op-build 2 | ================ 3 | 4 | Once a firmware image is built, you will need to test it. 5 | 6 | The :ref:`op-test:` ``op-test-framework`` project is where tests are 7 | developed. See the :ref:`op-test:user-guide` for documentation on running 8 | the test suite. 9 | -------------------------------------------------------------------------------- /doc/versioning.rst: -------------------------------------------------------------------------------- 1 | .. _versioning: 2 | 3 | Version Scheme 4 | ============== 5 | 6 | Each firmware component has its own versioning scheme, and `op-build` brings 7 | all of these components together in one image with one global version 8 | number. 9 | 10 | Firmware versions are exposed to the user through both the device tree 11 | (:ref:`skiboot:device-tree/ibm,firmware-versions`) and the VERSION firmware 12 | partition. As such, firmware versioning numbers **MUST** follow the 13 | requirements in order for some functionality to be correct. 14 | 15 | skiboot 16 | :ref:`skiboot:versioning` 17 | Hostboot 18 | Currently just uses the git SHA1 of the commit 19 | OCC 20 | Currently just uses the git SHA1 of the commit 21 | Petitboot 22 | Uses a X.Y.Z versioning scheme. 23 | Linux 24 | We use the upstream Linux kernel version, and always append ``-openpowerN`` 25 | where N is a number starting at 1 that increases for each change we make 26 | to any additional patches carried in `op-build` for that specific kernel 27 | version. 28 | We follow the stable tree and have an "upstream *first*" policy in place. 29 | 30 | -------------------------------------------------------------------------------- /op-build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | script_base="$(realpath $(dirname $0))" 4 | cd $script_base 5 | 6 | . op-build-env 7 | 8 | op-build $@ 9 | -------------------------------------------------------------------------------- /op-build-env: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | __PWD=`pwd` 3 | 4 | if [ -e ./customrc ]; then 5 | source ./customrc 6 | fi 7 | 8 | if [ ! -e buildroot/Makefile ]; then 9 | echo "Please make sure you've checked out the buildroot submodule" 10 | echo " git submodule init && git submodule update" 11 | return -1 12 | fi 13 | 14 | export BR2_EXTERNAL=${__PWD}/openpower 15 | if [ -z "${BR2_DL_DIR-}" ]; then export BR2_DL_DIR=${__PWD}/dl; fi 16 | 17 | export LANG=en_US.UTF-8 18 | 19 | op-build () { 20 | make --directory=${__PWD}/buildroot O=${__PWD}/output $@ 21 | } 22 | -------------------------------------------------------------------------------- /openpower/Config.in: -------------------------------------------------------------------------------- 1 | menu "OpenPower" 2 | 3 | source "$BR2_EXTERNAL_OP_BUILD_PATH/platform/Config.in" 4 | source "$BR2_EXTERNAL_OP_BUILD_PATH/toolchain/Config.in" 5 | 6 | menu "OpenPower Packages" 7 | if BR2_OPENPOWER_PLATFORM 8 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/Config.in" 9 | endif 10 | endmenu 11 | 12 | menu "Custom Packages" 13 | source "$BR2_EXTERNAL_OP_BUILD_PATH/custom/Config.in" 14 | endmenu 15 | 16 | endmenu 17 | -------------------------------------------------------------------------------- /openpower/configs/blackbird_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/blackbird-patches" 4 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 5 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 6 | BR2_GCC_VERSION_11_X=y 7 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 8 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 9 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 10 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 11 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 12 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 13 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 14 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 15 | BR2_SYSTEM_ENABLE_NLS=y 16 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 17 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 18 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 19 | BR2_LINUX_KERNEL=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 21 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 22 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 23 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 24 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 25 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 26 | BR2_LINUX_KERNEL_XZ=y 27 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 28 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 29 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 30 | BR2_PACKAGE_LINUX_FIRMWARE=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 32 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 33 | BR2_PACKAGE_CRYPTSETUP=y 34 | BR2_PACKAGE_IPMITOOL=y 35 | BR2_PACKAGE_IPMITOOL_USB=y 36 | BR2_PACKAGE_MDADM=y 37 | BR2_PACKAGE_PCIUTILS=y 38 | BR2_PACKAGE_NCURSES_WCHAR=y 39 | BR2_PACKAGE_DROPBEAR=y 40 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 41 | BR2_PACKAGE_ETHTOOL=y 42 | BR2_PACKAGE_LRZSZ=y 43 | BR2_PACKAGE_NETCAT=y 44 | BR2_PACKAGE_RSYNC=y 45 | BR2_PACKAGE_SUDO=y 46 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 47 | BR2_TARGET_ROOTFS_CPIO_XZ=y 48 | BR2_TARGET_ROOTFS_INITRAMFS=y 49 | BR2_OPENPOWER_PLATFORM=y 50 | BR2_OPENPOWER_POWER9=y 51 | BR2_HOSTBOOT_CONFIG_FILE="blackbird.config" 52 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 53 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="blackbird-xml" 54 | BR2_OPENPOWER_MACHINE_XML_VERSION="e782e30829e0d6bea1018740d695633c29f53e75" 55 | BR2_OPENPOWER_MACHINE_XML_FILENAME="blackbird.xml" 56 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="BLACKBIRD_hb.system.xml" 57 | BR2_OPENPOWER_MRW_XML_FILENAME="BLACKBIRD_hb.mrw.xml" 58 | BR2_OPENPOWER_BIOS_XML_FILENAME="BLACKBIRD_bios.xml" 59 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 60 | BR2_OPENPOWER_CONFIG_NAME="blackbird" 61 | BR2_OPENPOWER_PNOR_FILENAME="blackbird.pnor" 62 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 63 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 64 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 65 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 66 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="BLACKBIRD_HB.targeting.bin" 67 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="BLACKBIRD_HB.targeting.bin.ecc" 68 | BR2_BUILD_PNOR_SQUASHFS=y 69 | BR2_PACKAGE_PETITBOOT=y 70 | BR2_PACKAGE_PETITBOOT_MTD=y 71 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 72 | BR2_PACKAGE_LOADKEYS=y 73 | BR2_IMA_CATALOG_DTS="POWER9" 74 | -------------------------------------------------------------------------------- /openpower/configs/busybox.fragment: -------------------------------------------------------------------------------- 1 | CONFIG_FEATURE_TFTP_PROGRESS_BAR=y 2 | CONFIG_TASKSET=y 3 | CONFIG_FEATURE_TASKSET_FANCY=y 4 | CONFIG_FEATURE_PIDFILE=y 5 | CONFIG_PID_FILE_PATH="/var/run" 6 | CONFIG_PING6=y 7 | CONFIG_UDHCPC6=y 8 | CONFIG_FEATURE_UDHCPC6_RFC3646=y 9 | CONFIG_FEATURE_UDHCPC6_RFC4704=y 10 | CONFIG_FEATURE_UDHCPC6_RFC4833=y 11 | CONFIG_USE_BB_CRYPT_SHA=y 12 | CONFIG_FEATURE_WGET_HTTPS=y 13 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/blackbird.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | set HTMGT 52 | set START_OCC_DURING_BOOT 53 | unset CONSOLE_OUTPUT_OCC_COMM 54 | 55 | #PNOR flags 56 | unset PNOR_TWO_SIDE_SUPPORT 57 | 58 | set BMC_BT_LPC_IPMI 59 | 60 | # Output LPC Port 80h boot progress (Blackbird BMC will read) 61 | set ISTEP_LPC_PORT8X_DEBUG 62 | 63 | # Enable Checktop Analysis 64 | set ENABLE_CHECKSTOP_ANALYSIS 65 | set IPLTIME_CHECKSTOP_ANALYSIS 66 | 67 | # set for trace debug to console 68 | unset CONSOLE_OUTPUT_TRACE 69 | set CONSOLE_OUTPUT_FFDCDISPLAY 70 | 71 | # Raptor shipped without Secure Boot 72 | unset SECUREBOOT 73 | unset TPMDD 74 | unset TPM_NUVOTON 75 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/mihawk.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable IPLtime + Runtime Checktop Analysis 63 | set ENABLE_CHECKSTOP_ANALYSIS 64 | set IPLTIME_CHECKSTOP_ANALYSIS 65 | 66 | # set for trace debug to console 67 | unset CONSOLE_OUTPUT_TRACE 68 | set CONSOLE_OUTPUT_FFDCDISPLAY 69 | 70 | set SECUREBOOT 71 | set TPMDD 72 | set TPM_NUVOTON 73 | 74 | # Terminate Hostboot when errors occur in manufacturing mode 75 | # (relies on BMC to not trigger reboot) 76 | unset HANG_ON_MFG_SRC_TERM 77 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/mowgli.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable IPLtime + Runtime Checktop Analysis 63 | set ENABLE_CHECKSTOP_ANALYSIS 64 | set IPLTIME_CHECKSTOP_ANALYSIS 65 | 66 | # set for trace debug to console 67 | unset CONSOLE_OUTPUT_TRACE 68 | set CONSOLE_OUTPUT_FFDCDISPLAY 69 | 70 | # SECUREBOOT && TPMDD 71 | set SECUREBOOT 72 | set TPMDD 73 | set TPM_NUVOTON 74 | 75 | # To Disable GUARD Features 76 | unset NO_GARD_SUPPORT 77 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/nicole.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable IPLtime + Runtime Checktop Analysis 63 | set ENABLE_CHECKSTOP_ANALYSIS 64 | set IPLTIME_CHECKSTOP_ANALYSIS 65 | 66 | # set for trace debug to console 67 | unset CONSOLE_OUTPUT_TRACE 68 | set CONSOLE_OUTPUT_FFDCDISPLAY 69 | 70 | unset SECUREBOOT 71 | unset TPMDD 72 | unset TPM_NUVOTON 73 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/p9dsu.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | set DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable Checkstop Analysis for both 63 | # Runtime and IPLtime scenarios 64 | set ENABLE_CHECKSTOP_ANALYSIS 65 | set IPLTIME_CHECKSTOP_ANALYSIS 66 | 67 | # set for trace debug to console 68 | unset CONSOLE_OUTPUT_TRACE 69 | set CONSOLE_OUTPUT_FFDCDISPLAY 70 | 71 | unset SECUREBOOT 72 | unset TPMDD 73 | unset TPM_NUVOTON 74 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/romulus.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable IPLtime + Runtime Checktop Analysis 63 | set ENABLE_CHECKSTOP_ANALYSIS 64 | set IPLTIME_CHECKSTOP_ANALYSIS 65 | 66 | # set for trace debug to console 67 | unset CONSOLE_OUTPUT_TRACE 68 | set CONSOLE_OUTPUT_FFDCDISPLAY 69 | 70 | 71 | unset SECUREBOOT 72 | unset TPMDD 73 | unset TPM_NUVOTON 74 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/swift.config: -------------------------------------------------------------------------------- 1 | ## Set this to pull in Axone only code (such as P9A/EXP MSS code) 2 | set AXONE 3 | 4 | # Allows us to put in workarounds specifically for Axone bringup 5 | set AXONE_BRING_UP 6 | 7 | # The BMC MBOX Protocol is used to access PNOR 8 | unset SFC_IS_AST2500 9 | unset SFC_IS_AST2400 10 | set PNORDD_IS_BMCMBOX 11 | unset PNORDD_IS_SFC 12 | unset BMC_DOES_SFC_INIT 13 | unset SFC_IS_IBM_DPSS 14 | set ALLOW_MICRON_PNOR 15 | set ALLOW_MACRONIX_PNOR 16 | 17 | 18 | # Force DJVPD read/write to use EEPROM layer instead of old-style VPD cache 19 | set DJVPD_READ_FROM_HW 20 | set DJVPD_WRITE_TO_HW 21 | unset DJVPD_READ_FROM_PNOR 22 | unset DJVPD_WRITE_TO_PNOR 23 | 24 | # Force MEMVPD read/write to EEPROM layer instead of old-style VPD cache 25 | # ( No concept of MEMVPD in Axone so should not matter ) 26 | set MEMVPD_READ_FROM_HW 27 | set MEMVPD_WRITE_TO_HW 28 | unset MEMVPD_READ_FROM_PNOR 29 | unset MEMVPD_WRITE_TO_PNOR 30 | 31 | # Force MVPD read/write to use EEPROM layer instead of old-style VPD cache 32 | set MVPD_READ_FROM_HW 33 | set MVPD_WRITE_TO_HW 34 | unset MVPD_READ_FROM_PNOR 35 | unset MVPD_WRITE_TO_PNOR 36 | 37 | # Other VPD options. 38 | set PVPD_READ_FROM_HW 39 | set PVPD_WRITE_TO_HW 40 | unset PVPD_READ_FROM_PNOR 41 | unset PVPD_WRITE_TO_PNOR 42 | unset CDIMM_FORMAT_FOR_CVPD 43 | 44 | #enable EEPROM caching 45 | set SUPPORT_EEPROM_CACHING 46 | 47 | # gpio config 48 | set GPIODD 49 | unset PALMETTO_VDDR 50 | 51 | # Enable Consecutive SBE Updates 52 | set SBE_UPDATE_CONSECUTIVE 53 | unset SBE_UPDATE_INDEPENDENT 54 | unset SBE_UPDATE_SEQUENTIAL 55 | unset SBE_UPDATE_SIMULTANEOUS 56 | unset NO_SBE_UPDATES 57 | 58 | unset PCIE_HOTPLUG_CONTROLLER 59 | 60 | # turn on console output 61 | set CONSOLE 62 | set BMC_AST2500 63 | 64 | unset DISABLE_HOSTBOOT_RUNTIME 65 | 66 | # Compile in hostboot runtime PRD 67 | set HBRT_PRD 68 | 69 | # Compile in hb rt HTMGT : Load/Start OCC 70 | set HTMGT 71 | set START_OCC_DURING_BOOT 72 | unset CONSOLE_OUTPUT_OCC_COMM 73 | 74 | #PNOR flags 75 | unset PNOR_TWO_SIDE_SUPPORT 76 | 77 | set BMC_BT_LPC_IPMI 78 | 79 | # Enable Checkstop Analysis for both 80 | # Runtime and IPLtime scenarios 81 | set ENABLE_CHECKSTOP_ANALYSIS 82 | set IPLTIME_CHECKSTOP_ANALYSIS 83 | 84 | # set for trace debug to console 85 | unset CONSOLE_OUTPUT_TRACE 86 | set CONSOLE_OUTPUT_FFDCDISPLAY 87 | 88 | # Terminate Hostboot when errors occur in manufacturing mode 89 | # (relies on BMC to not trigger reboot) 90 | unset HANG_ON_MFG_SRC_TERM 91 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/witherspoon.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable Checkstop Analysis for both 63 | # Runtime and IPLtime scenarios 64 | set ENABLE_CHECKSTOP_ANALYSIS 65 | set IPLTIME_CHECKSTOP_ANALYSIS 66 | 67 | # set for trace debug to console 68 | unset CONSOLE_OUTPUT_TRACE 69 | set CONSOLE_OUTPUT_FFDCDISPLAY 70 | 71 | # Terminate Hostboot when errors occur in manufacturing mode 72 | # (relies on BMC to not trigger reboot) 73 | unset HANG_ON_MFG_SRC_TERM 74 | 75 | # Support Physical Presence Detection and Key Clear Requests 76 | set PHYS_PRES_PWR_BUTTON 77 | set KEY_CLEAR 78 | -------------------------------------------------------------------------------- /openpower/configs/hostboot/zaius.config: -------------------------------------------------------------------------------- 1 | # The BMC MBOX Protocol is used to access PNOR 2 | unset SFC_IS_AST2500 3 | unset SFC_IS_AST2400 4 | set PNORDD_IS_BMCMBOX 5 | unset PNORDD_IS_SFC 6 | unset BMC_DOES_SFC_INIT 7 | unset SFC_IS_IBM_DPSS 8 | set ALLOW_MICRON_PNOR 9 | set ALLOW_MACRONIX_PNOR 10 | 11 | # VPD options. 12 | set MVPD_READ_FROM_HW 13 | set MVPD_WRITE_TO_HW 14 | set MVPD_READ_FROM_PNOR 15 | set MVPD_WRITE_TO_PNOR 16 | set DJVPD_READ_FROM_HW 17 | unset DJVPD_WRITE_TO_HW 18 | set DJVPD_READ_FROM_PNOR 19 | set DJVPD_WRITE_TO_PNOR 20 | set MEMVPD_READ_FROM_HW 21 | set MEMVPD_WRITE_TO_HW 22 | set MEMVPD_READ_FROM_PNOR 23 | set MEMVPD_WRITE_TO_PNOR 24 | set PVPD_READ_FROM_HW 25 | set PVPD_WRITE_TO_HW 26 | set PVPD_READ_FROM_PNOR 27 | set PVPD_WRITE_TO_PNOR 28 | unset CDIMM_FORMAT_FOR_CVPD 29 | 30 | # gpio config 31 | set GPIODD 32 | unset PALMETTO_VDDR 33 | 34 | # Enable Consecutive SBE Updates 35 | set SBE_UPDATE_CONSECUTIVE 36 | unset SBE_UPDATE_INDEPENDENT 37 | unset SBE_UPDATE_SEQUENTIAL 38 | unset SBE_UPDATE_SIMULTANEOUS 39 | unset NO_SBE_UPDATES 40 | 41 | unset PCIE_HOTPLUG_CONTROLLER 42 | 43 | # turn on console output 44 | set CONSOLE 45 | set BMC_AST2500 46 | 47 | unset DISABLE_HOSTBOOT_RUNTIME 48 | 49 | # Compile in hostboot runtime PRD 50 | set HBRT_PRD 51 | 52 | # Compile in hb rt HTMGT : Load/Start OCC 53 | set HTMGT 54 | set START_OCC_DURING_BOOT 55 | unset CONSOLE_OUTPUT_OCC_COMM 56 | 57 | #PNOR flags 58 | unset PNOR_TWO_SIDE_SUPPORT 59 | 60 | set BMC_BT_LPC_IPMI 61 | 62 | # Enable IPLtime + Runtime Checktop Analysis 63 | set ENABLE_CHECKSTOP_ANALYSIS 64 | set IPLTIME_CHECKSTOP_ANALYSIS 65 | 66 | # set for trace debug to console 67 | unset CONSOLE_OUTPUT_TRACE 68 | set CONSOLE_OUTPUT_FFDCDISPLAY 69 | 70 | 71 | unset SECUREBOOT 72 | unset TPMDD 73 | unset TPM_NUVOTON 74 | -------------------------------------------------------------------------------- /openpower/configs/mihawk_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/mihawk-patches" 4 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 5 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 6 | BR2_GCC_VERSION_11_X=y 7 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 8 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 9 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 10 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 11 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 12 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 13 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 14 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 15 | BR2_SYSTEM_ENABLE_NLS=y 16 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 17 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 18 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 19 | BR2_LINUX_KERNEL=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 21 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 22 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 23 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 24 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 25 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 26 | BR2_LINUX_KERNEL_XZ=y 27 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 28 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 29 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 30 | BR2_PACKAGE_LINUX_FIRMWARE=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 32 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 33 | BR2_PACKAGE_CRYPTSETUP=y 34 | BR2_PACKAGE_IPMITOOL=y 35 | BR2_PACKAGE_IPMITOOL_USB=y 36 | BR2_PACKAGE_MDADM=y 37 | BR2_PACKAGE_PCIUTILS=y 38 | BR2_PACKAGE_NCURSES_WCHAR=y 39 | BR2_PACKAGE_DROPBEAR=y 40 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 41 | BR2_PACKAGE_ETHTOOL=y 42 | BR2_PACKAGE_LRZSZ=y 43 | BR2_PACKAGE_NETCAT=y 44 | BR2_PACKAGE_RSYNC=y 45 | BR2_PACKAGE_SUDO=y 46 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 47 | BR2_TARGET_ROOTFS_CPIO_XZ=y 48 | BR2_TARGET_ROOTFS_INITRAMFS=y 49 | BR2_OPENPOWER_PLATFORM=y 50 | BR2_OPENPOWER_POWER9=y 51 | BR2_HOSTBOOT_CONFIG_FILE="mihawk.config" 52 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 53 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="mihawk-xml" 54 | BR2_OPENPOWER_MACHINE_XML_VERSION="b1fc7ca4456b9b375b37ab2f06567698f36de0b0" 55 | BR2_OPENPOWER_MACHINE_XML_FILENAME="mihawk.xml" 56 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="MIHAWK_hb.system.xml" 57 | BR2_OPENPOWER_MRW_XML_FILENAME="MIHAWK_hb.mrw.xml" 58 | BR2_OPENPOWER_BIOS_XML_FILENAME="MIHAWK_bios.xml" 59 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 60 | BR2_OPENPOWER_CONFIG_NAME="mihawk" 61 | BR2_OPENPOWER_PNOR_FILENAME="mihawk.pnor" 62 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 63 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 64 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 65 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 66 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="MIHAWK_HB.targeting.bin" 67 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="MIHAWK_HB.targeting.bin.ecc" 68 | BR2_BUILD_PNOR_SQUASHFS=y 69 | BR2_PACKAGE_PETITBOOT=y 70 | BR2_PACKAGE_PETITBOOT_MTD=y 71 | BR2_OCC_GPU_BIN_BUILD=y 72 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 73 | BR2_PACKAGE_LOADKEYS=y 74 | BR2_IMA_CATALOG_DTS="POWER9" 75 | -------------------------------------------------------------------------------- /openpower/configs/mowgli_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 13 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 14 | BR2_SYSTEM_ENABLE_NLS=y 15 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 16 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 17 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 18 | BR2_LINUX_KERNEL=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 21 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 22 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 23 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 24 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 25 | BR2_LINUX_KERNEL_XZ=y 26 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 27 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_LINUX_FIRMWARE=y 30 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 32 | BR2_PACKAGE_CRYPTSETUP=y 33 | BR2_PACKAGE_IPMITOOL=y 34 | BR2_PACKAGE_IPMITOOL_USB=y 35 | BR2_PACKAGE_MDADM=y 36 | BR2_PACKAGE_PCIUTILS=y 37 | BR2_PACKAGE_NCURSES_WCHAR=y 38 | BR2_PACKAGE_DROPBEAR=y 39 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 40 | BR2_PACKAGE_ETHTOOL=y 41 | BR2_PACKAGE_LRZSZ=y 42 | BR2_PACKAGE_NETCAT=y 43 | BR2_PACKAGE_RSYNC=y 44 | BR2_PACKAGE_SUDO=y 45 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 46 | BR2_TARGET_ROOTFS_CPIO_XZ=y 47 | BR2_TARGET_ROOTFS_INITRAMFS=y 48 | BR2_OPENPOWER_PLATFORM=y 49 | BR2_OPENPOWER_POWER9=y 50 | BR2_HOSTBOOT_CONFIG_FILE="mowgli.config" 51 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 52 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="mowgli-xml" 53 | BR2_OPENPOWER_MACHINE_XML_VERSION="59f387892e37b5eef5b97b4d0634a62eb63f76b7" 54 | BR2_OPENPOWER_MACHINE_XML_FILENAME="mowgli.xml" 55 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="MOWGLI_hb.system.xml" 56 | BR2_OPENPOWER_MRW_XML_FILENAME="MOWGLI_hb.mrw.xml" 57 | BR2_OPENPOWER_BIOS_XML_FILENAME="MOWGLI_bios.xml" 58 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 59 | BR2_OPENPOWER_CONFIG_NAME="mowgli" 60 | BR2_OPENPOWER_PNOR_FILENAME="mowgli.pnor" 61 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 62 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 63 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 64 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 65 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="MOWGLI_HB.targeting.bin" 66 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="MOWGLI_HB.targeting.bin.ecc" 67 | BR2_BUILD_PNOR_SQUASHFS=y 68 | BR2_PACKAGE_PETITBOOT=y 69 | BR2_PACKAGE_PETITBOOT_MTD=y 70 | # BR2_HCODE_INCLUDE_IONV is not set 71 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 72 | BR2_PACKAGE_LOADKEYS=y 73 | BR2_IMA_CATALOG_DTS="POWER9" 74 | -------------------------------------------------------------------------------- /openpower/configs/nicole_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_GENERATE_LOCALE="en_US.UTF-8" 13 | BR2_SYSTEM_ENABLE_NLS=y 14 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 15 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 16 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 17 | BR2_LINUX_KERNEL=y 18 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 20 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 21 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 22 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 23 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 24 | BR2_LINUX_KERNEL_XZ=y 25 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 26 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 27 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 28 | BR2_PACKAGE_CRYPTSETUP=y 29 | BR2_PACKAGE_IPMITOOL=y 30 | BR2_PACKAGE_IPMITOOL_USB=y 31 | BR2_PACKAGE_MDADM=y 32 | BR2_PACKAGE_PCIUTILS=y 33 | BR2_PACKAGE_NCURSES_WCHAR=y 34 | BR2_PACKAGE_DROPBEAR=y 35 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 36 | BR2_PACKAGE_ETHTOOL=y 37 | BR2_PACKAGE_LRZSZ=y 38 | BR2_PACKAGE_NETCAT=y 39 | BR2_PACKAGE_RSYNC=y 40 | BR2_PACKAGE_SUDO=y 41 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 42 | BR2_TARGET_ROOTFS_CPIO_XZ=y 43 | BR2_TARGET_ROOTFS_INITRAMFS=y 44 | BR2_OPENPOWER_PLATFORM=y 45 | BR2_OPENPOWER_POWER9=y 46 | BR2_HOSTBOOT_CONFIG_FILE="nicole.config" 47 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 48 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="nicole-xml" 49 | BR2_OPENPOWER_MACHINE_XML_VERSION="37c6311469bfe4e9669f8fedc780719888c075d4" 50 | BR2_OPENPOWER_MACHINE_XML_FILENAME="nicole.xml" 51 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="NICOLE_hb.system.xml" 52 | BR2_OPENPOWER_MRW_XML_FILENAME="NICOLE_hb.mrw.xml" 53 | BR2_OPENPOWER_BIOS_XML_FILENAME="NICOLE_bios.xml" 54 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 55 | BR2_OPENPOWER_CONFIG_NAME="nicole" 56 | BR2_OPENPOWER_PNOR_FILENAME="nicole.pnor" 57 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 58 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 59 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 60 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 61 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="NICOLE_HB.targeting.bin" 62 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="NICOLE_HB.targeting.bin.ecc" 63 | BR2_PACKAGE_PETITBOOT=y 64 | BR2_PACKAGE_PETITBOOT_MTD=y 65 | # BR2_HCODE_INCLUDE_IONV is not set 66 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 67 | BR2_PACKAGE_LOADKEYS=y 68 | BR2_IMA_CATALOG_DTS="POWER9" 69 | -------------------------------------------------------------------------------- /openpower/configs/opal_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 6 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 7 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 8 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 9 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 10 | BR2_GENERATE_LOCALE="en_US.UTF-8" 11 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 12 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 13 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 14 | BR2_LINUX_KERNEL=y 15 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 16 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 17 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 18 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 19 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 20 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 21 | BR2_LINUX_KERNEL_XZ=y 22 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 23 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 24 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 25 | BR2_PACKAGE_LINUX_FIRMWARE=y 26 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 27 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 28 | BR2_PACKAGE_CRYPTSETUP=y 29 | BR2_PACKAGE_IPMITOOL=y 30 | BR2_PACKAGE_IPMITOOL_USB=y 31 | BR2_PACKAGE_MDADM=y 32 | BR2_PACKAGE_PCIUTILS=y 33 | BR2_PACKAGE_NCURSES_WCHAR=y 34 | BR2_PACKAGE_DROPBEAR=y 35 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 36 | BR2_PACKAGE_ETHTOOL=y 37 | BR2_PACKAGE_LRZSZ=y 38 | BR2_PACKAGE_NETCAT=y 39 | BR2_PACKAGE_RSYNC=y 40 | BR2_PACKAGE_SUDO=y 41 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 42 | BR2_TARGET_ROOTFS_CPIO_XZ=y 43 | BR2_TARGET_ROOTFS_INITRAMFS=y 44 | BR2_OPENPOWER_PLATFORM=y 45 | BR2_OPENPOWER_POWER9=y 46 | # BR2_PACKAGE_PPE42_TOOLCHAIN is not set 47 | # BR2_PACKAGE_HOST_OPENPOWER_FFS is not set 48 | # BR2_PACKAGE_HOSTBOOT is not set 49 | # BR2_PACKAGE_HOSTBOOT_BINARIES is not set 50 | # BR2_PACKAGE_MACHINE_XML is not set 51 | # BR2_PACKAGE_OPENPOWER_PNOR is not set 52 | BR2_OPENPOWER_CONFIG_NAME="opal" 53 | BR2_PACKAGE_PETITBOOT=y 54 | BR2_PACKAGE_PETITBOOT_MTD=y 55 | # BR2_PACKAGE_CAPP_UCODE is not set 56 | BR2_SKIBOOT_DEVICETREE=y 57 | # BR2_PACKAGE_IMA_CATALOG is not set 58 | # BR2_PACKAGE_HOST_SB_SIGNING_UTILS is not set 59 | -------------------------------------------------------------------------------- /openpower/configs/p9dsu_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 13 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 14 | BR2_SYSTEM_ENABLE_NLS=y 15 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 16 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 17 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 18 | BR2_LINUX_KERNEL=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 21 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 22 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 23 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 24 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 25 | BR2_LINUX_KERNEL_XZ=y 26 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 27 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_LINUX_FIRMWARE=y 30 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 32 | BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX=y 33 | BR2_PACKAGE_CRYPTSETUP=y 34 | BR2_PACKAGE_IPMITOOL=y 35 | BR2_PACKAGE_IPMITOOL_USB=y 36 | BR2_PACKAGE_MDADM=y 37 | BR2_PACKAGE_PCIUTILS=y 38 | BR2_PACKAGE_NCURSES_WCHAR=y 39 | BR2_PACKAGE_DROPBEAR=y 40 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 41 | BR2_PACKAGE_ETHTOOL=y 42 | BR2_PACKAGE_LRZSZ=y 43 | BR2_PACKAGE_NETCAT=y 44 | BR2_PACKAGE_RSYNC=y 45 | BR2_PACKAGE_SUDO=y 46 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 47 | BR2_TARGET_ROOTFS_CPIO_XZ=y 48 | BR2_TARGET_ROOTFS_INITRAMFS=y 49 | BR2_OPENPOWER_PLATFORM=y 50 | BR2_OPENPOWER_POWER9=y 51 | BR2_HOSTBOOT_CONFIG_FILE="p9dsu.config" 52 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 53 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="p9dsu-xml" 54 | BR2_OPENPOWER_MACHINE_XML_VERSION="32ce616ef80f5cc3f128b3aa08fe50954a087888" 55 | BR2_OPENPOWER_MACHINE_XML_FILENAME="p9dsu.xml" 56 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="P9DSU_hb.system.xml" 57 | BR2_OPENPOWER_MRW_XML_FILENAME="P9DSU_hb.mrw.xml" 58 | BR2_OPENPOWER_BIOS_XML_FILENAME="P9DSU_bios.xml" 59 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 60 | BR2_OPENPOWER_CONFIG_NAME="p9dsu" 61 | BR2_OPENPOWER_PNOR_FILENAME="p9dsu.pnor" 62 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 63 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 64 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 65 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 66 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="P9DSU_HB.targeting.bin" 67 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="P9DSU_HB.targeting.bin.ecc" 68 | BR2_PACKAGE_PETITBOOT=y 69 | BR2_PACKAGE_PETITBOOT_MTD=y 70 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 71 | BR2_PACKAGE_LOADKEYS=y 72 | BR2_IMA_CATALOG_DTS="POWER9" 73 | -------------------------------------------------------------------------------- /openpower/configs/romulus_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 13 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 14 | BR2_SYSTEM_ENABLE_NLS=y 15 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 16 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 17 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 18 | BR2_LINUX_KERNEL=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 21 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 22 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 23 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 24 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 25 | BR2_LINUX_KERNEL_XZ=y 26 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 27 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_LINUX_FIRMWARE=y 30 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 32 | BR2_PACKAGE_CRYPTSETUP=y 33 | BR2_PACKAGE_IPMITOOL=y 34 | BR2_PACKAGE_IPMITOOL_USB=y 35 | BR2_PACKAGE_MDADM=y 36 | BR2_PACKAGE_PCIUTILS=y 37 | BR2_PACKAGE_NCURSES_WCHAR=y 38 | BR2_PACKAGE_DROPBEAR=y 39 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 40 | BR2_PACKAGE_ETHTOOL=y 41 | BR2_PACKAGE_LRZSZ=y 42 | BR2_PACKAGE_NETCAT=y 43 | BR2_PACKAGE_RSYNC=y 44 | BR2_PACKAGE_SUDO=y 45 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 46 | BR2_TARGET_ROOTFS_CPIO_XZ=y 47 | BR2_TARGET_ROOTFS_INITRAMFS=y 48 | BR2_OPENPOWER_PLATFORM=y 49 | BR2_OPENPOWER_POWER9=y 50 | BR2_HOSTBOOT_CONFIG_FILE="romulus.config" 51 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 52 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="romulus-xml" 53 | BR2_OPENPOWER_MACHINE_XML_VERSION="5b3fbcaa256eb3638a2ccd09973019efb3c4cddc" 54 | BR2_OPENPOWER_MACHINE_XML_FILENAME="romulus.xml" 55 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="ROMULUS_hb.system.xml" 56 | BR2_OPENPOWER_MRW_XML_FILENAME="ROMULUS_hb.mrw.xml" 57 | BR2_OPENPOWER_BIOS_XML_FILENAME="ROMULUS_bios.xml" 58 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 59 | BR2_OPENPOWER_CONFIG_NAME="romulus" 60 | BR2_OPENPOWER_PNOR_FILENAME="romulus.pnor" 61 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 62 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 63 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 64 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 65 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="ROMULUS_HB.targeting.bin" 66 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="ROMULUS_HB.targeting.bin.ecc" 67 | BR2_PACKAGE_PETITBOOT=y 68 | BR2_PACKAGE_PETITBOOT_MTD=y 69 | # BR2_HCODE_INCLUDE_IONV is not set 70 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 71 | BR2_PACKAGE_LOADKEYS=y 72 | BR2_IMA_CATALOG_DTS="POWER9" 73 | -------------------------------------------------------------------------------- /openpower/configs/swift_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 13 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 14 | BR2_SYSTEM_ENABLE_NLS=y 15 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 16 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 17 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 18 | BR2_LINUX_KERNEL=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 21 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 22 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 23 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 24 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 25 | BR2_LINUX_KERNEL_XZ=y 26 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 27 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_LINUX_FIRMWARE=y 30 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 32 | BR2_PACKAGE_CRYPTSETUP=y 33 | BR2_PACKAGE_IPMITOOL=y 34 | BR2_PACKAGE_IPMITOOL_USB=y 35 | BR2_PACKAGE_MDADM=y 36 | BR2_PACKAGE_PCIUTILS=y 37 | BR2_PACKAGE_NCURSES_WCHAR=y 38 | BR2_PACKAGE_DROPBEAR=y 39 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 40 | BR2_PACKAGE_ETHTOOL=y 41 | BR2_PACKAGE_LRZSZ=y 42 | BR2_PACKAGE_NETCAT=y 43 | BR2_PACKAGE_RSYNC=y 44 | BR2_PACKAGE_SUDO=y 45 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 46 | BR2_TARGET_ROOTFS_CPIO_XZ=y 47 | BR2_TARGET_ROOTFS_INITRAMFS=y 48 | BR2_OPENPOWER_PLATFORM=y 49 | BR2_OPENPOWER_POWER9=y 50 | BR2_HOSTBOOT_CONFIG_FILE="swift.config" 51 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 52 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="swift-xml" 53 | BR2_OPENPOWER_MACHINE_XML_VERSION="14a1bec7d32fabf990338cc6c7a33df99d86f499" 54 | BR2_OPENPOWER_MACHINE_XML_FILENAME="swift.xml" 55 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="SWIFT_hb.system.xml" 56 | BR2_OPENPOWER_MRW_XML_FILENAME="SWIFT_hb.mrw.xml" 57 | BR2_OPENPOWER_BIOS_XML_FILENAME="SWIFT_bios.xml" 58 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="axonePnorLayout_64.xml" 59 | BR2_OPENPOWER_CONFIG_NAME="swift" 60 | BR2_OPENPOWER_PNOR_FILENAME="swift.pnor" 61 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="axone_sbe.img.ecc" 62 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 63 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9a.ref_image.hdr.bin.ecc" 64 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 65 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="SWIFT_HB.targeting.bin" 66 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="SWIFT_HB.targeting.bin.ecc" 67 | BR2_BUILD_PNOR_SQUASHFS=y 68 | BR2_PACKAGE_PETITBOOT=y 69 | BR2_PACKAGE_PETITBOOT_MTD=y 70 | BR2_OCC_GPU_BIN_BUILD=y 71 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 72 | BR2_PACKAGE_LOADKEYS=y 73 | BR2_IMA_CATALOG_DTS="POWER9" 74 | BR2_PACKAGE_OCMB_EXPLORER_FW=y 75 | -------------------------------------------------------------------------------- /openpower/configs/users-table: -------------------------------------------------------------------------------- 1 | petituser 1111 petitgroup 2222 - /home/petituser /bin/sh wheel 2 | -------------------------------------------------------------------------------- /openpower/configs/witherspoon_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 13 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 14 | BR2_SYSTEM_ENABLE_NLS=y 15 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 16 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 17 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 18 | BR2_LINUX_KERNEL=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 21 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 22 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 23 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 24 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 25 | BR2_LINUX_KERNEL_XZ=y 26 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 27 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_LINUX_FIRMWARE=y 30 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 32 | BR2_PACKAGE_CRYPTSETUP=y 33 | BR2_PACKAGE_IPMITOOL=y 34 | BR2_PACKAGE_IPMITOOL_USB=y 35 | BR2_PACKAGE_MDADM=y 36 | BR2_PACKAGE_PCIUTILS=y 37 | BR2_PACKAGE_NCURSES_WCHAR=y 38 | BR2_PACKAGE_DROPBEAR=y 39 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 40 | BR2_PACKAGE_ETHTOOL=y 41 | BR2_PACKAGE_LRZSZ=y 42 | BR2_PACKAGE_NETCAT=y 43 | BR2_PACKAGE_RSYNC=y 44 | BR2_PACKAGE_SUDO=y 45 | BR2_PACKAGE_KEYUTILS=y 46 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 47 | BR2_TARGET_ROOTFS_CPIO_XZ=y 48 | BR2_TARGET_ROOTFS_INITRAMFS=y 49 | BR2_OPENPOWER_PLATFORM=y 50 | BR2_OPENPOWER_POWER9=y 51 | BR2_HOSTBOOT_CONFIG_FILE="witherspoon.config" 52 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 53 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="witherspoon-xml" 54 | BR2_OPENPOWER_MACHINE_XML_VERSION="294055b6a78b4cc07494e748c0b0ff08fb62d3d1" 55 | BR2_OPENPOWER_MACHINE_XML_FILENAME="witherspoon.xml" 56 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="WITHERSPOON_hb.system.xml" 57 | BR2_OPENPOWER_MRW_XML_FILENAME="WITHERSPOON_hb.mrw.xml" 58 | BR2_OPENPOWER_BIOS_XML_FILENAME="WITHERSPOON_bios.xml" 59 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 60 | BR2_OPENPOWER_CONFIG_NAME="witherspoon" 61 | BR2_OPENPOWER_PNOR_FILENAME="witherspoon.pnor" 62 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 63 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 64 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 65 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 66 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="WITHERSPOON_HB.targeting.bin" 67 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="WITHERSPOON_HB.targeting.bin.ecc" 68 | BR2_BUILD_PNOR_SQUASHFS=y 69 | BR2_PACKAGE_PETITBOOT=y 70 | BR2_PACKAGE_PETITBOOT_MTD=y 71 | BR2_OCC_GPU_BIN_BUILD=y 72 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 73 | BR2_PACKAGE_LOADKEYS=y 74 | BR2_IMA_CATALOG_DTS="POWER9" 75 | -------------------------------------------------------------------------------- /openpower/configs/zaius_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_GCC_VERSION_11_X=y 6 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 7 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 8 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 9 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 10 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 11 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 12 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 13 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 14 | BR2_SYSTEM_ENABLE_NLS=y 15 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 16 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 17 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 18 | BR2_LINUX_KERNEL=y 19 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 20 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 21 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 22 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 23 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 24 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 25 | BR2_LINUX_KERNEL_XZ=y 26 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 27 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_LINUX_FIRMWARE=y 30 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 31 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 32 | BR2_PACKAGE_CRYPTSETUP=y 33 | BR2_PACKAGE_IPMITOOL=y 34 | BR2_PACKAGE_IPMITOOL_USB=y 35 | BR2_PACKAGE_MDADM=y 36 | BR2_PACKAGE_PCIUTILS=y 37 | BR2_PACKAGE_NCURSES_WCHAR=y 38 | BR2_PACKAGE_DROPBEAR=y 39 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 40 | BR2_PACKAGE_ETHTOOL=y 41 | BR2_PACKAGE_LRZSZ=y 42 | BR2_PACKAGE_NETCAT=y 43 | BR2_PACKAGE_RSYNC=y 44 | BR2_PACKAGE_SUDO=y 45 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 46 | BR2_TARGET_ROOTFS_CPIO_XZ=y 47 | BR2_TARGET_ROOTFS_INITRAMFS=y 48 | BR2_OPENPOWER_PLATFORM=y 49 | BR2_OPENPOWER_POWER9=y 50 | BR2_HOSTBOOT_CONFIG_FILE="zaius.config" 51 | BR2_HOSTBOOT_USE_ALTERNATE_GCC=y 52 | BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="zaius-xml" 53 | BR2_OPENPOWER_MACHINE_XML_VERSION="6f6b5efd327958bf5ee7cc51a493d7b3d6f7cefe" 54 | BR2_OPENPOWER_MACHINE_XML_FILENAME="zaius.xml" 55 | BR2_OPENPOWER_SYSTEM_XML_FILENAME="ZAIUS_hb.system.xml" 56 | BR2_OPENPOWER_MRW_XML_FILENAME="ZAIUS_hb.mrw.xml" 57 | BR2_OPENPOWER_BIOS_XML_FILENAME="ZAIUS_bios.xml" 58 | BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml" 59 | BR2_OPENPOWER_CONFIG_NAME="zaius" 60 | BR2_OPENPOWER_PNOR_FILENAME="zaius.pnor" 61 | BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc" 62 | BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc" 63 | BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc" 64 | BR2_IMA_CATALOG_FILENAME="ima_catalog.bin" 65 | BR2_OPENPOWER_TARGETING_BIN_FILENAME="ZAIUS_HB.targeting.bin" 66 | BR2_OPENPOWER_TARGETING_ECC_FILENAME="ZAIUS_HB.targeting.bin.ecc" 67 | BR2_PACKAGE_PETITBOOT=y 68 | BR2_PACKAGE_PETITBOOT_MTD=y 69 | BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" 70 | BR2_PACKAGE_LOADKEYS=y 71 | BR2_IMA_CATALOG_DTS="POWER9" 72 | -------------------------------------------------------------------------------- /openpower/configs/zz_defconfig: -------------------------------------------------------------------------------- 1 | BR2_powerpc64le=y 2 | BR2_powerpc_power8=y 3 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y 4 | BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" 5 | BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" 6 | BR2_TARGET_GENERIC_HOSTNAME="skiroot" 7 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 8 | BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt" 9 | BR2_TARGET_GENERIC_GETTY_PORT="hvc0" 10 | BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW" 11 | BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8" 12 | BR2_SYSTEM_ENABLE_NLS=y 13 | BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table" 14 | BR2_ROOTFS_OVERLAY="../openpower/overlay" 15 | BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist" 16 | BR2_LINUX_KERNEL=y 17 | BR2_LINUX_KERNEL_CUSTOM_VERSION=y 18 | BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.223" 19 | BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux" 20 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 21 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig" 22 | BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y 23 | BR2_LINUX_KERNEL_XZ=y 24 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 25 | BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment" 26 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 27 | BR2_PACKAGE_LINUX_FIRMWARE=y 28 | BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y 29 | BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y 30 | BR2_PACKAGE_CRYPTSETUP=y 31 | BR2_PACKAGE_IPMITOOL=y 32 | BR2_PACKAGE_IPMITOOL_USB=y 33 | BR2_PACKAGE_MDADM=y 34 | BR2_PACKAGE_NCURSES_WCHAR=y 35 | BR2_PACKAGE_DROPBEAR=y 36 | # BR2_PACKAGE_DROPBEAR_SERVER is not set 37 | BR2_PACKAGE_ETHTOOL=y 38 | BR2_PACKAGE_LRZSZ=y 39 | BR2_PACKAGE_NETCAT=y 40 | BR2_PACKAGE_RSYNC=y 41 | BR2_PACKAGE_SUDO=y 42 | BR2_PACKAGE_IPRUTILS=y 43 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 44 | BR2_TARGET_ROOTFS_CPIO=y 45 | BR2_TARGET_ROOTFS_CPIO_XZ=y 46 | BR2_OPENPOWER_PLATFORM=y 47 | BR2_OPENPOWER_POWER9=y 48 | # BR2_PACKAGE_PPE42_TOOLCHAIN is not set 49 | BR2_GCC_VERSION_11_X=y 50 | # BR2_PACKAGE_HOST_OPENPOWER_FFS is not set 51 | # BR2_PACKAGE_HOSTBOOT is not set 52 | # BR2_PACKAGE_HOSTBOOT_BINARIES is not set 53 | # BR2_PACKAGE_MACHINE_XML is not set 54 | # BR2_PACKAGE_OPENPOWER_PNOR is not set 55 | BR2_OPENPOWER_CONFIG_NAME="openpower-firenze" 56 | # BR2_TARGET_SKIBOOT_XZ is not set 57 | BR2_PACKAGE_PETITBOOT=y 58 | BR2_PACKAGE_PETITBOOT_MTD=y 59 | # BR2_PACKAGE_CAPP_UCODE is not set 60 | BR2_PACKAGE_LOADKEYS=y 61 | # BR2_PACKAGE_IMA_CATALOG is not set 62 | # BR2_PACKAGE_HOST_SB_SIGNING_UTILS is not set 63 | -------------------------------------------------------------------------------- /openpower/custom/Config.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-power/op-build/1621fb467752808f21a2318798fcc1a7910d867f/openpower/custom/Config.in -------------------------------------------------------------------------------- /openpower/custom/README: -------------------------------------------------------------------------------- 1 | This directory is for placing custom packages that can be kept separate from 2 | an upstream op-build. The purpose of this is to make pulling in upstream 3 | op-build updates much easier, since your customizations will not touch any 4 | files also modified by op-build changes. 5 | 6 | openpower/custom/configs # For machine configs (*_defconfig files) 7 | /package # For additional packages. 8 | /patches # For patching existing packages. 9 | 10 | It is recommended that the layout of the custom/configs and custom/package 11 | directories follow the layout of the openpower/ peers. 12 | 13 | The openpower/custom/patches directory should have subdirectories for each 14 | package desired to be patched and patch files contained inside. For example 15 | to add a patch to skiboot you would create: 16 | openpower/custom/patches/skiboot/skiboot-0001-example.patch 17 | -------------------------------------------------------------------------------- /openpower/custom/configs/.dont_delete_this: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-power/op-build/1621fb467752808f21a2318798fcc1a7910d867f/openpower/custom/configs/.dont_delete_this -------------------------------------------------------------------------------- /openpower/custom/package/.dont_delete_this: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-power/op-build/1621fb467752808f21a2318798fcc1a7910d867f/openpower/custom/package/.dont_delete_this -------------------------------------------------------------------------------- /openpower/custom/patches/.dont_delete_this: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-power/op-build/1621fb467752808f21a2318798fcc1a7910d867f/openpower/custom/patches/.dont_delete_this -------------------------------------------------------------------------------- /openpower/custom/patches/busybox/0001-init-Only-print-shutdown-messages-to-log.patch: -------------------------------------------------------------------------------- 1 | From 1939276efa4a12ef9e14ea139a525c887de2bb77 Mon Sep 17 00:00:00 2001 2 | From: Joel Stanley 3 | Date: Thu, 25 Oct 2018 15:18:56 +1030 4 | Subject: [PATCH] init: Only print shutdown messages to log 5 | 6 | We disable them from appearing on the console so users are not confused 7 | as the system kexec's to the next kernel. This suppresses these 8 | messages: 9 | 10 | The system is going down NOW! 11 | Sent SIGTERM to all processes 12 | Sent SIGKILL to all processes 13 | 14 | Signed-off-by: Joel Stanley 15 | --- 16 | init/init.c | 6 +++--- 17 | 1 file changed, 3 insertions(+), 3 deletions(-) 18 | 19 | diff --git a/init/init.c b/init/init.c 20 | index efab5dcb44c0..afac0fd7dee5 100644 21 | --- a/init/init.c 22 | +++ b/init/init.c 23 | @@ -762,16 +762,16 @@ static void run_shutdown_and_kill_processes(void) 24 | * shut things down gracefully... */ 25 | run_actions(SHUTDOWN); 26 | 27 | - message(L_CONSOLE | L_LOG, "The system is going down NOW!"); 28 | + message(L_LOG, "The system is going down NOW!"); 29 | 30 | /* Send signals to every process _except_ pid 1 */ 31 | kill(-1, SIGTERM); 32 | - message(L_CONSOLE, "Sent SIG%s to all processes", "TERM"); 33 | + message(L_LOG, "Sent SIG%s to all processes", "TERM"); 34 | sync(); 35 | sleep1(); 36 | 37 | kill(-1, SIGKILL); 38 | - message(L_CONSOLE, "Sent SIG%s to all processes", "KILL"); 39 | + message(L_LOG, "Sent SIG%s to all processes", "KILL"); 40 | sync(); 41 | /*sleep1(); - callers take care about making a pause */ 42 | } 43 | -- 44 | 2.32.0 45 | 46 | -------------------------------------------------------------------------------- /openpower/custom/patches/dtc/dtc-0001-sort-unit-addresses-by-number.patch: -------------------------------------------------------------------------------- 1 | Date: Tue, 21 Jan 2014 13:49:35 +1100 2 | From: Anton Blanchard 3 | Subject: [PATCH] dtc: Sort unit addresses by number 4 | 5 | The sort option in dtc treats unit addresses as strings. This causes 6 | cpu nodes to end up out of order: 7 | 8 | # dtc -s -I fs -O dts /proc/device-tree | grep PowerPC,POWER7 9 | 10 | PowerPC,POWER7@30 { 11 | PowerPC,POWER7@68 { 12 | PowerPC,POWER7@70 { 13 | PowerPC,POWER7@828 { 14 | PowerPC,POWER7@860 { 15 | PowerPC,POWER7@868 { 16 | PowerPC,POWER7@8a0 { 17 | PowerPC,POWER7@8b0 { 18 | PowerPC,POWER7@8f0 { 19 | PowerPC,POWER7@a0 { 20 | PowerPC,POWER7@a8 { 21 | PowerPC,POWER7@e0 { 22 | 23 | If we use this device tree for a kexec boot we end up with a confusing 24 | layout of logical CPUs: 25 | 26 | node 0 cpus: 0-23 72-95 27 | node 0 size: 32633 MB 28 | 29 | node 1 cpus: 24-71 30 | node 1 size: 32631 MB 31 | 32 | The reason for this is that we allocate logical CPU ids as we walk 33 | through the device tree. 34 | 35 | In cmp_subnode, if both nodes have a hex unit address and the 36 | basenames match, then compare by number. 37 | 38 | This fixes the issue: 39 | 40 | # dtc -s -I fs -O dts /proc/device-tree | grep PowerPC,POWER7 41 | PowerPC,POWER7@30 { 42 | PowerPC,POWER7@68 { 43 | PowerPC,POWER7@70 { 44 | PowerPC,POWER7@a0 { 45 | PowerPC,POWER7@a8 { 46 | PowerPC,POWER7@e0 { 47 | PowerPC,POWER7@828 { 48 | PowerPC,POWER7@860 { 49 | PowerPC,POWER7@868 { 50 | PowerPC,POWER7@8a0 { 51 | PowerPC,POWER7@8b0 { 52 | PowerPC,POWER7@8f0 { 53 | 54 | And the CPU layout is as expected: 55 | 56 | node 0 cpus: 0-47 57 | node 0 size: 32633 MB 58 | 59 | node 1 cpus: 48-95 60 | node 1 size: 32631 MB 61 | 62 | Signed-off-by: Anton Blanchard 63 | -- 64 | 65 | Index: b/livetree.c 66 | =================================================================== 67 | --- a/livetree.c 68 | +++ b/livetree.c 69 | @@ -656,12 +656,38 @@ static void sort_properties(struct node 70 | free(tbl); 71 | } 72 | 73 | +static bool is_hex(const char *str) 74 | +{ 75 | + while (*str) { 76 | + if (!isxdigit(*str++)) 77 | + return false; 78 | + } 79 | + 80 | + return true; 81 | +} 82 | + 83 | static int cmp_subnode(const void *ax, const void *bx) 84 | { 85 | - const struct node *a, *b; 86 | + struct node *a, *b; 87 | + const char *a_unit, *b_unit; 88 | + 89 | + a = *((struct node * const *)ax); 90 | + b = *((struct node * const *)bx); 91 | + 92 | + a_unit = get_unitname(a); 93 | + b_unit = get_unitname(b); 94 | + 95 | + /* Sort hex unit addresses by number */ 96 | + if (a_unit && b_unit && (a->basenamelen == b->basenamelen) && 97 | + !strncmp(a->name, b->name, a->basenamelen) && 98 | + is_hex(a_unit) && is_hex(b_unit)) { 99 | + unsigned long long a_num, b_num; 100 | + 101 | + a_num = strtoull(a_unit, NULL, 16); 102 | + b_num = strtoull(b_unit, NULL, 16); 103 | 104 | - a = *((const struct node * const *)ax); 105 | - b = *((const struct node * const *)bx); 106 | + return (a_num > b_num) - (a_num < b_num); 107 | + } 108 | 109 | return strcmp(a->name, b->name); 110 | } 111 | -------------------------------------------------------------------------------- /openpower/device_table.txt: -------------------------------------------------------------------------------- 1 | # See package/makedevs/README for details 2 | # 3 | # This device table is used to assign proper ownership and permissions 4 | # on various files. It doesn't create any device file, as it is used 5 | # in both static device configurations (where /dev/ is static) and in 6 | # dynamic configurations (where devtmpfs, mdev or udev are used). 7 | # 8 | # 9 | /dev d 755 0 0 - - - - - 10 | /tmp d 1777 0 0 - - - - - 11 | /etc d 755 0 0 - - - - - 12 | /root d 700 0 0 - - - - - 13 | /var/www d 755 33 33 - - - - - 14 | /etc/shadow f 600 0 0 - - - - - 15 | /etc/passwd f 644 0 0 - - - - - 16 | /etc/network/if-up.d d 755 0 0 - - - - - 17 | /etc/network/if-pre-up.d d 755 0 0 - - - - - 18 | /etc/network/if-down.d d 755 0 0 - - - - - 19 | /etc/network/if-post-down.d d 755 0 0 - - - - - 20 | # uncomment this to allow starting x as non-root 21 | #/usr/X11R6/bin/Xfbdev f 4755 0 0 - - - - - 22 | -------------------------------------------------------------------------------- /openpower/external.desc: -------------------------------------------------------------------------------- 1 | name: OP_BUILD 2 | desc: The OpenPower Firmware build environment 3 | -------------------------------------------------------------------------------- /openpower/external.mk: -------------------------------------------------------------------------------- 1 | # OpenPower Toolchain 2 | include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/toolchain/*/*.mk)) 3 | 4 | # OpenPower Packages 5 | include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/package/*.mk)) 6 | include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/package/*/*.mk)) 7 | 8 | # Utilize user-defined custom directory. 9 | include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/*.mk)) 10 | BR2_GLOBAL_PATCH_DIR += "$(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches" 11 | -------------------------------------------------------------------------------- /openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Brian King 3 | Date: Wed, 25 Oct 2017 10:42:59 +1100 4 | Subject: [PATCH 1/2] xhci: Reset controller on xhci shutdown 5 | 6 | Fixes kexec boot. Without a hard reset, some USB chips will fail to 7 | initialize in a kexec booted kernel. 8 | 9 | Signed-off-by: Brian King 10 | Signed-off-by: Samuel Mendoza-Jonas 11 | Signed-off-by: Joel Stanley 12 | --- 13 | drivers/usb/host/xhci.c | 3 +++ 14 | 1 file changed, 3 insertions(+) 15 | 16 | diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c 17 | index 473b0b64dd57..ca0c642ce935 100644 18 | --- a/drivers/usb/host/xhci.c 19 | +++ b/drivers/usb/host/xhci.c 20 | @@ -812,6 +812,9 @@ void xhci_shutdown(struct usb_hcd *hcd) 21 | xhci_dbg_trace(xhci, trace_xhci_dbg_init, 22 | "xhci_shutdown completed - status = %x", 23 | readl(&xhci->op_regs->status)); 24 | + 25 | + /* TI XHCI controllers do not come back after kexec without this hack */ 26 | + pci_reset_function_locked(to_pci_dev(hcd->self.sysdev)); 27 | } 28 | EXPORT_SYMBOL_GPL(xhci_shutdown); 29 | -------------------------------------------------------------------------------- /openpower/linux/0002-Release-OpenPower-kernel.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Joel Stanley 3 | Date: Thu, 15 Jul 2021 17:21:55 +0930 4 | Subject: [PATCH 2/2] Release OpenPower kernel 5 | 6 | Signed-off-by: Joel Stanley 7 | --- 8 | Makefile | 2 +- 9 | 1 file changed, 1 insertion(+), 1 deletion(-) 10 | 11 | diff --git a/Makefile b/Makefile 12 | index 92accf2ddc08..18dcc81a67e4 100644 13 | --- a/Makefile 14 | +++ b/Makefile 15 | @@ -2,7 +2,7 @@ 16 | VERSION = 5 17 | PATCHLEVEL = 10 18 | SUBLEVEL = 223 19 | -EXTRAVERSION = 20 | +EXTRAVERSION = -openpower1 21 | NAME = Dare mighty things 22 | 23 | # *DOCUMENTATION* 24 | -------------------------------------------------------------------------------- /openpower/overlay/bin/msglog: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec cat /sys/firmware/opal/msglog 3 | -------------------------------------------------------------------------------- /openpower/overlay/etc/fstab: -------------------------------------------------------------------------------- 1 | # 2 | /dev/root / ext2 rw,noauto 0 1 3 | proc /proc proc defaults 0 0 4 | devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 5 | tmpfs /dev/shm tmpfs mode=0777 0 0 6 | sysfs /sys sysfs defaults 0 0 7 | securityfs /sys/kernel/security securityfs defaults 0 0 8 | -------------------------------------------------------------------------------- /openpower/overlay/etc/init.d/S10udev: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # udev This is a minimal non-LSB version of a UDEV startup script. It 4 | # was derived by stripping down the udev-058 LSB version for use 5 | # with buildroot on embedded hardware using Linux 2.6.34+ kernels. 6 | # 7 | # You may need to customize this for your system's resource limits 8 | # (including startup time!) and administration. For example, if 9 | # your early userspace has a custom initramfs or initrd you might 10 | # need /dev much earlier; or without hotpluggable busses (like USB, 11 | # PCMCIA, MMC/SD, and so on) your /dev might be static after boot. 12 | # 13 | # This script assumes your system boots right into the eventual root 14 | # filesystem, and that init runs this udev script before any programs 15 | # needing more device nodes than the bare-bones set -- /dev/console, 16 | # /dev/zero, /dev/null -- that's needed to boot and run this script. 17 | # 18 | 19 | # Check for missing binaries 20 | UDEV_BIN=/sbin/udevd 21 | test -x $UDEV_BIN || exit 5 22 | 23 | # Check for config file and read it 24 | UDEV_CONFIG=/etc/udev/udev.conf 25 | test -r $UDEV_CONFIG || exit 6 26 | . $UDEV_CONFIG 27 | 28 | case "$1" in 29 | start) 30 | printf "Populating ${udev_root:-/dev} using udev: " 31 | printf '\000\000\000\000' > /proc/sys/kernel/hotplug 32 | $UDEV_BIN -d || (echo "FAIL" && exit 1) 33 | udevadm trigger --type=subsystems --action=add 34 | udevadm trigger --type=devices --action=add 35 | echo "done" 36 | ;; 37 | stop) 38 | # Stop execution of events 39 | udevadm control --stop-exec-queue 40 | killall udevd 41 | ;; 42 | *) 43 | echo "Usage: $0 {start|stop}" 44 | exit 1 45 | ;; 46 | esac 47 | 48 | 49 | exit 0 50 | -------------------------------------------------------------------------------- /openpower/overlay/etc/init.d/S17udevsettle: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case "$1" in 3 | start) 4 | udevadm settle --timeout=30 || echo "udevadm settle failed" 5 | ;; 6 | *) 7 | exit 1;; 8 | esac 9 | 10 | exit 0 11 | -------------------------------------------------------------------------------- /openpower/overlay/etc/init.d/S18lvm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$1" in 4 | start) 5 | logger "Scanning for LVM volumes" 6 | /usr/sbin/vgscan 7 | /usr/sbin/vgchange -ay 8 | ;; 9 | stop) 10 | logger "Stopping LVM volumes" 11 | /usr/sbin/vgchange -an 12 | ;; 13 | restart|force-reload) 14 | ;; 15 | esac 16 | 17 | exit 0 18 | -------------------------------------------------------------------------------- /openpower/overlay/etc/init.d/S99signal-linux-complete: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright © 2020 Stewart Smith 4 | # Released under the GNU GPL v3 5 | 6 | COMPAT_NODE=/sys/bus/platform/devices/ibm,opal:oppanel/of_node/compatible 7 | 8 | case "$1" in 9 | start) 10 | # Only talk to the rcs,ipl-observer device this way 11 | # it's a little bit of a hack, but it's functionally 12 | # equivalent to the Raptor build but not relying on debugfs 13 | grep rcs,ipl-observer $COMPAT_NODE > /dev/null \ 14 | && printf '\xfe\xfe\xfe' > /dev/op_panel 15 | ;; 16 | esac 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /openpower/overlay/etc/inittab: -------------------------------------------------------------------------------- 1 | # /etc/inittab 2 | # 3 | # Copyright (C) 2001 Erik Andersen 4 | # 5 | # Note: BusyBox init doesn't support runlevels. The runlevels field is 6 | # completely ignored by BusyBox init. If you want runlevels, use 7 | # sysvinit. 8 | # 9 | # Format for each entry: ::: 10 | # 11 | # id == tty to run on, or empty for /dev/console 12 | # runlevels == ignored 13 | # action == one of sysinit, respawn, askfirst, wait, and once 14 | # process == program to run 15 | 16 | # Startup the system 17 | null::sysinit:/bin/mount -t proc proc /proc 18 | null::sysinit:/bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW 19 | null::sysinit:/bin/mkdir -p /dev/pts 20 | null::sysinit:/bin/mkdir -p /dev/shm 21 | null::sysinit:/bin/mount -a 22 | null::sysinit:/bin/hostname -F /etc/hostname 23 | # now run any rc scripts 24 | null::sysinit:/etc/init.d/rcS 25 | 26 | # Stuff to do for the 3-finger salute 27 | ::ctrlaltdel:/sbin/reboot 28 | 29 | # Stuff to do before rebooting 30 | null::shutdown:/etc/init.d/rcK 31 | null::shutdown:/bin/umount -a -r 32 | null::shutdown:/sbin/swapoff -a 33 | 34 | null::restart:/usr/sbin/kexec-restart 35 | -------------------------------------------------------------------------------- /openpower/overlay/etc/locale: -------------------------------------------------------------------------------- 1 | LANG=en_US.utf8 2 | -------------------------------------------------------------------------------- /openpower/overlay/etc/sudoers: -------------------------------------------------------------------------------- 1 | root ALL=(ALL) ALL 2 | %wheel ALL=(ALL) ALL 3 | Defaults targetpw 4 | Defaults timestamp_timeout=1 5 | -------------------------------------------------------------------------------- /openpower/overlay/lib/udev/rules.d/11-dm-lvm.rules: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 Red Hat, Inc. All rights reserved. 2 | # 3 | # This file is part of LVM2. 4 | 5 | # Udev rules for LVM. 6 | # 7 | # These rules create symlinks for LVM logical volumes in 8 | # /dev/VG directory (VG is an actual VG name). Some udev 9 | # environment variables are set (they can be used in later 10 | # rules as well): 11 | # DM_LV_NAME - logical volume name 12 | # DM_VG_NAME - volume group name 13 | # DM_LV_LAYER - logical volume layer (blank if not set) 14 | 15 | # "add" event is processed on coldplug only! 16 | ACTION!="add|change", GOTO="lvm_end" 17 | ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="lvm_end" 18 | ENV{DM_UUID}!="LVM-?*", GOTO="lvm_end" 19 | 20 | # Use DM name and split it up into its VG/LV/layer constituents. 21 | IMPORT{program}="/usr/sbin/dmsetup splitname --nameprefixes --noheadings --rows $env{DM_NAME}" 22 | 23 | # DM_SUBSYSTEM_UDEV_FLAG0 is the 'NOSCAN' flag for LVM subsystem. 24 | # This flag is used to temporarily disable selected rules to prevent any 25 | # processing or scanning done on the LVM volume before LVM has any chance 26 | # to zero any stale metadata found within the LV data area. Such stale 27 | # metadata could cause false claim of the LV device, keeping it open etc. 28 | # 29 | # If the NOSCAN flag is present, backup selected existing flags used to 30 | # disable rules, then set them firmly so those selected rules are surely skipped. 31 | # Restore these flags once the NOSCAN flag is dropped (which is normally any 32 | # uevent that follows for this LV, even an artificially generated one). 33 | ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_NOSCAN}="1", ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="$env{DM_UDEV_DISABLE_OTHER_RULES_FLAG}", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" 34 | ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", IMPORT{db}="DM_NOSCAN", IMPORT{db}="DM_DISABLE_OTHER_RULES_FLAG_OLD" 35 | ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="$env{DM_DISABLE_OTHER_RULES_FLAG_OLD}", \ 36 | ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="", ENV{DM_NOSCAN}="" 37 | 38 | ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end" 39 | 40 | OPTIONS+="event_timeout=180" 41 | 42 | # Do not create symlinks for inappropriate subdevices. 43 | ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable" 44 | ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable" 45 | 46 | # Create symlinks for top-level devices only. 47 | ENV{DM_VG_NAME}=="?*", ENV{DM_LV_NAME}=="?*", SYMLINK+="$env{DM_VG_NAME}/$env{DM_LV_NAME}", GOTO="lvm_end" 48 | 49 | LABEL="lvm_disable" 50 | ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="1" 51 | ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" 52 | OPTIONS:="nowatch" 53 | 54 | LABEL="lvm_end" 55 | -------------------------------------------------------------------------------- /openpower/overlay/lib/udev/rules.d/13-dm-disk.rules: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 Red Hat, Inc. All rights reserved. 2 | # 3 | # This file is part of LVM2. 4 | 5 | # Udev rules for device-mapper devices. 6 | # 7 | # These rules create symlinks in /dev/disk directory. 8 | # Symlinks that depend on probing filesystem type, 9 | # label and uuid are created only if the device is not 10 | # suspended. 11 | 12 | # "add" event is processed on coldplug only! 13 | ACTION!="add|change", GOTO="dm_end" 14 | ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_end" 15 | ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end" 16 | 17 | SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}" 18 | ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}" 19 | 20 | ENV{DM_SUSPENDED}=="1", GOTO="dm_end" 21 | ENV{DM_NOSCAN}=="1", GOTO="dm_watch" 22 | 23 | IMPORT{builtin}="blkid" 24 | ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100" 25 | ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" 26 | ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" 27 | 28 | # Add inotify watch to track changes on this device. 29 | # Using the watch rule is not optimal - it generates a lot of spurious 30 | # and useless events whenever the device opened for read-write is closed. 31 | # The best would be to generete the event directly in the tool changing 32 | # relevant information so only relevant events will be processed 33 | # (like creating a filesystem, changing filesystem label etc.). 34 | # 35 | # But let's use this until we have something better... 36 | LABEL="dm_watch" 37 | OPTIONS+="watch" 38 | 39 | LABEL="dm_end" 40 | -------------------------------------------------------------------------------- /openpower/overlay/lib/udev/rules.d/95-dm-notify.rules: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 Red Hat, Inc. All rights reserved. 2 | # 3 | # This file is part of LVM2. 4 | 5 | # Udev rules for device-mapper devices. 6 | # 7 | # These rules are responsible for sending a notification to a process 8 | # waiting for completion of udev rules. The process is identified by 9 | # a cookie value sent within "change" and "remove" events (the cookie 10 | # value is set before by that process for every action requested). 11 | 12 | ENV{DM_COOKIE}=="?*", RUN+="/usr/sbin/dmsetup udevcomplete $env{DM_COOKIE}" 13 | -------------------------------------------------------------------------------- /openpower/package/Config.in: -------------------------------------------------------------------------------- 1 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/alternate-binutils/Config.in" 2 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/alternate-gcc/Config.in" 3 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-ffs/Config.in" 4 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot/Config.in" 5 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-binaries/Config.in" 6 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/machine-xml/Config.in" 7 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor/Config.in" 8 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/petitboot/Config.in" 9 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hcode/Config.in" 10 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ/Config.in" 11 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/capp-ucode/Config.in" 12 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/skiboot/Config.in" 13 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/libflash/Config.in" 14 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/loadkeys/Config.in" 15 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ima-catalog/Config.in" 16 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sbe/Config.in" 17 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sb-signing-utils/Config.in" 18 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sb-signing-framework/Config.in" 19 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ocmb-explorer-fw/Config.in" 20 | -------------------------------------------------------------------------------- /openpower/package/VERSION.readme: -------------------------------------------------------------------------------- 1 | #### Version String Readme #### 2 | 3 | ## Customrc ## 4 | 5 | Create a file at the top level of op-build called 'customrc' 6 | to specify custom $(OPBUILD_VENDOR), $(OPBUILD_PLATFORM), and $(OPBUILD_VERSION). 7 | 8 | Example: 9 | #!/bin/sh 10 | #export OPBUILD_VENDOR=IBM 11 | #export OPBUILD_PLATFORM=plat-ibm 12 | #export OPBUILD_VERSION=v-1.0.1 13 | 14 | ## Op-build Commands ## 15 | 16 | # Display subpackage version 17 | op-build $(package)-version 18 | 19 | # Display entire pnor version 20 | op-build openpower-pnor-version 21 | 22 | # Force a rebuild of a subpackage version 23 | op-build $(package)-build-version 24 | 25 | # Force a rebuild of all subpackage versions 26 | op-build openpower-pnor-build-version-all 27 | 28 | ## Version String (ASCII) ## 29 | 30 | General: 31 | $(op-build)\n 32 | \t$(subpackage0)\n 33 | \t$(subpackage1)\n 34 | \0 35 | 36 | ## Version String Details ## 37 | 38 | $(op-build): 39 | - Clean 40 | + $(vendor)-$(platform)-$(op-version) 41 | - Dirty. 42 | + $(vendor)-$(platform)-$(gitcommit+dirty) 43 | $(sub-package): 44 | - Directly upstream, no patches, op-build clean. 45 | + $(package)-$(version) 46 | - Directly upstream, no patches, op-build dirty. 47 | + $(package)-$(version)-$(op-dirty) 48 | - Directly upstream, op-build patches, op-build clean 49 | + $(package)-$(version)-$(patch-level) 50 | - Directly upstream, op-build patches, op-build dirty. 51 | + $(package)-$(version)-$(op-dirty)-$(patch-level) 52 | - SITE=local 53 | + $(package)-site_local-$(user)-$(gitcommit+dirty) 54 | 55 | ## Variable Details ## 56 | 57 | - $(vendor) = $(OPBUILD_VENDOR) or 'open-power'. 58 | - $(platform) = $(OPBUILD_PLATFORM) or defconfig 59 | + Order $(OPBUILD_PLATFORM), defconfig 60 | - $(op-version) = git tag or first 7 characters of commit or $(OPBUILD_VERSION) or 'unknown'. 61 | + Order $(OPBUILD_VERSION), tag, commit, unknown 62 | - **$(gitcommit+dirty) = abcd123 or abcd123-dirty or 'unknown' 63 | - $(version) = git tag or first 7 characters of commit 64 | - $(user) = `whoami` 65 | - **$(op-dirty) = opdirty or 'unknown' 66 | - $(patch-level) = $(first 7 characters of 'sha512sum *.patch | sha512sum') 67 | + the output of this gives us a quick way to check all the patches with one string 68 | 69 | ** Indicates possible unknown case when source downloaded versus git clone due to git commands required 70 | 71 | ## Sub Packages ## 72 | 73 | Current sub packages included in openpower-pnor.mk $(OPENPOWER_VERSIONED_SUBPACKAGES) 74 | 75 | - skiboot 76 | - hostboot 77 | - petitboot kernel 78 | - petitboot 79 | - $(platform)-xml 80 | - occ 81 | - hostboot-binaries 82 | - capp-ucode 83 | 84 | ## PNOR section ## 85 | 86 | - There is one version PNOR section per side 87 | - Each is one page w/o ECC so 4K 88 | - The data in the section will just be ASCII 89 | 90 | ## Op-build Command Examples ## 91 | 92 | cmd> op-build openpower-pnor-version 93 | === OPENPOWER_PNOR_VERSION === 94 | IBM-plat-ibm-v-1.2.3-dirty 95 | hostboot-3593853-99cca2b 96 | occ-cc8376d 97 | skiboot-9a3f68b-7c66ab4 98 | hostboot-binaries-e3c9356 99 | habanero-xml-4c1e936 100 | capp-ucode-d4b2683 101 | 102 | cmd> op-build hostboot-version 103 | === HOSTBOOT_VERSION === 104 | hostboot-3593853-opdirty-99cca2b 105 | 106 | If a version does not already exist, the commands to make one will be run. 107 | Additionally you can force with op-build $(package)-build-version 108 | 109 | cmd> op-build hostboot-version (or op-build hostboot-build-version) 110 | === HOSTBOOT_VERSION === 111 | Searching for patches... 112 | op-build/openpower/package/hostboot/hostboot-0001-Increase-uart-delay.patch 113 | op-build/openpower/package/hostboot/hostboot-0002-Disable-centaur-memory-throttle.patch 114 | op-build/openpower/package/hostboot/hostboot-0003-GCC-4.9-Make-compiler-use-ELFv1-ABI-and-use-O2.patch 115 | op-build/openpower/package/hostboot/hostboot-0004-Revert-SW294127-INITPROC-FSP-Hostboot-fast-exit-powe.patch 116 | op-build/openpower/package/hostboot/hostboot-0005-Disable-SPD-writes-workaround-for-DRAM-repairs-error.patch 117 | op-build/openpower/package/hostboot/hostboot-0006-Runtime-fixes-for-IPMI.patch 118 | op-build/openpower/package/hostboot/hostboot-0007-Update-DIMM_TEMP-Sensor-Enum.patch 119 | op-build/openpower/package/hostboot/hostboot-0008-mss-thermal-init-SW297647.patch 120 | op-build/openpower/package/hostboot/hostboot-0009-Sel-instead-of-eSel.patch 121 | op-build/openpower/package/hostboot/hostboot-0010-Reset-occ-when-fails-to-activate.patch 122 | op-build/openpower/package/hostboot/hostboot-0011-eRepair-MBVPD-size-check-for-CDIMM-and-ISDIMM.patch 123 | End of patches... 124 | Creating version string (various output may display)... 125 | heads/pnor_version-dirty 126 | End creating version string... 127 | version: hostboot-3593853-99cca2b 128 | -------------------------------------------------------------------------------- /openpower/package/alternate-binutils/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_ALTERNATE_BINUTILS 2 | bool "alternate-binutils" 3 | select BR2_CPP 4 | help 5 | Build Binutils for an Alternate Toolchain, for use in 6 | certain packages 7 | 8 | if BR2_PACKAGE_ALTERNATE_BINUTILS 9 | 10 | config BR2_ALTERNATE_BINUTILS_VERSION 11 | string "Alternate Toolchain Binutils Version" 12 | default "2.31.1" 13 | 14 | config BR2_ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS 15 | string "Extra configure options for Alternate Toolchain binutils" 16 | default BR2_BINUTILS_EXTRA_CONFIG_OPTIONS 17 | help 18 | Any extra options to the Alternate Toolchain's binutils 19 | configure script. The default is taken from 20 | BINUTILS_EXTRA_CONFIG_OPTIONS 21 | 22 | endif 23 | -------------------------------------------------------------------------------- /openpower/package/alternate-binutils/alternate-binutils.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # alternate-binutils 4 | # 5 | ################################################################################ 6 | 7 | # 8 | # Based on buildroot/package/binutils/binutils.mk 9 | # 10 | 11 | ALTERNATE_BINUTILS_VERSION = $(call qstrip,$(BR2_ALTERNATE_BINUTILS_VERSION)) 12 | ALTERNATE_BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils 13 | ALTERNATE_BINUTILS_SOURCE ?= binutils-$(ALTERNATE_BINUTILS_VERSION).tar.xz 14 | 15 | ALTERNATE_BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) 16 | ALTERNATE_BINUTILS_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) 17 | ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS)) 18 | ALTERNATE_BINUTILS_CONF_ENV += MAKEINFO=true 19 | ALTERNATE_BINUTILS_MAKE_OPTS += MAKEINFO=true 20 | BINUTILS_INSTALL_OPTS += MAKEINFO=true install 21 | 22 | ifeq ($(BR2_PACKAGE_ZLIB),y) 23 | ALTERNATE_BINUTILS_DEPENDENCIES += zlib 24 | endif 25 | 26 | HOST_ALTERNATE_BINUTILS_CONF_OPTS = \ 27 | --disable-multilib \ 28 | --disable-werror \ 29 | --prefix="$(HOST_DIR)/alternate-toolchain" \ 30 | --target=$(GNU_TARGET_NAME) \ 31 | --disable-shared \ 32 | --enable-static \ 33 | --with-sysroot=$(STAGING_DIR) \ 34 | --enable-poison-system-directories \ 35 | $(ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS) 36 | 37 | ALTERNATE_BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS) 38 | 39 | define ALTERNATE_BINUTILS_INSTALL_HOST_CMDS 40 | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR="$(HOST_DIR)/alternate-toolchain" install 41 | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR="$(HOST_DIR)/alternate-toolchain" install 42 | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR="$(HOST_DIR)/alternate-toolchain" install 43 | endef 44 | 45 | ALTERNATE_BINUTILS_TOOLS = ar as ld ld.bfd nm objcopy objdump ranlib readelf strip 46 | define HOST_ALTERNATE_BINUTILS_FIXUP_HARDLINKS 47 | $(foreach tool,$(ALTERNATE_BINUTILS_TOOLS),\ 48 | rm -f $(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin/$(tool) && \ 49 | cp -a $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)-$(tool) \ 50 | $(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin/$(tool) 51 | ) 52 | endef 53 | HOST_ALTERNATE_BINUTILS_POST_INSTALL_HOOKS += HOST_ALTERNATE_BINUTILS_FIXUP_HARDLINKS 54 | 55 | $(eval $(host-autotools-package)) 56 | 57 | -------------------------------------------------------------------------------- /openpower/package/alternate-gcc/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_ALTERNATE_GCC 2 | bool "alternate-gcc" 3 | select BR2_PACKAGE_ALTERNATE_BINUTILS 4 | help 5 | Build gcc for an Alternate Toolchain, for use in 6 | certain packages. 7 | 8 | 9 | if BR2_PACKAGE_ALTERNATE_GCC 10 | 11 | config BR2_ALTERNATE_GCC_VERSION 12 | string "Alternate gcc version" 13 | default "8.4.0" 14 | 15 | config BR2_ALTERNATE_GCC_EXTRA_CONFIG_OPTIONS 16 | string "Extra configure options for Alternate Toolchain GCC" 17 | default BR2_EXTRA_GCC_CONFIG_OPTIONS 18 | help 19 | Any extra options to the Alternate Toolchain's gcc configure script 20 | The default is taken from EXTRA_GCC_CONFIG_OPTIONS 21 | 22 | endif 23 | -------------------------------------------------------------------------------- /openpower/package/alternate-gcc/alternate-gcc.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # alternate-gcc 4 | # 5 | ################################################################################ 6 | 7 | # 8 | # Based on buildroot/package/gcc/*.mk, but trying to simplify since we're not 9 | # (yet) going for a general scenario here 10 | # 11 | 12 | ALTERNATE_GCC_VERSION = $(call qstrip,$(BR2_ALTERNATE_GCC_VERSION)) 13 | ALTERNATE_GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(ALTERNATE_GCC_VERSION) 14 | ALTERNATE_GCC_SOURCE = gcc-$(ALTERNATE_GCC_VERSION).tar.xz 15 | 16 | HOST_ALTERNATE_GCC_SUBDIR = build 17 | 18 | HOST_ALTERNATE_GCC_DEPENDENCIES = \ 19 | host-alternate-binutils \ 20 | host-gmp \ 21 | host-mpc \ 22 | host-mpfr \ 23 | $(BR_LIBC) 24 | 25 | HOST_ALTERNATE_GCC_EXCLUDES = \ 26 | libjava/* libgo/* 27 | 28 | define HOST_ALTERNATE_GCC_CONFIGURE_SYMLINK 29 | mkdir -p $(@D)/build 30 | ln -sf ../configure $(@D)/build/configure 31 | endef 32 | 33 | HOST_ALTERNATE_GCC_CONF_OPTS += \ 34 | $(call qstrip,$(BR2_ALTERNATE_GCC_EXTRA_CONFIG_OPTIONS)) 35 | 36 | define HOST_ALTERNATE_GCC_CONFIGURE_CMDS 37 | (cd $(HOST_ALTERNATE_GCC_SRCDIR) && rm -rf config.cache; \ 38 | CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ 39 | CXXFLAGS_FOR_TARGET="$(TARGET_CXXFLAGS)" \ 40 | CFLAGS="$(HOST_CFLAGS)" \ 41 | LDFLAGS="$(HOST_LDFLAGS)" \ 42 | MAKEINFO=missing \ 43 | ./configure \ 44 | --prefix="$(HOST_DIR)/alternate-toolchain" \ 45 | --enable-static \ 46 | --target=$(GNU_TARGET_NAME) \ 47 | --with-sysroot=$(STAGING_DIR) \ 48 | --enable-__cxa_atexit \ 49 | --with-gnu-ld \ 50 | --disable-libssp \ 51 | --disable-multilib \ 52 | --disable-decimal-float \ 53 | --with-gmp=$(HOST_DIR) \ 54 | --with-mpc=$(HOST_DIR) \ 55 | --with-mpfr=$(HOST_DIR) \ 56 | --enable-languages="c,c++" \ 57 | --with-build-time-tools=$(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin \ 58 | --enable-shared \ 59 | $(QUIET) $(HOST_ALTERNATE_GCC_CONF_OPTS) \ 60 | ) 61 | endef 62 | 63 | HOST_ALTERNATE_GCC_PRE_CONFIGURE_HOOKS += HOST_ALTERNATE_GCC_CONFIGURE_SYMLINK 64 | 65 | $(eval $(host-autotools-package)) 66 | -------------------------------------------------------------------------------- /openpower/package/capp-ucode/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_CAPP_UCODE 2 | bool "capp_capp" 3 | default y if (BR2_OPENPOWER_PLATFORM) 4 | help 5 | Microcode for CAPP hardware 6 | 7 | config BR2_CAPP_UCODE_BIN_FILENAME 8 | string "Name of CAPP UCODE image file" 9 | help 10 | String used to define name of the CAPP UCODE binary image file 11 | -------------------------------------------------------------------------------- /openpower/package/capp-ucode/capp-ucode.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # capp-ucode.mk 4 | # 5 | ################################################################################ 6 | CAPP_UCODE_VERSION ?= p9-dd2-v4 7 | CAPP_UCODE_SITE ?= $(call github,open-power,capp-ucode,$(CAPP_UCODE_VERSION)) 8 | CAPP_UCODE_LICENSE = Apache-2.0 9 | CAPP_UCODE_LICENSE_FILES = NOTICES 10 | 11 | CAPP_UCODE_INSTALL_IMAGES = YES 12 | 13 | define CAPP_UCODE_BUILD_CMDS 14 | cd $(@D) && ./build.sh 15 | endef 16 | 17 | define CAPP_UCODE_INSTALL_IMAGES_CMDS 18 | $(INSTALL) $(@D)/cappucode.bin $(BINARIES_DIR) 19 | endef 20 | 21 | $(eval $(generic-package)) 22 | -------------------------------------------------------------------------------- /openpower/package/hcode/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HCODE 2 | bool "hcode" 3 | default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9) 4 | depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 5 | select BR2_CPP 6 | select BR2_PACKAGE_HOSTBOOT_BINARIES 7 | help 8 | Project to build the hcode firmware codebase 9 | 10 | if BR2_PACKAGE_HCODE 11 | 12 | config BR2_HCODE_INCLUDE_IONV 13 | bool "Enables packaging of the NVIDIA GPU image into the final hw image" 14 | default y 15 | help 16 | Boolean used to flag whether to include NVIDIA GPU binary 17 | 18 | choice 19 | prompt "HCODE version" 20 | default BR2_HCODE_LATEST_VERSION 21 | 22 | config BR2_HCODE_LATEST_VERSION 23 | bool "Use latest HCODE master" 24 | 25 | config BR2_HCODE_CUSTOM_VERSION 26 | bool "Custom HCODE version" 27 | 28 | endchoice 29 | 30 | config BR2_HCODE_CUSTOM_VERSION_VALUE 31 | string "HCODE version" 32 | depends on BR2_HCODE_CUSTOM_VERSION 33 | 34 | config BR2_HCODE_VERSION 35 | string 36 | default "hw091323a.opmst" if BR2_HCODE_LATEST_VERSION 37 | default BR2_HCODE_CUSTOM_VERSION_VALUE \ 38 | if BR2_HCODE_CUSTOM_VERSION 39 | 40 | endif 41 | -------------------------------------------------------------------------------- /openpower/package/hcode/hcode.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # HCODE 4 | # 5 | ################################################################################ 6 | 7 | HCODE_VERSION = $(call qstrip,$(BR2_HCODE_VERSION)) 8 | HCODE_SITE = $(call github,open-power,hcode,$(HCODE_VERSION)) 9 | 10 | HCODE_LICENSE = Apache-2.0 11 | 12 | HCODE_INSTALL_IMAGES = YES 13 | HCODE_INSTALL_TARGET = NO 14 | 15 | HCODE_DEPENDENCIES = host-binutils host-ppe42-toolchain hostboot-binaries 16 | 17 | HW_IMAGE_BIN_PATH=output/images/hw_image 18 | HW_IMAGE_BIN=p9n.hw_image.bin 19 | HCODE_IMAGE_BIN = p9n.ref_image.bin 20 | 21 | HW_AXONE_IMAGE_BIN=p9a.hw_image.bin 22 | HCODE_AXONE_IMAGE_BIN = p9a.ref_image.bin 23 | 24 | CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) 25 | PPE_TOOL_PATH ?= $(CROSS_COMPILER_PATH) 26 | PPE_PREFIX ?= $(PPE_TOOL_PATH)/bin/powerpc-eabi- 27 | 28 | HCODE_ENV_VARS= CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hcode/$(BR2_HCODE_CONFIG_FILE) \ 29 | LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib OPENPOWER_BUILD=1\ 30 | CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) PPE_TOOL_PATH=$(CROSS_COMPILER_PATH) \ 31 | PPE_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \ 32 | RINGFILEPATH=$(STAGING_DIR)/hostboot_binaries __EKB_PREFIX=$(CXXPATH) \ 33 | CONFIG_IONV_FILE_LOCATION=$(STAGING_DIR)/hostboot_binaries/$(BR2_HOSTBOOT_BINARY_IONV_FILENAME) \ 34 | CONFIG_INCLUDE_IONV=$(BR2_HCODE_INCLUDE_IONV) 35 | 36 | define HCODE_INSTALL_IMAGES_CMDS 37 | mkdir -p $(STAGING_DIR)/hcode 38 | $(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_IMAGE_BIN) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN) 39 | $(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_AXONE_IMAGE_BIN) $(STAGING_DIR)/hcode/$(HCODE_AXONE_IMAGE_BIN) 40 | endef 41 | 42 | define HCODE_BUILD_CMDS 43 | $(HCODE_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE) ' 44 | endef 45 | 46 | $(eval $(generic-package)) 47 | -------------------------------------------------------------------------------- /openpower/package/hostboot-binaries/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOSTBOOT_BINARIES 2 | bool "hostboot_binaries" 3 | default y if (BR2_OPENPOWER_PLATFORM) 4 | help 5 | Project to stage hostboot binary images 6 | 7 | if BR2_PACKAGE_HOSTBOOT_BINARIES 8 | 9 | choice 10 | prompt "Hostboot-binaries version" 11 | default BR2_HOSTBOOT_BINARIES_LATEST_VERSION 12 | 13 | config BR2_HOSTBOOT_BINARIES_LATEST_VERSION 14 | bool "Use latest HOSTBOOT_BINARIES master" 15 | 16 | config BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION 17 | bool "Custom HOSTBOOT_BINARIES version" 18 | 19 | endchoice 20 | 21 | config BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION_VALUE 22 | string "HOSTBOOT_BINARIES version" 23 | depends on BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION 24 | 25 | config BR2_HOSTBOOT_BINARIES_VERSION 26 | string 27 | default "hw091323a.opmst" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION 28 | default BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION_VALUE \ 29 | if BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION 30 | 31 | endif 32 | -------------------------------------------------------------------------------- /openpower/package/hostboot-binaries/hostboot_binaries.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # hostboot_binaries 4 | # 5 | ################################################################################ 6 | 7 | 8 | HOSTBOOT_BINARIES_VERSION = $(call qstrip,$(BR2_HOSTBOOT_BINARIES_VERSION)) 9 | HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION)) 10 | 11 | HOSTBOOT_BINARIES_LICENSE = Apache-2.0 12 | HOSTBOOT_BINARIES_LICENSE_FILES = LICENSE 13 | 14 | HOSTBOOT_BINARIES_INSTALL_IMAGES = YES 15 | HOSTBOOT_BINARIES_INSTALL_TARGET = NO 16 | 17 | # Creating Install Commands specific to P9 18 | # -- P9 does not need the SBE files ('sbe' package is used in P9) 19 | # -- P9 uses the 'hcode' package to build the BR2_HOSTBOOT_BINARY_WINK_FILENAME 20 | 21 | ################################### 22 | # P9: 23 | ifeq ($(BR2_OPENPOWER_POWER9),y) 24 | 25 | NIMBUS_RING_FILE=p9n.hw.rings.bin 26 | NIMBUS_RING_OVERLAYS_FILE=p9n.hw.overlays.bin 27 | 28 | AXONE_RING_FILE=p9a.hw.rings.bin 29 | AXONE_RING_OVERLAYS_FILE=p9a.hw.overlays.bin 30 | 31 | 32 | define HOSTBOOT_BINARIES_INSTALL_IMAGES_CMDS 33 | $(INSTALL) -D $(@D)/cvpd.bin $(STAGING_DIR)/hostboot_binaries/cvpd.bin 34 | $(INSTALL) -D $(@D)/gpu_gpe1.bin $(STAGING_DIR)/hostboot_binaries/gpu_gpe1.bin 35 | $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_IONV_FILENAME) $(STAGING_DIR)/hostboot_binaries/ 36 | $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_SBEC_FILENAME) $(STAGING_DIR)/hostboot_binaries/ 37 | $(INSTALL) -D $(@D)/$(NIMBUS_RING_FILE) $(STAGING_DIR)/hostboot_binaries/ 38 | $(INSTALL) -D $(@D)/$(NIMBUS_RING_OVERLAYS_FILE) $(STAGING_DIR)/hostboot_binaries/ 39 | $(INSTALL) -D $(@D)/$(AXONE_RING_FILE) $(STAGING_DIR)/hostboot_binaries/ 40 | $(INSTALL) -D $(@D)/$(AXONE_RING_OVERLAYS_FILE) $(STAGING_DIR)/hostboot_binaries/ 41 | endef 42 | endif 43 | 44 | 45 | $(eval $(generic-package)) 46 | -------------------------------------------------------------------------------- /openpower/package/hostboot/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOSTBOOT 2 | bool "hostboot" 3 | default y if (BR2_OPENPOWER_POWER9) 4 | select BR2_CPP 5 | help 6 | Project to build the hostboot firmware codebase 7 | 8 | if BR2_PACKAGE_HOSTBOOT 9 | 10 | choice 11 | prompt "Hostboot version" 12 | default BR2_HOSTBOOT_LATEST_VERSION 13 | 14 | config BR2_HOSTBOOT_LATEST_VERSION 15 | bool "Use latest Hostboot master" 16 | 17 | config BR2_HOSTBOOT_CUSTOM_VERSION 18 | bool "Custom version" 19 | 20 | endchoice 21 | 22 | config BR2_HOSTBOOT_CUSTOM_VERSION_VALUE 23 | string "hostboot version" 24 | depends on BR2_HOSTBOOT_CUSTOM_VERSION 25 | 26 | config BR2_HOSTBOOT_VERSION 27 | string 28 | default "a4f1a47fc2b82825484606cd2b1ad9213e380290" if BR2_HOSTBOOT_LATEST_VERSION 29 | default BR2_HOSTBOOT_CUSTOM_VERSION_VALUE \ 30 | if BR2_HOSTBOOT_CUSTOM_VERSION 31 | 32 | config BR2_HOSTBOOT_CONFIG_FILE 33 | string "Hostboot configuration file for compilation" 34 | default default 35 | help 36 | String used to define hw specific make config file 37 | 38 | 39 | config BR2_HOSTBOOT_USE_ALTERNATE_GCC 40 | bool "use Alternate GCC to build hostboot" 41 | default n 42 | select BR2_PACKAGE_ALTERNATE_GCC 43 | help 44 | Select to enable using an alternate version of GCC 45 | to build hostboot. 46 | 47 | endif 48 | -------------------------------------------------------------------------------- /openpower/package/hostboot/hostboot.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # hostboot for POWER9 4 | # 5 | ################################################################################ 6 | 7 | HOSTBOOT_VERSION = $(call qstrip,$(BR2_HOSTBOOT_VERSION)) 8 | HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION)) 9 | 10 | HOSTBOOT_LICENSE = Apache-2.0 11 | HOSTBOOT_LICENSE_FILES = LICENSE 12 | HOSTBOOT_DEPENDENCIES = host-binutils 13 | 14 | HOSTBOOT_INSTALL_IMAGES = YES 15 | HOSTBOOT_INSTALL_TARGET = NO 16 | 17 | ifeq ($(BR2_HOSTBOOT_USE_ALTERNATE_GCC),y) 18 | HOSTBOOT_TARGET_CROSS = $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)- 19 | HOSTBOOT_BINUTILS_DIR = $(HOST_ALTERNATE_BINUTILS_DIR) 20 | HOSTBOOT_DEPENDENCIES = host-alternate-binutils host-alternate-gcc 21 | else 22 | HOSTBOOT_TARGET_CROSS = $(TARGET_CROSS) 23 | HOSTBOOT_BINUTILS_DIR = $(HOST_BINUTILS_DIR) 24 | HOSTBOOT_DEPENDENCIES = host-binutils 25 | endif 26 | 27 | HOSTBOOT_ENV_VARS=$(TARGET_MAKE_ENV) PERL_USE_UNSAFE_INC=1 \ 28 | CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_CONFIG_FILE) \ 29 | OPENPOWER_BUILD=1 CROSS_PREFIX="$(CCACHE) $(HOSTBOOT_TARGET_CROSS)" HOST_PREFIX="" \ 30 | HOST_BINUTILS_DIR=$(HOSTBOOT_BINUTILS_DIR) HOSTBOOT_VERSION=`cat $(HOSTBOOT_VERSION_FILE)` 31 | 32 | define HOSTBOOT_BUILD_CMDS 33 | $(HOSTBOOT_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE)' 34 | endef 35 | 36 | define HOSTBOOT_INSTALL_IMAGES_CMDS 37 | cd $(@D) && source ./env.bash && $(@D)/src/build/tools/hbDistribute --openpower $(STAGING_DIR)/hostboot_build_images/ 38 | endef 39 | 40 | $(eval $(generic-package)) 41 | -------------------------------------------------------------------------------- /openpower/package/ima-catalog/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_IMA_CATALOG 2 | bool "ima_catalog" 3 | default y if (BR2_OPENPOWER_PLATFORM) 4 | help 5 | Event Catalog for In Memory Accumulation(IMA) hardware 6 | 7 | config BR2_IMA_CATALOG_DTS 8 | string "Catalog DTS file to select" 9 | help 10 | String used to define the CATALOG dts file to select 11 | 12 | config BR2_IMA_CATALOG_FILENAME 13 | string "Name of Catalog Binary file" 14 | help 15 | String used to define name of the CATALOG binary image file 16 | -------------------------------------------------------------------------------- /openpower/package/ima-catalog/ima-catalog.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # ima-catalog.mk 4 | # 5 | ################################################################################ 6 | IMA_CATALOG_VERSION ?= 89e00ee3ef424b5ff49f4d89d609004ae863bf26 7 | IMA_CATALOG_SITE ?= $(call github,open-power,ima-catalog,$(IMA_CATALOG_VERSION)) 8 | IMA_CATALOG_LICENSE = Apache-2.0 9 | IMA_CATALOG_DEPENDENCIES = host-dtc host-xz 10 | 11 | IMA_CATALOG_INSTALL_IMAGES = YES 12 | IMA_CATALOG_INSTALL_TARGET = NO 13 | 14 | define IMA_CATALOG_BUILD_CMDS 15 | cd $(@D) && ./build.sh $(HOST_DIR)/usr/bin/ $(BR2_IMA_CATALOG_DTS) 16 | endef 17 | 18 | define IMA_CATALOG_INSTALL_IMAGES_CMDS 19 | $(INSTALL) $(@D)/$(BR2_IMA_CATALOG_FILENAME) $(BINARIES_DIR) 20 | endef 21 | 22 | $(eval $(generic-package)) 23 | -------------------------------------------------------------------------------- /openpower/package/libflash/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_LIBFLASH 2 | bool "libflash" 3 | depends on BR2_PACKAGE_SKIBOOT 4 | help 5 | Build libflash shared library 6 | 7 | config BR2_PACKAGE_PFLASH 8 | bool "pflash" 9 | default y if BR2_PACKAGE_LIBFLASH 10 | help 11 | Install pflash utility to target 12 | 13 | config BR2_PACKAGE_OPAL_GARD 14 | bool "opal-gard" 15 | default y if BR2_PACKAGE_LIBFLASH 16 | help 17 | Install opal-gard utility to target 18 | -------------------------------------------------------------------------------- /openpower/package/libflash/libflash.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # libflash - builds libflash libraries from skiboot source 4 | # 5 | ################################################################################ 6 | 7 | LIBFLASH_VERSION = $(call qstrip,$(BR2_SKIBOOT_VERSION)) 8 | 9 | ifeq ($(BR2_SKIBOOT_CUSTOM_GIT),y) 10 | LIBFLASH_SITE = $(call qstrip,$(BR2_SKIBOOT_CUSTOM_REPO_URL)) 11 | LIBFLASH_SITE_METHOD = git 12 | else 13 | LIBFLASH_SITE = $(call github,open-power,skiboot,$(LIBFLASH_VERSION)) 14 | endif 15 | 16 | LIBFLASH_INSTALL_STAGING = YES 17 | LIBFLASH_INSTALL_TARGET = YES 18 | LIBFLASH_DEPENDENCIES += skiboot 19 | 20 | LIBFLASH_LICENSE_FILES = LICENCE 21 | 22 | LIBFLASH_MAKE_OPTS += CC="$(TARGET_CC)" LD="$(TARGET_LD)" \ 23 | AS="$(TARGET_AS)" AR="$(TARGET_AR)" NM="$(TARGET_NM)" \ 24 | OBJCOPY="$(TARGET_OBJCOPY)" OBJDUMP="$(TARGET_OBJDUMP)" \ 25 | SIZE="$(TARGET_CROSS)size" 26 | 27 | LIBFLASH_MAKE_ENV = \ 28 | SKIBOOT_VERSION=$(LIBFLASH_VERSION) \ 29 | $(MAKE1) $(LIBFLASH_MAKE_OPTS) CROSS_COMPILE=$(TARGET_CROSS) 30 | 31 | 32 | define LIBFLASH_BUILD_CMDS 33 | PREFIX=$(STAGING_DIR)/usr $(LIBFLASH_MAKE_ENV) -C $(@D)/external/shared 34 | $(if $(BR2_PACKAGE_PFLASH), 35 | PREFIX=$(STAGING_DIR)/usr $(LIBFLASH_MAKE_ENV) \ 36 | -C $(@D)/external/pflash) 37 | $(if $(BR2_PACKAGE_OPAL_GARD), 38 | PREFIX=$(STAGING_DIR)/usr $(LIBFLASH_MAKE_ENV) \ 39 | -C $(@D)/external/gard) 40 | endef 41 | 42 | define HOST_LIBFLASH_BUILD_CMDS 43 | $(HOST_MAKE_ENV) SKIBOOT_VERSION=$(LIBFLASH_VERSION) \ 44 | $(MAKE) -C $(@D)/external/pflash 45 | $(HOST_MAKE_ENV) SKIBOOT_VERSION=$(LIBFLASH_VERSION) \ 46 | $(MAKE) -C $(@D)/external/gard 47 | endef 48 | 49 | define LIBFLASH_INSTALL_STAGING_CMDS 50 | PREFIX=$(STAGING_DIR)/usr $(LIBFLASH_MAKE_ENV) -C $(@D)/external/shared \ 51 | install 52 | endef 53 | 54 | define LIBFLASH_INSTALL_TARGET_CMDS 55 | PREFIX=$(TARGET_DIR)/usr $(LIBFLASH_MAKE_ENV) -C $(@D)/external/shared \ 56 | install-lib 57 | $(if $(BR2_PACKAGE_PFLASH), 58 | DESTDIR=$(TARGET_DIR) $(LIBFLASH_MAKE_ENV) \ 59 | -C $(@D)/external/pflash install) 60 | $(if $(BR2_PACKAGE_OPAL_GARD), 61 | $(INSTALL) $(@D)/external/gard/opal-gard $(TARGET_DIR)/usr/bin/opal-gard) 62 | endef 63 | 64 | define HOST_LIBFLASH_INSTALL_CMDS 65 | $(INSTALL) $(@D)/external/pflash/pflash $(HOST_DIR)/usr/bin/pflash 66 | endef 67 | 68 | $(eval $(generic-package)) 69 | $(eval $(host-generic-package)) 70 | -------------------------------------------------------------------------------- /openpower/package/loadkeys/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_LOADKEYS 2 | bool "loadkeys" 3 | select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE 4 | select BR2_PACKAGE_CHECK 5 | # Uses fork() 6 | depends on BR2_USE_MMU 7 | help 8 | Custom package to install just the 'loadkeys' 9 | binary from the kbd package. 10 | 11 | http://kernel.org/pub/linux/utils/kbd/ 12 | -------------------------------------------------------------------------------- /openpower/package/loadkeys/S16-keymap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$1" in 4 | start) 5 | loadkeys /etc/kbd/config 6 | ;; 7 | esac 8 | 9 | exit 0 10 | -------------------------------------------------------------------------------- /openpower/package/loadkeys/backtab-keymap: -------------------------------------------------------------------------------- 1 | # Enable backtab for VGA consoles 2 | # Thanks to http://web.mit.edu/daveg/Info/backtab-howto.txt 3 | 4 | keycode 15 = Tab F91 5 | alt keycode 15 = Meta_Tab 6 | shift alt keycode 15 = F92 7 | 8 | # backtab and M-backtab 9 | string F91 = "\033[Z" 10 | string F92 = "\033\033[Z" 11 | -------------------------------------------------------------------------------- /openpower/package/loadkeys/loadkeys.hash: -------------------------------------------------------------------------------- 1 | # From https://www.kernel.org/pub/linux/utils/kbd/sha256sums.asc 2 | sha256 ccdf452387a6380973d2927363e9cbb939fa2068915a6f937ff9d24522024683 kbd-2.5.1.tar.xz 3 | sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING 4 | sha256 5a16340fe773f422144b436df90319114a2884933c56e9be6fad642e59be5e1f CREDITS 5 | -------------------------------------------------------------------------------- /openpower/package/loadkeys/loadkeys.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # loadkeys - Custom installer for the kbd package 4 | # 5 | ################################################################################ 6 | 7 | LOADKEYS_VERSION = 2.5.1 8 | LOADKEYS_SOURCE = kbd-$(LOADKEYS_VERSION).tar.xz 9 | LOADKEYS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd 10 | LOADKEYS_CONF_OPTS = \ 11 | --disable-vlock \ 12 | --disable-tests 13 | LOADKEYS_DEPENDENCIES = \ 14 | $(TARGET_NLS_DEPENDENCIES) \ 15 | host-pkgconf 16 | LOADKEYS_LICENSE = GPL-2.0+ 17 | LOADKEYS_LICENSE_FILES = COPYING CREDITS 18 | LOADKEYS_INSTALL_STAGING = NO 19 | LOADKEYS_INSTALL_TARGET = YES 20 | 21 | define LOADKEYS_INSTALL_TARGET_CMDS 22 | $(INSTALL) -D -m 0755 $(@D)/src/loadkeys \ 23 | $(TARGET_DIR)/usr/bin/ 24 | endef 25 | 26 | define LOADKEYS_POST_INSTALL 27 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/loadkeys/S16-keymap \ 28 | $(TARGET_DIR)/etc/init.d/ 29 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/loadkeys/backtab-keymap \ 30 | $(TARGET_DIR)/etc/kbd/config 31 | endef 32 | 33 | LOADKEYS_POST_INSTALL_TARGET_HOOKS += LOADKEYS_POST_INSTALL 34 | 35 | $(eval $(autotools-package)) 36 | -------------------------------------------------------------------------------- /openpower/package/machine-xml/Config.in: -------------------------------------------------------------------------------- 1 | menu "Machine XML (MRW)" 2 | 3 | config BR2_PACKAGE_MACHINE_XML 4 | bool "machine_xml" 5 | default y if (BR2_OPENPOWER_PLATFORM) 6 | 7 | choice 8 | prompt "Machine XML location" 9 | 10 | config BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT 11 | bool "OpenPOWER Github project name" 12 | 13 | config BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT 14 | bool "Custom URL of machine xml repository" 15 | 16 | endchoice 17 | 18 | config BR2_OPENPOWER_MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES 19 | bool "Filter Unwanted Attributes" 20 | default y if (BR2_OPENPOWER_POWER9) 21 | default n 22 | 23 | config BR2_OPENPOWER_MACHINE_XML_OPPOWERVM_ATTRIBUTES 24 | bool "OPPOWERVM Attributes/Target" 25 | default y if (BR2_OPENPOWER_POWER9) 26 | default n 27 | 28 | config BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML 29 | bool "Include target_types_openpower.xml" 30 | default y if (BR2_OPENPOWER_POWER9) 31 | default n 32 | 33 | config BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT_VALUE 34 | string "URL of machine xml repository" 35 | depends on BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT 36 | 37 | config BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE 38 | string "The Github project name (e.g. palmetto-xml)" 39 | depends on BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT 40 | 41 | config BR2_OPENPOWER_MACHINE_XML_VERSION 42 | string "Version of Machine XML" 43 | 44 | config BR2_OPENPOWER_MACHINE_XML_FILENAME 45 | string "Machine XML filename (e.g. habanero.xml)" 46 | 47 | config BR2_OPENPOWER_SYSTEM_XML_FILENAME 48 | string "Targeting system xml filename" 49 | default "" 50 | help 51 | Defines the name of the system XML filename to be used when creating targeting binary image 52 | 53 | config BR2_OPENPOWER_MRW_XML_FILENAME 54 | string "Targeting mrw xml filename" 55 | default "" 56 | help 57 | Defines the name of the mrw XML filename to be used when creating targeting binary image 58 | 59 | config BR2_OPENPOWER_BIOS_XML_FILENAME 60 | string "BIOS metadata XML filename" 61 | default "" 62 | help 63 | Defines the name of the BIOS XML filename to parse when generating BIOS metadata 64 | 65 | endmenu 66 | -------------------------------------------------------------------------------- /openpower/package/occ/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_OCC 2 | bool "OCC (POWER9)" 3 | default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9) 4 | depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 5 | select BR2_CPP 6 | help 7 | Project to build OCC 8 | 9 | if BR2_PACKAGE_OCC 10 | 11 | config BR2_OCC_BIN_FILENAME 12 | string "Name of OCC P9 image file" 13 | default "occ.bin" 14 | help 15 | String used to define name of the OCC binary image file 16 | 17 | config BR2_OCC_GPU_BIN_BUILD 18 | bool "Enables Compilation of GPU Binary Image" 19 | default n 20 | select BR2_PACKAGE_HOSTBOOT_BINARIES 21 | help 22 | Boolean used to flag whether to compile OCC GPU binary 23 | 24 | config BR2_OCC_GPU_GPE_BIN_FILENAME 25 | string "Name of OCC GPU GPE Binary file" 26 | help 27 | String used to define name of the OCC GPUE GPE binary image file 28 | 29 | choice 30 | prompt "OCC version" 31 | default BR2_OCC_LATEST_VERSION 32 | 33 | config BR2_OCC_LATEST_VERSION 34 | bool "Use latest OCC master" 35 | 36 | config BR2_OCC_CUSTOM_VERSION 37 | bool "Custom OCC version" 38 | 39 | endchoice 40 | 41 | config BR2_OCC_CUSTOM_VERSION_VALUE 42 | string "OCC version" 43 | depends on BR2_OCC_CUSTOM_VERSION 44 | 45 | config BR2_OCC_VERSION 46 | string 47 | default "3515ab0e78eb56755db269915ef362e74461c774" if BR2_OCC_LATEST_VERSION 48 | default BR2_OCC_CUSTOM_VERSION_VALUE \ 49 | if BR2_OCC_CUSTOM_VERSION 50 | 51 | config BR2_OCC_USE_ALTERNATE_GCC 52 | bool "use Alternate gcc to build occ" 53 | default n 54 | select BR2_PACKAGE_ALTERNATE_GCC 55 | help 56 | Select to enable using an alternate version of gcc 57 | to build occ. 58 | 59 | endif 60 | 61 | -------------------------------------------------------------------------------- /openpower/package/occ/occ.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # occ for POWER9 4 | # 5 | ################################################################################ 6 | 7 | OCC_VERSION = $(call qstrip,$(BR2_OCC_VERSION)) 8 | OCC_SITE = $(call github,open-power,occ,$(OCC_VERSION)) 9 | 10 | OCC_LICENSE = Apache-2.0 11 | 12 | OCC_LICENSE_FILES = LICENSE 13 | 14 | OCC_INSTALL_IMAGES = YES 15 | OCC_INSTALL_TARGET = NO 16 | 17 | OCC_STAGING_DIR = $(STAGING_DIR)/occ 18 | 19 | OCC_IMAGE_BIN_PATH = obj/image.bin 20 | 21 | OCC_DEPENDENCIES = host-ppe42-gcc 22 | ifeq ($(BR2_OCC_GPU_BIN_BUILD),y) 23 | OCC_DEPENDENCIES += hostboot-binaries 24 | endif 25 | 26 | ifeq ($(BR2_OCC_USE_ALTERNATE_GCC),y) 27 | OCC_TARGET_CROSS = $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)- 28 | OCC_DEPENDENCIES += host-alternate-gcc 29 | else 30 | OCC_TARGET_CROSS = $(TARGET_CROSS) 31 | OCC_DEPENDENCIES += host-binutils 32 | endif 33 | 34 | define OCC_BUILD_CMDS 35 | if [ "$(BR2_OCC_GPU_BIN_BUILD)" == "y" ]; then \ 36 | cd $(@D)/src && \ 37 | make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(OCC_TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib GPE1_BIN_IMAGE_PATH=$(STAGING_DIR)/hostboot_binaries/ OPOCC_GPU_SUPPORT=1 all; \ 38 | else \ 39 | cd $(@D)/src && \ 40 | make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(OCC_TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all; \ 41 | fi; 42 | endef 43 | OCC_BUILD_CMDS ?= $(OCC_BUILD_CMDS_P9) 44 | 45 | define OCC_INSTALL_IMAGES_CMDS 46 | mkdir -p $(STAGING_DIR)/occ 47 | cp $(@D)/$(OCC_IMAGE_BIN_PATH) $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME) 48 | endef 49 | 50 | $(eval $(generic-package)) 51 | -------------------------------------------------------------------------------- /openpower/package/ocmb-explorer-fw/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_OCMB_EXPLORER_FW 2 | bool "ocmb-explorer-fw" 3 | default n 4 | help 5 | Project to stage ocmb explorer fw and binary image releases 6 | 7 | if BR2_PACKAGE_OCMB_EXPLORER_FW 8 | 9 | config BR2_OCMB_EXPLORER_FW_VERSION 10 | string 11 | default "v7.0" 12 | 13 | config BR2_OCMB_EXPLORER_FW_SITE 14 | string 15 | default "https://github.com/open-power/ocmb-explorer-fw/files/5097185" 16 | 17 | config BR2_OCMB_EXPLORER_FW_SOURCE 18 | string 19 | default "FW397559BinaryOnly.zip" 20 | 21 | endif 22 | -------------------------------------------------------------------------------- /openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # ocmb-explorer-fw 4 | # 5 | ################################################################################ 6 | 7 | 8 | OCMB_EXPLORER_FW_VERSION ?= $(call qstrip,$(BR2_OCMB_EXPLORER_FW_VERSION)) 9 | OCMB_EXPLORER_FW_SOURCE ?= $(call qstrip,$(BR2_OCMB_EXPLORER_FW_SOURCE)) 10 | OCMB_EXPLORER_FW_SITE ?= $(call qstrip,$(BR2_OCMB_EXPLORER_FW_SITE)) 11 | 12 | OCMB_EXPLORER_FW_LICENSE = Apache-2.0 13 | OCMB_EXPLORER_FW_LICENSE_FILES = LICENSE.pdf 14 | 15 | OCMB_EXPLORER_FW_INSTALL_IMAGES = YES 16 | OCMB_EXPLORER_FW_INSTALL_TARGET = NO 17 | 18 | # Commands to extract and install the Open Capi Memory Buffer Firmware (OCMBFW) 19 | define OCMB_EXPLORER_FW_INSTALL_IMAGES_CMDS 20 | $(INSTALL) -D $(@D)/$(call qstrip,$(BR2_OCMBFW_FILENAME)) $(BINARIES_DIR)/ 21 | endef 22 | 23 | define OCMB_EXPLORER_FW_EXTRACT_CMDS 24 | $(UNZIP) -d $(@D) $(OCMB_EXPLORER_FW_DL_DIR)/$(OCMB_EXPLORER_FW_SOURCE) 25 | mv $(@D)/*LICENSE*.pdf $(@D)/LICENSE.pdf 26 | endef 27 | 28 | $(eval $(generic-package)) 29 | -------------------------------------------------------------------------------- /openpower/package/openpower-ffs/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOST_OPENPOWER_FFS 2 | bool "ffs" 3 | default y if (BR2_OPENPOWER_PLATFORM) 4 | help 5 | Utilites for building an 'ffs' image file. 6 | -------------------------------------------------------------------------------- /openpower/package/openpower-ffs/openpower-ffs.mk: -------------------------------------------------------------------------------- 1 | OPENPOWER_FFS_VERSION ?= 3ec70fbc458e32eef0d0b1de79688b4dc48cbd57 2 | OPENPOWER_FFS_SITE ?= $(call github,open-power,ffs,$(OPENPOWER_FFS_VERSION)) 3 | OPENPOWER_FFS_LICENSE = Apache-2.0 4 | OPENPOWER_FFS_LICENSE_FILES = LICENSE 5 | 6 | OPENPOWER_FFS_AUTORECONF = YES 7 | OPENPOWER_FFS_AUTORECONF_OPTS = -i 8 | 9 | $(eval $(host-autotools-package)) 10 | -------------------------------------------------------------------------------- /openpower/package/openpower-pnor-util/openpower-pnor-util.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # openpower_pnor_util 4 | # 5 | ################################################################################ 6 | 7 | HOST_OPENPOWER_PNOR_UTIL_VERSION ?= 647d6134d448178e6b32892322596a5cc3d78b2d 8 | HOST_OPENPOWER_PNOR_UTIL_SITE ?= $(call github,openbmc,openpower-pnor-code-mgmt,$(HOST_OPENPOWER_PNOR_UTIL_VERSION)) 9 | HOST_OPENPOWER_PNOR_UTIL_DEPENDENCIES = host-squashfs host-libflash 10 | 11 | define HOST_OPENPOWER_PNOR_UTIL_INSTALL_CMDS 12 | $(INSTALL) -D $(@D)/generate-tar $(HOST_DIR)/usr/bin/generate-tar 13 | endef 14 | 15 | OPENPOWER_PNOR_UTIL_LICENSE = Apache-2.0 16 | 17 | $(eval $(host-generic-package)) 18 | -------------------------------------------------------------------------------- /openpower/package/petitboot/63-md-raid-arrays.rules: -------------------------------------------------------------------------------- 1 | # do not edit this file, it will be overwritten on update 2 | 3 | SUBSYSTEM!="block", GOTO="md_end" 4 | 5 | # handle md arrays 6 | ACTION!="add|change", GOTO="md_end" 7 | KERNEL!="md*", GOTO="md_end" 8 | 9 | # partitions have no md/{array_state,metadata_version}, but should not 10 | # for that reason be ignored. 11 | ENV{DEVTYPE}=="partition", GOTO="md_ignore_state" 12 | 13 | # container devices have a metadata version of e.g. 'external:ddf' and 14 | # never leave state 'inactive' 15 | ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state" 16 | TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end" 17 | ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" 18 | LABEL="md_ignore_state" 19 | 20 | IMPORT{program}="/sbin/mdadm --detail --export $devnode" 21 | ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" 22 | ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" 23 | ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}" 24 | ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace" 25 | ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n" 26 | ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n" 27 | ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n" 28 | 29 | IMPORT{builtin}="blkid" 30 | OPTIONS+="link_priority=100" 31 | OPTIONS+="watch" 32 | ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" 33 | ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" 34 | 35 | ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service" 36 | 37 | # Tell systemd to run mdmon for our container, if we need it. 38 | ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c" 39 | ENV{MD_MON_THIS}=="?*", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service" 40 | 41 | LABEL="md_end" 42 | -------------------------------------------------------------------------------- /openpower/package/petitboot/65-md-incremental.rules: -------------------------------------------------------------------------------- 1 | # This file causes block devices with Linux RAID (mdadm) signatures to 2 | # automatically cause mdadm to be run. 3 | # See udev(8) for syntax 4 | 5 | # Don't process any events if anaconda is running as anaconda brings up 6 | # raid devices manually 7 | ENV{ANACONDA}=="?*", GOTO="md_end" 8 | 9 | # Also don't process disks that are slated to be a multipath device 10 | ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="md_end" 11 | 12 | # We process add events on block devices (since they are ready as soon as 13 | # they are added to the system), but we must process change events as well 14 | # on any dm devices (like LUKS partitions or LVM logical volumes) and on 15 | # md devices because both of these first get added, then get brought live 16 | # and trigger a change event. The reason we don't process change events 17 | # on bare hard disks is because if you stop all arrays on a disk, then 18 | # run fdisk on the disk to change the partitions, when fdisk exits it 19 | # triggers a change event, and we want to wait until all the fdisks on 20 | # all member disks are done before we do anything. Unfortunately, we have 21 | # no way of knowing that, so we just have to let those arrays be brought 22 | # up manually after fdisk has been run on all of the disks. 23 | 24 | # First, process all add events (md and dm devices will not really do 25 | # anything here, just regular disks, and this also won't get any imsm 26 | # array members either) 27 | SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid_member", \ 28 | RUN+="/sbin/mdadm -I --export $env{DEVNAME}" 29 | 30 | # Next, check to make sure the BIOS raid stuff wasn't turned off via cmdline 31 | IMPORT{cmdline}="noiswmd" 32 | IMPORT{cmdline}="nodmraid" 33 | ENV{noiswmd}=="?*", GOTO="md_imsm_inc_end" 34 | ENV{nodmraid}=="?*", GOTO="md_imsm_inc_end" 35 | SUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="isw_raid_member", \ 36 | RUN+="/sbin/mdadm -I $env{DEVNAME}" 37 | LABEL="md_imsm_inc_end" 38 | 39 | SUBSYSTEM=="block", ACTION=="remove", ENV{ID_PATH}=="?*", \ 40 | RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}" 41 | SUBSYSTEM=="block", ACTION=="remove", ENV{ID_PATH}!="?*", \ 42 | RUN+="/sbin/mdadm -If $name" 43 | 44 | # Next make sure that this isn't a dm device we should skip for some reason 45 | ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_change_end" 46 | ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="dm_change_end" 47 | ENV{DM_SUSPENDED}=="1", GOTO="dm_change_end" 48 | KERNEL=="dm-*", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="linux_raid_member", \ 49 | ACTION=="change", RUN+="/sbin/mdadm -I $env{DEVNAME}" 50 | LABEL="dm_change_end" 51 | 52 | # Finally catch any nested md raid arrays. If we brought up an md raid 53 | # array that's part of another md raid array, it won't be ready to be used 54 | # until the change event that occurs when it becomes live 55 | KERNEL=="md*", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="linux_raid_member", \ 56 | ACTION=="change", RUN+="/sbin/mdadm -I $env{DEVNAME}" 57 | 58 | # In case the initramfs only started some of the arrays in our container, 59 | # run incremental assembly on the container itself. Note: we ran mdadm 60 | # on the container in 64-md-raid.rules, and that's how the MD_LEVEL 61 | # environment variable is already set. If that disappears from the other 62 | # file, we will need to add this line into the middle of the next rule: 63 | # IMPORT{program}="/sbin/mdadm -D --export $tempnode", \ 64 | 65 | SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="md*", \ 66 | ENV{MD_LEVEL}=="container", RUN+="/sbin/mdadm -I $env{DEVNAME}" 67 | 68 | 69 | LABEL="md_end" 70 | -------------------------------------------------------------------------------- /openpower/package/petitboot/66-add-sg-module.rules: -------------------------------------------------------------------------------- 1 | # load modules to scsi disks, if they aren't in kernel 2 | SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg" 3 | -------------------------------------------------------------------------------- /openpower/package/petitboot/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_PETITBOOT 2 | bool "petitboot" 3 | # petitboot needs udev /dev management 4 | depends on BR2_PACKAGE_HAS_UDEV 5 | select BR2_PACKAGE_LVM2 6 | select BR2_PACKAGE_NCURSES 7 | select BR2_PACKAGE_NCURSES_TARGET_PANEL 8 | select BR2_PACKAGE_NCURSES_TARGET_FORM 9 | select BR2_PACKAGE_NCURSES_TARGET_MENU 10 | # run-time dependency only 11 | select BR2_PACKAGE_KEXEC_LITE if !BR2_PACKAGE_KEXEC 12 | # run-time dependency only 13 | select BR2_PACKAGE_POWERPC_UTILS if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le 14 | # run-time dependency only 15 | select BR2_PACKAGE_NVME if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le 16 | help 17 | Petitboot is a small kexec-based bootloader 18 | 19 | http://www.kernel.org/pub/linux/kernel/people/geoff/petitboot/petitboot.html 20 | 21 | comment "petitboot requires udev to be enabled" 22 | depends on !BR2_PACKAGE_HAS_UDEV 23 | 24 | config BR2_PACKAGE_PETITBOOT_MTD 25 | bool "petitboot-mtd" 26 | depends on BR2_PACKAGE_PETITBOOT 27 | select BR2_PACKAGE_LIBFLASH 28 | select BR2_PACKAGE_PFLASH 29 | help 30 | Adds Petitboot support for MTD devices 31 | 32 | comment "Add support for accessing MTD devices" 33 | -------------------------------------------------------------------------------- /openpower/package/petitboot/S14silence-console: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$1" in 4 | start) 5 | echo 1 1 1 1 > /proc/sys/kernel/printk 6 | ;; 7 | esac 8 | 9 | exit 0 10 | -------------------------------------------------------------------------------- /openpower/package/petitboot/S15pb-discover: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | LOGFILE=/var/log/petitboot/pb-discover.log 4 | PIDFILE=/var/run/petitboot.pid 5 | 6 | PATH=/usr/bin:/usr/sbin:/bin:/sbin 7 | export PATH 8 | 9 | verbose= 10 | if pb-config debug | grep -q enabled 11 | then 12 | verbose=-v 13 | fi 14 | 15 | case "$1" in 16 | start) 17 | ulimit -c unlimited 18 | mkdir -p -m 0775 $(dirname $LOGFILE) 19 | mkdir -p -m 0775 /var/petitboot 20 | # Set permissions for normal users 21 | chown -R root:petitgroup $(dirname $LOGFILE) 22 | chown -R root:petitgroup /var/petitboot 23 | 24 | export $(cat /etc/locale) 25 | pb-discover -l $LOGFILE $verbose & 26 | echo $! > $PIDFILE 27 | ;; 28 | stop) 29 | pid=$(cat $PIDFILE) 30 | [ -n "$pid" ] && kill -TERM $pid 31 | ;; 32 | *) 33 | echo "Usage: $0 {start|stop}" 34 | exit 1 35 | ;; 36 | esac 37 | 38 | exit 0 39 | -------------------------------------------------------------------------------- /openpower/package/petitboot/kexec-restart: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | /usr/sbin/kexec -f -e 4 | 5 | while : 6 | do 7 | sleep 1 8 | done 9 | -------------------------------------------------------------------------------- /openpower/package/petitboot/petitboot-console-ui.rules: -------------------------------------------------------------------------------- 1 | 2 | # spawn a petitboot UI on common user-visible interface devices 3 | SUBSYSTEM=="tty", KERNEL=="hvc*", RUN+="/usr/libexec/petitboot/pb-console --getty=/sbin/agetty --detach -- -a petituser -n -i $name linux" 4 | SUBSYSTEM=="tty", KERNEL=="tty0", RUN+="/usr/libexec/petitboot/pb-console --getty=/sbin/agetty --detach -- -a petituser -n -i $name linux" 5 | SUBSYSTEM=="tty", KERNEL=="ttyS*", RUN+="/usr/libexec/petitboot/pb-console --getty=/sbin/agetty --detach -- -a petituser -n -i $name linux" 6 | -------------------------------------------------------------------------------- /openpower/package/petitboot/petitboot.hash: -------------------------------------------------------------------------------- 1 | sha256 eed29ec841c2bcd5ecc65347f5b95a0087a541bd9c04ca3c17c55d1f7357d189 petitboot-v1.15.tar.gz 2 | -------------------------------------------------------------------------------- /openpower/package/petitboot/petitboot.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # petitboot 4 | # 5 | ################################################################################ 6 | 7 | PETITBOOT_VERSION = v1.15 8 | PETITBOOT_SOURCE = petitboot-$(PETITBOOT_VERSION).tar.gz 9 | PETITBOOT_SITE ?= https://github.com/open-power/petitboot/releases/download/$(PETITBOOT_VERSION) 10 | PETITBOOT_DEPENDENCIES = ncurses udev host-bison host-flex lvm2 11 | PETITBOOT_LICENSE = GPLv2 12 | PETITBOOT_LICENSE_FILES = COPYING 13 | 14 | PETITBOOT_CONF_OPTS += --with-ncurses --without-twin-x11 --without-twin-fbdev \ 15 | --localstatedir=/var \ 16 | --enable-crypt \ 17 | HOST_PROG_KEXEC=/usr/sbin/kexec \ 18 | HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot \ 19 | $(if $(BR2_PACKAGE_BUSYBOX),--with-tftp=busybox --enable-busybox) 20 | 21 | ifdef PETITBOOT_DEBUG 22 | PETITBOOT_CONF_OPTS += --enable-debug 23 | endif 24 | 25 | ifeq ($(BR2_PACKAGE_PETITBOOT_MTD),y) 26 | PETITBOOT_CONF_OPTS += --enable-mtd 27 | PETITBOOT_DEPENDENCIES += libflash 28 | PETITBOOT_CPPFLAGS += -I$(STAGING_DIR) 29 | PETITBOOT_LDFLAGS += -L$(STAGING_DIR) 30 | endif 31 | 32 | ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) 33 | PETITBOOT_CONF_OPTS += --with-ncursesw MENU_LIB=-lmenuw FORM_LIB=-lformw 34 | endif 35 | 36 | define PETITBOOT_POST_INSTALL 37 | $(INSTALL) -D -m 0755 $(@D)/utils/bb-kexec-reboot \ 38 | $(TARGET_DIR)/usr/libexec/petitboot 39 | $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/petitboot/boot.d 40 | $(INSTALL) -D -m 0755 $(@D)/utils/hooks/01-create-default-dtb \ 41 | $(TARGET_DIR)/etc/petitboot/boot.d/ 42 | $(INSTALL) -D -m 0755 $(@D)/utils/hooks/90-sort-dtb \ 43 | $(TARGET_DIR)/etc/petitboot/boot.d/ 44 | 45 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/S14silence-console \ 46 | $(TARGET_DIR)/etc/init.d/ 47 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/S15pb-discover \ 48 | $(TARGET_DIR)/etc/init.d/ 49 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/kexec-restart \ 50 | $(TARGET_DIR)/usr/sbin/ 51 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/petitboot-console-ui.rules \ 52 | $(TARGET_DIR)/etc/udev/rules.d/ 53 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/removable-event-poll.rules \ 54 | $(TARGET_DIR)/etc/udev/rules.d/ 55 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/63-md-raid-arrays.rules \ 56 | $(TARGET_DIR)/etc/udev/rules.d/ 57 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/65-md-incremental.rules \ 58 | $(TARGET_DIR)/etc/udev/rules.d/ 59 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/66-add-sg-module.rules \ 60 | $(TARGET_DIR)/etc/udev/rules.d/ 61 | 62 | ln -sf /usr/sbin/pb-udhcpc \ 63 | $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ 64 | 65 | mkdir -p $(TARGET_DIR)/home/petituser 66 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/shell_profile \ 67 | $(TARGET_DIR)/home/petituser/.profile 68 | $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/shell_config \ 69 | $(TARGET_DIR)/home/petituser/.shrc 70 | 71 | $(MAKE) -C $(@D)/po DESTDIR=$(TARGET_DIR) install 72 | endef 73 | 74 | define PETITBOOT_POST_INSTALL_DTB 75 | $(INSTALL) -D -m 0755 $(@D)/utils/hooks/30-dtb-updates \ 76 | $(TARGET_DIR)/etc/petitboot/boot.d/ 77 | endef 78 | 79 | PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL 80 | 81 | ifeq ($(BR2_PACKAGE_DTC),y) 82 | PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL_DTB 83 | endif 84 | 85 | $(eval $(autotools-package)) 86 | -------------------------------------------------------------------------------- /openpower/package/petitboot/removable-event-poll.rules: -------------------------------------------------------------------------------- 1 | 2 | # petitboot needs notification for media change events on removable devices, 3 | # which we only get if we've set the poll_msecs sysfs attribute. 4 | ACTION!="remove", ATTR{removable}=="1", ATTR{events_poll_msecs}="2000" 5 | -------------------------------------------------------------------------------- /openpower/package/petitboot/shell_config: -------------------------------------------------------------------------------- 1 | #!bin/sh 2 | 3 | reset 4 | 5 | echo "Exiting petitboot. Type 'exit' to return." 6 | echo "You may run 'pb-sos' to gather diagnostic data" 7 | 8 | if [[ "$(id -u)" != "0" ]]; then 9 | echo "" | sudo -S /bin/true 2&>1 >> /dev/null 10 | if [[ $? = 0 ]]; then 11 | echo "No password set, running as root. You may set a password in the System Configuration screen." 12 | sudo -i 13 | sudo -K 14 | exit 15 | fi 16 | export PS1='$ ' 17 | else 18 | export PS1='# ' 19 | fi 20 | -------------------------------------------------------------------------------- /openpower/package/petitboot/shell_profile: -------------------------------------------------------------------------------- 1 | export ENV="/home/petituser/.shrc" 2 | /usr/libexec/petitboot/pb-console 3 | -------------------------------------------------------------------------------- /openpower/package/ppe42-binutils/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOST_PPE42_BINUTILS 2 | bool "ppe42-binutils" 3 | select BR2_CPP 4 | help 5 | Project to build the PPE42 PORE binutils 6 | -------------------------------------------------------------------------------- /openpower/package/ppe42-binutils/ppe42-binutils.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # ppe42-binutils 4 | # 5 | ################################################################################ 6 | 7 | PPE42_BINUTILS_VERSION ?= c615a89c5beb032cbb00bf0c3e670319b2bbd4f5 8 | PPE42_BINUTILS_SITE ?= $(call github,open-power,ppe42-binutils,$(PPE42_BINUTILS_VERSION)) 9 | PPE42_BINUTILS_LICENSE = GPLv3+ 10 | 11 | PPE42_BINUTILS_DEPENDENCIES = host-binutils 12 | 13 | PPE42_BINUTILS_DIR = $(HOST_DIR)/$(PPE42_TOOLCHAIN_DIR) 14 | PPE42_BINUTILS_BIN = $(HOST_DIR)/$(PPE42_TOOLCHAIN_BIN) 15 | 16 | define HOST_PPE42_BINUTILS_BUILD_CMDS 17 | cd $(@D) && \ 18 | ./configure --prefix=$(PPE42_BINUTILS_DIR) \ 19 | --exec-prefix=$(PPE42_BINUTILS_BIN) \ 20 | --target=powerpc-eabi \ 21 | --enable-shared \ 22 | --enable-64-bit-bfd \ 23 | && \ 24 | $(MAKE) configure-host && \ 25 | $(MAKE) LDFLAGS=-all-static CFLAGS=-Wno-error 26 | endef 27 | 28 | define HOST_PPE42_BINUTILS_INSTALL_CMDS 29 | bash -c 'cd $(@D) && make install' 30 | endef 31 | 32 | $(eval $(host-generic-package)) 33 | -------------------------------------------------------------------------------- /openpower/package/ppe42-gcc/0001-2016-02-19-Jakub-Jelinek-jakub-redhat.com.patch: -------------------------------------------------------------------------------- 1 | From ec1cc0263f156f70693a62cf17b254a0029f4852 Mon Sep 17 00:00:00 2001 2 | From: edlinger 3 | Date: Fri, 19 Feb 2016 22:13:29 +0000 4 | Subject: [PATCH] 2016-02-19 Jakub Jelinek 5 | Bernd Edlinger 6 | 7 | * Make-lang.in: Invoke gperf with -L C++. 8 | * cfns.gperf: Remove prototypes for hash and libc_name_p 9 | inlines. 10 | * cfns.h: Regenerated. 11 | * except.c (nothrow_libfn_p): Adjust. 12 | 13 | 14 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233572 138bc75d-0d04-0410-961f-82ee72b054a4 15 | --- 16 | gcc/cp/ChangeLog | 9 +++++++++ 17 | gcc/cp/Make-lang.in | 2 +- 18 | gcc/cp/cfns.gperf | 10 ++-------- 19 | gcc/cp/cfns.h | 41 ++++++++++++++--------------------------- 20 | gcc/cp/except.c | 3 ++- 21 | 5 files changed, 28 insertions(+), 37 deletions(-) 22 | 23 | diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in 24 | index 671ce12..2286c64 100644 25 | --- a/gcc/cp/Make-lang.in 26 | +++ b/gcc/cp/Make-lang.in 27 | @@ -112,7 +112,7 @@ else 28 | # deleting the $(srcdir)/cp/cfns.h file. 29 | $(srcdir)/cp/cfns.h: 30 | endif 31 | - gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ 32 | + gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \ 33 | $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h 34 | 35 | # 36 | diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf 37 | index 2784edc..8d7f015 100644 38 | --- a/gcc/cp/cfns.gperf 39 | +++ b/gcc/cp/cfns.gperf 40 | @@ -1,3 +1,5 @@ 41 | +%language=C++ 42 | +%define class-name libc_name 43 | %{ 44 | /* Copyright (C) 2000-2016 Free Software Foundation, Inc. 45 | 46 | @@ -16,14 +18,6 @@ for more details. 47 | You should have received a copy of the GNU General Public License 48 | along with GCC; see the file COPYING3. If not see 49 | . */ 50 | -#ifdef __GNUC__ 51 | -__inline 52 | -#endif 53 | -static unsigned int hash (const char *, unsigned int); 54 | -#ifdef __GNUC__ 55 | -__inline 56 | -#endif 57 | -const char * libc_name_p (const char *, unsigned int); 58 | %} 59 | %% 60 | # The standard C library functions, for feeding to gperf; the result is used 61 | diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h 62 | index d8e02c9..9a37249 100644 63 | --- a/gcc/cp/cfns.h 64 | +++ b/gcc/cp/cfns.h 65 | @@ -1,5 +1,5 @@ 66 | -/* ANSI-C code produced by gperf version 3.0.3 */ 67 | -/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */ 68 | +/* C++ code produced by gperf version 3.0.4 */ 69 | +/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ 70 | 71 | #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 72 | && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ 73 | @@ -28,7 +28,7 @@ 74 | #error "gperf generated tables don't work with this execution character set. Please report a bug to ." 75 | #endif 76 | 77 | -#line 1 "cfns.gperf" 78 | +#line 3 "cfns.gperf" 79 | 80 | /* Copyright (C) 2000-2016 Free Software Foundation, Inc. 81 | 82 | @@ -47,25 +47,18 @@ for more details. 83 | You should have received a copy of the GNU General Public License 84 | along with GCC; see the file COPYING3. If not see 85 | . */ 86 | -#ifdef __GNUC__ 87 | -__inline 88 | -#endif 89 | -static unsigned int hash (const char *, unsigned int); 90 | -#ifdef __GNUC__ 91 | -__inline 92 | -#endif 93 | -const char * libc_name_p (const char *, unsigned int); 94 | /* maximum key range = 391, duplicates = 0 */ 95 | 96 | -#ifdef __GNUC__ 97 | -__inline 98 | -#else 99 | -#ifdef __cplusplus 100 | -inline 101 | -#endif 102 | -#endif 103 | -static unsigned int 104 | -hash (register const char *str, register unsigned int len) 105 | +class libc_name 106 | +{ 107 | +private: 108 | + static inline unsigned int hash (const char *str, unsigned int len); 109 | +public: 110 | + static const char *libc_name_p (const char *str, unsigned int len); 111 | +}; 112 | + 113 | +inline unsigned int 114 | +libc_name::hash (register const char *str, register unsigned int len) 115 | { 116 | static const unsigned short asso_values[] = 117 | { 118 | @@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len) 119 | return hval + asso_values[(unsigned char)str[len - 1]]; 120 | } 121 | 122 | -#ifdef __GNUC__ 123 | -__inline 124 | -#ifdef __GNUC_STDC_INLINE__ 125 | -__attribute__ ((__gnu_inline__)) 126 | -#endif 127 | -#endif 128 | const char * 129 | -libc_name_p (register const char *str, register unsigned int len) 130 | +libc_name::libc_name_p (register const char *str, register unsigned int len) 131 | { 132 | enum 133 | { 134 | diff --git a/gcc/cp/except.c b/gcc/cp/except.c 135 | index c73a16b..5336710 100644 136 | --- a/gcc/cp/except.c 137 | +++ b/gcc/cp/except.c 138 | @@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn) 139 | unless the system headers are playing rename tricks, and if 140 | they are, we don't want to be confused by them. */ 141 | id = DECL_NAME (fn); 142 | - return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); 143 | + return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id), 144 | + IDENTIFIER_LENGTH (id)); 145 | } 146 | 147 | /* Returns nonzero if an exception of type FROM will be caught by a 148 | -- 149 | 2.9.3 150 | 151 | -------------------------------------------------------------------------------- /openpower/package/ppe42-gcc/0001-reload-Change-to-type-of-x_spill_indirect_levels.patch: -------------------------------------------------------------------------------- 1 | From 492c1398f248f579d6e186ce6787bb90bee33e26 Mon Sep 17 00:00:00 2001 2 | From: Joel Stanley 3 | Date: Thu, 24 Mar 2022 12:16:54 +1030 4 | Subject: [PATCH] reload: Change to type of x_spill_indirect_levels 5 | MIME-Version: 1.0 6 | Content-Type: text/plain; charset=UTF-8 7 | Content-Transfer-Encoding: 8bit 8 | 9 | When building with GCC 11, which defaults to C++17: 10 | 11 | ../.././gcc/reload1.c: In function ‘void init_reload()’: 12 | ../.././gcc/reload1.c:89:24: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17 13 | 89 | (this_target_reload->x_spill_indirect_levels) 14 | | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ 15 | ../.././gcc/reload1.c:444:7: note: in expansion of macro ‘spill_indirect_levels’ 16 | 444 | spill_indirect_levels++; 17 | | ^~~~~~~~~~~~~~~~~~~~~ 18 | 19 | Make the same fix as was made upstream: 20 | 21 | https://github.com/gcc-mirror/gcc/commit/d57c99458933a21fdf94f508191f145ad8d5ec58 22 | 23 | Signed-off-by: Joel Stanley 24 | --- 25 | gcc/reload.h | 2 +- 26 | 1 file changed, 1 insertion(+), 1 deletion(-) 27 | 28 | diff --git a/gcc/reload.h b/gcc/reload.h 29 | index 65fa29c2bd26..e3ec30ac858c 100644 30 | --- a/gcc/reload.h 31 | +++ b/gcc/reload.h 32 | @@ -166,7 +166,7 @@ struct target_reload { 33 | value indicates the level of indirect addressing supported, e.g., two 34 | means that (MEM (MEM (REG n))) is also valid if (REG n) does not get 35 | a hard register. */ 36 | - bool x_spill_indirect_levels; 37 | + unsigned char x_spill_indirect_levels; 38 | 39 | /* True if caller-save has been reinitialized. */ 40 | bool x_caller_save_initialized_p; 41 | -- 42 | 2.35.1 43 | 44 | -------------------------------------------------------------------------------- /openpower/package/ppe42-gcc/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOST_PPE42_GCC 2 | bool "ppe42-gcc" 3 | select BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 4 | select BR2_PACKAGE_PPE42_BINUTILS 5 | select BR2_CPP 6 | help 7 | Project to build the PPE42 gcc 8 | 9 | if BR2_PACKAGE_HOST_PPE42_GCC 10 | config BR2_PACKAGE_PROVIDES_PPE42_TOOLCHAIN 11 | default "ppe42-gcc" 12 | endif 13 | -------------------------------------------------------------------------------- /openpower/package/ppe42-gcc/ppe42-gcc.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # ppe42-gcc 4 | # 5 | ################################################################################ 6 | 7 | PPE42_GCC_VERSION ?= b4772a9fa65ea0dd812f8f305ce157bb1cb5ab4a 8 | PPE42_GCC_SITE ?= $(call github,open-power,ppe42-gcc,$(PPE42_GCC_VERSION)) 9 | PPE42_GCC_LICENSE = GPLv3+ 10 | 11 | PPE42_GCC_DEPENDENCIES = ppe42-binutils gmp mpfr mpc 12 | HOST_PPE42_GCC_DEPENDENCIES = host-ppe42-binutils host-gmp host-mpfr host-mpc 13 | PPE42_GCC_PROVIDES = ppe42-toolchain 14 | 15 | PPE42_GCC_DIR = $(HOST_DIR)/$(PPE42_TOOLCHAIN_DIR) 16 | PPE42_GCC_BIN = $(HOST_DIR)/$(PPE42_TOOLCHAIN_BIN) 17 | 18 | define HOST_PPE42_GCC_BUILD_CMDS 19 | cd $(@D) && \ 20 | ./configure --prefix=$(PPE42_GCC_DIR) \ 21 | --exec-prefix=$(PPE42_GCC_BIN) \ 22 | --target=powerpc-eabi \ 23 | --without-headers \ 24 | --with-newlib \ 25 | --with-gnu-as \ 26 | --with-gnu-ld \ 27 | --with-gmp=$(HOST_DIR)/usr \ 28 | --with-mpfr=$(HOST_DIR)/usr \ 29 | --with-sysroot=$(STAGING_DIR) \ 30 | --with-build-time-tools=$(PPE42_TOOLCHAIN_BIN)/bin \ 31 | && \ 32 | $(MAKE) configure-host && \ 33 | $(MAKE) CFLAGS=-Wno-error all-gcc 34 | endef 35 | 36 | define HOST_PPE42_GCC_INSTALL_CMDS 37 | bash -c 'cd $(@D) && make install-gcc' 38 | endef 39 | 40 | $(eval $(host-generic-package)) 41 | -------------------------------------------------------------------------------- /openpower/package/ppe42-toolchain-external/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_PPE42_TOOLCHAIN_EXTERNAL 2 | bool "ppe42-toolchain-external" 3 | select BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 4 | help 5 | Use an external PPE42 toolchain 6 | 7 | if BR2_PACKAGE_PPE42_TOOLCHAIN_EXTERNAL 8 | config BR2_PACKAGE_PROVIDES_PPE42_TOOLCHAIN 9 | default "ppe42-toolchain-external" 10 | 11 | config BR2_PPE42_TOOLCHAIN_EXTERNAL_PATH 12 | string "External PPE42 toolchain path" 13 | help 14 | Pathname to where the external PPE42 toolchain is 15 | installed. The compiler is expected to be fully 16 | contained within the "sysroot/ppe42-toolchain" 17 | directory 18 | endif 19 | -------------------------------------------------------------------------------- /openpower/package/ppe42-toolchain-external/ppe42-toolchain-external.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # ppe42-toolchain-external 4 | # 5 | ################################################################################ 6 | PPE42_TOOLCHAIN_EXTERNAL_REDISTRIBUTE = NO 7 | PPE42_TOOLCHAIN_EXTERNAL_SITE = 8 | PPE42_TOOLCHAIN_EXTERNAL_SOURCE = 9 | PPE42_TOOLCHAIN_EXTERNAL_PROVIDES = ppe42-toolchain 10 | PPE42_TOOLCHAIN_EXTERNAL_PATH = \ 11 | $(call qstrip,$(BR2_PPE42_TOOLCHAIN_EXTERNAL_PATH))/$(PPE42_TOOLCHAIN_DIR) 12 | 13 | define HOST_PPE42_TOOLCHAIN_EXTERNAL_CONFIGURE_CMDS 14 | test -e $(PPE42_TOOLCHAIN_EXTERNAL_PATH) 15 | endef 16 | 17 | define HOST_PPE42_TOOLCHAIN_EXTERNAL_INSTALL_CMDS 18 | ln -snf $(PPE42_TOOLCHAIN_EXTERNAL_PATH) $(HOST_DIR)/$(PPE42_TOOLCHAIN_DIR) 19 | 20 | endef 21 | 22 | $(eval $(host-generic-package)) 23 | 24 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-framework/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOST_SB_SIGNING_FRAMEWORK 2 | bool "OpenPOWER secureboot signing server interface" 3 | default y if BR2_OPENPOWER_PLATFORM && ((BR2_OPENPOWER_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD) ) 4 | help 5 | Client interface to signing server for signing OpenPOWER firmware images 6 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-framework/sb-signing-framework.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # sb-signing-framework 4 | # 5 | ################################################################################ 6 | 7 | SB_SIGNING_FRAMEWORK_SITE ?= $(call github,open-power,sb-signing-framework,$(SB_SIGNING_FRAMEWORK_VERSION)) 8 | 9 | SB_SIGNING_FRAMEWORK_LICENSE = Apache-2.0 10 | SB_SIGNING_FRAMEWORK_LICENSE_FILES = LICENSE 11 | SB_SIGNING_FRAMEWORK_VERSION ?= 02ed29aa11136a6d9a6e1f075772532c43cb7289 12 | 13 | HOST_SB_SIGNING_FRAMEWORK_DEPENDENCIES = host-openssl 14 | 15 | define HOST_SB_SIGNING_FRAMEWORK_BUILD_CMDS 16 | CFLAGS="-I $(HOST_DIR)/usr/include -Wl,-rpath -Wl,$(HOST_DIR)/usr/lib" \ 17 | $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/src/client/ 18 | endef 19 | 20 | define HOST_SB_SIGNING_FRAMEWORK_COPY_FILES 21 | $(INSTALL) -m 0755 $(@D)/src/client/sf_client $(HOST_DIR)/usr/bin/ 22 | endef 23 | 24 | HOST_SB_SIGNING_FRAMEWORK_POST_INSTALL_HOOKS += HOST_SB_SIGNING_FRAMEWORK_COPY_FILES 25 | 26 | $(eval $(host-generic-package)) 27 | 28 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-utils/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_HOST_SB_SIGNING_UTILS 2 | bool "OpenPOWER secureboot signing utilities" 3 | default y if (BR2_OPENPOWER_PLATFORM) 4 | help 5 | Secureboot utilities for signing OpenPOWER firmware images 6 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-utils/keys/hw_key_a.key: -------------------------------------------------------------------------------- 1 | !!! Important WARNING About This Private Key !!! 2 | 3 | DO NOT STRIP THIS WARNING FROM THIS PRIVATE KEY 4 | 5 | This private is being intentionally released by IBM to enable the developer 6 | community to sign code images. For true security, a different set of production 7 | signing keys should be used, and the private production signing key should be 8 | carefully guarded. 9 | 10 | -----BEGIN EC PRIVATE KEY----- 11 | MIICnAIBAQRBVvu38Sbtau77TPvsvEmYHwAD8WY12vTjRE6SowkePCI0+3k5bawC 12 | J9rKnafuMLCxE2SzTh5JPonVKhBPZeUpaOugggHGMIIBwgIBATBNBgcqhkjOPQEB 13 | AkIB//////////////////////////////////////////////////////////// 14 | //////////////////////////8wgZ4EQgH///////////////////////////// 15 | /////////////////////////////////////////////////////////ARBUZU+ 16 | uWGOHJofkpohoLaFQO6i2nJbmbMV87i0iZGO8QnhVhk5Uex+k3sWUsC9O7G/BzVz 17 | 34g9LDTx70Uf1GtQPwADFQDQnogAKRy4U5bMZxc5MoSqoNpkugSBhQQAxoWOBrcE 18 | BOnNnj7LZiOVtEKcZIE5BT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GF 19 | akKb+X5+McLlvWYBGDkpaniaO8AEXIpftCx9G9mY9URJV5tEaBevvRcnPmYsl+5y 20 | mV70JkDFULkBP60HYTU8cIaicsJAiL6Udp/RZlACQgH///////////////////// 21 | //////////////////////pRhoeDvy+Wa3/MAUj3CaXQO7XJuImcR667b7cekThk 22 | CQIBAaGBiQOBhgAEALseCHiWoJ4wcnQGjefKigKgnFVDj1D03ikeYzefc2y3wnoe 23 | 8neyeB+X071kpXg83nEAVuxqm1Yn1IMJCP9Tz7NhALhglEF2RzciUSwF+GDx8CW7 24 | RlSBlxbtEPxpODD8/tImnjRig/OngZFce8fds7NPEUxPsoS7xCQ6V+dSAaYM+QYi 25 | -----END EC PRIVATE KEY----- 26 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-utils/keys/hw_key_b.key: -------------------------------------------------------------------------------- 1 | !!! Important WARNING About This Private Key !!! 2 | 3 | DO NOT STRIP THIS WARNING FROM THIS PRIVATE KEY 4 | 5 | This private is being intentionally released by IBM to enable the developer 6 | community to sign code images. For true security, a different set of production 7 | signing keys should be used, and the private production signing key should be 8 | carefully guarded. 9 | 10 | -----BEGIN EC PRIVATE KEY----- 11 | MIICnQIBAQRCAQ0nt+2t5RDGWJF6S326TEWyHPdI/VHm+pKvFgCCrVujE7P5oUlv 12 | GP3HZ3qemUX0RgmRjD27RflVdyOL6IlekHSsoIIBxjCCAcICAQEwTQYHKoZIzj0B 13 | AQJCAf////////////////////////////////////////////////////////// 14 | ////////////////////////////MIGeBEIB//////////////////////////// 15 | //////////////////////////////////////////////////////////wEQVGV 16 | PrlhjhyaH5KaIaC2hUDuotpyW5mzFfO4tImRjvEJ4VYZOVHsfpN7FlLAvTuxvwc1 17 | c9+IPSw08e9FH9RrUD8AAxUA0J6IACkcuFOWzGcXOTKEqqDaZLoEgYUEAMaFjga3 18 | BATpzZ4+y2YjlbRCnGSBOQU/tSH4KK9ga009uqFLXnfv51ko/h3BJ6L/qN4zSLPB 19 | hWpCm/l+fjHC5b1mARg5KWp4mjvABFyKX7QsfRvZmPVESVebRGgXr70XJz5mLJfu 20 | cple9CZAxVC5AT+tB2E1PHCGonLCQIi+lHaf0WZQAkIB//////////////////// 21 | ///////////////////////6UYaHg78vlmt/zAFI9wml0Du1ybiJnEeuu2+3HpE4 22 | ZAkCAQGhgYkDgYYABACTA8hhnkYIZKrc1O0tojIuF5Mhs9/XLMoSfPmDeqSXg2X9 23 | tjq598htT5uDWU/9WfrISQ9w81RR+blEvcY+GctkEQFJPYdOapsX2TVoNwvlJeVp 24 | gsQFwer4TOkmNV0FVbH7sJiHRw+ROHC5TOmy9YfQHCc2uAqInaZqPKTz13D8zQCG 25 | Cw== 26 | -----END EC PRIVATE KEY----- 27 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-utils/keys/hw_key_c.key: -------------------------------------------------------------------------------- 1 | !!! Important WARNING About This Private Key !!! 2 | 3 | DO NOT STRIP THIS WARNING FROM THIS PRIVATE KEY 4 | 5 | This private is being intentionally released by IBM to enable the developer 6 | community to sign code images. For true security, a different set of production 7 | signing keys should be used, and the private production signing key should be 8 | carefully guarded. 9 | 10 | -----BEGIN EC PRIVATE KEY----- 11 | MIICnQIBAQRCASomU+ACnQy0UDtFX53VV2bwBrc3GPK3hbMrsU1E98YmU4eh/Dpj 12 | FYQOyCPV27GRK8V46a1xvWs57per+X4R9LVdoIIBxjCCAcICAQEwTQYHKoZIzj0B 13 | AQJCAf////////////////////////////////////////////////////////// 14 | ////////////////////////////MIGeBEIB//////////////////////////// 15 | //////////////////////////////////////////////////////////wEQVGV 16 | PrlhjhyaH5KaIaC2hUDuotpyW5mzFfO4tImRjvEJ4VYZOVHsfpN7FlLAvTuxvwc1 17 | c9+IPSw08e9FH9RrUD8AAxUA0J6IACkcuFOWzGcXOTKEqqDaZLoEgYUEAMaFjga3 18 | BATpzZ4+y2YjlbRCnGSBOQU/tSH4KK9ga009uqFLXnfv51ko/h3BJ6L/qN4zSLPB 19 | hWpCm/l+fjHC5b1mARg5KWp4mjvABFyKX7QsfRvZmPVESVebRGgXr70XJz5mLJfu 20 | cple9CZAxVC5AT+tB2E1PHCGonLCQIi+lHaf0WZQAkIB//////////////////// 21 | ///////////////////////6UYaHg78vlmt/zAFI9wml0Du1ybiJnEeuu2+3HpE4 22 | ZAkCAQGhgYkDgYYABAFUBCtSjR9PiJqVhg/EIsNGp0phvJ8gE5XBFTnox8n8a+Ji 23 | 4e7r8Uae9Qea6hnvWa6HzAup1KEJAl6vobyhyItaegDEHRy56UIij9nDVYhSIXia 24 | EEln8xLVz5cB//hToEtexHUvdax85Nacwco6FyGNxzptGddL+/ds/rkZ05Q1fFUr 25 | WQ== 26 | -----END EC PRIVATE KEY----- 27 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-utils/keys/sw_key_a.key: -------------------------------------------------------------------------------- 1 | !!! Important WARNING About This Private Key !!! 2 | 3 | DO NOT STRIP THIS WARNING FROM THIS PRIVATE KEY 4 | 5 | This private is being intentionally released by IBM to enable the developer 6 | community to sign code images. For true security, a different set of production 7 | signing keys should be used, and the private production signing key should be 8 | carefully guarded. 9 | 10 | -----BEGIN EC PRIVATE KEY----- 11 | MIHcAgEBBEIA1vyq2cSPgwWxVtPIEOqGL3UVsy5juBQz8XekOq6aeYf/nqC9u8u+ 12 | GqCiffgBCPnXfWOWLtkaokYEPuMe7TekzomgBwYFK4EEACOhgYkDgYYABAD8W6NM 13 | 6nVfsYps75ko1gfNrJO9XqbWAuUuyFA/O8S5tPwVP+atGpc4PE+uTEI24t7mkYLa 14 | kZhnGlmQpjr4fjkFvgAZDwhcQ+hWmzXYEBobYIPgItJi+8GvxBHBZvQWqpVWRfU9 15 | nSOxLTjjZ3i3dvBnQpCnx4cpTtIJPzFuE+kXqxLDnQ== 16 | -----END EC PRIVATE KEY----- 17 | -------------------------------------------------------------------------------- /openpower/package/sb-signing-utils/sb-signing-utils.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # sb-signing-utils 4 | # 5 | ################################################################################ 6 | 7 | SB_SIGNING_UTILS_SITE ?= $(call github,open-power,sb-signing-utils,$(SB_SIGNING_UTILS_VERSION)) 8 | 9 | SB_SIGNING_UTILS_LICENSE = Apache-2.0 10 | SB_SIGNING_UTILS_LICENSE_FILES = LICENSE 11 | SB_SIGNING_UTILS_VERSION ?= v0.9 12 | 13 | HOST_SB_SIGNING_UTILS_DEPENDENCIES = host-openssl 14 | 15 | ifeq ($(BR2_OPENPOWER_SECUREBOOT_SIGN_MODE),production) 16 | HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework 17 | else ifeq ($(BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD),y) 18 | HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework 19 | endif 20 | 21 | HOST_SB_SIGNING_UTILS_AUTORECONF = YES 22 | HOST_SB_SIGNING_UTILS_AUTORECONF_OPTS = -i 23 | 24 | define HOST_SB_SIGNING_UTILS_COPY_FILES 25 | $(INSTALL) -m 0755 $(@D)/crtSignedContainer.sh $(HOST_DIR)/usr/bin/ 26 | endef 27 | 28 | SB_SIGNING_UTILS_KEY_SRC_PATH=$(BR2_EXTERNAL)/package/sb-signing-utils/keys 29 | SB_SIGNING_UTILS_KEY_DST_PATH=$(HOST_DIR)/etc/keys 30 | 31 | define HOST_SB_SIGNING_UTILS_COPY_KEYS 32 | $(INSTALL) -d -m 0755 $(SB_SIGNING_UTILS_KEY_DST_PATH) 33 | $(INSTALL) -m 0755 $(SB_SIGNING_UTILS_KEY_SRC_PATH)/* \ 34 | $(SB_SIGNING_UTILS_KEY_DST_PATH) 35 | endef 36 | 37 | HOST_SB_SIGNING_UTILS_POST_INSTALL_HOOKS += HOST_SB_SIGNING_UTILS_COPY_FILES 38 | HOST_SB_SIGNING_UTILS_POST_INSTALL_HOOKS += HOST_SB_SIGNING_UTILS_COPY_KEYS 39 | 40 | $(eval $(host-autotools-package)) 41 | -------------------------------------------------------------------------------- /openpower/package/sbe/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_SBE 2 | bool "sbe" 3 | default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9) 4 | select BR2_CPP 5 | depends on BR2_PACKAGE_HCODE 6 | depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 7 | help 8 | Project to build the sbe firmware codebase 9 | 10 | if BR2_PACKAGE_SBE 11 | 12 | choice 13 | prompt "SBE version" 14 | default BR2_SBE_LATEST_VERSION 15 | 16 | config BR2_SBE_LATEST_VERSION 17 | bool "Use latest SBE master" 18 | 19 | config BR2_SBE_CUSTOM_VERSION 20 | bool "Custom SBE version" 21 | 22 | endchoice 23 | 24 | config BR2_SBE_CUSTOM_VERSION_VALUE 25 | string "SBE version" 26 | depends on BR2_SBE_CUSTOM_VERSION 27 | 28 | config BR2_SBE_VERSION 29 | string 30 | default "e66523bb0be9e66d9bbaaa895d5380091e0a9782" if BR2_SBE_LATEST_VERSION 31 | default BR2_SBE_CUSTOM_VERSION_VALUE \ 32 | if BR2_SBE_CUSTOM_VERSION 33 | 34 | endif 35 | -------------------------------------------------------------------------------- /openpower/package/sbe/sbe.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # SBE 4 | # 5 | ################################################################################ 6 | 7 | SBE_VERSION = $(call qstrip,$(BR2_SBE_VERSION)) 8 | SBE_SITE = $(call github,open-power,sbe,$(SBE_VERSION)) 9 | 10 | SBE_LICENSE = Apache-2.0 11 | SBE_DEPENDENCIES = host-ppe42-toolchain hcode 12 | 13 | SBE_INSTALL_IMAGES = YES 14 | SBE_INSTALL_TARGET = NO 15 | 16 | define SBE_BUILD_CMDS 17 | SBE_COMMIT_ID=$(SBE_VERSION) $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ 18 | LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \ 19 | CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) \ 20 | all 21 | endef 22 | 23 | define SBE_INSTALL_IMAGES_CMDS 24 | $(INSTALL) -D $(@D)/images/p9_ipl_build $(HOST_DIR)/usr/bin/ 25 | python2 $(@D)/src/build/sbeOpDistribute.py --sbe_binary_dir=$(STAGING_DIR)/sbe_binaries --img_dir=$(@D)/images --sbe_binary_filename $(BR2_HOSTBOOT_BINARY_SBE_FILENAME) 26 | cp $(@D)/src/build/sbeOpDistribute.py $(STAGING_DIR)/sbe_binaries/ 27 | endef 28 | 29 | $(eval $(generic-package)) 30 | -------------------------------------------------------------------------------- /openpower/package/skiboot/Config.in: -------------------------------------------------------------------------------- 1 | menu "Skiboot" 2 | 3 | config BR2_PACKAGE_SKIBOOT 4 | bool "skiboot" 5 | depends on BR2_powerpc64 || BR2_powerpc64le 6 | default y if (BR2_OPENPOWER_PLATFORM) 7 | help 8 | Build skiboot POWER firmware 9 | 10 | if BR2_PACKAGE_SKIBOOT 11 | 12 | config BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD 13 | bool "Embed kernel payload in skiboot image" 14 | depends on BR2_LINUX_KERNEL_ZIMAGE_EPAPR 15 | 16 | choice 17 | prompt "Skiboot version" 18 | default BR2_SKIBOOT_LATEST_VERSION 19 | 20 | config BR2_SKIBOOT_LATEST_VERSION 21 | bool "Use skiboot stable" 22 | 23 | config BR2_SKIBOOT_CUSTOM_VERSION 24 | bool "Custom version" 25 | 26 | endchoice 27 | 28 | config BR2_SKIBOOT_CUSTOM_VERSION_VALUE 29 | string "skiboot version" 30 | depends on BR2_SKIBOOT_CUSTOM_VERSION 31 | 32 | config BR2_SKIBOOT_VERSION 33 | string 34 | default "v7.0-12-g17e4ff6bd" if BR2_SKIBOOT_LATEST_VERSION 35 | default BR2_SKIBOOT_CUSTOM_VERSION_VALUE \ 36 | if BR2_SKIBOOT_CUSTOM_VERSION 37 | 38 | config BR2_SKIBOOT_CUSTOM_GIT 39 | bool "Custom git repository" 40 | 41 | config BR2_SKIBOOT_CUSTOM_REPO_URL 42 | string "URL of custom repository" 43 | depends on BR2_SKIBOOT_CUSTOM_GIT 44 | 45 | config BR2_SKIBOOT_DEVICETREE 46 | bool "Build device trees" 47 | 48 | endif 49 | 50 | endmenu 51 | -------------------------------------------------------------------------------- /openpower/package/skiboot/skiboot.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # skiboot 4 | # 5 | ################################################################################ 6 | 7 | SKIBOOT_VERSION = $(call qstrip,$(BR2_SKIBOOT_VERSION)) 8 | 9 | ifeq ($(BR2_SKIBOOT_CUSTOM_GIT),y) 10 | SKIBOOT_SITE = $(call qstrip,$(BR2_SKIBOOT_CUSTOM_REPO_URL)) 11 | SKIBOOT_SITE_METHOD = git 12 | else 13 | SKIBOOT_SITE = $(call github,open-power,skiboot,$(SKIBOOT_VERSION)) 14 | endif 15 | 16 | SKIBOOT_LICENSE = Apache-2.0 17 | SKIBOOT_LICENSE_FILES = LICENCE 18 | SKIBOOT_INSTALL_IMAGES = YES 19 | SKIBOOT_INSTALL_TARGET = NO 20 | 21 | 22 | ifeq ($(BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD),y) 23 | SKIBOOT_MAKE_OPTS += KERNEL=$(BINARIES_DIR)/$(LINUX_IMAGE_NAME) 24 | SKIBOOT_DEPENDENCIES += linux 25 | endif 26 | 27 | ifeq ($(BR2_SKIBOOT_DEVICETREE),y) 28 | SKIBOOT_DEPENDENCIES += host-dtc 29 | define SKIBOOT_BUILD_DEVICETREE 30 | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/external/devicetree all 31 | endef 32 | define SKIBOOT_INSTALL_DEVICETREE 33 | $(INSTALL) -D -m 644 $(@D)/external/devicetree/*.dtb $(BINARIES_DIR) 34 | endef 35 | endif 36 | 37 | # Pass Configure opts as env to not override Skiboot's 38 | # Additionally, Skiboot expects SKIBOOT_VERSION as env 39 | define SKIBOOT_BUILD_CMDS 40 | $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ 41 | SKIBOOT_VERSION=`cat $(SKIBOOT_VERSION_FILE)` \ 42 | $(MAKE) -C $(@D) $(SKIBOOT_MAKE_OPTS) all 43 | $(SKIBOOT_BUILD_DEVICETREE) 44 | endef 45 | 46 | define SKIBOOT_INSTALL_IMAGES_CMDS 47 | $(INSTALL) -D -m 755 $(@D)/skiboot.lid $(BINARIES_DIR) 48 | $(SKIBOOT_INSTALL_DEVICETREE) 49 | endef 50 | 51 | $(eval $(generic-package)) 52 | -------------------------------------------------------------------------------- /openpower/patches/blackbird-patches/hostboot/0001-Add-detailed-ISTEP-output-option-to-hostboot.patch: -------------------------------------------------------------------------------- 1 | From d90e6c513094231f622a427030f3dbca1eeb5ed5 Mon Sep 17 00:00:00 2001 2 | From: Timothy Pearson 3 | Date: Thu, 18 Apr 2019 06:28:50 +0000 4 | Subject: [PATCH] Add detailed ISTEP output option to hostboot 5 | 6 | Output detailed ISTEP data over LPC port 81h/82h in support of RCS 7 | Talos II systems. These systems will deadlock due to FSI silicon bugs 8 | in the CPUs unless the BMC is aware of the current ISTEP data in order 9 | to properly sequence BMC-side FSI service startup. 10 | --- 11 | src/usr/initservice/istepdispatcher/HBconfig | 5 ++++ 12 | .../istepdispatcher/istepdispatcher.C | 27 +++++++++++++++++++ 13 | 2 files changed, 32 insertions(+) 14 | 15 | diff --git a/src/usr/initservice/istepdispatcher/HBconfig b/src/usr/initservice/istepdispatcher/HBconfig 16 | index 7987f8ef3..ccbd43854 100644 17 | --- a/src/usr/initservice/istepdispatcher/HBconfig 18 | +++ b/src/usr/initservice/istepdispatcher/HBconfig 19 | @@ -21,6 +21,11 @@ config ISTEP_LPC_PORT80_DEBUG 20 | help 21 | Writes ISTEP progress to LPC port 80h. 22 | 23 | +config ISTEP_LPC_PORT8X_DEBUG 24 | + default n 25 | + help 26 | + Writes detailed ISTEP progress to LPC port 81h / 82h. 27 | + 28 | config HANG_ON_MFG_SRC_TERM 29 | default y 30 | help 31 | diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C 32 | index e8db88f33..8f2d57298 100644 33 | --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C 34 | +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C 35 | @@ -2521,6 +2521,33 @@ errlHndl_t IStepDispatcher::sendProgressCode(bool i_needsLock) 36 | port80_val++; 37 | #endif 38 | 39 | +#ifdef CONFIG_ISTEP_LPC_PORT8X_DEBUG 40 | + // Detailed istep output for consumption by BMC on e.g. RCS Talos II systems. 41 | + // 42 | + // Due to FSI silicon issues, those platforms may fail to start correctly 43 | + // if the BMC is not aware of the exact ISTEP being run to control BMC 44 | + // service sequencing. 45 | + // 46 | + // NEVER output fake values here, only real ISTEP data. 47 | + // Data is latched in on write to port 82h 48 | + uint8_t port81_val = iv_curIStep & 0xff; 49 | + uint8_t port82_val = iv_curSubStep & 0xff; 50 | + size_t port81_len = sizeof(port81_val); 51 | + size_t port82_len = sizeof(port82_val); 52 | + // Write port 81h first 53 | + err = deviceWrite(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL, 54 | + &port81_val, port81_len, 55 | + DEVICE_LPC_ADDRESS(LPC::TRANS_IO, 0x81)); 56 | + delete err; // this is debug only, ignore any errors 57 | + err = NULL; 58 | + // Then write port 82h, latching in the full 16-bit value for read 59 | + err = deviceWrite(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL, 60 | + &port82_val, port82_len, 61 | + DEVICE_LPC_ADDRESS(LPC::TRANS_IO, 0x82)); 62 | + delete err; // this is debug only, ignore any errors 63 | + err = NULL; 64 | +#endif 65 | + 66 | #ifdef CONFIG_CONSOLE_OUTPUT_PROGRESS 67 | //--- Display step on serial console 68 | if ((iv_curIStep != lastIstep) || (iv_curSubStep != lastSubstep)) 69 | -- 70 | 2.23.0 71 | 72 | -------------------------------------------------------------------------------- /openpower/platform/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_OPENPOWER_PLATFORM 2 | bool "Enables only one openPower platform" 3 | default n 4 | depends on (BR2_OPENPOWER_POWER9) 5 | 6 | config BR2_OPENPOWER_POWER9 7 | bool "Enables the OpenPower p9 platform" 8 | default n 9 | depends on BR2_powerpc64 || BR2_powerpc64le 10 | -------------------------------------------------------------------------------- /openpower/scripts/firmware-whitelist: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Scan the /lib/firmware directory of the target and delete any firmware 3 | # binaries that are not in our whitelist 4 | 5 | # A whitelist of entire directories or specific binary files. The trailing 6 | # slash is required. 7 | whitelist=( 'acenic/' 8 | 'bnx2/' 9 | 'bnx2x/bnx2x-e2-7.13.15.0.fw' 10 | 'cxgb4/t4fw-1.16.63.0.bin' 11 | 'cxgb4/t4fw.bin' 12 | 'cxgb3/' 13 | 'qed/qed_init_values_zipped-8.37.2.0.bin' 14 | 'ql2500_fw.bin') 15 | 16 | if [ -z "${TARGET_DIR}" ] ; then 17 | echo "TARGET_DIR not defined, setting to $1" 18 | TARGET_DIR=$1 19 | fi 20 | 21 | files=$(find ${TARGET_DIR}/lib/firmware/*) 22 | for file in ${files}; 23 | do 24 | if [ -d $file ] ; then 25 | continue 26 | fi 27 | 28 | found=0 29 | for item in ${whitelist[@]}; 30 | do 31 | if [ "${file/${item}}" != "${file}" ] ; then 32 | found=1 33 | break 34 | fi 35 | done 36 | 37 | if [ "${found}" -ne "1" ] ; then 38 | rm -v ${file} 39 | fi 40 | done 41 | -------------------------------------------------------------------------------- /openpower/scripts/fixup-target-var: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # replace /var/* symlinks with actual directories 4 | 5 | find $TARGET_DIR/var/ -type l | 6 | while read path 7 | do 8 | [ -d "$path" ] || continue 9 | rm -v $path 10 | mkdir -v $path 11 | done 12 | -------------------------------------------------------------------------------- /openpower/scripts/op-target-dependencies: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | 3 | use strict; 4 | my %seen = (); 5 | 6 | # Generate dependency list for all 'priority' targets. These are targets a 7 | # user is likely to build. 8 | my @priority_targets = ( "openpower-pnor" ); 9 | foreach my $target (@priority_targets) 10 | { 11 | next if $seen{$target}; 12 | 13 | print "$target\n"; 14 | $seen{$target} = 1; 15 | package_deps($target, 0); 16 | } 17 | 18 | # Generate dependency list for all other targets. 19 | packages(); 20 | 21 | # @sub packages 22 | # @brief Determine all the packages that can be built. 23 | # 24 | # Skip host-* (uninteresting) and target-* (buildroot special) packages. 25 | sub packages 26 | { 27 | open TARGETS, "make --directory=`pwd`/buildroot O=`pwd`/output ". 28 | "show-targets | sed 's/^make:.*//' |"; 29 | 30 | while (my $line = ) 31 | { 32 | chomp $line; 33 | next if ($line eq ""); 34 | 35 | my @targets = split / /,$line; 36 | foreach (@targets) 37 | { 38 | next if ($seen{$_}); 39 | next if ($_ =~ m/^host-/); 40 | next if ($_ =~ m/^target-/); 41 | 42 | print $_."\n"; 43 | $seen{$_} = 1; 44 | package_deps($_, 0); 45 | } 46 | } 47 | 48 | close TARGETS 49 | 50 | } 51 | 52 | # @sub package_deps 53 | # @brief Collect children dependencies for a package. 54 | sub package_deps 55 | { 56 | my $package = shift; 57 | my $level = shift; 58 | 59 | $package =~ s/-rebuild.*//; # Strip off -rebuild* subpass. 60 | $package =~ s/linux[0-9]*/linux/; # Strip off linux version. 61 | 62 | open DEPENDS, "make --directory=`pwd`/buildroot O=`pwd`/output ". 63 | "$package-show-depends | sed 's/^make:.*//' |"; 64 | 65 | while (my $line = ) 66 | { 67 | chomp $line; 68 | next if ($line eq ""); 69 | 70 | my @depends = split / /,$line; 71 | foreach my $depend (@depends) 72 | { 73 | foreach (0..$level) 74 | { 75 | print " "; 76 | } 77 | print $depend."\n"; 78 | 79 | next if ($seen{$depend}); 80 | $seen{$depend} = 1; 81 | package_deps($depend, $level+1); 82 | } 83 | } 84 | 85 | close DEPENDS; 86 | } 87 | -------------------------------------------------------------------------------- /openpower/scripts/update-defconfigs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | set -uo pipefail 4 | 5 | . op-build-env 6 | 7 | for c in openpower/configs/*defconfig; do 8 | PLATFORM=`basename $c _defconfig` 9 | PLATFORM_DEFCONFIG=`basename $c` 10 | echo $PLATFORM 11 | ODIR=`mktemp -d` 12 | op-build O=$ODIR $PLATFORM_DEFCONFIG 13 | if [ $# -gt 0 ]; then 14 | buildroot/utils/config --file $ODIR/.config "$@" 15 | fi 16 | op-build O=$ODIR olddefconfig 17 | op-build O=$ODIR savedefconfig 18 | rm -rf $ODIR 19 | done 20 | 21 | git diff --exit-code 22 | -------------------------------------------------------------------------------- /openpower/toolchain/Config.in: -------------------------------------------------------------------------------- 1 | menu "OpenPower Toolchain" 2 | 3 | source "$BR2_EXTERNAL_OP_BUILD_PATH/toolchain/ppe42-toolchain/Config.in" 4 | 5 | endmenu 6 | -------------------------------------------------------------------------------- /openpower/toolchain/ppe42-toolchain/Config.in: -------------------------------------------------------------------------------- 1 | 2 | menuconfig BR2_PACKAGE_PPE42_TOOLCHAIN 3 | bool "ppe42-toolchain" 4 | default y if (BR2_OPENPOWER_POWER9) 5 | help 6 | Build the PPE42 toolchain required to build the 7 | POWER9 firmware for OCC, SBE and HCODE 8 | 9 | if BR2_PACKAGE_PPE42_TOOLCHAIN 10 | 11 | choice 12 | prompt "PPE42 Toolchain Type" 13 | help 14 | Select whether to build the PPE42 toolchain or 15 | provide an external one 16 | 17 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-gcc/Config.in" 18 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-toolchain-external/Config.in" 19 | 20 | endchoice 21 | 22 | if BR2_PACKAGE_HOST_PPE42_GCC 23 | source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-binutils/Config.in" 24 | endif 25 | 26 | config BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 27 | bool 28 | 29 | config BR2_PACKAGE_PROVIDES_PPE42_TOOLCHAIN 30 | depends on BR2_PACKAGE_HAS_PPE42_TOOLCHAIN 31 | string 32 | 33 | endif 34 | -------------------------------------------------------------------------------- /openpower/toolchain/ppe42-toolchain/ppe42-toolchain.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # ppe42-toolchain 4 | # 5 | ################################################################################ 6 | PPE42_TOOLCHAIN_DIR = $(STAGING_SUBDIR)/ppe42-toolchain 7 | PPE42_TOOLCHAIN_BIN = $(STAGING_SUBDIR)/ppe42-toolchain/linux 8 | 9 | $(eval $(host-virtual-package)) 10 | -------------------------------------------------------------------------------- /output/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | --------------------------------------------------------------------------------