97db7b59 | 29-Feb-2024 |
Michael Ellerman <mpe@ellerman.id.au> |
powerpc/boot: Only free if realloc() succeeds
[ Upstream commit f2d5bccaca3e8c09c9b9c8485375f7bdbb2631d2 ]
simple_realloc() frees the original buffer (ptr) even if the reallocation failed.
Fix it
powerpc/boot: Only free if realloc() succeeds
[ Upstream commit f2d5bccaca3e8c09c9b9c8485375f7bdbb2631d2 ]
simple_realloc() frees the original buffer (ptr) even if the reallocation failed.
Fix it to behave like standard realloc() and only free the original buffer if the reallocation succeeded.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240229115149.749264-1-mpe@ellerman.id.au Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
b751ed04 | 19-Jun-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop MPC85xx_CDS platform support
The MPC8541/8548/8555 Configurable Development System (CDS) were the vehicle used to provide evaluation of the 1st e500-v2 CPUs around 2007.
Similar to th
powerpc: drop MPC85xx_CDS platform support
The MPC8541/8548/8555 Configurable Development System (CDS) were the vehicle used to provide evaluation of the 1st e500-v2 CPUs around 2007.
Similar to the earlier MPC83xx-MDS systems we removed, the "brains" exist on a PCI-X card, but additional connectors exist to the right of the PCI-X slot, two structural metal pins are used to provide stability in a vertical ATX mounting, and the CPU is now on a daughter-card vs. a clamped down BGA.
Given the extra complexity and risk of connector damage, the 8548CDS I had access to came pre-assembled in a basic white Antec case common for that era, and I'm inclined to assume that was the default.
Power was typical "Pentium4" 2005 ATX - the main 20 pin connector went to the PCI ATX form factor backplane, and the 4 pin black/yellow went to the CPU card.
Like previous evaluation boards, they attempted to provide break-out connectors for as many features as possible, and that made for a fairly complex looking system.
In any case, these are over 15 years old, and fairly complex systems, originally made for a small group of industry related people, and made for use where quiet fan operation wasn't important. Given that, it makes sense to remove support from them in 2023.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230620043300.197546-3-paul.gortmaker@windriver.com
show more ...
|
f5df87b8 | 06-Jun-2023 |
Nicholas Piggin <npiggin@gmail.com> |
powerpc/build: Remove -pipe from compilation flags
x86 removed -pipe in commit 437e88ab8f9e2 ("x86/build: Remove -pipe from KBUILD_CFLAGS") and the newer arm64 and riscv seem to have never used it,
powerpc/build: Remove -pipe from compilation flags
x86 removed -pipe in commit 437e88ab8f9e2 ("x86/build: Remove -pipe from KBUILD_CFLAGS") and the newer arm64 and riscv seem to have never used it, so that seems to be the way the world's going.
Compile performance building defconfig on a POWER10 PowerNV system was in the noise after 10 builds each. No point in adding options unless they help something, so remove it.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230606064830.184083-1-npiggin@gmail.com
show more ...
|
8bce81db | 06-Jun-2023 |
Nicholas Piggin <npiggin@gmail.com> |
powerpc/boot: Clean up Makefile after cflags and asflags separation
Tidy pass over boot Makefile. Move variables together where possible.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-o
powerpc/boot: Clean up Makefile after cflags and asflags separation
Tidy pass over boot Makefile. Move variables together where possible.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230606064657.183969-5-npiggin@gmail.com
show more ...
|
54194a2f | 06-Jun-2023 |
Nicholas Piggin <npiggin@gmail.com> |
powerpc/boot: Separate BOOTCFLAGS from BOOTASFLAGS
BOOTCFLAGS no longer contains anything that BOOTASFLAGS needs (except -pipe). Separate them to avoid fragility with cross-contamination of flags wh
powerpc/boot: Separate BOOTCFLAGS from BOOTASFLAGS
BOOTCFLAGS no longer contains anything that BOOTASFLAGS needs (except -pipe). Separate them to avoid fragility with cross-contamination of flags which has caused several build problems.
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Link: https://lore.kernel.org/lkml/CAHk-=whyWUdJDeOBN1hRWYSkQkvzYiQ5RbSW5rJjExgnbSNX9Q@mail.gmail.com/ Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230606064657.183969-4-npiggin@gmail.com
show more ...
|
d1b7d40d | 06-Jun-2023 |
Nicholas Piggin <npiggin@gmail.com> |
powerpc/boot: Separate CPP flags from BOOTCFLAGS
Add BOOTCPPFLAGS variable for the CPP options required by C and AS.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerm
powerpc/boot: Separate CPP flags from BOOTCFLAGS
Add BOOTCPPFLAGS variable for the CPP options required by C and AS.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230606064657.183969-3-npiggin@gmail.com
show more ...
|
859b21a0 | 24-Feb-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop PowerQUICC II Family ADS platform support
Based on documentation revision dates, this MPC82xx pq2fads system predates the MPC8272-ADS variant by about a year and only has 1/2 the amoun
powerpc: drop PowerQUICC II Family ADS platform support
Based on documentation revision dates, this MPC82xx pq2fads system predates the MPC8272-ADS variant by about a year and only has 1/2 the amount of RAM (32MB) -- largely making it useless with a modern v6.x kernel from today.
Similar to the MPC8272-ADS the pq2fads also supported other 82xx CPU variants, had 8MB flash, and like the 8272 ADS platform, was on a fairly large PCB in order to have space for breakout connectors for all features.
These 82xx platforms are two decades old, and originally made for a small group of industry related people in order to assist in new OEM board designs. Given that, it makes sense to remove support today.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230224204959.17425-3-paul.gortmaker@windriver.com
show more ...
|
33777a4e | 24-Feb-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop MPC8272_ADS platform support
The MPC8272-ADS also supported other 82xx CPU variants, had 64MB RAM, 8MB flash, and like the 85xx ADS platforms, was on a fairly large PCB in order to hav
powerpc: drop MPC8272_ADS platform support
The MPC8272-ADS also supported other 82xx CPU variants, had 64MB RAM, 8MB flash, and like the 85xx ADS platforms, was on a fairly large PCB in order to have space for breakout connectors for all the features.
These 82xx platforms are two decades old, and originally made for a small group of industry related people in order to assist in new OEM board designs. Given that, it makes sense to remove support today.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230224204959.17425-2-paul.gortmaker@windriver.com
show more ...
|
248667f8 | 25-Feb-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop HPCD/MPC8610 evaluation platform support
This evaluation platform was essentially a single core 8641 with integrated graphics/display support - in an effort to reduce chip count on kio
powerpc: drop HPCD/MPC8610 evaluation platform support
This evaluation platform was essentially a single core 8641 with integrated graphics/display support - in an effort to reduce chip count on kiosk and similar applications.
Compared to other evaluation platforms considered for removal in other recent commits, this platform was relatively rare. Unlike all the other 10+ platforms, I couldn't find any documentation on it - just a link to downloading the 2007 era BSP in "LTIB" format as was done back then.
With all that in mind, it seems prudent to remove it here in 2023.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> [mpe: Drop stale reference to MPC8610_HPCD in 86xx/Kconfig] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230225201318.3682-4-paul.gortmaker@windriver.com
show more ...
|
c1d85f3f | 25-Feb-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop HPC-NET/MPC8641D evaluation platform support
There is no denying that this was an interesting platform in its day. Access to a SMP powerpc platform became a bit more obtainable for fol
powerpc: drop HPC-NET/MPC8641D evaluation platform support
There is no denying that this was an interesting platform in its day. Access to a SMP powerpc platform became a bit more obtainable for folks in the BSP industry in the 2007 era, thanks to this platform.
Add to that the move to the black Antec case vs. the generic white 2005 era case of the MPC8548CDS or the retro 1950s 1/2 height horizontal case of the HPC II, and it was pretty interesting to people like myself then.
However, like all the other evaluation platforms, the overall system was complex out of necessity, as it tried to showcase all possible features and use-cases. That included an AMP option, where you could run two bootloaders and two kernels over two serial consoles. Peripheral sharing got a bit more tricky when you got to the hard disk and similar.
In any case we still have the same circumstance. A relatively rare and expensive evaluation platform that is now 15+ years old and not out there in large numbers in the general public. Removal in 2023 just makes sense.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230225201318.3682-3-paul.gortmaker@windriver.com
show more ...
|
f03425a5 | 25-Feb-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop HPC II (MPC7448) evaluation platform support.
This was an interesting platform - it was the 1st instance of a respin of earlier 130nm 74xx CPUs on 90nm and systems using MPC7448 were p
powerpc: drop HPC II (MPC7448) evaluation platform support.
This was an interesting platform - it was the 1st instance of a respin of earlier 130nm 74xx CPUs on 90nm and systems using MPC7448 were positioned as a rack server platform solution.
Given that, the evaluation platform (at least the one I had) was shipped in a horizontal 1/2 height Antec desktop case with retro styling and colours, despite the fact the docs explicitly stated that the HPC II is not a desktop machine (noting it had no gfx or legacy PC I/O support).
Historic trivia aside, this was the 1st introduction of the e600 procfam as an evolution from the earlier G4.
However even with the claim to being "1st e600" it seems the 2005+ era was turning its attention to multicore support and from my memory this poor guy was quickly overshadowed by the dual core MPC8641D.
All that aside, we are once again looking at 15+ year old evaluation platforms that were not widely distributed, so 2023 removal makes sense.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230225201318.3682-2-paul.gortmaker@windriver.com
show more ...
|
b8fa3af2 | 12-Apr-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop MPC832x_MDS platform support
This final variant in the e300 family of Modular Development System (MDS) in this series was actually aimed at feature reduction - things like floating poi
powerpc: drop MPC832x_MDS platform support
This final variant in the e300 family of Modular Development System (MDS) in this series was actually aimed at feature reduction - things like floating point and ethernet were removed in order to make for a lower power and lower cost system.
Like all the MDS systems, it was meant as a vehicle to get the CPU out early to hardware OEMs so software and board development could take place in parallel.
These were made in limited numbers and availability preference was given to partners who were planning to make their own boards.
Given that the whole reason for existence was to assist in enabling new board designs [not happening for 10+ years], and that they weren't generally available, and that the hardware wasn't really hobbyist friendly even for retro computing, it makes sense to retire the support for this particular platform.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Li Yang <leoyang.li@nxp.com> [mpe: Drop stale reference to MPC832x_MDS in arch/powerpc/boot/Makefile] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230220115913.25811-5-paul.gortmaker@windriver.com
show more ...
|
aa572079 | 12-Apr-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop MPC837x_MDS platform support
This next evolutionary step in the e300 family of Modular Development System (MDS) still has, at its core component, a full length card with a PCI edge. N
powerpc: drop MPC837x_MDS platform support
This next evolutionary step in the e300 family of Modular Development System (MDS) still has, at its core component, a full length card with a PCI edge. No case. Serial and network connectors were on card, so it could optionally be fitted with plastic stand-offs and run stand-alone off a power brick.
This is very similar to the MPC834x_MDS and MPC836x_MDS removed in the prior commits, but with this board variant as yet another evolutionary step. SATA and PCI-e were now available. But overall the form factor and design goals were unchanged.
Like all the MDS systems, it was meant as a vehicle to get the CPU out early to hardware OEMs so software and board development could take place in parallel.
These were made in limited numbers and availability preference was given to partners who were planning to make their own boards.
Given that the whole reason for existence was to assist in enabling new board designs [not happening for 10+ years], and that they weren't generally available, and that the hardware wasn't really hobbyist friendly even for retro computing, it makes sense to retire the support for this particular platform.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Li Yang <leoyang.li@nxp.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230220115913.25811-4-paul.gortmaker@windriver.com
show more ...
|
7840b08a | 12-Apr-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop MPC836x_MDS platform support
This 2006 era Modular Development System (MDS) has, at its core component, a full length card with a PCI edge. No case. Serial and network connectors wer
powerpc: drop MPC836x_MDS platform support
This 2006 era Modular Development System (MDS) has, at its core component, a full length card with a PCI edge. No case. Serial and network connectors were on card, so it could optionally be fitted with plastic stand-offs and run stand-alone off a power brick.
This is very similar to the MPC834x_MDS removed in the prior commit, but with this board variant as an evolutionary step. DDR2 was now an option, and the card edge was revised down to PCI-32 as PCI-64 never got traction. But overall the form factor and design goals were unchanged.
Like all the MDS systems, it was meant as a vehicle to get the CPU out early to hardware OEMs so software and board development could take place in parallel.
To that end, the BGA CPU was held in place with a mechanical spring loaded pressure assembly (vs. solder) so that early rev silicon could be replaced in the field. Not for COTS deployment!
These were made in limited numbers and availability preference was given to partners who were planning to make their own boards.
Given that the whole reason for existence was to assist in enabling new board designs [not happening for 10+ years], and that they weren't generally available, and that the hardware wasn't really hobbyist friendly even for retro computing, it makes sense to retire the support for this particular platform.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Li Yang <leoyang.li@nxp.com> [mpe: Drop stale reference to MPC836x_MDS in arch/powerpc/boot/Makefile] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230220115913.25811-3-paul.gortmaker@windriver.com
show more ...
|
da031017 | 12-Apr-2023 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
powerpc: drop MPC834x_MDS platform support
This 2006 era Modular Development System (MDS) has, at its core component, a full length card with a PCI-64 edge. No case. Serial and network connectors
powerpc: drop MPC834x_MDS platform support
This 2006 era Modular Development System (MDS) has, at its core component, a full length card with a PCI-64 edge. No case. Serial and network connectors were on card, so it could optionally be fitted with plastic stand-offs and run stand-alone off a power brick.
Like all the MDS systems, it was meant as a vehicle to get the CPU out early to hardware OEMs so software and board development could take place in parallel.
To that end, the BGA CPU was held in place with a mechanical spring loaded pressure assembly (vs. solder) so that early rev silicon could be replaced in the field. Not for COTS deployment!
These were made in limited numbers and availability preference was given to partners who were planning to make their own boards, like our WR SBC8349 [since retired in v4.18 (2017, commit 3bc6cf5a86e5)]
Given that the whole reason for existence was to assist in enabling new board designs [not happening for 10+ years], and that they weren't generally available, and that the hardware wasn't really hobbyist friendly even for retro computing, it makes sense to retire the support for this platform.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Li Yang <leoyang.li@nxp.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230220115913.25811-2-paul.gortmaker@windriver.com
show more ...
|
40f7b523 | 08-Apr-2023 |
Pali Rohár <pali@kernel.org> |
powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string
"fsl,P2020RDB-PC" compatible string was present in Turris 1.x DTS file just because Linux kernel required it for proper detecti
powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string
"fsl,P2020RDB-PC" compatible string was present in Turris 1.x DTS file just because Linux kernel required it for proper detection of P2020 processor during boot.
This was quite a hack as CZ.NIC Turris 1.x is not compatible with Freescale P2020-RDB-PC board.
Now when kernel has generic unified support for boards with P2020 processors, there is no need to have this "hack" in turris1x.dts file.
So remove incorrect "fsl,P2020RDB-PC" compatible string from turris1x.dts.
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230408140122.25293-14-pali@kernel.org
show more ...
|
648a1783 | 06-Apr-2023 |
Nicholas Piggin <npiggin@gmail.com> |
powerpc/boot: Fix boot wrapper code generation with CONFIG_POWER10_CPU
-mcpu=power10 will generate prefixed and pcrel code by default, which we do not support. The general kernel disables these with
powerpc/boot: Fix boot wrapper code generation with CONFIG_POWER10_CPU
-mcpu=power10 will generate prefixed and pcrel code by default, which we do not support. The general kernel disables these with cflags, but those were missed for the boot wrapper.
Fixes: 4b2a9315f20d ("powerpc/64s: POWER10 CPU Kconfig build option") Cc: stable@vger.kernel.org # v6.1+ Reported-by: Danny Tsen <dtsen@linux.ibm.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230407040909.230998-1-npiggin@gmail.com
show more ...
|