Commit 2b8e3fac authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull powerpc fixes from Madhavan Srinivasan:
 - Correct MSI allocation tracking
 - Always use 64 bits PTE for powerpc/e500
 - Fix inline assembly for clang build on PPC32
 - Fixes for clang build issues in powerpc64/ftrace
 - Fixes for powerpc64/bpf JIT and tailcall support
 - Cleanup MPC83XX devicetrees
 - Fix keymile vendor prefix
 - Fix to use big-endian types for crash variables

Thanks to Abhishek Dubey, Christophe Leroy (CS GROUP), Hari Bathini,
Heiko Schocher, J. Neuschäfer, Mahesh Salgaonkar, Nam Cao, Nilay Shroff,
Rob Herring (Arm), Saket Kumar Bhaskar, Sourabh Jain, Stan Johnson, and
Venkat Rao Bagalkote.

* tag 'powerpc-7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (23 commits)
  powerpc/pseries: Correct MSI allocation tracking
  powerpc: dts: mpc83xx: Add unit addresses to /memory
  powerpc: dts: mpc8315erdb: Add missing #cells properties to SPI bus
  powerpc: dts: mpc8315erdb: Rename LED nodes to comply with schema
  powerpc: dts: mpc8315erdb: Use IRQ_TYPE_* macros
  powerpc: dts: mpc8313erdb: Use IRQ_TYPE_* macros
  powerpc: 83xx: km83xx: Fix keymile vendor prefix
  dt-bindings: powerpc: Add Freescale/NXP MPC83xx SoCs
  powerpc64/bpf: fix kfunc call support
  powerpc64/bpf: fix handling of BPF stack in exception callback
  powerpc64/bpf: remove BPF redzone protection in trampoline stack
  powerpc64/bpf: use consistent tailcall offset in trampoline
  powerpc64/bpf: fix the address returned by bpf_get_func_ip
  powerpc64/bpf: do not increment tailcall count when prog is NULL
  powerpc64/ftrace: workaround clang recording GEP in __patchable_function_entries
  powerpc64/ftrace: fix OOL stub count with clang
  powerpc64: make clang cross-build friendly
  powerpc/crash: adjust the elfcorehdr size
  powerpc/kexec/core: use big-endian types for crash variables
  powerpc/prom_init: Fixup missing #size-cells on PowerMac media-bay nodes
  ...
parents b29fb882 35e4f2a1
Loading
Loading
Loading
Loading
+93 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/powerpc/fsl/fsl,mpc83xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale PowerQUICC II Pro (MPC83xx) platforms

maintainers:
  - J. Neuschäfer <j.ne@posteo.net>

properties:
  $nodename:
    const: '/'
  compatible:
    oneOf:
      - description: MPC83xx Reference Design Boards
        items:
          - enum:
              - fsl,mpc8308rdb
              - fsl,mpc8315erdb
              - fsl,mpc8360rdk
              - fsl,mpc8377rdb
              - fsl,mpc8377wlan
              - fsl,mpc8378rdb
              - fsl,mpc8379rdb

      - description: MPC8313E Reference Design Board
        items:
          - const: MPC8313ERDB
          - const: MPC831xRDB
          - const: MPC83xxRDB

      - description: MPC8323E Reference Design Board
        items:
          - const: MPC8323ERDB
          - const: MPC832xRDB
          - const: MPC83xxRDB

      - description: MPC8349E-mITX(-GP) Reference Design Platform
        items:
          - enum:
              - MPC8349EMITX
              - MPC8349EMITXGP
          - const: MPC834xMITX
          - const: MPC83xxMITX

      - description: Keymile KMETER1 board
        const: keymile,KMETER1

      - description: MPC8308 P1M board
        const: denx,mpc8308_p1m

patternProperties:
  "^soc@.*$":
    type: object
    properties:
      compatible:
        oneOf:
          - items:
              - enum:
                  - fsl,mpc8315-immr
                  - fsl,mpc8308-immr
              - const: simple-bus
          - items:
              - const: fsl,mpc8360-immr
              - const: fsl,immr
              - const: fsl,soc
              - const: simple-bus
          - const: simple-bus

additionalProperties: true

examples:
  - |
    / {
        compatible = "fsl,mpc8315erdb";
        model = "MPC8315E-RDB";
        #address-cells = <1>;
        #size-cells = <1>;

        soc@e0000000 {
            compatible = "fsl,mpc8315-immr", "simple-bus";
            reg = <0xe0000000 0x00000200>;
            #address-cells = <1>;
            #size-cells = <1>;
            device_type = "soc";
            ranges = <0 0xe0000000 0x00100000>;
            bus-frequency = <0>;
        };
    };

