#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:
Blocking:

Description

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

Change History (57)

comment:1 Changed on Jul 28, 2017 at 8:25:37 AM by Sebastian Huber

GCC support will be available with GCC 7.2:

https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=250654

comment:2 Changed on Jul 28, 2017 at 8:49:28 AM 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 Jul 28, 2017 at 8:49:42 AM 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 Jul 28, 2017 at 11:45:15 AM by Sebastian Huber <sebastian.huber@…>

In 1ceafe5/rtems-source-builder:

4.12: Update to Binutils 2.29

Update #3082.

comment:5 Changed on Jul 28, 2017 at 1:40:58 PM by Sebastian Huber <sebastian.huber@…>

In 8966e8a/rtems:

bsp/qoriq: Fix pre-processor expansion

Update #3082.
Update #3085.

comment:6 Changed on Jul 31, 2017 at 12:46:02 PM by Sebastian Huber <sebastian.huber@…>

In a597984/rtems:

powerpc: Add register defines

Update #3082.
Update #3085.

comment:7 Changed on Jul 31, 2017 at 12:46:18 PM 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 Jul 31, 2017 at 12:46:33 PM 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 Aug 1, 2017 at 9:45:58 AM 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
obfuscation.

Update #3082.

comment:10 Changed on Aug 1, 2017 at 9:46:11 AM by Sebastian Huber <sebastian.huber@…>

In a8694035/rtems:

bsps/powerpc: Add PPC_EXC_INTERRUPT_FRAME_SIZE

Use a specific define for the interrupt exception frame size.

Update #3082.

comment:11 Changed on Aug 22, 2017 at 2:49:44 PM 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 Aug 22, 2017 at 2:51:08 PM by Sebastian Huber <sebastian.huber@…>

In 279c540/rtems:

score: Fix format specifier

Update #3082.

comment:13 Changed on Aug 22, 2017 at 2:51:20 PM by Sebastian Huber <sebastian.huber@…>

In e062741d/rtems:

dev/i2c: Fix integer type

Update #3082.

comment:14 Changed on Aug 22, 2017 at 2:51:32 PM by Sebastian Huber <sebastian.huber@…>

In 93934f88/rtems:

heap: Fix integer types

Update #3082.

comment:15 Changed on Aug 22, 2017 at 2:51:44 PM by Sebastian Huber <sebastian.huber@…>

In a8f4fd2/rtems:

smptests: Fix format specifier

Update #3082.

comment:16 Changed on Aug 22, 2017 at 2:51:57 PM by Sebastian Huber <sebastian.huber@…>

In b98e407/rtems:

libchip/ata: Fix integer to/from pointer

Update #3082.

comment:17 Changed on Aug 22, 2017 at 2:52:10 PM by Sebastian Huber <sebastian.huber@…>

In 5e1a831/rtems:

libchip/serial: Fix integer types

Update #3082.

comment:18 Changed on Aug 22, 2017 at 2:52:22 PM by Sebastian Huber <sebastian.huber@…>

In caa12270/rtems:

powerpc: Add register defines

Update #3082.

comment:19 Changed on Aug 22, 2017 at 2:52:35 PM 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 Aug 22, 2017 at 2:52:47 PM by Sebastian Huber <sebastian.huber@…>

In 5a9372f/rtems:

powerpc: 64-bit support for CPU_SIZEOF_POINTER

Update #3082.

comment:21 Changed on Aug 22, 2017 at 2:52:59 PM by Sebastian Huber <sebastian.huber@…>

In 7837728b/rtems:

powerpc: 64-bit _CPU_Context_Initialize() support

Update #3082.

comment:22 Changed on Aug 22, 2017 at 2:53:11 PM by Sebastian Huber <sebastian.huber@…>

In a6f84b27/rtems:

powerpc: Add 64-bit context/interrupt support

Update #3082.

comment:23 Changed on Aug 22, 2017 at 2:53:24 PM by Sebastian Huber <sebastian.huber@…>

In ec25c6ef/rtems:

bsps: Fix integer to/from pointer

Update #3082.

comment:24 Changed on Aug 22, 2017 at 2:53:48 PM by Sebastian Huber <sebastian.huber@…>

In 241d2f2/rtems:

bsps: Fix integer types in bsp_fdt_copy()

Update #3082.

comment:25 Changed on Aug 22, 2017 at 2:54:00 PM by Sebastian Huber <sebastian.huber@…>

In 60d077f/rtems:

bsps/powerpc: Add 64-bit linker sections

Update #3082.

comment:26 Changed on Aug 22, 2017 at 2:54:12 PM by Sebastian Huber <sebastian.huber@…>

In 50382788/rtems:

bsps/powerpc: Add 64-bit SET_SELF_CPU_CONTROL

Update #3082.

comment:27 Changed on Aug 22, 2017 at 2:54:25 PM 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 Aug 22, 2017 at 2:54:37 PM by Sebastian Huber <sebastian.huber@…>

