[PATCH] psim: Rework device tree so devices do not conflict with 256MB RAM

Joel Sherrill joel at rtems.org
Thu Mar 5 23:56:47 UTC 2020


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 8fcf8ee..30cef43 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 3c13673..2cff2ff 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 2bace84..0000000
--- 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 69491ab..a9226a2 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;
-- 
1.8.3.1



More information about the devel mailing list