diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-11-10 22:13:57 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-11-10 22:13:57 +0000 |
commit | ae460ecea96b84ced70479466844ad36761a306f (patch) | |
tree | 84595f39be3e848b202f91270dacc7b7f2d2a50d | |
parent | 2004-11-05 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-ae460ecea96b84ced70479466844ad36761a306f.tar.bz2 |
2004-11-10 Richard Campbell <richard.campbell@oarcorp.com>
* Makefile.am, configure.ac, bootloader/Makefile.am,
include/Makefile.am, wrapup/Makefile.am: Add MVME2100 BSP.
* README.MVME2100, tod/.cvsignore, tod/Makefile.am: New files.
9 files changed, 178 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog index 98c83db823..3f91e3b574 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog @@ -1,3 +1,9 @@ +2004-11-10 Richard Campbell <richard.campbell@oarcorp.com> + + * Makefile.am, configure.ac, bootloader/Makefile.am, + include/Makefile.am, wrapup/Makefile.am: Add MVME2100 BSP. + * README.MVME2100, tod/.cvsignore, tod/Makefile.am: New files. + 2003-12-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> PR 533/bsps diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am index 6a597a893f..1601f4c11c 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am @@ -7,12 +7,12 @@ ACLOCAL_AMFLAGS = -I ../../../../../../aclocal # wrapup is the one that actually builds and installs the library # from the individual .rel files built in other directories SUBDIRS = include clock console pci residual openpic irq vectors start \ - startup bootloader motorola @exceptions@ vme wrapup + startup bootloader motorola @exceptions@ tod vme wrapup include $(top_srcdir)/../../bsp.am -EXTRA_DIST = BOOTING README.MVME2300 README.OTHERBOARDS README.dec21140 \ - bsp_specs times.mcp750 times.mvme2307 +EXTRA_DIST = BOOTING README.MVME2100 README.MVME2300 README.OTHERBOARDS \ + README.dec21140 bsp_specs times.mcp750 times.mvme2307 include $(top_srcdir)/../../../../../../automake/subdirs.am include $(top_srcdir)/../../../../../../automake/local.am diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 new file mode 100644 index 0000000000..d12dd8035f --- /dev/null +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 @@ -0,0 +1,123 @@ +# +# $Id$ +# + +The MVME2100 is a Motorola VMEbus board which is similar to the other +Motorola PowerPC boards supported by this BSP. But it does not support +the Motorola CPU Configuration Register. This makes it impossible to +dynamically probe and determine that you are executing on this board +variant. So this BSP variant must be explicitly built to only support +the MVME2100. The complete list of differences found so far is: + + * No CPU Configuration Register + * one COM port + * COM port is on PCI IRQ not ISA IRQ + * limited on RAM (32 or 64 MB) + * uses the EPIC interrupt controller on the MPC8240 + * does not have an ISA bus but has an ISA I/O address space + * cannot set DBAT2 in bspstart like other variants because + there are PCI/ISA Interrupt Acknowledge registers at this space + This BSP may have left some PCI memory uncovered + * PPCBug starts programs with vectors still in ROM + +Supported Features: + - Interrupt driven console using termios + - Network device driver + - Real-Time Clock driver + - Clock Tick Device Driver + +Things to address: + - Does not return to monitor + - Level 1 cache is disabled for now + - Check on trying to read CPU Configuration Register for CHRP/Prep for PCI + and report a failure if in the wrong mode. May be able to set the model + but it may be hard to test if we break PPCBug. + - Use NVRAM for network configuration information + +BSP Features Not Implemented: + - VMEbus mapped in but untested + - OpenPIC features not required for BSP are not supported + +Memory Map +========== + BAT Mapping + + ffff ffff |------------------------------------| ----- ffff ffff + | ROM/FLASH Bank 0 | | + fff0 0000 |------------------------------------| | + | System I/O | | + ffe0 0000 |------------------------------------| | + | Replicated ROM/FLASH Bank 0 | | + | Replicated System I/O | | + ff80 0000 |------------------------------------| | + | ROM/FLASH Bank 1 | DBAT3 + ff00 0000 |------------------------------------| - Supervisor R/W + | PCI Interrupt Acknowledge | - Cache Inhibited + fef0 0000 |------------------------------------| - Guarded + | PCI Configuration Data Register | | + fee0 0000 |------------------------------------| | + | PCI Configuration Address Register | | + fec0 0000 |------------------------------------| | + | PCI I/O Space | | + fe80 0000 |------------------------------------| | + | PCI/ISA I/O Space | | + fe00 0000 |------------------------------------| | + | PCI/ISA Memory Space | | + fd00 0000 |------------------------------------| | + | | | + | xxxxxxxxxxxxxx| ----- f000 0000 + | x not mapped | + | xxxxxxxxxxxxxx| ----- 9000 0000 + | | | + | | | + | PCI Memory Space | DBAT2 + | | - Supervisor R/W + | | - Cache Inhibited + | | - Guarded + | | | + | | | + | | | + 8000 0000 |------------------------------------| ----- 8000 0000 + | x | + | x not mapped | + | Reserved xxxxxxxxxxxxxx| ----- 1000 0000 + | | | + | | | + 0200 0000 |------------------------------------| | + | | | + | | | + | | | + | | | + | DRAM (32MB) | DBAT1/IBAT1 + | | - Supervisor R/W + | | | + | | | + | | | + | | | + 0000 0000 |------------------------------------| ----- 0000 0000 + + +TTCP Performance on First Day Run +================================= +Fedora Core 1 on (according to /proc/cpuinfo) a 300 Mhz P3 using Netgear +10/100 CardBus NIC on a dedicated 10BaseT LAN. + +ON MVME2100: ttcp -t -s 192.168.2.107 +REPORTED ON MVME2100: +ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.107 +ttcp-t: socket +ttcp-t: connect +ttcp-t: 16777216 bytes in 20.80 real seconds = 787.69 KB/sec +++ +ttcp-t: 2048 I/O calls, msec/call = 10.40, calls/sec = 98.46 +ttcp-t: 0.0user 20.8sys 0:20real 100% 0i+0d 0maxrss 0+0pf 0+0csw + +ON MVME2100: ttcp -t -s 192.168.2.107 +REPORTED ON MVME2100: +ttcp -r -s +ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp +ttcp-r: socket +ttcp-r: accept from 192.168.2.107 +ttcp-r: 16777216 bytes in 15.41 real seconds = 1063.21 KB/sec +++ +ttcp-r: 11588 I/O calls, msec/call = 1.36, calls/sec = 751.98 +ttcp-r: 0.0user 15.4sys 0:15real 100% 0i+0d 0maxrss 0+0pf 0+0csw + diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/bootloader/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/bootloader/Makefile.am index 473f4d3b82..15ad9237bb 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/bootloader/Makefile.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/bootloader/Makefile.am @@ -25,7 +25,7 @@ DEFAULT_INCLUDES = # Remove references to EABI when compiling bootloader BOOTLOADER_CPU_FLAGS=$(subst -msdata=eabi,,$(subst -meabi,,$(CPU_CFLAGS))) -AM_CPPFLAGS = -D__BOOT__ -DDEBUG +AM_CPPFLAGS = -D__BOOT__ AM_CFLAGS = \ $(GCC_SPECS) -specs bsp_specs -qrtems -mrelocatable \ -msoft-float -mstrict-align -fno-builtin -Wall -mmultiple \ diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac b/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac index b57686514a..e3ad203c8c 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/configure.ac @@ -20,6 +20,16 @@ AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes") AS=$CC AM_PROG_AS +RTEMS_BSPOPTS_SET([mvme2100],[mvme2100],[1]) +RTEMS_BSPOPTS_SET([mvme2100],[*],[]) +RTEMS_BSPOPTS_HELP([mvme2100], +[Defined for MVME2100 -- undefined for others]) + +RTEMS_BSPOPTS_SET([mpc8240],[mvme2100],[1]) +RTEMS_BSPOPTS_SET([mpc8240],[*],[]) +RTEMS_BSPOPTS_HELP([mpc8240], +[Defined for boards with MPC8240 -- undefined for others]) + RTEMS_BSPOPTS_SET([PPC_USE_DATA_CACHE],[*],[1]) RTEMS_BSPOPTS_HELP([PPC_USE_DATA_CACHE], [If defined, then the PowerPC specific code in RTEMS will use @@ -43,6 +53,7 @@ pci/Makefile residual/Makefile start/Makefile startup/Makefile +tod/Makefile vectors/Makefile vme/Makefile wrapup/Makefile]) diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/include/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/include/Makefile.am index 2d210ce756..b34fa672cf 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/include/Makefile.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/include/Makefile.am @@ -5,11 +5,12 @@ include_HEADERS = bspopts.h include_HEADERS += ../../shared/include/nvram.h ../../shared/include/bsp.h \ - ../../../shared/include/coverhd.h + ../../../shared/include/coverhd.h ../../../shared/tod.h include_bspdir = $(includedir)/bsp -include_bsp_HEADERS = ../../shared/console/consoleIo.h ../../shared/console/uart.h \ - ../../shared/irq/irq.h ../../shared/motorola/motorola.h +include_bsp_HEADERS = ../../shared/console/consoleIo.h \ + ../../shared/console/uart.h ../../shared/irq/irq.h \ + ../../shared/motorola/motorola.h $(PROJECT_INCLUDE): $(mkinstalldirs) $@ @@ -29,6 +30,9 @@ $(PROJECT_INCLUDE)/bsp.h: ../../shared/include/bsp.h $(PROJECT_INCLUDE)/coverhd.h: ../../../shared/include/coverhd.h $(INSTALL_DATA) $< $@ +$(PROJECT_INCLUDE)/tod.h: ../../../shared/tod.h + $(INSTALL_DATA) $< $@ + $(PROJECT_INCLUDE)/bsp/consoleIo.h: ../../shared/console/consoleIo.h $(INSTALL_DATA) $< $@ @@ -46,6 +50,7 @@ TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h TMPINSTALL_FILES += $(PROJECT_INCLUDE)/nvram.h TMPINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h +TMPINSTALL_FILES += $(PROJECT_INCLUDE)/tod.h TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bsp TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/motorola.h diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/tod/.cvsignore b/c/src/lib/libbsp/powerpc/motorola_powerpc/tod/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/tod/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/tod/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/tod/Makefile.am new file mode 100644 index 0000000000..5e35e88955 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/tod/Makefile.am @@ -0,0 +1,22 @@ +## +## $Id$ +## + + +VPATH = @srcdir@:@srcdir@/../../shared/tod:@srcdir@/../../../shared + +C_FILES = todcfg.c tod.c +C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) + +OBJS = $(C_O_FILES) + +include $(top_srcdir)/../../../../../../automake/compile.am +include $(top_srcdir)/../../../../../../automake/lib.am + +# +# (OPTIONAL) Add local stuff here using += +# + +all-local: $(ARCH) $(OBJS) + +include $(top_srcdir)/../../../../../../automake/local.am diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/wrapup/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/wrapup/Makefile.am index 09b27143f3..49902e1d09 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/wrapup/Makefile.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/wrapup/Makefile.am @@ -2,7 +2,8 @@ ## $Id$ ## -BSP_PIECES = clock console irq openpic pci residual startup vectors motorola vme +BSP_PIECES = clock console irq openpic pci residual startup \ + tod vectors motorola vme # bummer; have to use $foreach since % pattern subst rules only replace 1x OBJS = $(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \ |