From 81423a1ad01184b0f3589e85689428813bc25261 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 19 Oct 1998 12:49:37 +0000 Subject: Added 2 chapters --- doc/supplements/template/Makefile | 94 +++++++++++++++++++++++++ doc/supplements/template/cpumodel.t | 68 ++++++++++++++++++ doc/supplements/template/preface.texi | 55 +++++++++++++++ doc/supplements/template/template.texi | 121 +++++++++++++++++++++++++++++++++ 4 files changed, 338 insertions(+) create mode 100644 doc/supplements/template/Makefile create mode 100644 doc/supplements/template/cpumodel.t create mode 100644 doc/supplements/template/preface.texi create mode 100644 doc/supplements/template/template.texi (limited to 'doc/supplements/template') diff --git a/doc/supplements/template/Makefile b/doc/supplements/template/Makefile new file mode 100644 index 0000000000..048aef9958 --- /dev/null +++ b/doc/supplements/template/Makefile @@ -0,0 +1,94 @@ +# +# COPYRIGHT (c) 1988-1998. +# On-Line Applications Research Corporation (OAR). +# All rights reserved. +# +# $Id$ +# + +PROJECT=template +DISTRIBUTION_LEVEL=support + +include ../../Make.config + +REPLACE=../../tools/word-replace + +all: html info ps + +dirs: + $(make-dirs) + +COMMON_FILES=../../common/cpright.texi ../../common/setup.texi \ + ../../common/timing.texi + +FILES= $(PROJECT).texi preface.texi \ + $(COMMON_FILES) $(GENERATED_FILES) +GENERATED_FILES=\ + cpumodel.texi + +# bsp.texi callconv.texi cpumodel.texi cputable.texi fatalerr.texi \ +# intr.texi memmodel.texi preface.texi timetbl.texi timedata.texi wksheets.texi + +info: dirs c_$(PROJECT) + @echo NEED TO INSTALL THE INFO FILES + #cp c_$(PROJECT) c_$(PROJECT)-* $(INFO_INSTALL) + #cp c_$(PROJECT) c_$(PROJECT)-* $(INFO_INSTALL) + +c_$(PROJECT): $(FILES) + $(MAKEINFO) $(PROJECT).texi + +dvi: $(PROJECT).dvi +ps: dirs $(PROJECT).ps + +$(PROJECT).ps: $(PROJECT).dvi + dvips -o $(PROJECT).ps $(PROJECT).dvi + cp $(PROJECT).ps $(PS_INSTALL) + +$(PROJECT).dvi: $(FILES) + $(TEXI2DVI) $(PROJECT).texi + +cpumodel.texi: cpumodel.t Makefile + $(BMENU) -p "Preface" \ + -u "Top" \ + -n "" ${*}.t + +replace: timedata.texi + +intr.texi: intr.t MVME136_TIMES + ${REPLACE} -p MVME136_TIMES intr.t + mv intr.t.fixed intr.texi + +timetbl.t: ../../common/timetbl.t + sed -e 's/TIMETABLE_NEXT_LINK/Command and Variable Index/' \ + <../../common/timetbl.t >timetbl.t + +timetbl.texi: timetbl.t MVME136_TIMES + ${REPLACE} -p MVME136_TIMES timetbl.t + mv timetbl.t.fixed timetbl.texi + +timedata.texi: timedata.t MVME136_TIMES + ${REPLACE} -p MVME136_TIMES timedata.t + mv timedata.t.fixed timedata.texi + +wksheets.t: ../../common/wksheets.t + sed -e 's/WORKSHEETS_PREVIOUS_LINK/Processor Dependent Information Table CPU Dependent Information Table/' \ + -e 's/WORKSHEETS_NEXT_LINK/MVME136 Timing Data/' \ + <../../common/wksheets.t >wksheets.t + +wksheets.texi: wksheets.t MVME136_TIMES + ${REPLACE} -p MVME136_TIMES wksheets.t + mv wksheets.t.fixed wksheets.texi + +html: dirs $(FILES) + -mkdir -p $(WWW_INSTALL)/c_$(PROJECT) + $(TEXI2WWW) $(TEXI2WWW_ARGS) -dir $(WWW_INSTALL)/c_$(PROJECT) \ + $(PROJECT).texi + +clean: + rm -f *.o $(PROG) *.txt core + rm -f *.dvi *.ps *.log *.aux *.cp *.fn *.ky *.pg *.toc *.tp *.vr $(BASE) + rm -f $(PROJECT) $(PROJECT)-* + rm -f c_$(PROJECT) c_$(PROJECT)-* + rm -f timedata.texi timetbl.texi intr.texi wksheets.texi + rm -f timetbl.t wksheets.t + rm -f *.fixed _* $(GENERATED_FILES) diff --git a/doc/supplements/template/cpumodel.t b/doc/supplements/template/cpumodel.t new file mode 100644 index 0000000000..3540c1dc02 --- /dev/null +++ b/doc/supplements/template/cpumodel.t @@ -0,0 +1,68 @@ +@c +@c COPYRIGHT (c) 1988-1998. +@c On-Line Applications Research Corporation (OAR). +@c All rights reserved. +@c +@c $Id$ +@c + +@chapter CPU Model Dependent Features + +@section Introduction + +Microprocessors are generally classified into +families with a variety of CPU models or implementations within +that family. Within a processor family, there is a high level +of binary compatibility. This family may be based on either an +architectural specification or on maintaining compatibility with +a popular processor. Recent microprocessor families such as the +SPARC or PA-RISC are based on an architectural specification +which is independent or any particular CPU model or +implementation. Older families such as the M68xxx and the iX86 +evolved as the manufacturer strived to produce higher +performance processor models which maintained binary +compatibility with older models. + +RTEMS takes advantage of the similarity of the +various models within a CPU family. Although the models do vary +in significant ways, the high level of compatibility makes it +possible to share the bulk of the CPU dependent executive code +across the entire family. Each processor family supported by +RTEMS has a list of features which vary between CPU models +within a family. For example, the most common model dependent +feature regardless of CPU family is the presence or absence of a +floating point unit or coprocessor. When defining the list of +features present on a particular CPU model, one simply notes +that floating point hardware is or is not present and defines a +single constant appropriately. Conditional compilation is +utilized to include the appropriate source code for this CPU +model's feature set. It is important to note that this means +that RTEMS is thus compiled using the appropriate feature set +and compilation flags optimal for this CPU model used. The +alternative would be to generate a binary which would execute on +all family members using only the features which were always +present. + +This chapter presents the set of features which vary +across SPARC implementations and are of importance to RTEMS. +The set of CPU model feature macros are defined in the file +c/src/exec/score/cpu/XXX/XXX.h based upon the particular CPU +model defined on the compilation command line. + +@section CPU Model Name + +The macro CPU_MODEL_NAME is a string which designates +the name of this CPU model. For example, for the MODEL +processor, this macro is set to the string "XXX". + +@section Floating Point Unit + +The macro XXX_HAS_FPU is set to 1 to indicate that +this CPU model has a hardware floating point unit and 0 +otherwise. It does not matter whether the hardware floating +point support is incorporated on-chip or is an external +coprocessor. + +@section Another Optional Feature + +The macro XXX diff --git a/doc/supplements/template/preface.texi b/doc/supplements/template/preface.texi new file mode 100644 index 0000000000..05e8c3c4cd --- /dev/null +++ b/doc/supplements/template/preface.texi @@ -0,0 +1,55 @@ +@c +@c COPYRIGHT (c) 1988-1998. +@c On-Line Applications Research Corporation (OAR). +@c All rights reserved. +@c +@c $Id$ +@c + +@ifinfo +@node Preface, CPU Model Dependent Features, Top, Top +@end ifinfo +@unnumbered Preface + +The Real Time Executive for Multiprocessor Systems (RTEMS) +is designed to be portable across multiple processor +architectures. However, the nature of real-time systems makes +it essential that the application designer understand certain +processor dependent implementation details. These processor +dependencies include calling convention, board support package +issues, interrupt processing, exact RTEMS memory requirements, +performance data, header files, and the assembly language +interface to the executive. + +This document discusses the VENDOR XXX +architecture dependencies in this port of RTEMS. The XXX +family has a wide variety of CPU models within it. The part +numbers ... + +XXX fill in some things here + +It is highly recommended that the XXX +RTEMS application developer obtain and become familiar with the +documentation for the processor being used as well as the +documentation for the family as a whole. + +@subheading Architecture Documents + +For information on the XXX architecture, +refer to the following documents available from VENDOR +(@file{http//www.XXX.com/}): + +@itemize @bullet +@item @cite{XXX Family Reference, VENDOR, PART NUMBER}. +@end itemize + +@subheading MODEL SPECIFIC DOCUMENTS + +For information on specific processor models and +their associated coprocessors, refer to the following documents: + +@itemize @bullet +@item @cite{XXX MODEL Manual, VENDOR, PART NUMBER}. +@item @cite{XXX MODEL Manual, VENDOR, PART NUMBER}. +@end itemize + diff --git a/doc/supplements/template/template.texi b/doc/supplements/template/template.texi new file mode 100644 index 0000000000..fe36128d60 --- /dev/null +++ b/doc/supplements/template/template.texi @@ -0,0 +1,121 @@ +\input ../../texinfo/texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename c_template +@syncodeindex vr fn +@synindex ky cp +@paragraphindent 0 +@c @smallbook +@c %**end of header + +@c +@c COPYRIGHT (c) 1988-1998. +@c On-Line Applications Research Corporation (OAR). +@c All rights reserved. +@c +@c $Id$ +@c + +@c +@c Master file for the Template Applications Supplement +@c + +@include ../../common/setup.texi + +@ignore +@ifinfo +@format +START-INFO-DIR-ENTRY +* RTEMS Template Applications Supplement (template): +END-INFO-DIR-ENTRY +@end format +@end ifinfo +@end ignore + +@c +@c Title Page Stuff +@c + +@set edition @value{RTEMS-EDITION} +@set version @value{RTEMS-VERSION} +@set update-date @value{RTEMS-UPDATE-DATE} +@set update-month @value{RTEMS-UPDATE-MONTH} + +@c +@c I don't really like having a short title page. --joel +@c +@c @shorttitlepage RTEMS Template Applications Supplement + +@setchapternewpage odd +@settitle RTEMS Template Applications Supplement +@titlepage +@finalout + +@title RTEMS Template Applications Supplement +@subtitle Edition @value{edition}, for RTEMS @value{version} +@sp 1 +@subtitle @value{update-month} +@author On-Line Applications Research Corporation +@page + +@include ../../common/cpright.texi +@end titlepage + +@c This prevents a black box from being printed on "overflow" lines. +@c The alternative is to rework a sentence to avoid this problem. + +@include preface.texi +@include cpumodel.texi +@c @include callconv.texi +@c @include memmodel.texi +@c @include intr.texi +@c @include fatalerr.texi +@c @include bsp.texi +@c @include cputable.texi +@c @include wksheets.texi +@c @include ../../common/timing.texi +@c @include timedata.texi +@ifinfo +@node Top, Preface, (dir), (dir) +@top c_m68k + +This is the online version of the RTEMS Template +Applications Supplement. + +@menu +* Preface:: +* CPU Model Dependent Features:: +** Calling Conventions:: +** Memory Model:: +** Interrupt Processing:: +** Default Fatal Error Processing:: +** Board Support Packages:: +** Processor Dependent Information Table:: +** Memory Requirements:: +** Timing Specification:: +** MVME136 Timing Data:: +* Command and Variable Index:: +* Concept Index:: +@end menu + +@end ifinfo +@c +@c +@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here +@c + +@node Command and Variable Index, Concept Index, , Top +@unnumbered Command and Variable Index + +There are currently no Command and Variable Index entries. + +@c @printindex fn + +@node Concept Index, , Command and Variable Index, Top +@unnumbered Concept Index + +There are currently no Concept Index entries. +@c @printindex cp + +@c @contents +@bye + -- cgit v1.2.3