In 0e26c19a/rtems:

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

Update #3082.

comment:29 Changed on Aug 22, 2017 at 2:54:50 PM 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 Aug 22, 2017 at 2:55:03 PM by Sebastian Huber <sebastian.huber@…>

In 43cc2b4/rtems:

bsp/qoriq: Add basic 64-bit support

Update #3082.

comment:31 Changed on Aug 22, 2017 at 2:55:15 PM 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 Aug 22, 2017 at 2:55:27 PM by Sebastian Huber <sebastian.huber@…>

In f14da45/rtems:

bsp/qoriq: 64-bit support for spin table

Update #3082.

comment:33 Changed on Aug 22, 2017 at 2:55:40 PM by Sebastian Huber <sebastian.huber@…>

In 5f42a0e/rtems:

bsp/qoriq: Enable 64-bit mode for exceptions

Update #3082.

comment:34 Changed on Aug 22, 2017 at 2:55:52 PM by Sebastian Huber <sebastian.huber@…>

In 77c81016/rtems:

bsp/qoriq: 64-bit support for interrupt controller

Update #3082.

comment:35 Changed on Aug 22, 2017 at 2:56:04 PM by Sebastian Huber <sebastian.huber@…>

In c8aeb76/rtems:

bsp/qoriq: 64-bit MMU support

Update #3082.

comment:36 Changed on Aug 22, 2017 at 2:56:16 PM by Sebastian Huber <sebastian.huber@…>

In c693a3a/rtems:

powerpc: PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE

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 Aug 22, 2017 at 2:56:29 PM by Sebastian Huber <sebastian.huber@…>

In 95a4b1f/rtems:

bsp/qoriq: Enable > 2GiB memory

Update #3082.

comment:38 Changed on Aug 22, 2017 at 2:56:41 PM by Sebastian Huber <sebastian.huber@…>

In 695c9c50/rtems:

bsp/qoriq: Add qoriq_e6500_64 variant

Update #3082.

comment:39 Changed on Aug 22, 2017 at 2:59:45 PM by Sebastian Huber <sebastian.huber@…>

In fd0bcc5/rtems-tools:

tester: Add qoriq_e6500_64

Update #3082.

comment:40 Changed on Aug 22, 2017 at 3:02:20 PM by Sebastian Huber

Milestone: Indefinite4.12.0
Status: assignedaccepted

comment:41 Changed on Aug 23, 2017 at 7:26:19 AM 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 Aug 23, 2017 at 9:04:37 AM by Sebastian Huber <sebastian.huber@…>

In 34ff390/rtems-libbsd:

BUS_SPACE(9): 64-bit support

Update #3082.

comment:43 Changed on Aug 24, 2017 at 6:11:40 AM by Sebastian Huber

Resolution: fixed
Status: acceptedclosed

Works on a T4240 with network stack.

comment:44 Changed on Aug 24, 2017 at 1:55:28 PM by Sebastian Huber <sebastian.huber@…>

In 873ba80/rtems-docs:

cpu-supplement: Fix PowerPC TOC limitation

Update #3082.

comment:45 Changed on Aug 25, 2017 at 8:36:10 AM by Sebastian Huber <sebastian.huber@…>

In 3fdea2d/rtems-docs:

cpu-supplement: Use literal instead of emphasis

Update #3082.

comment:46 Changed on Sep 28, 2017 at 11:22:22 AM by Sebastian Huber <sebastian.huber@…>

In 910adc3/rtems:

bsps: Fix integer to/from pointer warnings

Update #3082.

comment:47 Changed on Oct 16, 2017 at 6:19:48 AM by Sebastian Huber

Component: scorearch/powerpc

comment:48 Changed on Nov 9, 2017 at 6:27:14 AM by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

comment:49 Changed on Nov 24, 2017 at 2:13:31 PM by Sebastian Huber <sebastian.huber@…>

In 2e7c3f6/rtems:

sptests/splinkersets01: Fix 64-bit targets

Update #3082.

comment:50 Changed on Nov 24, 2017 at 2:19:07 PM by Sebastian Huber <sebastian.huber@…>

In 54e7b81/rtems:

libtests/stringto01: Fix 64-bit targets

Update #3082.

comment:51 Changed on Nov 24, 2017 at 2:27:25 PM by Sebastian Huber <sebastian.huber@…>

In 57f96b9/rtems:

libtests/malloctest: Fix 64-bit targets

Update #3082.

comment:52 Changed on Jan 22, 2018 at 2:24:50 PM 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 Jan 23, 2018 at 7:00:46 AM by Sebastian Huber <sebastian.huber@…>

In 6bb9b3df/rtems:

rfs: Fix format warning

Update #3082.

comment:54 Changed on Jan 29, 2018 at 5:59:40 AM 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 Feb 2, 2018 at 2:20:01 PM 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 Feb 2, 2018 at 2:20:13 PM 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 Jan 25, 2019 at 2:40:29 PM 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.