#3082 closed enhancement (fixed)

Add 64-bit support for PowerPC

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: arch/powerpc Version:
Severity: normal Keywords:
Cc: Blocked By:


The QorIQ chips have more than 4GiB of memory available.

Change History (57)

comment:1 Changed on 07/28/17 at 08:25:37 by Sebastian Huber

GCC support will be available with GCC 7.2:


comment:2 Changed on 07/28/17 at 08:49:28 by Sebastian Huber <sebastian.huber@…>

In b615e9b/rtems:

bsp/qoriq: Simplify initialization

Do not flush/invalidate the caches. Instead enable the cache during the
low-level initialization and perform an explicit cache flush for the
read-only and fast-text sections.

Update #3082.
Update #3085.

comment:3 Changed on 07/28/17 at 08:49:42 by Sebastian Huber <sebastian.huber@…>

In 0db7c55/rtems:

bsp/qoriq: New BSP names

Due to the FDT support we can now reduce the BSP variants. Use the
processor core to define the BSP variants.

Update #3082.
Update #3085.

comment:4 Changed on 07/28/17 at 11:45:15 by Sebastian Huber <sebastian.huber@…>

In 1ceafe5/rtems-source-builder:

4.12: Update to Binutils 2.29

Update #3082.

comment:5 Changed on 07/28/17 at 13:40:58 by Sebastian Huber <sebastian.huber@…>

In 8966e8a/rtems:

bsp/qoriq: Fix pre-processor expansion

Update #3082.
Update #3085.

comment:6 Changed on 07/31/17 at 12:46:02 by Sebastian Huber <sebastian.huber@…>

In a597984/rtems:

powerpc: Add register defines

Update #3082.
Update #3085.

comment:7 Changed on 07/31/17 at 12:46:18 by Sebastian Huber <sebastian.huber@…>

In 65ee42c/rtems:

bsp/qoriq: Simplify fatal exceptions

Avoid use of small-data area, since it is not supported in the ELFv2 ABI
by GCC.

Update #3082.

comment:8 Changed on 07/31/17 at 12:46:33 by Sebastian Huber <sebastian.huber@…>

In b7be9439/rtems:

bsps/powerpc: Do not set ouput format and arch

There is no need to explicitly set the output format and architecture in
the linker script. This enables the usage of this linker script with
the ELFv2 ABI (64-bit).

Update #3082.

comment:9 Changed on 08/01/17 at 09:45:58 by Sebastian Huber <sebastian.huber@…>

In 23cb9af/rtems:

bsps/powerpc: Rename ppc_exc_wrap_async_normal

Rename ppc_exc_wrap_async_normal to ppc_exc_interrupt to avoid a bit of

Update #3082.

comment:10 Changed on 08/01/17 at 09:46:11 by Sebastian Huber <sebastian.huber@…>

In a8694035/rtems:


Use a specific define for the interrupt exception frame size.

Update #3082.

comment:11 Changed on 08/22/17 at 14:49:44 by Sebastian Huber <sebastian.huber@…>

In 7e3ff84/rtems-source-builder:

4.12: Fix 64-bit PowerPC support of GCC 7.2

Update #3082.

comment:12 Changed on 08/22/17 at 14:51:08 by Sebastian Huber <sebastian.huber@…>

In 279c540/rtems:

score: Fix format specifier

Update #3082.

comment:13 Changed on 08/22/17 at 14:51:20 by Sebastian Huber <sebastian.huber@…>

In e062741d/rtems:

dev/i2c: Fix integer type

Update #3082.

comment:14 Changed on 08/22/17 at 14:51:32 by Sebastian Huber <sebastian.huber@…>

In 93934f88/rtems:

heap: Fix integer types

Update #3082.

comment:15 Changed on 08/22/17 at 14:51:44 by Sebastian Huber <sebastian.huber@…>

In a8f4fd2/rtems:

smptests: Fix format specifier

Update #3082.

comment:16 Changed on 08/22/17 at 14:51:57 by Sebastian Huber <sebastian.huber@…>

In b98e407/rtems:

libchip/ata: Fix integer to/from pointer

Update #3082.

comment:17 Changed on 08/22/17 at 14:52:10 by Sebastian Huber <sebastian.huber@…>

In 5e1a831/rtems:

libchip/serial: Fix integer types

Update #3082.

comment:18 Changed on 08/22/17 at 14:52:22 by Sebastian Huber <sebastian.huber@…>

In caa12270/rtems:

powerpc: Add register defines

Update #3082.

