[RTEMS Project] #3849: Fix PSIM memory map
RTEMS trac
trac at rtems.org
Thu Jan 2 11:53:28 UTC 2020
#3849: Fix PSIM memory map
------------------------------+--------------------
Reporter: Sebastian Huber | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone: 5.1
Component: arch/powerpc | Version: 5
Severity: normal | Keywords:
Blocked By: | Blocking:
------------------------------+--------------------
[changeset:"b08278e8520d14e5b809bb07785b724c7a127e29/rtems" b08278e/rtems]
leads to the following run-time error on PSIM:
{{{
BATs must not overlap; area 0x08000000..0x09000000 hits DBAT 0
BATs must not overlap; area 0x0c000000..0x0d000000 hits DBAT 0
}}}
The RAM overlaps with the PCI area:
{{{
/*
* Setup BATs and enable MMU
*/
/* Memory */
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);
}}}
Increasing the RAM size to 256MiB (0x10000000) on PSIM breaks also the
shared memory support:
{{{
typedef struct {
/* 0x0c000000 - 0x0c007FFF - AMD 29F040 */
volatile uint8_t Flash[ 512 * 1024 ];
/* 0x0c080000 - 0x0c0FFFFF - NVRAM/NVRAM */
volatile uint8_t nvram[ 512 * 1024 ];
/* 0x0c100000 - 0x0c100007 - NVRAM/RTC */
psim_rtc_t RTC;
/* 0x0c100008 - 0x0c10000F - NVRAM/RTC */
uint8_t gap1[8];
/* 0x0c100010 - 0x0c10001b - System V IPC Semaphore */
psim_sysv_sem_t Semaphore;
/* 0x0c10001c - 0x0c10001f - NVRAM/RTC */
uint8_t gap2[4];
/* 0x0c100020 - 0x0c10005F - Ethernet */
volatile uint8_t Ethtap[ 64 ];
/* 0x0c100060 - 0x0c10FFFF - NVRAM/RTC */
uint8_t gap3[65440];
/* 0x0c110000 - 0x0c12FFFF - System V IPC Shared Memory */
uint8_t SharedMemory[ 128 * 1024 ];
/* 0x0c130000 - 0x0c170000 - OpenPIC IRQ Controller */
volatile uint8_t OpenPIC[ 256 * 1024 ];
} psim_registers_t;
}}}
Proposed solution is to adjust the memory map so that 256MiB of RAM are
supported. Probably needs changes in rtems-tools.
--
Ticket URL: <http://devel.rtems.org/ticket/3849>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list