From 097ea1ecc50a62e1ed9c1e032383d6f6f2fed581 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 5 Mar 2020 17:51:12 -0600 Subject: psim: Rework device tree so devices do not conflict with 256MB RAM updates #3849. --- bsps/powerpc/psim/README | 17 +++++++++-------- bsps/powerpc/psim/start/bspstart.c | 4 ++-- bsps/powerpc/psim/start/device-tree | 4 ---- bsps/powerpc/psim/start/linkcmds | 2 +- 4 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 bsps/powerpc/psim/start/device-tree diff --git a/bsps/powerpc/psim/README b/bsps/powerpc/psim/README index 8fcf8ee33e..30cef436cd 100644 --- a/bsps/powerpc/psim/README +++ b/bsps/powerpc/psim/README @@ -1,5 +1,5 @@ BSP NAME: psim -BOARD: PowerPC Simulator +BOARD: PowerPC Simulator in GDB (psim) BUS: N/A CPU FAMILY: ppc CPU: PowerPC 603, 603e, 604 @@ -38,11 +38,12 @@ STOP BITS: na Notes ===== - -Based on papyrus bsp which only really supports -the PowerOpen ABI with an ELF assembler. - -For the multiprocessing tests to run, you must have a modified version of -the PowerPC Simulator psim which supports an area of UNIX shared memory -and UNIX semaphore mapped into the PowerPC address space. +The device tree for this BSP is included with rtems-tools and automated +testing of psim is supported by the RTEMS Tester. See +rtems-tools/tester/rtems/testing/bsps/psim-device-tree for specifics. This +file must be kept in sync with startup/linkcmds and the MMU initialization +in the BSP. + +For the multiprocessing tests to run, psim supports an area of UNIX +shared memory and UNIX semaphore mapped into the PowerPC address space. diff --git a/bsps/powerpc/psim/start/bspstart.c b/bsps/powerpc/psim/start/bspstart.c index 3c136739de..2cff2ff353 100644 --- a/bsps/powerpc/psim/start/bspstart.c +++ b/bsps/powerpc/psim/start/bspstart.c @@ -104,8 +104,8 @@ void bsp_start( void ) setdbat(0, 0x0<<28, 0x0<<28, 1<<28, _PAGE_RW); setibat(0, 0x0<<28, 0x0<<28, 1<<28, 0); /* PCI */ - setdbat(1, 0x8<<24, 0x8<<24, 1<<24, IO_PAGE); - setdbat(2, 0xc<<24, 0xc<<24, 1<<24, IO_PAGE); + setdbat(1, 0x08<<24, 0x08<<24, 1<<24, IO_PAGE); + setdbat(2, 0xfc<<24, 0xfc<<24, 1<<24, IO_PAGE); _write_MSR(_read_MSR() | MSR_DR | MSR_IR); __asm__ volatile("sync; isync"); diff --git a/bsps/powerpc/psim/start/device-tree b/bsps/powerpc/psim/start/device-tree deleted file mode 100644 index 2bace84869..0000000000 --- a/bsps/powerpc/psim/start/device-tree +++ /dev/null @@ -1,4 +0,0 @@ -#/openprom/init/register/pc 0 -#/openprom/options/smp 2 -#/openprom/options/oea-memory-size 4194304 -/openprom/options/oea-memory-size 0x10000000 diff --git a/bsps/powerpc/psim/start/linkcmds b/bsps/powerpc/psim/start/linkcmds index 69491abb86..a9226a2eda 100644 --- a/bsps/powerpc/psim/start/linkcmds +++ b/bsps/powerpc/psim/start/linkcmds @@ -35,7 +35,7 @@ REGION_ALIAS ("REGION_NVRAM", EMPTY); PROVIDE (PSIM_INSTRUCTIONS_PER_MICROSECOND = 10000); -PSIM = 0x0c000000; +PSIM = 0xfc000000; /* Allocate the maximum size to the small data area */ bsp_section_small_data_area_size = 65536; -- cgit v1.2.3