comment:19 Changed on 08/22/17 at 14:52:35 by Sebastian Huber <sebastian.huber@…>

In ea9084de/rtems:

powerpc: ppc_interrupt_get_disable_mask()

Fix warning on 64-bit PowerPC.

Update #3082.

comment:20 Changed on 08/22/17 at 14:52:47 by Sebastian Huber <sebastian.huber@…>

In 5a9372f/rtems:

powerpc: 64-bit support for CPU_SIZEOF_POINTER

Update #3082.

comment:21 Changed on 08/22/17 at 14:52:59 by Sebastian Huber <sebastian.huber@…>

In 7837728b/rtems:

powerpc: 64-bit _CPU_Context_Initialize() support

Update #3082.

comment:22 Changed on 08/22/17 at 14:53:11 by Sebastian Huber <sebastian.huber@…>

In a6f84b27/rtems:

powerpc: Add 64-bit context/interrupt support

Update #3082.

comment:23 Changed on 08/22/17 at 14:53:24 by Sebastian Huber <sebastian.huber@…>

In ec25c6ef/rtems:

bsps: Fix integer to/from pointer

Update #3082.

comment:24 Changed on 08/22/17 at 14:53:48 by Sebastian Huber <sebastian.huber@…>

In 241d2f2/rtems:

bsps: Fix integer types in bsp_fdt_copy()

Update #3082.

comment:25 Changed on 08/22/17 at 14:54:00 by Sebastian Huber <sebastian.huber@…>

In 60d077f/rtems:

bsps/powerpc: Add 64-bit linker sections

Update #3082.

comment:26 Changed on 08/22/17 at 14:54:12 by Sebastian Huber <sebastian.huber@…>

In 50382788/rtems:

bsps/powerpc: Add 64-bit SET_SELF_CPU_CONTROL

Update #3082.

comment:27 Changed on 08/22/17 at 14:54:25 by Sebastian Huber <sebastian.huber@…>

In d50124d/rtems:

bsps/powerpc: Rename ppc_exc_wrap_async_normal_end

Rename ppc_exc_wrap_async_normal_end to ppc_exc_interrupt_end to avoid a
bit of obfuscation.

Update #3082.

comment:28 Changed on 08/22/17 at 14:54:37 by Sebastian Huber <sebastian.huber@…>

In 0e26c19a/rtems:

bsps/powerpc: Add 64-bit CRT init/fini support

Update #3082.

comment:29 Changed on 08/22/17 at 14:54:50 by Sebastian Huber <sebastian.huber@…>

In c6994af/rtems:

bsp/qoriq: Use LA to load an address

Add 64-bit support for LA.

Update #3082.

comment:30 Changed on 08/22/17 at 14:55:03 by Sebastian Huber <sebastian.huber@…>

In 43cc2b4/rtems:

bsp/qoriq: Add basic 64-bit support

Update #3082.

comment:31 Changed on 08/22/17 at 14:55:15 by Sebastian Huber <sebastian.huber@…>

In 0ae1916b/rtems:

bsp/qoriq: Copy FDT later

We need a ready to use TOC section before we can call bsp_fdt_copy().

Update #3082.

comment:32 Changed on 08/22/17 at 14:55:27 by Sebastian Huber <sebastian.huber@…>

In f14da45/rtems:

bsp/qoriq: 64-bit support for spin table

Update #3082.

comment:33 Changed on 08/22/17 at 14:55:40 by Sebastian Huber <sebastian.huber@…>

In 5f42a0e/rtems:

bsp/qoriq: Enable 64-bit mode for exceptions

Update #3082.

comment:34 Changed on 08/22/17 at 14:55:52 by Sebastian Huber <sebastian.huber@…>

In 77c81016/rtems:

bsp/qoriq: 64-bit support for interrupt controller

Update #3082.

comment:35 Changed on 08/22/17 at 14:56:04 by Sebastian Huber <sebastian.huber@…>

In c8aeb76/rtems:

bsp/qoriq: 64-bit MMU support

Update #3082.

comment:36 Changed on 08/22/17 at 14:56:16 by Sebastian Huber <sebastian.huber@…>

In c693a3a/rtems:


In 64-bit mode, the linker must have the ability to restore the TOC
pointer after an external function call.

Update #3082.

comment:37 Changed on 08/22/17 at 14:56:29 by Sebastian Huber <sebastian.huber@…>

In 95a4b1f/rtems:

bsp/qoriq: Enable > 2GiB memory

Update #3082.

comment:38 Changed on 08/22/17 at 14:56:41 by Sebastian Huber <sebastian.huber@…>

