kernel: Move to Linux v5.4.107-openpower1

PowerPC related fixes since 5.4.68:

 powerpc/perf/hv-24x7: Fix incorrect comparison in memord
 powerpc/ipic: Fix status get and status clear
 powerpc/opal: Fix EBUSY bug in acquiring tokens
 powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
 powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
 powerpc/signal: Properly handle return value from uprobe_deny_signal()
 security/keys: add CONFIG_KEYS_COMPAT to Kconfig
 powerpc: Fix DAR reporting when alignment handler faults
 Revert "powerpc/numa: Fix percpu allocations to be NUMA aware"
 powerpc/asm: Mark cr0 as clobbered in mftb()
 powerpc: Fix emulation of mfocrf in emulate_step()
 powerpc: Fix emulation of mcrf in emulate_step()
 powerpc/64: Fix atomic64_inc_not_zero() to return an int
 powerpc: move ELF_ET_DYN_BASE to 4GB / 4MB
 powerpc/eeh: Enable IO path on permanent error
 powerpc/slb: Force a full SLB flush when we insert for a bad EA
 powerpc/kprobes: Pause function_graph tracing during jprobes handling
 mm: larger stack guard gap, between vmas
 powerpc/hotplug-mem: Fix missing endian conversion of aa_index
 powerpc/numa: Fix percpu allocations to be NUMA aware
 powerpc/eeh: Avoid use after free in eeh_handle_special_event()
 powerpc/book3s/mce: Move add_taint() later in virtual mode
 powerpc/powernv: Fix opal_exit tracepoint opcode
 powerpc/kprobe: Fix oops when kprobed on 'stdu' instruction
 powerpc: Disable HFSCR[TM] if TM is not supported
 powerpc: Don't try to fix up misaligned load-with-reservation instructions
 powerpc/mm: Add missing global TLB invalidate if cxl is active
 powerpc/boot: Fix zImage TOC alignment
 powerpc: Emulation support for load/store instructions on LE
 powerpc/xmon: Fix data-breakpoint
 powerpc: Add missing error check to prom_find_boot_cpu()
 powerpc/eeh: Fix wrong flag passed to eeh_unfreeze_pe()
 powerpc: Fix build warning on 32-bit PPC
 powerpc: Convert cmp to cmpd in idle enter sequence
 powerpc/eeh: Fix deadlock when PE frozen state can't be cleared
 powerpc/ptrace: Fix out of bounds array access warning
 powerpc/nvram: Fix an incorrect partition merge
 powerpc/eeh: Null check uses of eeh_pe_bus_get
 powerpc/mm: Prevent unlikely crash in copro_calculate_slb()
 powerpc/64: Fix incorrect return value from __copy_tofrom_user
 powerpc/powernv: Use CPU-endian PEST in pnv_pci_dump_p7ioc_diag_data()
 powerpc/powernv: Use CPU-endian hub diag-data type in pnv_eeh_get_and_dump_hub_diag()
 powerpc/powernv: Pass CPU-endian PE number to opal_pci_eeh_freeze_clear()
 powerpc/vdso64: Use double word compare on pointers
 powerpc/prom: Fix sub-processor option passed to ibm, client-architecture-support
 powerpc/mm: Don't alias user region to other regions below PAGE_OFFSET
 powerpc/powernv : Drop reference added by kset_find_obj()
 powerpc/tm: do not use r13 for tabort_syscall
 powerpc/tm: Avoid SLB faults in treclaim/trecheckpoint when RI=0
 powerpc/eeh: eeh_pci_enable(): fix checking of post-request state
 powerpc/tm: Always reclaim in start_thread() for exec() class syscalls
 powerpc/iommu: Remove the dependency on EEH struct in DDW mechanism
 powerpc: Use privileged SPR number for MMCR2
 powerpc: Fix definition of SIAR and SDAR registers
 powerpc/eeh: Restore initial state in eeh_pe_reset_and_recover()
 Revert "powerpc/eeh: Fix crash in eeh_add_device_early() on Cell"
 powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()
 powerpc/book3s64: Fix branching to OOL handlers in relocatable kernel
 powerpc: Fix bad inline asm constraint in create_zero_mask()
 Revert: "powerpc/tm: Check for already reclaimed tasks"
 powerpc: Update TM user feature bits in scan_features()
 powerpc: Update cpu_user_features2 in scan_features()
 powerpc: scan_features() updates incorrect bits for REAL_LE
 powerpc/mm: Fixup preempt underflow with huge pages
 powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages
 powerpc/powernv: Add a kmsg_dumper that flushes console output on panic
 powerpc: Fix dedotify for binutils >= 2.26
 powerpc/eeh: Fix partial hotplug criterion
 powerpc/ioda: Set "read" permission when "write" is set
 powerpc/powernv: Fix stale PE primary bus
 powerpc/eeh: Fix stale cached primary bus
 powerpc/eeh: Fix PE location code
 powerpc/module: Handle R_PPC64_ENTRY relocations
 powerpc: Make {cmp}xchg* and their atomic_ versions fully ordered
 powerpc: Make value-returning atomics fully ordered
 powerpc/tm: Check for already reclaimed tasks

Signed-off-by: Joel Stanley <joel@jms.id.au>
20 files changed
tree: 0782bad245754fbf29fbe42ba997008d146ca38f
  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
  13. op-build-env
  14. 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 Blackbird system:

git clone --recursive https://github.com/open-power/op-build.git
cd op-build
./op-build blackbird_defconfig && ./op-build

There are also default configurations for other platforms in openpower/configs/. 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.

The machine your building on will need Python 2.7, GCC 6.2 (or later), and a handful of other packages (see below).

Dependencies for 64-bit Ubuntu/Debian systems

  1. Install Ubuntu (>= 18.04) or Debian (>= 9) 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 gawk cpio xxd \
       build-essential g++ git bison flex unzip \
       libssl-dev libxml-simple-perl libxml-sax-perl libxml-parser-perl libxml2-dev libxml2-utils xsltproc \
       wget bc rsync
    

Dependencies for 64-bit Fedora systems

  1. Install Fedora (>= 25) 64-bit.

  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(bigint)" "perl(XML::Simple)" \
       "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \
       "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" "perl(ExtUtils::MakeMaker)" \
       "perl(FindBin)" "perl(English)" "perl(Time::localtime)" \
       libxml2-devel which wget unzip tar cpio python bzip2 bc findutils ncurses-devel \
       openssl-devel make libxslt vim-common lzo-devel python2 rsync hostname