summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mvme162
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-12-23 18:18:56 +1100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-01-25 08:45:26 +0100
commit2afb22b7e1ebcbe40373ff7e0efae7d207c655a9 (patch)
tree44759efe9374f13200a97e96d91bd9a2b7e5ce2a /c/src/lib/libbsp/m68k/mvme162
parentMAINTAINERS: Add myself to Write After Approval. (diff)
downloadrtems-2afb22b7e1ebcbe40373ff7e0efae7d207c655a9.tar.bz2
Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
Diffstat (limited to 'c/src/lib/libbsp/m68k/mvme162')
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/Makefile.am17
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/configure.ac3
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/include/bsp.h204
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/include/page_table.h27
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/include/tm27.h39
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/preinstall.am76
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/startup/bsp_specs (renamed from c/src/lib/libbsp/m68k/mvme162/bsp_specs)0
7 files changed, 6 insertions, 360 deletions
diff --git a/c/src/lib/libbsp/m68k/mvme162/Makefile.am b/c/src/lib/libbsp/m68k/mvme162/Makefile.am
index 2ea3f528fe..9ecf9f56e0 100644
--- a/c/src/lib/libbsp/m68k/mvme162/Makefile.am
+++ b/c/src/lib/libbsp/m68k/mvme162/Makefile.am
@@ -4,30 +4,19 @@ EXTRA_DIST =
include $(top_srcdir)/../../../../automake/compile.am
include $(top_srcdir)/../../bsp.am
-include_bspdir = $(includedir)/bsp
+dist_project_lib_DATA = startup/bsp_specs
-dist_project_lib_DATA = bsp_specs
-
-include_HEADERS = include/bsp.h
-include_HEADERS += include/tm27.h
-
-nodist_include_HEADERS = include/bspopts.h
-nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
DISTCLEANFILES = include/bspopts.h
noinst_PROGRAMS =
-include_HEADERS += include/page_table.h
-
## Zilog component header files
-include_rtems_zilogdir = $(includedir)/rtems/zilog
-include_rtems_zilog_HEADERS = ../../shared/include/zilog/z8036.h
EXTRA_DIST += ../../m68k/shared/start/start.S
start.$(OBJEXT): ../../m68k/shared/start/start.S
$(CPPASCOMPILE) -o $@ -c $<
project_lib_DATA = start.$(OBJEXT)
-dist_project_lib_DATA += startup/linkcmds
+project_lib_DATA += linkcmds
noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES =
@@ -71,5 +60,5 @@ endif
EXTRA_DIST += times
-include $(srcdir)/preinstall.am
include $(top_srcdir)/../../../../automake/local.am
+include $(srcdir)/../../../../../../bsps/m68k/mvme162/headers.am
diff --git a/c/src/lib/libbsp/m68k/mvme162/configure.ac b/c/src/lib/libbsp/m68k/mvme162/configure.ac
index f3ade4ee33..aef42983a9 100644
--- a/c/src/lib/libbsp/m68k/mvme162/configure.ac
+++ b/c/src/lib/libbsp/m68k/mvme162/configure.ac
@@ -4,6 +4,9 @@ AC_PREREQ([2.69])
AC_INIT([rtems-c-src-lib-libbsp-m68k-mvme162],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
AC_CONFIG_SRCDIR([make/custom/mvme162.cfg])
RTEMS_TOP(../../../../../..)
+RTEMS_SOURCE_TOP
+RTEMS_BUILD_TOP
+RTEMS_BSP_LINKCMDS
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
diff --git a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h
deleted file mode 100644
index 3645a31086..0000000000
--- a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * This include file contains all MVME162fx board IO definitions.
- */
-
-/*
- * COPYRIGHT (c) 1989-2014.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- *
- * Modifications of respective RTEMS file: COPYRIGHT (c) 1994.
- * EISCAT Scientific Association. M.Savitski
- *
- * This material is a part of the MVME162 Board Support Package
- * for the RTEMS executive. Its licensing policies are those of the
- * RTEMS above.
- */
-
-#ifndef LIBBSP_M68K_MVME162_BSP_H
-#define LIBBSP_M68K_MVME162_BSP_H
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-
-#include <mvme16x_hw.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*----------------------------------------------------------------*/
-
-typedef volatile struct {
-
- unsigned char chipID;
- unsigned char chipREV;
- unsigned char gen_control;
- unsigned char vector_base;
-
- unsigned long timer_cmp_1;
- unsigned long timer_cnt_1;
- unsigned long timer_cmp_2;
- unsigned long timer_cnt_2;
-
- unsigned char LSB_prescaler_count;
- unsigned char prescaler_clock_adjust;
- unsigned char time_ctl_2;
- unsigned char time_ctl_1;
-
- unsigned char time_int_ctl_4;
- unsigned char time_int_ctl_3;
- unsigned char time_int_ctl_2;
- unsigned char time_int_ctl_1;
-
- unsigned char dram_err_int_ctl;
- unsigned char SCC_int_ctl;
- unsigned char time_ctl_4;
- unsigned char time_ctl_3;
-
- unsigned short DRAM_space_base;
- unsigned short SRAM_space_base;
-
- unsigned char DRAM_size;
- unsigned char DRAM_SRAM_opt;
- unsigned char SRAM_size;
- unsigned char reserved;
-
- unsigned char LANC_error;
- unsigned char reserved1;
- unsigned char LANC_int_ctl;
- unsigned char LANC_berr_ctl;
-
- unsigned char SCSI_error;
- unsigned char general_inputs;
- unsigned char MVME_162_version;
- unsigned char SCSI_int_ctl;
-
- unsigned long timer_cmp_3;
- unsigned long timer_cnt_3;
- unsigned long timer_cmp_4;
- unsigned long timer_cnt_4;
-
- unsigned char bus_clk;
- unsigned char PROM_acc_time_ctl;
- unsigned char FLASH_acc_time_ctl;
- unsigned char ABORT_int_ctl;
-
- unsigned char RESET_ctl;
- unsigned char watchdog_timer_ctl;
- unsigned char acc_watchdog_time_base_sel;
- unsigned char reserved2;
-
- unsigned char DRAM_ctl;
- unsigned char reserved4;
- unsigned char MPU_status;
- unsigned char reserved3;
-
- unsigned long prescaler_count;
-
-} mcchip_regs;
-
-#define mcchip ((mcchip_regs * const) 0xFFF42000)
-
-/*----------------------------------------------------------------*/
-
-/*
- * SCC Z8523(0) defines and macros
- * -------------------------------
- * Prototypes for the low-level serial io are also included here,
- * because such stuff is bsp-specific (yet). The function bodies
- * are in console.c
- *
- * NOTE from Eric Vaitl <evaitl@viasat.com>:
- *
- * I dropped RTEMS into a 162FX today (the MVME162-513). The 162FX has a
- * bug in the MC2 chip (revision 1) such that the SCC data register is
- * not accessible, it has to be accessed indirectly through the SCC
- * control register.
- */
-
-enum {portB, portA};
-
-extern bool char_ready(int port, char *ch);
-extern char char_wait(int port);
-extern void char_put(int port, char ch);
-
-#define TX_BUFFER_EMPTY 0x04
-#define RX_DATA_AVAILABLE 0x01
-#define SCC_VECTOR 0x40
-
-typedef volatile struct {
- unsigned char pad1;
- volatile unsigned char csr;
- unsigned char pad2;
- volatile unsigned char buf;
-} scc_regs;
-
-#define scc ((scc_regs * const) 0xFFF45000)
-
-#define ZWRITE0(port, v) (scc[port].csr = (unsigned char)(v))
-#define ZREAD0(port) (scc[port].csr)
-
-#define ZREAD(port, n) (ZWRITE0(port, n), (scc[port].csr))
-#define ZREADD(port) (scc[port].csr=0x08, scc[port].csr )
-
-#define ZWRITE(port, n, v) (ZWRITE0(port, n), ZWRITE0(port, v))
-#define ZWRITED(port, v) (scc[port].csr = 0x08, \
- scc[port].csr = (unsigned char)(v))
-/*----------------------------------------------------------------*/
-
-#ifdef M162_INIT
-#undef EXTERN
-#define EXTERN
-#else
-#undef EXTERN
-#define EXTERN extern
-#endif
-
-/*
- * This value is the default address location of the 162Bug vector table
- * and is also the default start address of the boards DRAM. This value
- * may be different for your specific board based on a number of factors:
- *
- * Default DRAM address: 0x00000000
- * Default SRAM address: 0xFFE00000
- *
- * o If no DRAM can be found by the 162Bug program, it will use SRAM.
- * o The default SRAM address may be different if SRAM mezzanine boards
- * are installed on the main board.
- * o Both the DRAM and SRAM addresses can be modified by changing the
- * appropriate values in NVRAM using the ENV command at the 162Bug
- * prompt.
- *
- * If your board has different values than the defaults, change the value
- * of the following define.
- *
- */
-#define MOT_162BUG_VEC_ADDRESS 0x00000000
-
-extern rtems_isr_entry M68Kvec[]; /* vector table address */
-
-/* functions */
-
-rtems_isr_entry set_vector(
- rtems_isr_entry handler,
- rtems_vector_number vector,
- int type
-);
-
-/*
- * Prototypes for methods in the BSP that cross file boundaries.
- */
-bool char_ready(int port, char *ch);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/mvme162/include/page_table.h b/c/src/lib/libbsp/m68k/mvme162/include/page_table.h
deleted file mode 100644
index 09b93a49bd..0000000000
--- a/c/src/lib/libbsp/m68k/mvme162/include/page_table.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file was submitted by Eric Vaitl <vaitl@viasat.com> and
- * supports page table initialization.
- */
-
-#ifndef PAGE_TABLE_H
-#define PAGE_TABLE_H
-
-extern void page_table_teardown(void);
-extern void page_table_init(void);
-extern int page_table_map(void *addr, unsigned long size, int cache_type);
-
-enum {
- CACHE_WRITE_THROUGH,
- CACHE_COPYBACK,
- CACHE_NONE_SERIALIZED,
- CACHE_NONE
-};
-enum {
- PTM_SUCCESS,
- PTM_BAD_ADDR,
- PTM_BAD_SIZE,
- PTM_BAD_CACHE,
- PTM_NO_TABLE_SPACE
-};
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/mvme162/include/tm27.h b/c/src/lib/libbsp/m68k/mvme162/include/tm27.h
deleted file mode 100644
index 750408d009..0000000000
--- a/c/src/lib/libbsp/m68k/mvme162/include/tm27.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @file
- * @ingroup m68k_mvme162
- * @brief Implementations for interrupt mechanisms for Time Test 27
- */
-
-/*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_TMTEST27
-#error "This is an RTEMS internal file you must not include directly."
-#endif
-
-#ifndef __tm27_h
-#define __tm27_h
-
-/*
- * Define the interrupt mechanism for Time Test 27
- *
- * NOTE: We use software interrupt 0
- */
-
-#define MUST_WAIT_FOR_INTERRUPT 0
-
-#define Install_tm27_vector( handler ) \
- set_vector( (handler), VBR1 * 0x10 + 0x8, 1 ); \
- lcsr->intr_level[2] |= 3; \
- lcsr->intr_ena |= 0x100;
-
-#define Cause_tm27_intr() lcsr->intr_soft_set |= 0x100
-
-#define Clear_tm27_intr() lcsr->intr_clear |= 0x100
-
-#define Lower_tm27_intr() /* empty */
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/mvme162/preinstall.am b/c/src/lib/libbsp/m68k/mvme162/preinstall.am
deleted file mode 100644
index fe2fdb9359..0000000000
--- a/c/src/lib/libbsp/m68k/mvme162/preinstall.am
+++ /dev/null
@@ -1,76 +0,0 @@
-## Automatically generated by ampolish3 - Do not edit
-
-if AMPOLISH3
-$(srcdir)/preinstall.am: Makefile.am
- $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
-endif
-
-PREINSTALL_DIRS =
-DISTCLEANFILES += $(PREINSTALL_DIRS)
-
-all-am: $(PREINSTALL_FILES)
-
-PREINSTALL_FILES =
-CLEANFILES = $(PREINSTALL_FILES)
-
-all-local: $(TMPINSTALL_FILES)
-
-TMPINSTALL_FILES =
-CLEANFILES += $(TMPINSTALL_FILES)
-
-$(PROJECT_LIB)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_LIB)
- @: > $(PROJECT_LIB)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)
- @: > $(PROJECT_INCLUDE)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/bsp/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
- @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-
-$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
-PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
-
-$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
-
-$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
-
-$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
-
-$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
-
-$(PROJECT_INCLUDE)/page_table.h: include/page_table.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/page_table.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/page_table.h
-
-$(PROJECT_INCLUDE)/rtems/zilog/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/zilog
- @: > $(PROJECT_INCLUDE)/rtems/zilog/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/rtems/zilog/$(dirstamp)
-
-$(PROJECT_INCLUDE)/rtems/zilog/z8036.h: ../../shared/include/zilog/z8036.h $(PROJECT_INCLUDE)/rtems/zilog/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/zilog/z8036.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/zilog/z8036.h
-
-$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
diff --git a/c/src/lib/libbsp/m68k/mvme162/bsp_specs b/c/src/lib/libbsp/m68k/mvme162/startup/bsp_specs
index 87638cc027..87638cc027 100644
--- a/c/src/lib/libbsp/m68k/mvme162/bsp_specs
+++ b/c/src/lib/libbsp/m68k/mvme162/startup/bsp_specs