mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-27 02:05:13 +08:00
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:
@@ -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
|
||||
Reference in New Issue
Block a user