Can't create a region?

Phil Torre ptorre at zetron.com
Sat Apr 14 02:51:07 UTC 2001


In my RTEMS 4.5.0 BSP for our MPC860 board, I want to create a non-
cached memory region that I can allocate CPM buffers out of.
(Right now they're malloc'd off of the heap, so it screws up when
the D-cache is on.)  So at the bottom of bsp_start(), right after
cache_mmu_init() has set up the page tables containing my cache-
inhibited area, I make a call to rtems_region_create().  This call
fails with RTEMS_TOO_MANY, because the _Region_Information struct
hasn't been initialized yet.  (I did include MANAGERS=region in my
application Makefile, and CONFIGURE_MAXIMUM_REGIONS 1 in my init.c.)

Is _Region_Information not initialized yet because I'm doing this
in the wrong place, or have I missed something else?  I've looked 
over the code and I can't find the place where the struct gets
filled in with anything.

Also, regarding non-cached buffers for the 860 CPM:  Am I solving
a problem that's already been fixed by other means?

Many thanks for any advise...
 
-- 

=====================================================================
Phil Torre                               phone: 425-820-6363 x234
Design Engineer                          email: ptorre at zetron.com
Switching Systems Group                    fax: 425-820-7031
Zetron, Inc.                               web: http://www.zetron.com




More information about the users mailing list