kernel: Move to Linux 4.17.12-openpower1

PowerPC fixes:

 mm, powerpc, x86: define VM_PKEY_BITx bits if CONFIG_ARCH_HAS_PKEYS is enabled
 bpf: powerpc64: pad function address loads with NOPs
 powerpc: Add __printf verification to prom_printf
 powerpc/powermac: Mark variable x as unused
 powerpc/powermac: Add missing prototype for note_bootable_part()
 powerpc/chrp/time: Make some functions static, add missing header include
 powerpc/32: Add a missing include header
 powerpc/64s: Fix compiler store ordering to SLB shadow area
 powerpc/eeh: Fix use-after-release of EEH driver
 powerpc/64s: Add barrier_nospec

Driver fixes:

 cxgb4: Added missing break in ndo_udp_tunnel_{add/del}
 igb: Fix queue selection on MAC filters on i210
 i40e: avoid overflow in i40e_ptp_adjfreq()
 i40e: Add advertising 10G LR mode
 i40e: free the skb after clearing the bitlock
 ixgbevf: fix MAC address changes through ixgbevf_set_mac()
 ixgbe: Fix setting of TC configuration for macvlan case

Signed-off-by: Joel Stanley <joel@jms.id.au>
17 files changed
tree: 3897d517969315813c41a2615e5f098fd3823e06
  1. ci/
  2. dl/
  3. doc/
  4. openpower/
  5. output/
  6. .gitignore
  7. .gitmodules
  8. .travis.yml
  9. CONTRIBUTING.md
  10. LICENSE
  11. NOTICE
  12. op-build-env
  13. README.md
README.md

OpenPOWER Firmware Build Environment

The OpenPOWER firmware build process uses Buildroot to create a toolchain and build the various components of the PNOR firmware, including Hostboot, Skiboot, OCC, Petitboot etc.

Documentation

https://open-power.github.io/op-build/

See the doc/ directory for documentation source. Contributions are VERY welcome!

Development

Issues, Milestones, pull requests and code hosting is on GitHub: https://github.com/open-power/op-build

See CONTRIBUTING.md for howto contribute code.

Building an image

To build an image for a Palmetto system:

git clone --recursive git@github.com:open-power/op-build.git
cd op-build
. op-build-env
op-build palmetto_defconfig && op-build

There are also default configurations for other platforms in openpower/configs/. Current POWER8 platforms include Habanero, Firestone, and Garrison. Current POWER9 platforms include Witherspoon, Boston (p9dsu), Romulus, and Zaius.

Buildroot/op-build supports both native and cross-compilation - it will automatically download and build an appropriate toolchain as part of the build process, so you don't need to worry about setting up a cross-compiler. Cross-compiling from a x86-64 host is officially supported.

Dependencies for 64-bit Ubuntu/Debian systems

  1. Install Ubuntu (>= 14.04) or Debian (>= 7.5) 64-bit.

  2. Enable Universe (Ubuntu only):

     sudo apt-get install software-properties-common
     sudo add-apt-repository universe
    
  3. Install the packages necessary for the build:

     sudo apt-get install cscope ctags libz-dev libexpat-dev \
       python language-pack-en texinfo \
       build-essential g++ git bison flex unzip \
       libssl-dev libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc \
       wget bc
    

Dependencies for 64-bit Fedora systems

  1. Install Fedora 25 64-bit (older Fedora should also work).

  2. Install the packages necessary for the build:

     sudo dnf install gcc-c++ flex bison git ctags cscope expat-devel patch \
       zlib-devel zlib-static texinfo perl-bignum "perl(XML::Simple)" \
       "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \
       "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" libxml2-devel \
       which wget unzip tar cpio python bzip2 bc findutils ncurses-devel