2011-07-15 Till Straumann <strauman@slac.stanford.edu>

* motorola_powerpc/Makefile.am,
	motorola_powerpc/configure.ac, motorola_powerpc/preinstall.am,
	motorola_powerpc/include/bsp.h, motorola_powerpc/make/custom/qemuprep.cfg,
	motorola_powerpc/qemu_fakerom/Makefile.am,
	motorola_powerpc/qemu_fakerom/.cvsignore:
	Added 'qemuprep' BSP variant.
This commit is contained in:
Till Straumann
2011-07-16 01:29:45 +00:00
parent 581272301a
commit f616734f3a
8 changed files with 150 additions and 3 deletions
@@ -1,3 +1,12 @@
2011-07-15 Till Straumann <strauman@slac.stanford.edu>
* motorola_powerpc/Makefile.am,
motorola_powerpc/configure.ac, motorola_powerpc/preinstall.am,
motorola_powerpc/include/bsp.h, motorola_powerpc/make/custom/qemuprep.cfg,
motorola_powerpc/qemu_fakerom/Makefile.am,
motorola_powerpc/qemu_fakerom/.cvsignore:
Added 'qemuprep' BSP variant.
2011-06-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Remove references to non-existing files.
@@ -4,7 +4,11 @@
ACLOCAL_AMFLAGS = -I ../../../../aclocal
SUBDIRS = . bootloader
SUBDIRS = .
SUBDIRS+= bootloader
if QEMU
SUBDIRS+= qemu_fakerom
endif
include $(top_srcdir)/../../../../automake/compile.am
@@ -49,9 +53,12 @@ libbsp_a_SOURCES += ../../powerpc/shared/startup/bspstart.c \
../../powerpc/shared/startup/zerobss.c \
../../powerpc/shared/startup/pgtbl_setup.c \
../../powerpc/shared/startup/pgtbl_activate.c \
../../powerpc/shared/startup/ppc_idle.c \
../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
../../shared/bspclean.c ../../shared/bsplibc.c ../../shared/bsppost.c \
../../shared/gnatinstallhandler.c
# tod
libbsp_a_SOURCES += ../../shared/tod.c ../../powerpc/shared/tod/todcfg.c
# pclock
@@ -127,6 +134,18 @@ libbsp_a_SOURCES += ../../shared/vmeUniverse/vmeUniverse.c \
../../powerpc/shared/vme/vme_universe.c \
../../powerpc/shared/vme/VMEConfig.h
if QEMU
if HAS_NETWORKING
nodist_include_HEADERS += $(srcdir)/../../i386/pc386/include/wd80x3.h
ne2000_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
ne2000_CPPFLAGS += '-Dbsp_cmdline_arg=rtems_bsp_cmdline_get_param_raw'
noinst_PROGRAMS += ne2000.rel
ne2000_rel_SOURCES = ../../i386/pc386/ne2000/ne2000.c
ne2000_rel_CPPFLAGS = $(AM_CPPFLAGS) $(ne2000_CPPFLAGS)
ne2000_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif
endif
libbsp_a_LIBADD = \
polledIO.rel \
../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
@@ -139,6 +158,10 @@ libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \
../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel
if QEMU
libbsp_a_LIBADD+=ne2000.rel
endif
EXTRA_DIST = BOOTING README.mtx603e README.MVME2100 README.MVME2300 \
README.MVME2400 \
README.OTHERBOARDS
@@ -48,12 +48,21 @@ RTEMS_BSPOPTS_SET([mpc8240],[*],[])
RTEMS_BSPOPTS_HELP([mpc8240],
[Defined for boards with MPC8240 -- undefined for others])
RTEMS_BSPOPTS_SET([qemu],[qemuprep],[1])
RTEMS_BSPOPTS_SET([qemu],[*],[])
RTEMS_BSPOPTS_HELP([qemu],[Defined for QEMU BSP -- undefined for others])
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
bootloader/Makefile])
AC_CONFIG_FILES([Makefile])
if test xx"${RTEMS_BSP}" = xxqemuprep ; then
AC_CONFIG_FILES([qemu_fakerom/Makefile])
fi
AC_CONFIG_FILES([bootloader/Makefile])
RTEMS_PPC_EXCEPTIONS
AM_CONDITIONAL([QEMU],[test xx"${RTEMS_BSP}" = xxqemuprep])
AC_OUTPUT
@@ -19,6 +19,14 @@
#include <libcpu/io.h>
#include <rtems/clockdrv.h>
#include <bsp/vectors.h>
#ifdef qemu
#include <rtems/bspcmdline.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* confdefs.h overrides for this BSP:
@@ -86,11 +94,17 @@
#else
#define _IO_BASE PREP_ISA_IO_BASE
#define _ISA_MEM_BASE PREP_ISA_MEM_BASE
#ifndef qemu
/* address of our ram on the PCI bus */
#define PCI_DRAM_OFFSET PREP_PCI_DRAM_OFFSET
/* offset of pci memory as seen from the CPU */
#define PCI_MEM_BASE PREP_ISA_MEM_BASE
#define PCI_MEM_WIN0 0
#else
#define PCI_DRAM_OFFSET 0
#define PCI_MEM_BASE 0
#define PCI_MEM_WIN0 PREP_ISA_MEM_BASE
#endif
#endif
@@ -112,8 +126,10 @@
#define BSP_UART_IOBASE_COM1 ((_IO_BASE)+0x3f8)
#define BSP_UART_IOBASE_COM2 ((_IO_BASE)+0x2f8)
#if ! defined(qemu)
#define BSP_KBD_IOBASE ((_IO_BASE)+0x60)
#define BSP_VGA_IOBASE ((_IO_BASE)+0x3c0)
#endif
#if defined(mvme2300)
#define MVME_HAS_DEC21140
@@ -130,6 +146,17 @@ struct rtems_bsdnet_ifconfig;
extern int rtems_dec21140_driver_attach();
#endif
#ifdef qemu
#define RTEMS_BSP_NETWORK_DRIVER_NAME "ne1"
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_ne_driver_attach
extern int rtems_ne_driver_attach();
#endif
#ifdef qemu
#define BSP_IDLE_TASK_BODY bsp_ppc_idle_task_body
extern void *bsp_ppc_idle_task_body(uintptr_t arg);
#endif
#include <bsp/openpic.h>
/* BSP_PIC_DO_EOI is optionally used by the 'vmeUniverse' driver
* to implement VME IRQ priorities in software.
@@ -208,4 +235,8 @@ extern unsigned long _BSP_clear_hostbridge_errors(int enableMCP, int quiet);
#endif
#ifdef __cplusplus
};
#endif
#endif
@@ -0,0 +1,36 @@
#
# Config file for the PowerPC 604 based mvme2307
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=powerpc
RTEMS_CPU_MODEL=mpc604
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
#
CPU_CFLAGS = -mcpu=powerpc -mmultiple -mstring -mstrict-align -D__ppc_generic
# optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g
ifdef PURE_BINARY
define bsp-post-link
$(default-bsp-post-link)
$(OBJCOPY) -O binary -R .comment -S $(basename $@).exe $(basename $@)$(DOWNEXT)
endef
else
define bsp-post-link
$(default-bsp-post-link)
$(OBJCOPY) -O binary -R .comment -S $(basename $@).exe rtems
gzip -vf9 rtems
$(LD) -o $(basename $@)$(DOWNEXT) $(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$(basename $@).exe \
-b binary rtems.gz -T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $(basename $@).map && chmod 755 $@
rm -f rtems.gz
endef
endif
@@ -145,3 +145,10 @@ $(PROJECT_INCLUDE)/bsp/VMEDMA.h: ../../shared/vmeUniverse/VMEDMA.h $(PROJECT_INC
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/VMEDMA.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/VMEDMA.h
if QEMU
if HAS_NETWORKING
$(PROJECT_INCLUDE)/wd80x3.h: $(srcdir)/../../i386/pc386/include/wd80x3.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/wd80x3.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/wd80x3.h
endif
endif
@@ -0,0 +1 @@
Makefile.in
@@ -0,0 +1,31 @@
##
## $Id$
##
## NOTE: This Makefile.am does not apply RTEMS's compilation rules.
ACLOCAL_AMFLAGS = -I ../../../../aclocal
include $(top_srcdir)/../../../../automake/compile.am
include $(top_srcdir)/../../bsp.am
AUTOMAKE_OPTIONS = no-exeext
project_lib_DATA = qemu_fakerom.$(OBJEXT)
project_lib_DATA += qemu_fakerom.elf
project_lib_DATA += qemu_fakerom.bin
## IMPORTANT: head.S must be first, T. Straumann 12/17/2001
qemu_fakerom.$(OBJEXT): ../../../powerpc/shared/bootloader/qemu_fakerom.S
$(CPPASCOMPILE) -c -o $@ $^
qemu_fakeres.$(OBJEXT): ../../../powerpc/shared/bootloader/qemu_fakeres.c
$(CC) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $^
qemu_fakerom.elf: qemu_fakerom.$(OBJEXT) qemu_fakeres.$(OBJEXT)
$(LD) -o $@ $^ -nostdlib -Ttext 0xfff00000 --section-start=.romentry=0xfffffffc
qemu_fakerom.bin: qemu_fakerom.$(OBJEXT) qemu_fakeres.$(OBJEXT)
$(LD) -o $@ $^ --oformat binary -nostdlib -Ttext 0xfff00000 --section-start=.romentry=0xfffffffc
include $(top_srcdir)/../../../../automake/local.am