In 695c9c50/rtems:

bsp/qoriq: Add qoriq_e6500_64 variant

Update #3082.

comment:39 Changed on 08/22/17 at 14:59:45 by Sebastian Huber <sebastian.huber@…>

In fd0bcc5/rtems-tools:

tester: Add qoriq_e6500_64

Update #3082.

comment:40 Changed on 08/22/17 at 15:02:20 by Sebastian Huber

Milestone: Indefinite4.12.0
Status: assignedaccepted

comment:41 Changed on 08/23/17 at 07:26:19 by Sebastian Huber <sebastian.huber@…>

In b6977f7/rtems-docs:

cpu-supplement/powerpc: Rewrite

Remove obsolete and duplicated information. Reference the ABI
specifications. Add 64-bit caveats.

Update #3082.

comment:42 Changed on 08/23/17 at 09:04:37 by Sebastian Huber <sebastian.huber@…>

In 34ff390/rtems-libbsd:

BUS_SPACE(9): 64-bit support

Update #3082.

comment:43 Changed on 08/24/17 at 06:11:40 by Sebastian Huber

Resolution: fixed
Status: acceptedclosed

Works on a T4240 with network stack.

comment:44 Changed on 08/24/17 at 13:55:28 by Sebastian Huber <sebastian.huber@…>

In 873ba80/rtems-docs:

cpu-supplement: Fix PowerPC TOC limitation

Update #3082.

comment:45 Changed on 08/25/17 at 08:36:10 by Sebastian Huber <sebastian.huber@…>

In 3fdea2d/rtems-docs:

cpu-supplement: Use literal instead of emphasis

Update #3082.

comment:46 Changed on 09/28/17 at 11:22:22 by Sebastian Huber <sebastian.huber@…>

In 910adc3/rtems:

bsps: Fix integer to/from pointer warnings

Update #3082.

comment:47 Changed on 10/16/17 at 06:19:48 by Sebastian Huber

Component: scorearch/powerpc

comment:48 Changed on 11/09/17 at 06:27:14 by Sebastian Huber


Milestone renamed

comment:49 Changed on 11/24/17 at 14:13:31 by Sebastian Huber <sebastian.huber@…>

In 2e7c3f6/rtems:

sptests/splinkersets01: Fix 64-bit targets

Update #3082.

comment:50 Changed on 11/24/17 at 14:19:07 by Sebastian Huber <sebastian.huber@…>

In 54e7b81/rtems:

libtests/stringto01: Fix 64-bit targets

Update #3082.

comment:51 Changed on 11/24/17 at 14:27:25 by Sebastian Huber <sebastian.huber@…>

In 57f96b9/rtems:

libtests/malloctest: Fix 64-bit targets

Update #3082.

comment:52 Changed on 01/22/18 at 14:24:50 by Sebastian Huber <sebastian.huber@…>

In 5fb838d/rtems:

rfs: Fix for 64-bit targets

The RTEMS_BLKIO_SETBLKSIZE IO control expects an uint32_t parameter and
not a size_t which is 64-bits on 64-bit targets.

Update #3082.

comment:53 Changed on 01/23/18 at 07:00:46 by Sebastian Huber <sebastian.huber@…>

In 6bb9b3df/rtems:

rfs: Fix format warning

Update #3082.

comment:54 Changed on 01/29/18 at 05:59:40 by Sebastian Huber <sebastian.huber@…>

In bc96f3b4/rtems:

ada: Introduce RTEMS.Size type

Some time ago the Classic API object size related parameters were
changed to use size_t. Reflect this in the Ada bindings.

Update #3082.

comment:55 Changed on 02/02/18 at 14:20:01 by Sebastian Huber <sebastian.huber@…>

In c1c71cd/rtems:

sp20: Fix print buffer size

There were two issues:

  1. The buffer size must be divisible by 8 on 64-bit targets
  1. It must be large enough to service the begin of start message.

Update #3082.

comment:56 Changed on 02/02/18 at 14:20:13 by Sebastian Huber <sebastian.huber@…>

In d71d1da/rtems:

spsyslock01: Fix object compare

Due to structure internal padding the use of memcmp() may lead to
sporadic test failures.

Update #3082.

comment:57 Changed on 01/25/19 at 14:40:29 by Sebastian Huber <sebastian.huber@…>

In 81aec18/rtems:

bsps/powerpc: Fix 64-bit issues in assembler files

We have to be careful with instructions which operate explicitly on
words or doublewords.

Update #3082.

Note: See TracTickets for help on using tickets.