...
+2 −2
Original line number Diff line number Diff line
@@ -573,8 +573,8 @@ config ARCH_USING_PATCHABLE_FUNCTION_ENTRY
	depends on FUNCTION_TRACER && (PPC32 || PPC64_ELF_ABI_V2)
	depends on $(cc-option,-fpatchable-function-entry=2)
	def_bool y if PPC32
	def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-fpatchable-function-entry.sh $(CC) -mlittle-endian) if PPC64 && CPU_LITTLE_ENDIAN
	def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-fpatchable-function-entry.sh $(CC) -mbig-endian) if PPC64 && CPU_BIG_ENDIAN
	def_bool $(success,$(srctree)/arch/powerpc/tools/check-fpatchable-function-entry.sh $(CC) $(CLANG_FLAGS) -mlittle-endian) if PPC64 && CPU_LITTLE_ENDIAN
	def_bool $(success,$(srctree)/arch/powerpc/tools/check-fpatchable-function-entry.sh $(CC) -mbig-endian) if PPC64 && CPU_BIG_ENDIAN

config PPC_FTRACE_OUT_OF_LINE
	def_bool PPC64 && ARCH_USING_PATCHABLE_FUNCTION_ENTRY
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ PowerPC,8347@0 {
		};
	};

	memory {
	memory@0 {
		device_type = "memory";
		reg = <0x00000000 0x8000000>;	// 128MB at 0
	};
+0 −156
Original line number Diff line number Diff line
/* T4240 Interlaken LAC Portal device tree stub with 24 portals.
 *
 * Copyright 2012 Freescale Semiconductor Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of Freescale Semiconductor nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 *
 * ALTERNATIVELY, this software may be distributed under the terms of the
 * GNU General Public License ("GPL") as published by the Free Software
 * Foundation, either version 2 of that License or (at your option) any
 * later version.
 *
 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "fsl,interlaken-lac-portals";

lportal0: lac-portal@0 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x0 0x1000>;
};

lportal1: lac-portal@1000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x1000 0x1000>;
};

lportal2: lac-portal@2000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x2000 0x1000>;
};

lportal3: lac-portal@3000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x3000 0x1000>;
};

lportal4: lac-portal@4000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x4000 0x1000>;
};

lportal5: lac-portal@5000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x5000 0x1000>;
};

lportal6: lac-portal@6000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x6000 0x1000>;
};

lportal7: lac-portal@7000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x7000 0x1000>;
};

lportal8: lac-portal@8000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x8000 0x1000>;
};

lportal9: lac-portal@9000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x9000 0x1000>;
};

lportal10: lac-portal@A000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0xA000 0x1000>;
};

lportal11: lac-portal@B000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0xB000 0x1000>;
};

lportal12: lac-portal@C000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0xC000 0x1000>;
};

lportal13: lac-portal@D000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0xD000 0x1000>;
};

lportal14: lac-portal@E000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0xE000 0x1000>;
};

lportal15: lac-portal@F000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0xF000 0x1000>;
};

lportal16: lac-portal@10000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x10000 0x1000>;
};

lportal17: lac-portal@11000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x11000 0x1000>;
};

lportal18: lac-portal@1200 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x12000 0x1000>;
};

lportal19: lac-portal@13000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x13000 0x1000>;
};

lportal20: lac-portal@14000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x14000 0x1000>;
};

lportal21: lac-portal@15000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x15000 0x1000>;
};

lportal22: lac-portal@16000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x16000 0x1000>;
};

lportal23: lac-portal@17000 {
	compatible = "fsl,interlaken-lac-portal-v1.0";
	reg = <0x17000 0x1000>;
};
+0 −45
Original line number Diff line number Diff line
/*
 * T4 Interlaken Look-aside Controller (LAC) device tree stub
 *
 * Copyright 2012 Freescale Semiconductor Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of Freescale Semiconductor nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 *
 * ALTERNATIVELY, this software may be distributed under the terms of the
 * GNU General Public License ("GPL") as published by the Free Software
 * Foundation, either version 2 of that License or (at your option) any
 * later version.
 *
 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

lac: lac@229000 {
	compatible = "fsl,interlaken-lac";
	reg = <0x229000 0x1000>;
	interrupts = <16 2 1 18>;
};

lac-hv@228000 {
	compatible = "fsl,interlaken-lac-hv";
	reg = <0x228000 0x1000>;
	fsl,non-hv-node = <&lac>;
};
Loading