# HG changeset patch # User jlarmour # Date 954274409 0 # Node ID 59d97b6ba612405f00554aecd844688d07858469 # Parent abb6bd809e81fa7e14522cd6ccbd12b198da8f1f Merge from eCos master repository on 2000-03-28-19:50:47-BST diff --git a/host/tools/configtool/ChangeLog b/host/tools/configtool/ChangeLog --- a/host/tools/configtool/ChangeLog +++ b/host/tools/configtool/ChangeLog @@ -1,4 +1,18 @@ -2000-03-10 Simon FitzMaurice +2000-03-28 John Dallaway + + * standalone/win32/cdl.sh, + standalone/win32/cdl.dsp: + + Remove obsolete files. + +2000-03-28 John Dallaway + + * common/win32/CTCommonDoc.cpp: + + Modify QualifyDocURL() to accommodate absolute HTML + file paths returned by libCDL. + +2000-03-22 Simon FitzMaurice * standalone\win32\MainFrm.cpp Include usr/bin in path. @@ -11,8 +25,6 @@ 2000-03-21 John Dallaway - * standalone/win32/Configtool.rc: Update IDS_RED_HAT_HOME_URL value. @@ -23,7 +35,7 @@ 2000-03-20 John Dallaway - * standalone/common/common/build.cxx: + * common/common/build.cxx: Modify resolve_tokens() to avoid breaking make variables specified in CDL custom rule targets and dependencies. @@ -34,6 +46,15 @@ 2000-03-15 John Dallaway @@ -181,8 +202,6 @@ 2000-02-23 John Dallaway * common\win32\CTUtils.* - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigtoolDoc.cpp CTUtils has moved to utils folder. HTMLHelpLinkFileName and ShowHtmlHelp are now in doc class. @@ -212,7 +231,7 @@ 2000-02-21 Simon FitzMaurice - * common/win32/ConfigItem.cpp: Support for CodeCoordinates in the plugin + * common/win32/ConfigItem.cpp: Support for CodeCoordinates 2000-02-18 John Dallaway @@ -246,7 +265,6 @@ 2000-02-17 Simon FitzMaurice * common\win32\ConfigViewOptionsDialog.cpp - plugin\win32\ConfigtoolDoc.cpp standalone\win32\CTres.h standalone\win32\ConfigToolDoc.cpp standalone\win32\Configtool.dsp @@ -274,8 +292,6 @@ 2000-02-15 Simon FitzMaurice - * plugin\win32\CTMain.cpp - plugin\win32\ConfigTool.cpp - plugin\win32\Project.cpp - plugin\win32\ProjectManager.cpp - - More changes from Piet. - 2000-02-11 John Dallaway * standalone\common\ecosconfig.cxx: @@ -452,15 +437,6 @@ 2000-02-09 Simon FitzMaurice - * plugin\win32\Project.cpp - - Use isNull rather than ptr() - -2000-02-08 Rupen Patel - - * plugin\win32\Project.h,.cpp: Some fixes for reference counting. - 2000-02-08 John Dallaway * standalone\win32\Configtool.rc: @@ -477,16 +453,6 @@ 2000-02-08 Simon FitzMaurice - * plugin\win32\ConfigTool.cpp - - Correct reference to CConfigToolApp - 2000-02-04 Simon FitzMaurice * standalone\win32\Configtool.dsp @@ -560,10 +521,8 @@ 2000-02-04 Simon FitzMaurice * common\win32\CTCommonres.h - plugin\win32\eCosres.h standalone\win32\CTres.h These files cannot have copyright banners. @@ -592,7 +550,6 @@ 2000-02-03 Simon FitzMaurice - * plugin\win32\Project.cpp - - Another change from Rupen. - -2000-02-02 Simon FitzMaurice * common\win32\FailingRulesDialog.cpp Rework to avoid use of CConfigItems (because fixes may involve packages not yet loaded) @@ -629,10 +581,6 @@ 2000-02-02 Simon FitzMaurice * common\win32\SectionGeneralPage.cpp common\win32\SectionRelocationPage.cpp - plugin\win32\CTMain.cpp - plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\RunTest.cpp Changes required by IDE API changes. @@ -737,28 +685,6 @@ 2000-02-01 Simon FitzMaurice - * plugin\win32\Configtool.dsp - - Share cdl intermediate file location with IDE. - -2000-02-01 Simon FitzMaurice - * plugin\win32\RunTest.cpp - plugin\win32\RunTest.h - - Use an event to monitor debugger state changes. - 2000-01-31 Simon FitzMaurice * common\win32\CTCommon.rc @@ -826,7 +741,6 @@ 2000-01-28 Simon FitzMaurice * common\win32\mltview.h - plugin\win32\CTMain.cpp - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\ConfigtoolDoc.cpp standalone\win32\CTres.h standalone\win32\Configtool.h @@ -920,13 +830,6 @@ 2000-01-21 John Dallaway - * plugin\win32\Project.cpp: - - Modify MakeMakeFile() to define the LDFLAGS makefile - variable. - -2000-01-21 John Dallaway - * common\win32\CTCommonDoc.cpp: Modify OnFileImport() to accommodate recent libCDL API @@ -946,10 +849,6 @@ 2000-01-19 Simon FitzMaurice * standalone\win32\res\Splsh16.bmp: @@ -957,16 +856,13 @@ 2000-01-19 John Dallaway - * plugin\win32\eCos.rc - standalone\win32\Configtool.rc + * standalone\win32\Configtool.rc Update version info. 2000-01-18 Simon FitzMaurice * common\win32\CTCommon.rc common\win32\CTCommonDoc.cpp - plugin\win32\eCos.rc - plugin\win32\eCosres.h standalone\win32\CTres.h standalone\win32\Configtool.rc standalone\win32\MainFrm.cpp @@ -978,7 +874,6 @@ 2000-01-18 Simon FitzMaurice - * plugin\win32\CTMain.cpp - - Improve warning message - - * plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.cpp - - Disengage CProject from ref counting to avoid problems in closing projects - - * plugin\win32\RunTest.cpp - plugin\win32\RunTest.h - - Tidy - 2000-01-17 Simon FitzMaurice * common\win32\ConfigToolDoc.h @@ -1019,11 +898,6 @@ 2000-01-14 Simon FitzMaurice - * common\win32\CTCommonDoc.cpp - common\win32\ConfigToolDoc.h - plugin\win32\ConfigTool.cpp - plugin\win32\Project.cpp - plugin\win32\Project.h - - Ensure unwanted items are removed - -2000-01-13 Simon FitzMaurice - * plugin\win32\Project.cpp - - Partial fix for CR 901975 - * standalone\win32\BCMenu.cpp standalone\win32\BCMenu.h @@ -1075,26 +936,9 @@ 2000-01-12 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp - standalone\win32\ConfigToolDoc.cpp - - CR 901997 - - * plugin\win32\project.cpp - - Introduce launcher attribute-setting code (as comments) - - * plugin\win32\projectmanager.cpp - - Avoid "only 1 eCos project open" message for test projects - 2000-01-11 John Dallaway * common\win32\ConfigToolDoc.h, - plugin\win32\ConfigtoolDoc.cpp, - plugin\win32\Project.cpp, - plugin\win32\ProjectManager.cpp, standalone\win32\ConfigToolDoc.cpp: Restrict use of short file paths to the generation of @@ -1122,7 +966,6 @@ 2000-01-11 Simon FitzMaurice - * plugin\win32\ConfigtoolDoc.cpp, - plugin\win32\eCos.rc, - plugin\win32\eCosres.h, - common\win32\CTCommon.rc, - common\win32\CTCommonres.h: - + * common\win32\CTCommon.rc, + common\win32\CTCommonres.h, + Modify the constructor to calculate the default repository location from the plug-in installation location if the per-user registry value is not @@ -1188,24 +1026,11 @@ 2000-01-10 John Dallaway - * plugin\win32\CTMain.cpp: - - Modify OnToolsTemplate() to execute user-requested - changes to the hardware template selection by calling - SelectHardware(). - -2000-01-10 John Dallaway - * standalone\win32\CTres.h, standalone\win32\CTres.cpp, standalone\win32\CdlTemplatesDialog.cpp (remove), standalone\win32\CdlTemplatesDialog.h (remove), standalone\win32\Configtool.rc, - plugin\win32\eCosres.h, - plugin\win32\eCosres.cpp, - plugin\win32\CdlTemplatesDialog.cpp (remove), - plugin\win32\CdlTemplatesDialog.h (remove), - plugin\win32\eCos.rc, common\win32\CTCommon.rc, common\win32\CTCommonres.cpp, common\win32\CTCommonres.h, @@ -1217,10 +1042,6 @@ 2000-01-10 John Dallaway "Templates..." - 2000-01-10 John Dallaway * standalone\win32\CTres.h, @@ -1233,67 +1054,24 @@ 2000-01-10 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp - standalone\win32\ConfigToolDoc.cpp + * standalone\win32\ConfigToolDoc.cpp Treat the result of ResolveGlobalConflicts correctly 2000-01-07 Simon FitzMaurice - * plugin\win32\ProjectManager.cpp - - Allow only one eCos project to be open at any given time. - -2000-01-07 Simon FitzMaurice * common\win32\PropertiesList.cpp CR 901982 -2000-01-07 Simon FitzMaurice - * plugin\win32\SelectTestsDialog.cpp - plugin\win32\SelectTestsDialog.h - plugin\win32\eCos.rc - plugin\win32\eCosres.cpp - plugin\win32\eCosres.h - - Add context-sensitive help for select tests and template dialogs. - Add All and None buttons to select tests dialog. - Ensure horz scrollbar appears for select tests dialog. - -2000-01-07 Simon FitzMaurice - * plugin\win32\CTMain.cpp - - Reinstate code to close all projects when administration dialog displayed - -2000-01-07 John Dallaway - - * plugin\win32\Project.cpp: - - Modify AddFile(), AddCustomRule(), LibraryDir() - and MakeMakeFile() to accommodate spaces in file paths. - 2000-01-06 Simon FitzMaurice * common\win32\ControlView.cpp CR 901981 -2000-01-06 Simon FitzMaurice - * plugin\win32\CTMain.cpp - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\Project.cpp - plugin\win32\ProjectManager.cpp - - Changes required for addRef() code - -2000-01-06 Simon FitzMaurice - * plugin\win32\ConfigTool.cpp - - Fix crash if "Choose Repository" dialog is cancelled. - 2000-01-05 John Dallaway * common\win32\CTCommonDoc.cpp, standalone\win32\ConfigToolDoc.cpp, - plugin\win32\ConfigtoolDoc.cpp, common\win32\ConfigTool.h: Modify SelectTemplate() to accommodate a template @@ -1307,30 +1085,19 @@ 2000-01-05 John Dallaway - - * plugin\win32\Project.cpp: - - Apply reference counting patch from Piet Obermeyer. - 2000-01-04 John Dallaway * standalone\win32\Configtool.rc: @@ -1339,7 +1106,6 @@ 2000-01-04 John Dallaway * common\win32\CTCommonres.cpp - plugin\win32\eCosres.cpp standalone\win32\CTres.cpp standalone\win32\Configtool.cpp standalone\win32\Configtool.dsp @@ -1359,10 +1125,6 @@ 1999-12-21 Simon FitzMaurice * common\win32\FileName.cpp common\win32\FileName.h @@ -1420,11 +1176,7 @@ 1999-12-17 Simon FitzMaurice * common\win32\memmap.cpp: @@ -1496,11 +1243,6 @@ 1999-12-16 Simon FitzMaurice - * plugin\win32\ConfigtoolDoc.cpp - - 901455-CR : ensure max map size set - -1999-12-16 Simon FitzMaurice * common\win32\FailingRulesDialog.cpp Prevent crash in release build: ASSERT->VERIFY @@ -1509,17 +1251,11 @@ 1999-12-16 Simon FitzMaurice - * plugin\win32\Project.cpp : match on tail of target name for shells, to avoid old shell tools in templates - 1999-12-14 Simon FitzMaurice * common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h common\win32\FileName.cpp common\win32\FileName.h - plugin\win32\CTMain.cpp - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\Project.cpp standalone\win32\ConfigToolDoc.cpp Work around problem w\ spaces in filenames: remove spaces from install tree, build tree and repository @@ -1547,18 +1283,11 @@ 1999-12-13 Simon FitzMaurice * common\common\build.cxx. - plugin\win32\Project.cpp: Define the make variable OBJCOPY for use by CDL custom rules. 1999-12-09 Simon FitzMaurice * common\win32\CTCommonres.h - plugin\win32\eCosres.h standalone\win32\CTres.h - Renumber resource IDs (CR 901703) + Renumber resource IDs (CR 901703) + * common\win32\CTOptionsDialog.cpp common\win32\CTOptionsDialog.h Disable buttons as appropriate on dialog initialization (CR 901688) - * plugin\win32\CTMain.cpp - - Add elipses where appropriate (CR 901686) - - * plugin\win32\eCos.rc - - Enable OK button (CR 901687) - 1999-12-09 Simon FitzMaurice * common\win32\CTCommon.rc common\win32\CTCommonDoc.cpp common\win32\CTCommonres.h - plugin\win32\CTMain.cpp - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h standalone\win32\ConfigToolDoc.cpp standalone\win32\Configtool.dsp standalone\win32\MainFrm.cpp @@ -1632,19 +1347,12 @@ 1999-12-09 Simon FitzMaurice * common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h - plugin\win32\CTMain.cpp - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h - plugin\win32\eCos.rc - plugin\win32\eCosres.h standalone\win32\CTres.h standalone\win32\ConfigToolDoc.cpp standalone\win32\Configtool.rc standalone\win32\MainFrm.cpp standalone\win32\MainFrm.h - Provide test selection in plugin. Use IDE debugger as far as possible (not functional yet). Call pkgadmin as built-in dialog @@ -1660,10 +1368,6 @@ 1999-12-07 Simon FitzMaurice * standalone\common\cdl_exec.cxx, @@ -1705,16 +1399,6 @@ 1999-12-06 Simon FitzMaurice * standalone\common\cdl_exec.cxx, @@ -1756,21 +1440,6 @@ 1999-12-02 Simon FitzMaurice - * plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h - - Use and tokens in custom rules. - Expect a sent (not posted) BUILD_STARTED. - 1999-12-02 John Dallaway * common\common\build.cxx: @@ -1800,11 +1469,6 @@ 1999-12-01 Simon FitzMaurice * common\win32\CTCommonDoc.cpp common\win32\CTOptionsDialog.cpp @@ -1812,7 +1476,6 @@ 1999-12-01 Simon FitzMaurice and in custom rule dependencies - 1999-12-01 John Dallaway * common\win32\CTCommon.rc: @@ -1873,22 +1532,13 @@ 1999-11-26 Simon FitzMaurice * common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h - plugin\win32\CTMain.cpp - plugin\win32\CTMain.h standalone\win32\MainFrm.cpp standalone\win32\MainFrm.h @@ -1941,7 +1589,6 @@ 1999-11-26 Simon FitzMaurice * standalone\win32\ConfigToolDoc.cpp, - plugin\win32\ConfigToolDoc.cpp: Modify SwitchMemoryLayout() to copy default memory layout files only where they do not already exist at the destination location. - * plugin\win32\ConfigToolDoc.cpp: - - Modify SetPathName() to generate the build and install - directory paths by appending "_build" and "_install" respectively - to the root name of the config save file. - * common\win32\ConfigItem.cpp: Modify the string version of SetValue() to reference the @@ -2014,7 +1653,6 @@ 1999-11-25 Simon FitzMaurice - * plugin\win32\CTMain.cpp - standalone\win32\ConfigToolDoc.cpp + * standalone\win32\ConfigToolDoc.cpp Use "native" in the case of no toolchain prefix. 1999-11-25 Simon FitzMaurice * common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h - plugin\win32\CTMain.cpp - plugin\win32\CTMain.h - plugin\win32\ConfigTool.cpp - plugin\win32\Project.cpp - plugin\win32\eCos.rc - plugin\win32\eCosres.h standalone\win32\CTres.h standalone\win32\ConfigToolDoc.cpp standalone\win32\Configtool.cpp @@ -2101,16 +1731,6 @@ 1999-11-25 Simon FitzMaurice - - * plugin\win32\Project.cpp: - - Modify MakeMakeFile() to add build variables to - the temporary makefiles which match those of the - standalone eCos config tool. This should ensure - portability of custom rules between the standalone - tool and the plug-in. - 1999-11-24 Simon FitzMaurice * common\win32\CTCommon.rc common\win32\CTCommonDoc.cpp @@ -2130,7 +1750,6 @@ 1999-11-24 Simon FitzMaurice - * plugin\win32\ProjectManager.cpp - - Fix crash in release build - 1999-11-23 John Dallaway * standalone\common\ecosconfig.cxx, @@ -2186,7 +1800,6 @@ 1999-11-19 Simon FitzMaurice - * plugin\win32\Project.cpp: - - Modify AddFile() to add the package version directory - of the build tree to the include path for each file. - This enables the C pre-processor to find header files - generated by custom build rules. - -1999-11-12 John Dallaway - * common\win32\mltview.cpp: Increase inter-region spacing to match client area @@ -2445,8 +2039,8 @@ 1999-11-11 Simon FitzMaurice * common\win32\mltview.cpp common\win32\mltview.h @@ -2496,10 +2086,6 @@ 1999-11-10 Simon FitzMaurice - * plugin\win32\Project.cpp - Update laucher interface - 1999-11-09 John Dallaway * standalone\common\cdl_exec.hxx, @@ -2515,10 +2101,6 @@ 1999-11-09 Simon FitzMaurice * common\common\build.cxx: @@ -2553,10 +2135,6 @@ 1999-11-08 Simon FitzMaurice - * plugin\win32\CdlTemplatesDialog.cpp - Correct syntax error - -1999-11-08 Simon FitzMaurice * common\win32\AddRemoveDialog.cpp common\win32\AddRemoveDialog.h common\win32\BuildOptionsDialog.cpp @@ -2578,8 +2156,6 @@ 1999-11-08 Simon FitzMaurice * common\win32\PropertiesList.cpp - plugin\win32\CTMain.cpp - plugin\win32\CTMain.h - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\eCosres.h standalone\win32\ConfigToolDoc.cpp standalone\win32\Configtool.cpp standalone\win32\Configtool.dsp @@ -2815,7 +2379,6 @@ 1999-11-04 Simon FitzMaurice - common\win32\ConfigItem.cpp - Fix compilation error in plugin build - -1999-11-02 Simon FitzMaurice common\win32\CTCommonDoc.cpp common\win32\ConfigItem.cpp common\win32\ConfigItem.h @@ -2983,7 +2536,6 @@ 1999-11-02 Simon FitzMaurice @@ -3050,8 +2602,6 @@ 1999-11-01 Simon FitzMaurice * common\win32\CTUtils.cpp common\win32\CTUtils.h - plugin\win32\CTMain.h - plugin\win32\ConfigTool.cpp standalone\win32\Configtool.cpp Change default arg values of Chop to false (less error-prone) @@ -3118,11 +2660,6 @@ 1999-10-29 Simon FitzMaurice - * common\win32\stdafx.h - plugin\win32\eCos.rc - plugin\win32\eCosres.h - standalone\win32\CTres.h - standalone\win32\Configtool.dsp - standalone\win32\Configtool.mak - standalone\win32\Configtool.rc - Add common [between plugin and standalone] resource files - * common\win32\BuildOptionsDialog.cpp common\win32\BuildOptionsDialog.h Experiment with framework for HtmlHelp @@ -3272,10 +2800,6 @@ 1999-10-27 Simon FitzMaurice * common\win32\CTCommonDoc.cpp - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h Correct problem whereby some tests were not being correctly located. 1999-10-26 Simon FitzMaurice * common\win32\CTCommonDoc.cpp - plugin\win32\ConfigTool.cpp - plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h : Adapt to changes for make file generation Traverse only package directories looking for tests @@ -3358,13 +2875,6 @@ 1999-10-22 Simon FitzMaurice @@ -3392,11 +2901,6 @@ 1999-10-21 Simon FitzMaurice @@ -3444,30 +2946,13 @@ 1999-10-19 John Dallaway - * plugin\win32\CTMain.cpp,h : - - Implement toolbar hide\show - Finally nail window persistence. Probably. - -1999-10-19 Simon FitzMaurice * standalone\win32\ConfigToolDoc.cpp - plugin\win32\ConfigtoolDoc.cpp common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h - plugin\win32\ConfigTool.cpp Make build info available in document (member BuildInfo()) Introduce UpdateeCosProject() member as place to update build info - * plugin\win32\CTMain.cpp : - - Use commandex mechamism for window persistence. Almost there. - - * plugin\win32\Project.cpp - plugin\win32\ProjectManager.cpp - - get_flags code now in its own file (flags.cxx). Not yet a class member. - * standalone\win32\ViewOptions.cpp Correct typo @@ -3479,31 +2964,16 @@ 1999-10-19 Simon FitzMaurice - - * plugin\win32\Project.cpp: - - Modify list_to_string() to eliminate redundant use of - max(). - -1999-10-18 Simon FitzMaurice - * plugin\win32\CTMain.cpp - - Fix problem of proliferating toolbars and persist toolbar placement - 1999-10-18 Simon FitzMaurice * common\win32\CTCommonDoc.cpp common\win32\CTUtils.cpp common\win32\CTUtils.h standalone\win32\MainFrm.cpp - plugin\win32\CTMain.cpp : common\win32\FileName.cpp [mostly] eliminate changing directory, which is dangerous in a multithreading environment @@ -3517,16 +2987,6 @@ 1999-10-18 Simon FitzMaurice - * plugin\win32\Projectmanager.cpp : - - Allow e.v. trick to create eCos projects in non-Debug - -1999-10-15 Simon FitzMaurice * common\win32\CTCommonDoc.cpp : Do not mention an empty repository name -1999-10-15 Simon FitzMaurice - * plugin\win32\CTMain.cpp : - - restore removeMenuEventListener() call - -1999-10-15 John Dallaway - - * plugin\win32\ConfigtoolDoc.cpp: - - Further modification of OnOpenDocument() to accommodate - the recent change to NewMemoryLayout(). - -1999-10-15 John Dallaway - - * plugin\win32\ProjectManager.cpp: - - Modify projectManagerChanged() to supress tracing in - release builds and thus avoid build error. - -1999-10-13 Simon FitzMaurice - * plugin\win32\CTMain.cpp,h : - - adapt to new menu manager interface - - * plugin\win32\project.cpp : - - Do not crash (via VERIFY) if CopyFile fails - 1999-10-13 John Dallaway * common\win32\ControlView.cpp: @@ -3601,15 +3028,6 @@ 1999-10-13 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp: - - Modify NewMemoryLayout() take the directory containing - the .mlt files as its parameter rather than the prefix - to a "pkgconf" directory. - - Modify SwitchMemoryLayout() and OnOpenDocument() to - accommodate the above change to NewMemoryLayout(). - * common\win32\CTCommonDoc.cpp, common\win32\ConfigtoolDoc.h: @@ -3623,15 +3041,9 @@ 1999-10-13 John Dallaway common\win32\ConfigItem.cpp : - Correct calculation of filename (works for plugin case now, but not yet for standalone) + Correct calculation of filename 1999-10-13 Simon FitzMaurice common\win32\ConfigItem.cpp @@ -3643,7 +3055,6 @@ 1999-10-13 Simon FitzMaurice common\win32\CTCommonDoc.cpp - plugin\win32\ConfigtoolDoc.cpp : Fix problem of tree not being populated when repository already open Migrate m_arstrFiles.RemoveAll() calls to DeleteContents() for standalone @@ -3651,23 +3062,6 @@ 1999-10-13 Simon FitzMaurice common\win32\CTCommonDoc.cpp - plugin\win32\CTMain.cpp - plugin\win32\CTMain.h - plugin\win32\ConfigTool.cpp standalone\win32\MainFrm.cpp standalone\win32\MainFrm.h : Add status pane support - plugin\win32\ProjectManager.cpp : - - hack; save project when build started - 1999-10-08 John Dallaway * common\win32\OutputView.cpp, @@ -3815,7 +3202,6 @@ 1999-10-06 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp: - - Modify OnOpenDocument() to copy the default memory layout - (MLT) files from the repository to the build tree in case - the user wishes to switch memory layouts before saving. - -1999-10-01 John Dallaway - * common\win32\memmap.cpp: Modify edit_memory_section() to accommodate a relocating memory @@ -3888,12 +3265,6 @@ 1999-10-01 John Dallaway - - * plugin\win32\CTMain.cpp: - - Modify OnTest() to avoid calling deprecated functions. - 1999-09-30 John Dallaway * standalone\win32\ConfigtoolDoc.cpp: @@ -3915,8 +3286,6 @@ 1999-09-30 John Dallaway -" from the @@ -3972,8 +3340,6 @@ 1999-09-28 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp, - standalone\win32\ConfigtoolDoc.cpp, - common\win32\CTCommonDoc.cpp: + * common\win32\CTCommonDoc.cpp, + standalone\win32\ConfigtoolDoc.cpp: Ensure that all calls to libCDL functions which parse input files catch and report exceptions of type CdlStringException. 1999-09-21 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp: - - Modify OnOpenDocument() to pass the build tree to NewMemoryLayout() if - this is not a new project. - - Modify SetPathName() to calculate the default build and install tree - paths based on a CDL save file parameter. - * common\win32\CTCommonDoc.cpp: Modify ConfigurationFile() to return the document path name @@ -4216,12 +3565,6 @@ 1999-09-21 John Dallaway common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h : @@ -4229,14 +3572,8 @@ 1999-09-20 Simon FitzMaurice - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h common\win32\CTCommonDoc.cpp common\win32\ConfigToolDoc.h - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ConfigTool.cpp - plugin\win32\Project.cpp - plugin\win32\Project.h standalone\win32\ConfigToolDoc.cpp : Move GenerateHeaders() from ProjectManger to document class Call file-saving operations appropriately (generally in OnSaveDocument()) @@ -4246,15 +3583,6 @@ 1999-09-20 Simon FitzMaurice - * plugin\win32\ConfigToolDoc.cpp: - - Modify OnOpenDocument() and OnSaveDocument() to load and save - CDL save files respectively. Note that the CDL save files is - only loaded if it exists. On initial project creation, the - CDL file will not exist. - -1999-09-20 John Dallaway - * standalone\win32\ConfigToolDoc.cpp, common\win32\ConfigtoolDoc.h: @@ -4311,7 +3639,6 @@ 1999-09-20 Simon FitzMaurice - plugin\win32\ConfigTool.cpp : - - save build and install trees in project - - plugin\win32\ConfigtoolDoc.cpp standalone\win32\ConfigToolDoc.cpp : Remove unneeded #includes 1999-09-17 Simon FitzMaurice common\win32\CTCommonDoc.cpp - plugin\win32\ConfigtoolDoc.cpp standalone\win32\ConfigtoolDoc.cpp : CurrentLinkerScript() made common. Remaining fns in non-common docs reordered to ease diffs. -1999-09-17 Simon FitzMaurice - plugin\win32\ConfigtoolDoc.cpp : - - Correct calculation of build and install paths - - plugin\win32\ConfigTool.cpp : - - remove creation of console - 1999-09-17 John Dallaway * standalone\win32\ConfigToolDoc.cpp, @@ -4373,7 +3685,6 @@ 1999-09-17 John Dallaway common\win32\CTCommonDoc.cpp - plugin\win32\ConfigtoolDoc.cpp standalone\win32\ConfigToolDoc.cpp : AddAllItems() becomes common @@ -4386,11 +3697,6 @@ 1999-09-17 Simon FitzMaurice - common\win32\CTCommonDoc.cpp - common\win32\CTUtils.cpp - common\win32\CellView.cpp - common\win32\ConfigItem.cpp - common\win32\ConfigItem.h - common\win32\ConfigToolDoc.h - common\win32\ControlView.cpp - common\win32\PropertiesView.cpp - common\win32\RulesView.cpp - common\win32\stdafx.h - plugin\win32\CTMain.cpp - plugin\win32\CTMain.h - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ConfigtoolDoc.h - plugin\win32\Project.cpp - plugin\win32\ProjectManager.cpp - standalone\win32\CTres.h - standalone\win32\ConfigToolDoc.cpp - standalone\win32\Configtool.cpp - standalone\win32\Configtool.dsp - standalone\win32\Configtool.h - standalone\win32\Configtool.rc - standalone\win32\ConfigtoolDoc.h - standalone\win32\HeadersDialog.cpp - standalone\win32\MainFrm.cpp - standalone\win32\MainFrm.h - standalone\win32\dirdocmgr.cpp : - Create common version of CConfigToolDoc header file. - Various changes to merge plugin and standalone code so as to - migrate more code to common doc file. - 1999-09-16 John Dallaway * common\win32\ProperitesView.cpp: @@ -4445,7 +3717,6 @@ 1999-09-16 John Dallaway * common\win32\CTCommonDoc.cpp, - plugin\win32\ConfigtoolDoc.h, standalone\win32\ConfigtoolDoc.h: Rename CdlErrorHandler() to CdlParseErrorHandler() and @@ -4456,7 +3727,6 @@ 1999-09-16 John Dallaway common\win32\CTCommonDoc.cpp - plugin\win32\ConfigtoolDoc.cpp standalone\win32\ConfigToolDoc.cpp : more commonality @@ -4501,7 +3770,6 @@ 1999-09-13 Simon FitzMaurice - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ConfigtoolDoc.h - plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h : - - more plugin interface adjustments - common\win32\FileName.cpp : return abs path name if comparison cannot be made (e.g. different drives) -1999-09-09 Simon FitzMaurice - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ProjectManager.cpp : - - more of the same - -1999-09-09 Simon FitzMaurice - plugin\win32\CTMain.cpp - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.h - plugin\win32\eCosPlugin.cpp - plugin\win32\eCosPlugin.h : - - updated for new plugin interface - - plugin\win32\eCosPluginImpl.cpp : - - removed - 1999-09-09 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp, - standalone\win32\ConfigtoolDoc.cpp: + * standalone\win32\ConfigtoolDoc.cpp, Modify GetPackageData() to supress obsolete warning messages concerning missing include\pkgconf\*.h header files. @@ -4561,18 +3792,6 @@ 1999-09-09 John Dallaway - plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.cpp : - - reuse existing project on open - -1999-09-07 Simon FitzMaurice - plugin\win32\eCosPluginImpl.cpp : - - added - 1999-09-07 John Dallaway * Configtool.dsw: @@ -4587,26 +3806,6 @@ 1999-09-06 Simon FitzMaurice ' for integer "bumping" - plugin\win32\ConfigTool.cpp - plugin\win32\ConfigTool.h - plugin\win32\ConfigtoolDoc.cpp - plugin\win32\ConfigtoolDoc.h - plugin\win32\Project.cpp - plugin\win32\Project.h - plugin\win32\ProjectManager.cpp - plugin\win32\ProjectManager.h - plugin\win32\eCos.h : - - Partial changes to [de]activate eCos on opening\closing project of type ECOS - - plugin\win32\ConfigtoolDoc.cpp : - - suppress "do you want to use this value anyway?" message when value has not been changed - - standalone\win32\ConfigToolDoc.cpp : - - minor edits to reduce difference between standalone and plugin versions - common\win32\DoubleEdit.cpp common\win32\IntegerEdit.cpp : @@ -4633,29 +3832,6 @@ 1999-09-02 Simon FitzMaurice - - * plugin\win32\Project.cpp: - - Force cmake.bat to invoke make in Win32 mode using the - --win32 switch to avoid problems when MAKE_MODE=unix. - -1999-08-18 John Dallaway - - * plugin\win32\Project.cpp: - - Revert unintentional change to CProject::AddCustomRule() - in last check-in. - -1999-08-18 Rupen Patel - - * plugin\win32\Project.cpp: - - Added a launcher to the toolset. This will allow - the user to add the sim and gdb to eCos projects - so they may be executed. I am guessing this file - will be incorporated as a template eventually. - 1999-08-18 John Dallaway * common\win32\ControlView.cpp, @@ -4678,8 +3854,7 @@ 1999-08-18 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp, - standalone\win32\ConfigtoolDoc.cpp: + * standalone\win32\ConfigtoolDoc.cpp, Modify CdlTransactionHandler() to refresh the control view when the value source of a config item changes @@ -4716,7 +3891,6 @@ 1999-08-17 John Dallaway - * plugin\win32\ctmain.cpp : tidy to use Lookup function - * plugin\win32\ConfigTool.cpp : buffer output and deal with DOS\UNIX line endings - * plugin\win32\ProjectManager.cpp, plugin\win32\ConfigtoolDoc.cpp : Run custom rule substitutions later - * plugin\win32\Project.cpp, plugin\win32\ProjectManager.cpp : Reduce projects to 2 - 1999-08-13 John Dallaway * common\win32\CTUtils.cpp: @@ -4842,7 +4007,6 @@ 1999-08-13 John Dallaway - * plugin\win32\ctmain.cpp : correct compilation error in _DEBUG part * common\win32\CTUtils.cpp : no need for UNICODE filtering * standalone\win32\Configtool.dsp,.mak : use common version of properties 1999-08-13 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp, - plugin\win32\ConfigtoolDoc.h, - standalone\win32\ConfigtoolDoc.cpp, - standalone\win32\ConfigtoolDoc.h: + * standalone\win32\ConfigtoolDoc.cpp, + standalone\win32\ConfigtoolDoc.h, Make CdlTransactionHandler() a class member. @@ -4885,10 +4046,8 @@ 1999-08-13 John Dallaway "settings" in context menu and introduce separator * tools\configtool\common\win32\FileName.cpp : do not attempt to create c: etc.. - * tools\configtool\plugin\win32\CTMain.cpp,h : use ctor for CNDispatch, add Administration entry - * tools\configtool\plugin\win32\ConfigtoolDoc.cpp : turn off binary cells as default - * tools\configtool\plugin\win32\Project.cpp : use DOS paths - * tools\configtool\plugin\win32\eCos.rc : correct settings dialog caption * tools\ecostest\common\wcharunix.h : add mkdir compatibility macro * tools\testtool\win32\RunTestsSheet.cpp,h : size correctly in modeless case and simulate WM_KICKIDLE @@ -4967,8 +4122,6 @@ 1999-08-11 John Dallaway - * TOOLS\configtool\PLUGIN\WIN32\Project.cpp : adapt to project manager interface change - 1999-08-09 Simon FitzMaurice * tools\ResourceTool\win32\ResourceToolDlg.h tools\ResourceTool\win32\StdAfx.h @@ -4995,16 +4145,6 @@ 1999-08-09 Simon FitzMaurice * standalone\win32\ConfigTooldoc.h : correct misplaced edit @@ -5014,20 +4154,13 @@ 1999-08-06 Simon FitzMaurice * standalone\win32\ConfigtoolDoc.cpp, - plugin\win32\ConfigtoolDoc.cpp: Report CdlStringException exceptions raised while loading the initial CDL configuration. @@ -5035,7 +4168,6 @@ 1999-08-06 John Dallaway * standalone\win32\CdlTemplatesDialog.cpp, - plugin\win32\CdlTemplatesDialog.cpp: Modify OnInitDialog() to handle the case where no template is selected on dialog initialisation @@ -5045,14 +4177,12 @@ 1999-08-06 John Dallaway * standalone\win32\ConfigtoolDoc.cpp, - plugin\win32\ConfigtoolDoc.cpp: Catch assertions raised while selecting a new CDL template. 1999-08-05 John Dallaway * standalone\win32\ConfigtoolDoc.cpp, - plugin\win32\ConfigtoolDoc.cpp: Tidy up AddItems() source. No functional change. @@ -5070,8 +4200,6 @@ 1999-08-04 Simon FitzMaurice - * plugin\win32\ConfigToolDoc.cpp: - - Modify OpenRepository() to prepare for selecting the - CDL hardware template using information from the - plugin's host. - -1999-08-04 John Dallaway - * standalone\win32\cdl.dsp, standalone\win32\cdl.mak: @@ -5172,8 +4290,6 @@ 1999-08-03 John Dallaway - * plugin\win32\Project.cpp: - - Modify CProject constructor to provide architecture parameter - to ProjectManager::makeToolset(). - -1999-08-03 John Dallaway - - * plugin\win32\ConfigtoolDoc.cpp, standalone\win32\ConfigtoolDoc.cpp: Modify OpenRepository() to delete any previous CDL @@ -5202,7 +4310,8 @@ 1999-08-02 Simon FitzMaurice with STLInclude mechanism * common\win32\CellView.cpp,h: Combo in-cell changes now only "committed" when cell closed. Cancel will leave value unchanged. - * common\win32\ControlView.cpp,h, plugin\win32\CTMain.h, standalone\win32\HelpView.cpp, + * common\win32\ControlView.cpp,h, + standalone\win32\HelpView.cpp, standalone\win32\MainFrm.cpp, standalone\win32\OutputView.cpp,h: Allow only a single find dialog to be active at a given time * standalone\win32\MainFrm.cpp: Diable edit menu items when focus not in control view @@ -5214,11 +4323,9 @@ 1999-08-02 Simon FitzMaurice * tools\configtool\common\win32\CTUtils.cpp : Include with IncludeSTL mechanism * tools\configtool\common\win32\CellView.* : ESC now cancels effect of combo - * tools\configtool\plugin\win32\CdlTemplatesDialog.cpp : Remove compilation warning 1999-08-02 John Dallaway - * plugin\win32\ConfigtoolDoc.cpp, standalone\win32\ConfigtoolDoc.cpp: Modify CdlErrorHandler() to log parse errors to the @@ -5236,10 +4343,6 @@ 1999-08-02 John Dallaway - * plugin\win32\CTMain.cpp, plugin\win32\configtooldoc.cpp, - plugin\win32\ProjectManager.*: Add progress, idle messages - -1999-08-02 Simon FitzMaurice * common\win32\StringEdit.* : Add idle message hint for in-cell string editing * common\win32\IdleMessage.* : Add Reset() member function @@ -5301,23 +4404,6 @@ 1999-07-27 Simon FitzMaurice - * plugin\win32\CTMain.cpp: - - Modify SetMenuItems() to add a menu separator bar if the - message map array member has a null string element (str). - - Modify the message map to place a separator between the - eCos view menu items and the view settings menu item. - -1999-07-27 John Dallaway - - * plugin\win32\ConfigtoolDoc.cpp: - - Modify SetValue() to check if the new value of an integer - item is legal and report to the user. - -1999-07-27 John Dallaway - * standalone\win32\cdl.sh: Accommodate eCos repository with any root directory @@ -5685,7 +4771,6 @@ 1999-07-16 Simon FitzMaurice -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Generic Project" 0x010a - -CFG=cdl - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "cdl.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "cdl.mak" CFG="cdl - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "cdl - Win32 Release" (based on "Win32 (x86) Generic Project") -!MESSAGE "cdl - Win32 Debug" (based on "Win32 (x86) Generic Project") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -MTL=midl.exe - -!IF "$(CFG)" == "cdl - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "V:\ide\Release\cdl" -# PROP Intermediate_Dir "V:\ide\Release\cdl\build" -# PROP Target_Dir "" - -!ELSEIF "$(CFG)" == "cdl - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "cdl___Win32_Debug" -# PROP BASE Intermediate_Dir "cdl___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "V:\ide\debug\cdl" -# PROP Intermediate_Dir "V:\ide\debug\cdl\build" -# PROP Target_Dir "" - -!ENDIF - -# Begin Target - -# Name "cdl - Win32 Release" -# Name "cdl - Win32 Debug" -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\base.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\build.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\cdl.hxx -# End Source File -# Begin Source File - -SOURCE=.\cdl.sh -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\cdlcore.hxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\cdlmisc.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\changelog - -!IF "$(CFG)" == "cdl - Win32 Release" - -# Begin Custom Build - Performing Custom Build Step for libCDL -IntDir=V:\ide\Release\cdl\build -OutDir=V:\ide\Release\cdl -InputPath=..\..\..\..\..\ecc\cdltools\current\host\libcdl\changelog - -BuildCmds= \ - cd ..\..\standalone\win32 \ - sh -x cdl.sh $(IntDir) $(OutDir) \ - - -"$(OutDir)\lib\cdl.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\lib\cyginfra.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) -# End Custom Build - -!ELSEIF "$(CFG)" == "cdl - Win32 Debug" - -# Begin Custom Build - Performing Custom Build Step for libCDL -IntDir=V:\ide\debug\cdl\build -OutDir=V:\ide\debug\cdl -InputPath=..\..\..\..\..\ecc\cdltools\current\host\libcdl\changelog - -BuildCmds= \ - cd ..\..\standalone\win32 \ - sh -x cdl.sh $(IntDir) $(OutDir) --enable-debug \ - - -"$(OutDir)\lib\cdl.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(OutDir)\lib\cyginfra.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) -# End Custom Build - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\component.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\config.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\conflict.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\database.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\dialog.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\expr.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\hcdl.hxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\interface.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\interp.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\option.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\package.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\parse.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\property.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\refer.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\value.cxx -# End Source File -# Begin Source File - -SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\wizard.cxx -# End Source File -# End Target -# End Project diff --git a/host/tools/configtool/standalone/win32/cdl.sh b/host/tools/configtool/standalone/win32/cdl.sh deleted file mode 100644 --- a/host/tools/configtool/standalone/win32/cdl.sh +++ /dev/null @@ -1,9 +0,0 @@ -# $1==IntDir $2==OutDir $3==Additional params to configure -ECOSHOME=`pwd`/../../../../.. -TCLHOME=${TCLHOME:-"`pwd`/../../../../../../ide/tcl"} -INTDIR=`cygpath -u $1` -OUTDIR=`cygpath -u $2` -mkdir -p $INTDIR -cd $INTDIR &&\ - CC=cl CXX=cl $ECOSHOME/configure --prefix=$OUTDIR --with-tcl=$TCLHOME --with-tcl_version=81 --disable-standalone-configtool $3 &&\ - MAKE_MODE=unix make install diff --git a/host/tools/configtool/standalone/win32/res/Splsh16.bmp b/host/tools/configtool/standalone/win32/res/Splsh16.bmp index f81533a16008de5aa32f44784929ffdea3e09e79..eefac5a67b14f08a55849eb07e62aef4fb8773ce GIT binary patch literal 166438 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 diff --git a/host/tools/ecostest/ChangeLog b/host/tools/ecostest/ChangeLog --- a/host/tools/ecostest/ChangeLog +++ b/host/tools/ecostest/ChangeLog @@ -1,3 +1,19 @@ +2000-03-20 John Dallaway + + * win32/eCosTest.dsp: + + Add common/eCosTestMonitorFilter.h and + common/eCosTestMonitorFilter.cpp to the project. + +2000-03-16 Jesper Skov + + * common/eCosTestMonitorFilter.h: + * common/eCosTestMonitorFilter.cpp: + * common/ser_filter.cpp: + * unix/Makefile (common_sources): + Added monitor filter and new -m option to ser_filter. This allows + simple monitoring of the traffic between host and target. + 2000-03-15 John Dallaway * common/eCosTest.cpp: diff --git a/host/tools/ecostest/common/eCosTestDownloadFilter.cpp b/host/tools/ecostest/common/eCosTestDownloadFilter.cpp --- a/host/tools/ecostest/common/eCosTestDownloadFilter.cpp +++ b/host/tools/ecostest/common/eCosTestDownloadFilter.cpp @@ -53,7 +53,7 @@ #include "eCosStd.h" #include "eCosTrace.h" -#define DL_FILTER_VER "$Id: eCosTestDownloadFilter.cpp,v 1.1 2000/03/28 14:10:57 jlarmour Exp $" +#define DL_FILTER_VER "$Id: eCosTestDownloadFilter.cpp,v 1.2 2000/03/28 20:13:33 jlarmour Exp $" #include "eCosTestDownloadFilter.h" CeCosTestDownloadFilter::CeCosTestDownloadFilter(): diff --git a/host/tools/ecostest/common/eCosTestMonitorFilter.cpp b/host/tools/ecostest/common/eCosTestMonitorFilter.cpp new file mode 100644 --- /dev/null +++ b/host/tools/ecostest/common/eCosTestMonitorFilter.cpp @@ -0,0 +1,158 @@ +//####COPYRIGHTBEGIN#### +// +// ---------------------------------------------------------------------------- +// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// +// This program is part of the eCos host tools. +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along with +// this program; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// ---------------------------------------------------------------------------- +// +//####COPYRIGHTEND#### +//================================================================= +// +// eCosTestMonitorFilter.cpp +// +// Simple filter for monitoring data flowing through the client +// +//================================================================= +//================================================================= +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jskov +// Contributors: jskov +// Date: 2000-03-16 +// Description: This filter sits between GDB and the test running on +// the target, allowing all transmitted data to be output. +// +// *Take* the time to move some of the functions here (which are shared +// with eCosTestSerialFilter, and probably DownloadFilter) and move +// them to some shared file. +//####DESCRIPTIONEND#### + +#include "eCosStd.h" + +#define SER_FILTER_VER "$Id: eCosTestMonitorFilter.cpp,v 1.1 2000/03/28 20:13:33 jlarmour Exp $" +#include "eCosTestMonitorFilter.h" + +CeCosTestMonitorFilter::CeCosTestMonitorFilter(): + m_bOptVerbose(false) +{ +} + +CeCosTestMonitorFilter::~CeCosTestMonitorFilter() +{ +} + +//------------------------ +// Output helpers. + +void +CeCosTestMonitorFilter::ConsoleWrite(const char* pszStr) +{ + fputs(pszStr, stderr); + fflush(stderr); +} + +void +CeCosTestMonitorFilter::Trace(const char* pszFormat, ...) +{ + + va_list marker; + va_start (marker, pszFormat); + + for(int nLength=100;nLength;) { + char *buf=new char[1+nLength]; + int n=vsnprintf(buf, nLength, pszFormat, marker ); + if(-1==n){ + nLength*=2; // NT behavior + } else if (n ", offset); + // Print hex values. + for (i = 0; i < count; i++) + p += sprintf(p, "%02x ", d1[i]); + for ( ; i < width ; i++) + p += sprintf(p, ".. "); + + // Print ASCII string + p += sprintf(p, "'"); + for (i = 0; i < count; i++) { + int c = d1[i]; + if (' ' >= c || 'z' <= c) + c = '.'; + p += sprintf(p, "%c", c); + } + sprintf(p, "'\n"); + + Trace("%s", buf); + + len -= count; + offset += count; + d1 += count; + } +} + +bool CALLBACK +SerialMonitorFunction(void*& pBuf, + unsigned int& nRead, + CeCosTestSerial& serial, + CeCosTestSocket& socket, + void* pParem) +{ + CeCosTestMonitorFilter* p = (CeCosTestMonitorFilter*) pParem; + return p->FilterFunctionProper(pBuf, nRead); +} + +bool +CeCosTestMonitorFilter::FilterFunctionProper(void*& pBuf, unsigned int& nRead) +{ + char* buffer = (char*) pBuf; + + if (m_bOptVerbose) + PrintHex((unsigned char*) buffer, nRead, m_eOrigin); + + return true; +} diff --git a/host/tools/ecostest/common/eCosTestMonitorFilter.h b/host/tools/ecostest/common/eCosTestMonitorFilter.h new file mode 100644 --- /dev/null +++ b/host/tools/ecostest/common/eCosTestMonitorFilter.h @@ -0,0 +1,89 @@ +//####COPYRIGHTBEGIN#### +// +// ---------------------------------------------------------------------------- +// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// +// This program is part of the eCos host tools. +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along with +// this program; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// ---------------------------------------------------------------------------- +// +//####COPYRIGHTEND#### +//================================================================= +// +// eCosTestMonitorFilter.h +// +// Simple filter for monitoring data flowing through the client +// +//================================================================= +//================================================================= +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jskov +// Contributors: jskov +// Date: 2000-03-16 +//####DESCRIPTIONEND#### +#ifndef _CECOSMONITORFILTER_H +#define _CECOSMONITORFILTER_H + +#include "eCosStd.h" +#include "eCosTest.h" +#include "eCosTestSocket.h" +#include "eCosTestSerial.h" + +//---------------------------------------------------------------------------- +// The filter class +class CeCosTestMonitorFilter; + +class CeCosTestMonitorFilter { +public: + enum data_origin_t {MF_TARGET=0, MF_HOST} ; + + // Constructor + CeCosTestMonitorFilter(); + ~CeCosTestMonitorFilter(); + + // Configuration methods + void SetVerbose(bool bVerbose) + { m_bOptVerbose = bVerbose; } + void SetOrigin(data_origin_t eOrigin) + { m_eOrigin = eOrigin; } + + bool FilterFunctionProper(void*& pBuf, unsigned int& nRead); + +private: + + // Output methods + void ConsoleWrite(const char* pszStr); + void Trace(const char* pszFormat, ...); + void PrintHex(const unsigned char* d1, int len, + data_origin_t origin=MF_TARGET); + + + // Options used for configuring behavior. + bool m_bOptVerbose; + + data_origin_t m_eOrigin; + +}; + +extern bool CALLBACK SerialMonitorFunction(void*& pBuf, + unsigned int& nRead, + CeCosTestSerial& serial, + CeCosTestSocket& socket, + void* pParem); + +#endif // _CECOSMONITORFILTER_H diff --git a/host/tools/ecostest/common/eCosTestSerialFilter.cpp b/host/tools/ecostest/common/eCosTestSerialFilter.cpp --- a/host/tools/ecostest/common/eCosTestSerialFilter.cpp +++ b/host/tools/ecostest/common/eCosTestSerialFilter.cpp @@ -51,7 +51,7 @@ #include "eCosStd.h" -#define SER_FILTER_VER "$Id: eCosTestSerialFilter.cpp,v 1.1 2000/03/28 14:10:57 jlarmour Exp $" +#define SER_FILTER_VER "$Id: eCosTestSerialFilter.cpp,v 1.2 2000/03/28 20:13:33 jlarmour Exp $" #include "eCosTestSerialFilter.h" char msg_ok[] = "OK"; diff --git a/host/tools/ecostest/common/ser_filter.cpp b/host/tools/ecostest/common/ser_filter.cpp --- a/host/tools/ecostest/common/ser_filter.cpp +++ b/host/tools/ecostest/common/ser_filter.cpp @@ -59,17 +59,17 @@ #include "eCosTestSerialFilter.h" #include "eCosTestDownloadFilter.h" +#include "eCosTestMonitorFilter.h" #include "eCosTestUtils.h" #include "eCosTrace.h" -#define __USE_DL_FILTER - bool opt_ser_debug = false; bool opt_null_filter = false; bool opt_console_output = false; bool opt_X10_reset = false; bool opt_filter_trace = false; char opt_X10_port[2]; +bool opt_monitor = false; void no_gdb(const char* pszPort, int nBaud, @@ -145,6 +145,9 @@ main(int argc, char** argv) case 'S': opt_ser_debug = true; break; + case 'm': + opt_monitor = true; + break; case 'n': opt_no_gdb = true; // fall through! Output on console when no GDB. @@ -201,27 +204,62 @@ main(int argc, char** argv) } + if (opt_monitor) { + fprintf(stdout, "Monitor mode - will not interact with data streams...\n"); + + for(;;) { + + CeCosTestMonitorFilter* host_filter = + new CeCosTestMonitorFilter(); + CeCosTestMonitorFilter* target_filter = + new CeCosTestMonitorFilter(); + + // Set filter directions + host_filter->SetOrigin(CeCosTestMonitorFilter::MF_HOST); + target_filter->SetOrigin(CeCosTestMonitorFilter::MF_TARGET); + + // Enable filters + host_filter->SetVerbose(true); + target_filter->SetVerbose(true); + + // Set filter functions + CeCosTestSocket::FilterFunc *host_filter_function = + &SerialMonitorFunction; + CeCosTestSocket::FilterFunc *target_filter_function = + &SerialMonitorFunction; + + try { + CeCosTestSocket::ConnectSocketToSerial(nSock, ser_port, + baud_rate, + target_filter_function, + (void*)target_filter, + host_filter_function, + (void*)host_filter, + NULL); + } + catch (const char* p) { + fprintf(stderr, "Caught filter crash: %s\n", p); + } + + delete target_filter; + delete host_filter; + } + } for(;;) { CeCosTestSerialFilter* serial_filter = new CeCosTestSerialFilter(); -#ifdef __USE_DL_FILTER CeCosTestDownloadFilter* download_filter = new CeCosTestDownloadFilter(); -#else // UNIX - void* download_filter = NULL; -#endif - + // Set filter configuration serial_filter->SetFilterTrace(opt_filter_trace); serial_filter->SetSerialDebug(opt_ser_debug); serial_filter->SetConsoleOutput(opt_console_output); -#ifdef __USE_DL_FILTER // Set download filter configuration download_filter->SetFilterTrace(opt_filter_trace); download_filter->SetSerialDebug(opt_ser_debug); -#endif // Set serial side filter CeCosTestSocket::FilterFunc *ser_filter_function = @@ -229,14 +267,9 @@ main(int argc, char** argv) if (opt_null_filter) ser_filter_function = NULL; -#ifdef __USE_DL_FILTER // Set socket side filter CeCosTestSocket::FilterFunc *sock_filter_function = &DownloadFilterFunction; -#else // UNIX - CeCosTestSocket::FilterFunc *sock_filter_function = NULL; - -#endif try { if (opt_no_gdb) @@ -281,6 +314,7 @@ Usage: fprintf(stderr, " -f: Enable filter output tracing.\n"); fprintf(stderr, " -S: Output data read from serial line.\n"); fprintf(stderr, " -c: Output data on console instead of via GDB.\n"); + fprintf(stderr, " -m: Work only as a monitor filter. Implies -c.\n"); fprintf(stderr, " -n: No GDB.\n"); fprintf(stderr, " -0: Use null filter.\n"); fprintf(stderr, " -Xab: Reset X-10 Port 'a b' when TCP connection breaks\n"); diff --git a/host/tools/ecostest/unix/Makefile b/host/tools/ecostest/unix/Makefile --- a/host/tools/ecostest/unix/Makefile +++ b/host/tools/ecostest/unix/Makefile @@ -11,6 +11,7 @@ common_sources = \ ../common/eCosTest.cpp \ ../common/eCosTestSerial.cpp \ ../common/eCosTestDownloadFilter.cpp \ + ../common/eCosTestMonitorFilter.cpp \ ../common/eCosTestSerialFilter.cpp common_objects = $(notdir $(common_sources:.cpp=.o)) diff --git a/host/tools/ecostest/win32/eCosTest.dsp b/host/tools/ecostest/win32/eCosTest.dsp --- a/host/tools/ecostest/win32/eCosTest.dsp +++ b/host/tools/ecostest/win32/eCosTest.dsp @@ -101,6 +101,10 @@ SOURCE=..\common\eCosTestDownloadFilter. # End Source File # Begin Source File +SOURCE=..\common\eCosTestMonitorFilter.cpp +# End Source File +# Begin Source File + SOURCE=..\common\eCosTestSerial.cpp # End Source File # Begin Source File @@ -161,6 +165,10 @@ SOURCE=..\common\eCosTestDownloadFilter. # End Source File # Begin Source File +SOURCE=..\common\eCosTestMonitorFilter.h +# End Source File +# Begin Source File + SOURCE=..\common\eCosTestSerial.h # End Source File # Begin Source File diff --git a/host/tools/pkgadmin/ChangeLog b/host/tools/pkgadmin/ChangeLog --- a/host/tools/pkgadmin/ChangeLog +++ b/host/tools/pkgadmin/ChangeLog @@ -1,3 +1,9 @@ +2000-03-15 John Dallaway + + * win32/PkgAdmin.rc: + + Update version number to 1.3.2. + 2000-03-08 John Dallaway * win32/PkgAdmin.dsw: diff --git a/host/tools/pkgadmin/win32/PkgAdmin.rc b/host/tools/pkgadmin/win32/PkgAdmin.rc --- a/host/tools/pkgadmin/win32/PkgAdmin.rc +++ b/host/tools/pkgadmin/win32/PkgAdmin.rc @@ -32,7 +32,7 @@ CAPTION "About eCos Package Administrati FONT 8, "MS Sans Serif" BEGIN ICON IDR_PKGADMIN_MAINFRAME,IDC_STATIC,11,11,20,20 - LTEXT "eCos Package Administration Tool 1.3.1",IDC_STATIC,40, + LTEXT "eCos Package Administration Tool 1.3.2",IDC_STATIC,40, 10,131,8,SS_NOPREFIX LTEXT "Copyright © 1999-2000 Red Hat, Inc.",IDC_STATIC,40,25, 139,8 diff --git a/packages/ChangeLog b/packages/ChangeLog --- a/packages/ChangeLog +++ b/packages/ChangeLog @@ -1,3 +1,16 @@ +2000-03-24 Jonathan Larmour + + * ecosrelease.tcl: Allow running if cygtclsh80 is the tcl shell, as + on cygwin, rather than tclsh. + * ecosdistrib.tcl: Likewise + * ecosadmin.tcl: Likewise + +2000-03-24 Hugo Tyson + + * ecos.db (sparclite_sim): Add CYGPKG_IO_SERIAL to the SPARClite + simulator target - thus acquiring conflict-free default template, + and getting stdio availability in libc. + 2000-03-22 John Dallaway * ecosadmin.tcl: @@ -5,6 +18,10 @@ 2000-03-22 John Dallaway + + * ecos.db: Make edk7708 target select the appropriate CPU. + 2000-03-10 John Dallaway * ecosadmin.tcl: diff --git a/packages/compat/uitron/current/ChangeLog b/packages/compat/uitron/current/ChangeLog --- a/packages/compat/uitron/current/ChangeLog +++ b/packages/compat/uitron/current/ChangeLog @@ -1,9 +1,18 @@ -2000-03-20 John Dallaway +2000-03-28 Jesper Skov + + * tests/testintr.cxx: Synchronize with clock before making timer + measurement. + +2000-03-28 John Dallaway * cdl/uitron.cdl: Adjust documentation URLs. +2000-03-22 Jesper Skov + + * include/uit_ifnc.h (ret_int): Fix compiler warning. + 2000-03-13 Jesper Skov * tests/testintr.cxx: Don't try to disable clock on PowerPC. diff --git a/packages/compat/uitron/current/include/uit_ifnc.h b/packages/compat/uitron/current/include/uit_ifnc.h --- a/packages/compat/uitron/current/include/uit_ifnc.h +++ b/packages/compat/uitron/current/include/uit_ifnc.h @@ -118,7 +118,7 @@ ER isnd_msg ( ID mbxid, T_MSG *pk_m } while ( 0 ) // Subsitute a version of ret_int that returns Cyg_Interrupt::CALL_DSR -#undef ret_int() +#undef ret_int #define ret_int() do { \ register int retcode; \ CYGPRI_UITRON_SET_RETCODE( retcode ); \ diff --git a/packages/compat/uitron/current/tests/testintr.cxx b/packages/compat/uitron/current/tests/testintr.cxx --- a/packages/compat/uitron/current/tests/testintr.cxx +++ b/packages/compat/uitron/current/tests/testintr.cxx @@ -333,22 +333,27 @@ void task1( unsigned int arg ) ercd = get_tim( &t1 ); CYG_TEST_CHECK( E_OK == ercd, "get_tim bad ercd" ); - // Wait for a tick + // Wait for a tick. This loop acts as a synchronizer for the loop + // below, ensuring that it starts just after a tick. for ( loops = 0; loops < 10000000; loops++ ) { ercd = get_tim( &t2 ); CYG_TEST_CHECK( E_OK == ercd, "get_tim bad ercd" ); if ( t2 != t1 ) break; } - // and a second one - for ( ; loops < 10000000; loops++ ) { + // Wait for next tick. Reset loops counter so we get the + // approximate loop count of one clock tick. + for ( loops = 0; loops < 10000000; loops++ ) { ercd = get_tim( &t1 ); CYG_TEST_CHECK( E_OK == ercd, "get_tim bad ercd" ); if ( t2 != t1 ) break; } - intercom = loops * 2; // save how long it took, plus a bit + // save how many loops could be executed in one tick. Multiply + // with 3 : we run loops in pairs below and add the time of + // one extra to avoid small variations to trigger failures. + intercom = loops * 3; ercd = ena_int( clock_interrupt ); // was initialized already CYG_TEST_CHECK( E_OK == ercd, "ena_int bad ercd" ); diff --git a/packages/devs/wallclock/current/ChangeLog b/packages/devs/wallclock/current/ChangeLog --- a/packages/devs/wallclock/current/ChangeLog +++ b/packages/devs/wallclock/current/ChangeLog @@ -1,3 +1,9 @@ +2000-03-17 Jesper Skov + + * cdl/wallclock.cdl: + * src/sh3.cxx: + Added wallclock driver for SH3 RTC module. + 2000-01-31 Simon FitzMaurice * cdl/wallclock.cdl: diff --git a/packages/devs/wallclock/current/cdl/wallclock.cdl b/packages/devs/wallclock/current/cdl/wallclock.cdl --- a/packages/devs/wallclock/current/cdl/wallclock.cdl +++ b/packages/devs/wallclock/current/cdl/wallclock.cdl @@ -53,16 +53,38 @@ cdl_package CYGPKG_DEVICES_WALLCLOCK { interacting with a suitable clock chip, or it may be emulated by using the kernel timers." - # FIXME: should be editable when there are HW alternatives. + cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS { + display "Number of wallclock implementations" + requires { CYGINT_WALLCLOCK_IMPLEMENTATIONS == 1 } + } + + cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS { + display "Number of hardware wallclock implementations" + } + cdl_option CYGIMP_WALLCLOCK_EMULATE { display "Wallclock emulator" - calculated 1 + default_value { CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 0 } + implements CYGINT_WALLCLOCK_IMPLEMENTATIONS compile emulate.cxx description " When this option is enabled, a wallclock device will be emulated using the kernel real-time clock." } + cdl_option CYGIMP_WALLCLOCK_SH3 { + display "SH3 Wallclock" + default_value { CYGPKG_HAL_SH } + active_if CYGPKG_HAL_SH + compile sh3.cxx + implements CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS + implements CYGINT_WALLCLOCK_IMPLEMENTATIONS + description " + When this option is enabled, a wallclock driver using the + SH3's on-core Realtime Clock module will be built." + } + + cdl_component CYGPKG_DEVICES_WALLCLOCK_OPTIONS { display "Wallclock build options" flavor none diff --git a/packages/devs/wallclock/current/src/sh3.cxx b/packages/devs/wallclock/current/src/sh3.cxx new file mode 100644 --- /dev/null +++ b/packages/devs/wallclock/current/src/sh3.cxx @@ -0,0 +1,242 @@ +//========================================================================== +// +// devs/wallclock/sh3.cxx +// +// Wallclock emulation implementation +// +//========================================================================== +//####COPYRIGHTBEGIN#### +// +// ------------------------------------------- +// The contents of this file are subject to the Red Hat eCos Public License +// Version 1.1 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://www.redhat.com/ +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations under +// the License. +// +// The Original Code is eCos - Embedded Configurable Operating System, +// released September 30, 1998. +// +// The Initial Developer of the Original Code is Red Hat. +// Portions created by Red Hat are +// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// All Rights Reserved. +// ------------------------------------------- +// +//####COPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jskov +// Contributors: jskov +// Date: 2000-03-17 +// Purpose: Wallclock driver for SH3 CPU RTC module +// +// Notes: Currently only reads from the RTC. There should be a config +// option for selecting whether to do init-read or read-write +// to the clock. This will be useful on targets which have +// battery backing on the RTC circuitry. +// +//####DESCRIPTIONEND#### +// +//========================================================================== + +#include // Kernel config +#include // Wallclock device config + +#include // Common type definitions and support +#include + +#include + +#include // RTC register definitions + +#include // Common type definitions and support + + +//----------------------------------------------------------------------------- +// Local static variables + +static Cyg_WallClock wallclock_instance CYG_INIT_PRIORITY( CLOCK ); + +static cyg_uint32 hw_epoch_base; + +static cyg_uint32 epoch_ticks; +static cyg_uint32 epoch_time_stamp; + +Cyg_WallClock *Cyg_WallClock::wallclock; + + +//----------------------------------------------------------------------------- +// BCD helper macros +#define TO_BCD(x) (((x/10)<<4) | (x%10)) +#define TO_DEC(x) (((x>>4)*10) + (x&0xf)) + +//----------------------------------------------------------------------------- +// Functions for setting and getting the hardware clock counters + +// Year must be last two digits of "western calendar year". Leap year when +// divisible by four. +static void +set_sh3_hwclock(cyg_uint32 year, cyg_uint32 month, cyg_uint32 mday, + cyg_uint32 hour, cyg_uint32 minute, cyg_uint32 second) +{ + // Stop RTC + HAL_WRITE_UINT8(CYGARC_REG_RCR2, CYGARC_REG_RCR2_RESET); + + // Program it + HAL_WRITE_UINT8(CYGARC_REG_RYRCNT, TO_BCD(year)); + HAL_WRITE_UINT8(CYGARC_REG_RMONCNT, TO_BCD(month)); + HAL_WRITE_UINT8(CYGARC_REG_RDAYCNT, TO_BCD(mday)); + HAL_WRITE_UINT8(CYGARC_REG_RHRCNT, TO_BCD(hour)); + HAL_WRITE_UINT8(CYGARC_REG_RMINCNT, TO_BCD(minute)); + HAL_WRITE_UINT8(CYGARC_REG_RSECCNT, TO_BCD(second)); + + // Start RTC + HAL_WRITE_UINT8(CYGARC_REG_RCR1, CYGARC_REG_RCR1_CIE); + HAL_WRITE_UINT8(CYGARC_REG_RCR2, + CYGARC_REG_RCR2_RTCEN | CYGARC_REG_RCR2_START); + +} + +static void +get_sh3_hwclock(cyg_uint32* year, cyg_uint32* month, cyg_uint32* mday, + cyg_uint32* hour, cyg_uint32* minute, cyg_uint32* second) +{ + cyg_uint8 tmp; + + do { + // Clear carry flag + HAL_WRITE_UINT8(CYGARC_REG_RCR1, 0); + + // Read time + HAL_READ_UINT8(CYGARC_REG_RYRCNT, tmp); + *year = TO_DEC(tmp); + HAL_READ_UINT8(CYGARC_REG_RMONCNT, tmp); + *month = TO_DEC(tmp); + HAL_READ_UINT8(CYGARC_REG_RDAYCNT, tmp); + *mday = TO_DEC(tmp); + HAL_READ_UINT8(CYGARC_REG_RHRCNT, tmp); + *hour = TO_DEC(tmp); + HAL_READ_UINT8(CYGARC_REG_RMINCNT, tmp); + *minute = TO_DEC(tmp); + HAL_READ_UINT8(CYGARC_REG_RSECCNT, tmp); + *second = TO_DEC(tmp); + + // Read carry flag + HAL_READ_UINT8(CYGARC_REG_RCR1, tmp); + } while (CYGARC_REG_RCR1_CF & tmp); // loop if carry set +} + +//----------------------------------------------------------------------------- +// Functions providing a simple read-elapsed-seconds interface to the +// hardware clock + +// This function is from the Linux kernel. +// +// Converts Gregorian date to seconds since 1970-01-01 00:00:00. +// Assumes input in normal date format, i.e. 1980-12-31 23:59:59 +// => year=1980, mon=12, day=31, hour=23, min=59, sec=59. +// +// This algorithm was first published by Gauss (I think). +// +// WARNING: this function will overflow on 2106-02-07 06:28:16 on +// machines were long is 32-bit! (However, as time_t is signed, we +// will already get problems at other places on 2038-01-19 03:14:08) +static cyg_uint32 +_simple_mktime(cyg_uint32 year, cyg_uint32 mon, + cyg_uint32 day, cyg_uint32 hour, + cyg_uint32 min, cyg_uint32 sec) +{ + if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */ + mon += 12; /* Puts Feb last since it has leap day */ + year -= 1; + } + return ((( + (cyg_uint32)(year/4 - year/100 + year/400 + 367*mon/12 + day) + + year*365 - 719499 + )*24 + hour /* now have hours */ + )*60 + min /* now have minutes */ + )*60 + sec; /* finally seconds */ +} + +// Returns number of elapsed ticks since the hw_epoch_base +static inline cyg_uint32 +get_hw_ticks(void) +{ + cyg_uint32 year, month, mday, hour, minute, second; + + get_sh3_hwclock(&year, &month, &mday, &hour, &minute, &second); + +#if 0 + // This will cause the test to eventually fail due to these printouts + // causing timer interrupts to be lost... + diag_printf("year %02d\n", year); + diag_printf("month %02d\n", month); + diag_printf("mday %02d\n", mday); + diag_printf("hour %02d\n", hour); + diag_printf("minute %02d\n", minute); + diag_printf("second %02d\n", second); +#endif + + cyg_uint32 now = _simple_mktime(year, month, mday, hour, minute, second); + return now - hw_epoch_base; +} + +static inline void +init_hw_ticks(void) +{ + // This is our base: 1970-01-01 00:00:00 + // Set the HW clock - if for nothing else, just to be sure it's in a + // legal range. Any arbitrary base could be used. + // After this the hardware clock is only read. + hw_epoch_base = _simple_mktime(1970,1,1,0,0,0); + set_sh3_hwclock(70,1,1,0,0,0); +} + +//----------------------------------------------------------------------------- +// Constructor + +Cyg_WallClock::Cyg_WallClock() +{ + // install instance pointer + wallclock = &wallclock_instance; + + init_hw_ticks(); +} + +//----------------------------------------------------------------------------- +// Returns the current timestamp. This may involve reading the +// hardware, so it may take anything up to a second to complete. + +cyg_uint32 Cyg_WallClock::get_current_time() +{ + Cyg_Scheduler::lock(); + + cyg_uint32 diff = get_hw_ticks() - epoch_ticks; + + Cyg_Scheduler::unlock(); + + return epoch_time_stamp + diff; +} + +//----------------------------------------------------------------------------- +// Sets the value of the timestamp relative to now. This may involve +// writing to the hardware, so it may take anything up to a second to +// complete. +void Cyg_WallClock::set_current_time( cyg_uint32 time_stamp ) +{ + Cyg_Scheduler::lock(); + + epoch_time_stamp = time_stamp; + epoch_ticks = get_hw_ticks(); + + Cyg_Scheduler::unlock(); +} + +//----------------------------------------------------------------------------- +// End of devs/wallclock/sh3.cxx diff --git a/packages/ecos.db b/packages/ecos.db --- a/packages/ecos.db +++ b/packages/ecos.db @@ -626,11 +626,12 @@ CMA230 (ARM7TDMI) or CMA222 (ARM710T) bo # SH targets target sh7708 { - alias { "Hitachi SH7708 board" edk7708 } - packages { CYGPKG_HAL_SH CYGPKG_HAL_SH_EDK7708 CYGPKG_IO_SERIAL } + alias { "Hitachi EDK/SH7708 board" edk7708 } + packages { CYGPKG_HAL_SH CYGPKG_HAL_SH_EDK7708 CYGPKG_IO_SERIAL } + enable { CYGPKG_HAL_SH_7708 } description " The sh7708 target provides the packages needed to run - eCos on a Hitachi SH7708 board." + eCos on a Hitachi EDK/SH7708 board." } # -------------------------------------------------------------------------- @@ -666,7 +667,7 @@ target sleb { target sparclite_sim { alias { "SPARClite simulator" sl_sim sparcl_sim } - packages { CYGPKG_HAL_SPARCLITE CYGPKG_HAL_SPARCLITE_SIM } + packages { CYGPKG_HAL_SPARCLITE CYGPKG_HAL_SPARCLITE_SIM CYGPKG_IO_SERIAL } description " The sparclite_sim target provides the packages need to run eCos on the SPARClite simulator." diff --git a/packages/ecosadmin.tcl b/packages/ecosadmin.tcl --- a/packages/ecosadmin.tcl +++ b/packages/ecosadmin.tcl @@ -1,3 +1,15 @@ +#!/bin/sh +# these lines restart using the tcl shell \ + exec sh -c "if ( echo | tclsh ) 2>/dev/null ; then \ + exec tclsh \"$0\" ${1+\"$@\"} ; \ + elif ( echo | cygtclsh80 ) 2>/dev/null ; then \ + exec cygtclsh80 \"$0\" ${1+\"$@\"} ; \ + else \ + echo Could not find TCL interpreter ; \ + exit 1 ; \ + fi" + + # {{{ Banner #=============================================================================== @@ -51,7 +63,7 @@ # ---------------------------------------------------------------------------- # ecosadmin.tcl requires at least version 8.0 of Tcl, since it makes use of # namespaces. It is possible that some users still have older versions. - +set a b if { [info tclversion] < 8.0 } { puts "This script requires Tcl 8.0 or later. You are running Tcl [info patchlevel]." return diff --git a/packages/hal/arm/arch/current/ChangeLog b/packages/hal/arm/arch/current/ChangeLog --- a/packages/hal/arm/arch/current/ChangeLog +++ b/packages/hal/arm/arch/current/ChangeLog @@ -1,7 +1,10 @@ -2000-03-23 Jesper Skov +2000-03-24 Jesper Skov + + * src/arm_stub.c: Make place_break thumb-aware. - * include/hal_arch.h: workaround for CPP problem - + * include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): + Thumb-aware definition. + 2000-03-01 Gary Thomas * cdl/hal_arm.cdl: diff --git a/packages/hal/arm/arch/current/include/arm_stub.h b/packages/hal/arm/arch/current/include/arm_stub.h --- a/packages/hal/arm/arch/current/include/arm_stub.h +++ b/packages/hal/arm/arch/current/include/arm_stub.h @@ -107,6 +107,29 @@ extern void __install_breakpoints (void) extern void __clear_breakpoints (void); +//------------------------------------------------------------------------ +// Special definition of CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION +#ifdef __thumb__ +// If this macro is used from Thumb code, we need to pass this information +// along to the place_break function so it can do the right thing. +#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ ) \ +do { \ + HAL_DISABLE_INTERRUPTS(_old_); \ + cyg_hal_gdb_place_break((target_register_t)((unsigned long)&&cyg_hal_gdb_break_place + 1));\ +} while ( 0 ) + +#else + +#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ ) \ +do { \ + HAL_DISABLE_INTERRUPTS(_old_); \ + cyg_hal_gdb_place_break((target_register_t)&&cyg_hal_gdb_break_place ); \ +} while ( 0 ) + +#endif + + + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/packages/hal/arm/arch/current/include/hal_arch.h b/packages/hal/arm/arch/current/include/hal_arch.h --- a/packages/hal/arm/arch/current/include/hal_arch.h +++ b/packages/hal/arm/arch/current/include/hal_arch.h @@ -292,22 +292,22 @@ externC void hal_idle_thread_action(cyg_ // under "enough rope" sort of disclaimers. // A minimal, optimized stack frame, rounded up - no autos -#define CYGNUM_HAL_STACK_FRAME_SIZE (80) // (4 * 20) +#define CYGNUM_HAL_STACK_FRAME_SIZE (4 * 20) // Stack needed for a context switch: this is implicit in the estimate for // interrupts so not explicitly used below: -#define CYGNUM_HAL_STACK_CONTEXT_SIZE (80) // (4 * 20) +#define CYGNUM_HAL_STACK_CONTEXT_SIZE (4 * 20) // Interrupt + call to ISR, interrupt_end() and the DSR -#define CYGNUM_HAL_STACK_INTERRUPT_SIZE (240) -// ((4 * 20) + 2 * CYGNUM_HAL_STACK_FRAME_SIZE) +#define CYGNUM_HAL_STACK_INTERRUPT_SIZE \ + ((4 * 20) + 2 * CYGNUM_HAL_STACK_FRAME_SIZE) // Space for the maximum number of nested interrupts, plus room to call functions #define CYGNUM_HAL_MAX_INTERRUPT_NESTING 4 -#define CYGNUM_HAL_STACK_SIZE_MINIMUM (1120) -// (CYGNUM_HAL_MAX_INTERRUPT_NESTING * CYGNUM_HAL_STACK_INTERRUPT_SIZE + -// 2 * CYGNUM_HAL_STACK_FRAME_SIZE) +#define CYGNUM_HAL_STACK_SIZE_MINIMUM \ + (CYGNUM_HAL_MAX_INTERRUPT_NESTING * CYGNUM_HAL_STACK_INTERRUPT_SIZE + \ + 2 * CYGNUM_HAL_STACK_FRAME_SIZE) #define CYGNUM_HAL_STACK_SIZE_TYPICAL \ (CYGNUM_HAL_STACK_SIZE_MINIMUM + \ diff --git a/packages/hal/arm/arch/current/src/arm_stub.c b/packages/hal/arm/arch/current/src/arm_stub.c --- a/packages/hal/arm/arch/current/src/arm_stub.c +++ b/packages/hal/arm/arch/current/src/arm_stub.c @@ -385,6 +385,9 @@ target_ins(unsigned long *pc, unsigned l } case 0x3: // Coprocessor & SWI return (pc+1); + default: + // Never reached - but fixes compiler warning. + return 0; } } @@ -577,17 +580,26 @@ cyg_hal_gdb_interrupt (target_register_t } } +// This function is passed thumb/arm information about the PC address +// in bit 0. This information is passed on to the break_buffer. void cyg_hal_gdb_place_break (target_register_t pc) { // Clear flag that we Continued instead of Stepping cyg_hal_gdb_running_step = 0; - // Unconditionally place an ARM breakpoint not a THUMB; there is - // no saved regset for get_register in this call: + if (0 == break_buffer.targetAddr) { - break_buffer.targetAddr = (cyg_uint32)pc; - break_buffer.savedInstr.arm_instr = *(cyg_uint32*)pc; - *(cyg_uint32*)pc = HAL_BREAKINST_ARM; + // Setting a breakpoint in Thumb or ARM code? + if (IS_THUMB_ADDR(pc)) { + break_buffer.targetAddr = (cyg_uint32)pc; + pc = UNMAKE_THUMB_ADDR(pc); + break_buffer.savedInstr.thumb_instr = *(cyg_uint16*)pc; + *(cyg_uint16*)pc = HAL_BREAKINST_THUMB; + } else { + break_buffer.targetAddr = (cyg_uint32)pc; + break_buffer.savedInstr.arm_instr = *(cyg_uint32*)pc; + *(cyg_uint32*)pc = HAL_BREAKINST_ARM; + } __data_cache(CACHE_FLUSH); __instruction_cache(CACHE_FLUSH); diff --git a/packages/hal/arm/pid/current/ChangeLog b/packages/hal/arm/pid/current/ChangeLog --- a/packages/hal/arm/pid/current/ChangeLog +++ b/packages/hal/arm/pid/current/ChangeLog @@ -1,3 +1,7 @@ +2000-03-24 Jesper Skov + + * src/hal_diag.c (hal_diag_write_char): Fix compiler warning. + 2000-02-29 Jonathan Larmour * include/pkgconf/mlt_arm_pid_ram.h: diff --git a/packages/hal/arm/pid/current/src/hal_diag.c b/packages/hal/arm/pid/current/src/hal_diag.c --- a/packages/hal/arm/pid/current/src/hal_diag.c +++ b/packages/hal/arm/pid/current/src/hal_diag.c @@ -340,7 +340,7 @@ hal_diag_write_char(char c) cyg_drv_interrupt_acknowledge(CYG_DEVICE_SERIAL_INT); if( c1 == 3 ) { // Ctrl-C: breakpoint. - cyg_hal_gdb_interrupt (__builtin_return_address(0)); + cyg_hal_gdb_interrupt ((target_register_t)__builtin_return_address(0)); break; } #endif diff --git a/packages/hal/common/current/ChangeLog b/packages/hal/common/current/ChangeLog --- a/packages/hal/common/current/ChangeLog +++ b/packages/hal/common/current/ChangeLog @@ -1,9 +1,22 @@ -2000-03-20 John Dallaway +2000-03-28 Jesper Skov + + * src/generic-stub.c (__process_packet): Added 'z' packet reply. + +2000-03-28 John Dallaway * cdl/hal.cdl: Adjust documentation URLs. +2000-03-24 Jesper Skov + + * include/hal_stub.h: Fixed a bad function name. Made it opssible + for archs to define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION. + +2000-03-20 Jesper Skov + + * cdl/debugging.cdl: Preclude USE_MONITOR when including stubs. + 2000-03-01 Gary Thomas * cdl/common.cdl: diff --git a/packages/hal/common/current/cdl/debugging.cdl b/packages/hal/common/current/cdl/debugging.cdl --- a/packages/hal/common/current/cdl/debugging.cdl +++ b/packages/hal/common/current/cdl/debugging.cdl @@ -50,6 +50,7 @@ cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_ display "Include GDB stubs in HAL" active_if CYGINT_HAL_DEBUG_GDB_STUBS default_value 0 + requires ! CYGSEM_HAL_USE_ROM_MONITOR description " This option causes a set of GDB stubs to be included into the system. On some target systems the GDB support will be diff --git a/packages/hal/common/current/include/hal_stub.h b/packages/hal/common/current/include/hal_stub.h --- a/packages/hal/common/current/include/hal_stub.h +++ b/packages/hal/common/current/include/hal_stub.h @@ -183,31 +183,34 @@ extern volatile int cyg_hal_gdb_running_ #if 1 // Can use the address of a label: this is more portable -#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ ) \ -do { \ - HAL_DISABLE_INTERRUPTS(_old_); \ - cyg_hal_gdb_place_break( &&cyg_hal_gdb_break_place ); \ +// This macro may already have been defined by the architecture HAL +#ifndef CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION +#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ ) \ +do { \ + HAL_DISABLE_INTERRUPTS(_old_); \ + cyg_hal_gdb_place_break( (target_register_t)&&cyg_hal_gdb_break_place ); \ } while ( 0 ) +#endif -#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ ) \ -do { \ - cyg_hal_gdb_remove_break( &&cyg_hal_gdb_break_place ); \ - HAL_RESTORE_INTERRUPTS(_old_); \ -cyg_hal_gdb_break_place: \ +#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ ) \ +do { \ + cyg_hal_gdb_remove_break( (target_register_t)&&cyg_hal_gdb_break_place ); \ + HAL_RESTORE_INTERRUPTS(_old_); \ +cyg_hal_gdb_break_place: \ } while ( 0 ) #else // use __builtin_return_address instead. -#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ ) \ -do { \ - HAL_DISABLE_INTERRUPTS(_old_); \ - cyg_hal_place_break((target_register_t)__builtin_return_address(0)); \ +#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ ) \ +do { \ + HAL_DISABLE_INTERRUPTS(_old_); \ + cyg_hal_gdb_place_break((target_register_t)__builtin_return_address(0)); \ } while ( 0 ) -#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ ) \ -do { \ - cyg_hal_gdb_remove_break((target_register_t)__builtin_return_address(0)); \ - HAL_RESTORE_INTERRUPTS(_old_); \ +#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ ) \ +do { \ + cyg_hal_gdb_remove_break((target_register_t)__builtin_return_address(0)); \ + HAL_RESTORE_INTERRUPTS(_old_); \ } while ( 0 ) #endif diff --git a/packages/hal/common/current/src/generic-stub.c b/packages/hal/common/current/src/generic-stub.c --- a/packages/hal/common/current/src/generic-stub.c +++ b/packages/hal/common/current/src/generic-stub.c @@ -973,14 +973,23 @@ int break; } - case 'd': - /* toggle debug flag */ #ifdef __ECOS__ #if !defined(CYG_HAL_STARTUP_RAM) // Only for ROM based stubs + case 'z': + /* report IO buffer sizes so download can achieve optimal + download speed */ + { + int i; + i = __intToHex (remcomOutBuffer, BUFMAX, 32); + remcomOutBuffer[i] = 0; + break; + } + case 'd': + /* toggle debug flag */ strcpy(remcomOutBuffer, "eCos GDB stubs - built " __DATE__ " / " __TIME__); + break; #endif #endif // __ECOS__ - break; case 'q': /* general query packet */ diff --git a/packages/hal/i386/arch/current/ChangeLog b/packages/hal/i386/arch/current/ChangeLog --- a/packages/hal/i386/arch/current/ChangeLog +++ b/packages/hal/i386/arch/current/ChangeLog @@ -1,6 +1,12 @@ -2000-03-24 Jonathan Larmour +2000-03-27 Jonathan Larmour + + * include/basetype.h: Let cyg_halbool revert to the system default + (i.e. a word) - * include/basetype.h: define cyg_halbool as unsigned char +2000-03-24 Jesper Skov + + * include/basetype.h: Define bool type since it's only 8 bits. + (cyg_halbool): always unsigned char. 2000-03-02 Jonathan Larmour diff --git a/packages/hal/i386/arch/current/include/basetype.h b/packages/hal/i386/arch/current/include/basetype.h --- a/packages/hal/i386/arch/current/include/basetype.h +++ b/packages/hal/i386/arch/current/include/basetype.h @@ -58,10 +58,8 @@ //----------------------------------------------------------------------------- // Define the standard variable sizes -#define cyg_halbool unsigned char - -// Other than this, the I386 architecture uses the default definitions of -// the base types, so we do not need to define any here. +// The ix86 architecture uses the default definitions of the base types, +// so we do not need to define any here. //----------------------------------------------------------------------------- #endif // CYGONCE_HAL_BASETYPE_H diff --git a/packages/hal/mips/jmr3904/current/ChangeLog b/packages/hal/mips/jmr3904/current/ChangeLog --- a/packages/hal/mips/jmr3904/current/ChangeLog +++ b/packages/hal/mips/jmr3904/current/ChangeLog @@ -1,13 +1,3 @@ -2000-03-21 Jonathan Larmour - - * include/pkgconf/mlt_mips_tx39_jmr3904_ram.h, - include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi, - include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt, - include/pkgconf/mlt_mips_tx39_jmr3904_rom.h, - include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi, - include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt: - Revert previous change - 2000-03-16 Jonathan Larmour * include/pkgconf/mlt_mips_tx39_jmr3904_ram.h, diff --git a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi --- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi +++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi @@ -1,32 +1,6 @@ -//=========================================================================== -// -// MLT linker script export - Wed Jan 13 17:05:29 1999 -// -//=========================================================================== -//####COPYRIGHTBEGIN#### -// -// ------------------------------------------- -// The contents of this file are subject to the Red Hat eCos Public License -// Version 1.1 (the "License"); you may not use this file except in -// compliance with the License. You may obtain a copy of the License at -// http://www.redhat.com/ -// -// Software distributed under the License is distributed on an "AS IS" -// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -// License for the specific language governing rights and limitations under -// the License. -// -// The Original Code is eCos - Embedded Configurable Operating System, -// released September 30, 1998. -// -// The Initial Developer of the Original Code is Red Hat. -// Portions created by Red Hat are -// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. -// All Rights Reserved. -// ------------------------------------------- -// -//####COPYRIGHTEND#### -//=========================================================================== +// eCos memory layout - Thu Mar 16 16:19:05 2000 + +// This is a generated file - do not edit MEMORY { @@ -37,16 +11,25 @@ SECTIONS { SECTIONS_BEGIN SECTION_rom_vectors (ram, 0x80008000, LMA_EQ_VMA) + SECTION_ROMISC (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_RELOCS (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_init (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_fini (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA) + SECTION_data1 (ram, ALIGN (0x8), LMA_EQ_VMA) + SECTION_eh_frame (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_ctors (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_dtors (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_fixup (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rel__dyn (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA) + SECTION_DEVTAB (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_got (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_dynamic (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA) + SECTION_lit (ram, ALIGN (0x4), LMA_EQ_VMA) + SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA) SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA) SECTIONS_END } diff --git a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt --- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt +++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt @@ -1,14 +1,23 @@ version 0 region ram 80008000 78000 0 ! -section rom_vectors 0 1 0 1 1 1 1 1 80008000 80008000 text text ! +section rom_vectors 0 1 0 1 1 1 1 1 80008000 80008000 ROMISC ROMISC ! +section ROMISC 0 1 0 1 0 1 0 1 RELOCS RELOCS ! +section RELOCS 0 1 0 1 0 1 0 1 init init ! +section init 0 1 0 1 0 1 0 1 text text ! section text 0 1 0 1 0 1 0 1 fini fini ! -section fini 0 1 0 1 0 1 0 1 ctors ctors ! -section ctors 0 1 0 1 0 1 0 1 dtors dtors ! -section dtors 0 1 0 1 0 1 0 1 rodata rodata ! +section fini 0 1 0 1 0 1 0 1 rodata rodata ! section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 ! -section rodata1 0 1 0 1 0 1 0 1 fixup fixup ! -section fixup 0 1 0 1 0 1 0 1 rel.dyn rel.dyn ! -section rel.dyn 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table ! -section gcc_except_table 0 1 0 1 0 1 0 1 data data ! -section data 0 8 0 1 0 1 0 1 bss bss ! +section rodata1 0 1 0 1 0 1 0 1 data data ! +section data 0 8 0 1 0 1 0 1 data1 data1 ! +section data1 0 8 0 1 0 1 0 1 eh_frame eh_frame ! +section eh_frame 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table ! +section gcc_except_table 0 1 0 1 0 1 0 1 ctors ctors ! +section ctors 0 1 0 1 0 1 0 1 dtors dtors ! +section dtors 0 1 0 1 0 1 0 1 DEVTAB DEVTAB ! +section DEVTAB 0 1 0 1 0 1 0 1 got got ! +section got 0 1 0 1 0 1 0 1 dynamic dynamic ! +section dynamic 0 1 0 1 0 1 0 1 sdata sdata ! +section sdata 0 4 0 1 0 1 0 1 lit lit ! +section lit 0 4 0 1 0 1 0 1 sbss sbss ! +section sbss 0 4 0 1 0 1 0 1 bss bss ! section bss 0 4 0 1 0 0 0 0 ! diff --git a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h --- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h +++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h @@ -1,6 +1,6 @@ -// eCos memory layout - Wed Nov 24 11:15:31 1999 +// eCos memory layout - Thu Mar 16 16:47:52 2000 -// This is a generated file - changes will be lost if ConfigTool(MLT) is run +// This is a generated file - do not edit #include #include diff --git a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi --- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi +++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi @@ -1,32 +1,6 @@ -//=========================================================================== -// -// MLT linker script export - Wed Jan 13 10:44:34 1999 -// -//=========================================================================== -//####COPYRIGHTBEGIN#### -// -// ------------------------------------------- -// The contents of this file are subject to the Red Hat eCos Public License -// Version 1.1 (the "License"); you may not use this file except in -// compliance with the License. You may obtain a copy of the License at -// http://www.redhat.com/ -// -// Software distributed under the License is distributed on an "AS IS" -// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -// License for the specific language governing rights and limitations under -// the License. -// -// The Original Code is eCos - Embedded Configurable Operating System, -// released September 30, 1998. -// -// The Initial Developer of the Original Code is Red Hat. -// Portions created by Red Hat are -// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. -// All Rights Reserved. -// ------------------------------------------- -// -//####COPYRIGHTEND#### -//=========================================================================== +// eCos memory layout - Thu Mar 16 16:47:52 2000 + +// This is a generated file - do not edit MEMORY { @@ -38,16 +12,25 @@ SECTIONS { SECTIONS_BEGIN SECTION_rom_vectors (rom, 0xbfc00000, LMA_EQ_VMA) + SECTION_ROMISC (rom, ALIGN (0x1), LMA_EQ_VMA) + SECTION_RELOCS (rom, ALIGN (0x1), LMA_EQ_VMA) + SECTION_init (rom, ALIGN (0x1), LMA_EQ_VMA) SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA) SECTION_fini (rom, ALIGN (0x1), LMA_EQ_VMA) - SECTION_ctors (rom, ALIGN (0x1), LMA_EQ_VMA) - SECTION_dtors (rom, ALIGN (0x1), LMA_EQ_VMA) SECTION_rodata (rom, ALIGN (0x1), LMA_EQ_VMA) SECTION_rodata1 (rom, ALIGN (0x1), LMA_EQ_VMA) - SECTION_fixup (rom, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rel__dyn (rom, ALIGN (0x1), LMA_EQ_VMA) - SECTION_gcc_except_table (rom, ALIGN (0x1), LMA_EQ_VMA) - SECTION_data (ram, 0x80000200, FOLLOWING (.gcc_except_table)) + SECTION_data (ram, 0x80000200, FOLLOWING (.rodata1)) + SECTION_data1 (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_eh_frame (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_ctors (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_dtors (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_DEVTAB (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_got (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_dynamic (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA) + SECTION_lit (ram, ALIGN (0x4), LMA_EQ_VMA) + SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA) SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA) SECTIONS_END } diff --git a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt --- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt +++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt @@ -1,15 +1,24 @@ version 0 region ram 80000200 7fe00 0 ! region rom bfc00000 80000 1 ! -section data 0 1 1 1 1 1 0 0 80000200 bss ! -section bss 0 4 0 1 0 0 0 0 ! -section rom_vectors 0 1 0 1 1 1 1 1 bfc00000 bfc00000 text text ! -section text 0 1 0 1 0 1 0 1 fini fini ! -section fini 0 1 0 1 0 1 0 1 ctors ctors ! +section data 0 8 1 1 1 1 0 0 80000200 data1 ! +section data1 0 1 0 1 0 1 0 1 eh_frame eh_frame ! +section eh_frame 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table ! +section gcc_except_table 0 1 0 1 0 1 0 1 ctors ctors ! section ctors 0 1 0 1 0 1 0 1 dtors dtors ! -section dtors 0 1 0 1 0 1 0 1 rodata rodata ! +section dtors 0 1 0 1 0 1 0 1 DEVTAB DEVTAB ! +section DEVTAB 0 1 0 1 0 1 0 1 got got ! +section got 0 1 0 1 0 1 0 1 dynamic dynamic ! +section dynamic 0 1 0 1 0 1 0 1 sdata sdata ! +section sdata 0 4 0 1 0 1 0 1 lit lit ! +section lit 0 4 0 1 0 1 0 1 sbss sbss ! +section sbss 0 4 0 1 0 1 0 1 bss bss ! +section bss 0 4 0 1 0 0 0 0 ! +section rom_vectors 0 1 0 1 1 1 1 1 bfc00000 bfc00000 ROMISC ROMISC ! +section ROMISC 0 1 0 1 0 1 0 1 RELOCS RELOCS ! +section RELOCS 0 1 0 1 0 1 0 1 init init ! +section init 0 1 0 1 0 1 0 1 text text ! +section text 0 1 0 1 0 1 0 1 fini fini ! +section fini 0 1 0 1 0 1 0 1 rodata rodata ! section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 ! -section rodata1 0 1 0 1 0 1 0 1 fixup fixup ! -section fixup 0 1 0 1 0 1 0 1 rel.dyn rel.dyn ! -section rel.dyn 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table ! -section gcc_except_table 0 1 0 1 0 0 0 1 data ! +section rodata1 0 1 0 1 0 0 0 1 data ! diff --git a/packages/hal/mips/sim/current/ChangeLog b/packages/hal/mips/sim/current/ChangeLog --- a/packages/hal/mips/sim/current/ChangeLog +++ b/packages/hal/mips/sim/current/ChangeLog @@ -1,10 +1,3 @@ -2000-03-21 Jonathan Larmour - - * sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h, - sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi, - sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt: - Revert previous change - 2000-03-16 Jonathan Larmour * sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h, diff --git a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h --- a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h +++ b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h @@ -1,10 +1,10 @@ -// eCos memory layout - Thu Nov 25 22:16:12 1999 - -// This is a generated file - do not edit - -#include -#include - -#define CYGMEM_REGION_ram (0x80000000) -#define CYGMEM_REGION_ram_SIZE (0x80000) -#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W) +// eCos memory layout - Thu Mar 16 16:55:45 2000 + +// This is a generated file - do not edit + +#include +#include + +#define CYGMEM_REGION_ram (0x80000000) +#define CYGMEM_REGION_ram_SIZE (0x80000) +#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W) diff --git a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi --- a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi +++ b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi @@ -1,32 +1,6 @@ -//=========================================================================== -// -// MLT linker script export - Wed Jan 13 10:41:43 1999 -// -//=========================================================================== -//####COPYRIGHTBEGIN#### -// -// ------------------------------------------- -// The contents of this file are subject to the Red Hat eCos Public License -// Version 1.1 (the "License"); you may not use this file except in -// compliance with the License. You may obtain a copy of the License at -// http://www.redhat.com/ -// -// Software distributed under the License is distributed on an "AS IS" -// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the -// License for the specific language governing rights and limitations under -// the License. -// -// The Original Code is eCos - Embedded Configurable Operating System, -// released September 30, 1998. -// -// The Initial Developer of the Original Code is Red Hat. -// Portions created by Red Hat are -// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. -// All Rights Reserved. -// ------------------------------------------- -// -//####COPYRIGHTEND#### -//=========================================================================== +// eCos memory layout - Thu Mar 16 16:55:45 2000 + +// This is a generated file - do not edit MEMORY { @@ -37,17 +11,26 @@ SECTIONS { SECTIONS_BEGIN SECTION_rom_vectors (ram, 0x80000000, LMA_EQ_VMA) + SECTION_ROMISC (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_RELOCS (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_init (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_fini (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_vsr_table (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA) + SECTION_data1 (ram, ALIGN (0x8), LMA_EQ_VMA) + SECTION_eh_frame (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_ctors (ram, ALIGN (0x1), LMA_EQ_VMA) SECTION_dtors (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_vsr_table (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_fixup (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_rel__dyn (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA) - SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA) + SECTION_DEVTAB (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_got (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_dynamic (ram, ALIGN (0x1), LMA_EQ_VMA) + SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA) + SECTION_lit (ram, ALIGN (0x4), LMA_EQ_VMA) + SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA) SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA) SECTIONS_END } diff --git a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt --- a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt +++ b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt @@ -1,15 +1,24 @@ version 0 region ram 80000000 80000 0 ! -section rom_vectors 0 1 0 1 1 1 1 1 80000000 80000000 text text ! +section rom_vectors 0 1 0 1 1 1 1 1 80000000 80000000 ROMISC ROMISC ! +section ROMISC 0 1 0 1 0 1 0 1 RELOCS RELOCS ! +section RELOCS 0 1 0 1 0 1 0 1 init init ! +section init 0 1 0 1 0 1 0 1 text text ! section text 0 1 0 1 0 1 0 1 fini fini ! -section fini 0 1 0 1 0 1 0 1 ctors ctors ! +section fini 0 1 0 1 0 1 0 1 rodata rodata ! +section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 ! +section rodata1 0 1 0 1 0 1 0 1 vsr_table vsr_table ! +section vsr_table 0 1 0 1 0 1 0 1 data data ! +section data 0 8 0 1 0 1 0 1 data1 data1 ! +section data1 0 8 0 1 0 1 0 1 eh_frame eh_frame ! +section eh_frame 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table ! +section gcc_except_table 0 1 0 1 0 1 0 1 ctors ctors ! section ctors 0 1 0 1 0 1 0 1 dtors dtors ! -section dtors 0 1 0 1 0 1 0 1 rodata rodata ! -section rodata 0 1 0 1 0 1 0 1 vsr_table vsr_table ! -section vsr_table 0 1 0 1 0 1 0 1 rodata1 rodata1 ! -section rodata1 0 1 0 1 0 1 0 1 fixup fixup ! -section fixup 0 1 0 1 0 1 0 1 rel.dyn rel.dyn ! -section rel.dyn 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table ! -section gcc_except_table 0 1 0 1 0 1 0 1 data data ! -section data 0 8 0 1 0 1 0 1 bss bss ! +section dtors 0 1 0 1 0 1 0 1 DEVTAB DEVTAB ! +section DEVTAB 0 1 0 1 0 1 0 1 got got ! +section got 0 1 0 1 0 1 0 1 dynamic dynamic ! +section dynamic 0 1 0 1 0 1 0 1 sdata sdata ! +section sdata 0 4 0 1 0 1 0 1 lit lit ! +section lit 0 4 0 1 0 1 0 1 sbss sbss ! +section sbss 0 4 0 1 0 1 0 1 bss bss ! section bss 0 4 0 1 0 0 0 0 ! diff --git a/packages/hal/mips/tx39/current/ChangeLog b/packages/hal/mips/tx39/current/ChangeLog --- a/packages/hal/mips/tx39/current/ChangeLog +++ b/packages/hal/mips/tx39/current/ChangeLog @@ -1,8 +1,3 @@ -2000-03-21 Jonathan Larmour - - * src/mips_tx39.ld: Revert previous change, but add .lit8 and .lit4 - input sections for .data instead - 2000-03-16 Jonathan Larmour * src/mips_tx39.ld: Update from latest "mips-tx39-elf-ld --verbose" diff --git a/packages/hal/mips/tx39/current/src/mips_tx39.ld b/packages/hal/mips/tx39/current/src/mips_tx39.ld --- a/packages/hal/mips/tx39/current/src/mips_tx39.ld +++ b/packages/hal/mips/tx39/current/src/mips_tx39.ld @@ -30,6 +30,12 @@ #include +OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", + "elf32-littlemips") +/* The preprocessor defines mips, but we know we're mips :-) */ +#undef mips +OUTPUT_ARCH(mips:3000) + STARTUP(vectors.o) ENTRY(reset_vector) #ifdef EXTRAS @@ -40,7 +46,6 @@ GROUP(libtarget.a libgcc.a) #define ALIGN_LMA 8 #define FOLLOWING(_section_) AT ((LOADADDR (_section_) + SIZEOF (_section_) + ALIGN_LMA - 1) & ~ (ALIGN_LMA - 1)) #define LMA_EQ_VMA -#define FORCE_OUTPUT . = . #define SECTIONS_BEGIN @@ -51,9 +56,9 @@ GROUP(libtarget.a libgcc.a) .rom_vectors _vma_ : _lma_ \ { KEEP (*(.utlb_vector)) \ . = ALIGN(0x80); KEEP(*(.other_vector)) \ - /* debug and reset vector not used in RAM version */ \ + /* debug and reset vector not used in RAM version */ \ KEEP(*(.debug_vector)) \ - KEEP (*(.reset_vector)) } \ + KEEP (*(.reset_vector)) } \ > _region_ #elif defined(CYG_HAL_STARTUP_ROM) @@ -69,116 +74,279 @@ GROUP(libtarget.a libgcc.a) #endif /* ROM startup version of ROM vectors */ -#define SECTION_text(_region_, _vma_, _lma_) \ - .text _vma_ : _lma_ \ - { _stext = ABSOLUTE(.); \ - *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) } \ - > _region_ \ - _etext = .; PROVIDE (etext = .); +#define SECTION_ROMISC(_region_, _vma_, _lma_) \ + .interp _vma_ : _lma_ { *(.interp) } > _region_ \ + .hash : FOLLOWING(.interp) { *(.hash) } > _region_ \ + .dynsym : FOLLOWING(.hash) { *(.dynsym) } > _region_ \ + .dynstr : FOLLOWING(.dynsym) { *(.dynstr) } > _region_ \ + .gnu.version : FOLLOWING(.dynstr) { *(.gnu.version) } > _region_ \ + .gnu.version_d : FOLLOWING(.gnu.version) { *(.gnu.version_d) } > _region_ \ + .gnu.version_r : FOLLOWING(.gnu.version_d) { *(.gnu.version_r) } > _region_ \ + .plt : FOLLOWING(.gnu.version_r) { *(.plt) } > _region_ -#define SECTION_fini(_region_, _vma_, _lma_) \ - .fini _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.fini) } \ - > _region_ - -#define SECTION_ctors(_region_, _vma_, _lma_) \ - .ctors _vma_ : _lma_ \ - { \ - __CTOR_LIST__ = ABSOLUTE (.); \ - KEEP(*(.ctors)) \ - KEEP(*(SORT(.ctors.*))) \ - __CTOR_END__ = ABSOLUTE (.); \ - } > _region_ +#define SECTION_RELOCS(_region_, _vma_, _lma_) \ + .rel.text : \ + { \ + *(.rel.text) \ + *(.rel.text.*) \ + *(.rel.gnu.linkonce.t*) \ + } > _region_ \ + .rela.text : \ + { \ + *(.rela.text) \ + *(.rela.text.*) \ + *(.rela.gnu.linkonce.t*) \ + } > _region_ \ + .rel.data : \ + { \ + *(.rel.data) \ + *(.rel.data.*) \ + *(.rel.gnu.linkonce.d*) \ + } > _region_ \ + .rela.data : \ + { \ + *(.rela.data) \ + *(.rela.data.*) \ + *(.rela.gnu.linkonce.d*) \ + } > _region_ \ + .rel.rodata : \ + { \ + *(.rel.rodata) \ + *(.rel.rodata.*) \ + *(.rel.gnu.linkonce.r*) \ + } > _region_ \ + .rela.rodata : \ + { \ + *(.rela.rodata) \ + *(.rela.rodata.*) \ + *(.rela.gnu.linkonce.r*) \ + } > _region_ \ + .rel.got : { *(.rel.got) } > _region_ \ + .rela.got : { *(.rela.got) } > _region_ \ + .rel.ctors : { *(.rel.ctors) } > _region_ \ + .rela.ctors : { *(.rela.ctors) } > _region_ \ + .rel.dtors : { *(.rel.dtors) } > _region_ \ + .rela.dtors : { *(.rela.dtors) } > _region_ \ + .rel.init : { *(.rel.init) } > _region_ \ + .rela.init : { *(.rela.init) } > _region_ \ + .rel.fini : { *(.rel.fini) } > _region_ \ + .rela.fini : { *(.rela.fini) } > _region_ \ + .rel.bss : { *(.rel.bss) } > _region_ \ + .rela.bss : { *(.rela.bss) } > _region_ \ + .rel.plt : { *(.rel.plt) } > _region_ \ + .rela.plt : { *(.rela.plt) } > _region_ \ + .rel.dyn : { *(.rel.dyn) } > _region_ -#define SECTION_dtors(_region_, _vma_, _lma_) \ - .dtors _vma_ : _lma_ \ - { \ - __DTOR_LIST__ = ABSOLUTE (.); \ - KEEP(*(SORT(.dtors.*))) \ - KEEP(*(.dtors)) \ - __DTOR_END__ = ABSOLUTE (.); \ - } > _region_ +#define SECTION_init(_region_, _vma_, _lma_) \ + .init _vma_ : _lma_ \ + { \ + KEEP (*(.init)) \ + } > _region_ =0 -#define SECTION_rodata(_region_, _vma_, _lma_) \ - .rodata _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.rodata*) } \ - > _region_ +#define SECTION_text(_region_, _vma_, _lma_) \ + .text _vma_ : _lma_ \ + { \ + _stext = .; _ftext = . ; \ + *(.text) \ + *(.text.*) \ + *(.stub) \ + *(.gnu.warning) \ + *(.gnu.linkonce.t*) \ + *(.mips16.fn.*) *(.mips16.call.*) \ + } > _region_ =0 \ + _etext = .; PROVIDE (etext = .); + +#define SECTION_fini(_region_, _vma_, _lma_) \ + .fini _vma_ : _lma_ \ + { \ + KEEP (*(.fini)) \ + } > _region_ =0 + +#define SECTION_rodata(_region_, _vma_, _lma_) \ + .rodata _vma_ : _lma_ \ + { \ + *(.rodata*) *(.rodata.*) *(.gnu.linkonce.r*) \ + } > _region_ -#define SECTION_vsr_table(_region_, _vma_, _lma_) \ - .vsr_table _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.vsr_table) } \ - > _region_ +#define SECTION_rodata1(_region_, _vma_, _lma_) \ + .rodata1 _vma_ : _lma_ \ + { \ + *(.rodata1) *(.rodata1.*) \ + } > _region_ -#define SECTION_rodata1(_region_, _vma_, _lma_) \ - .rodata1 _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.rodata1) } \ - > _region_ +#define SECTION_vsr_table(_region_, _vma_, _lma_) \ + .vsr_table _vma_ : _lma_ \ + { \ + *(.vsr_table) \ + } > _region_ -#define SECTION_fixup(_region_, _vma_, _lma_) \ - .fixup _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.fixup) } \ - > _region_ +#define SECTION_data(_region_, _vma_, _lma_) \ + .data _vma_ : _lma_ \ + { \ + __ram_data_start = ABSOLUTE (.); _fdata = . ; \ + *(.data) *(.data.*) *(.gnu.linkonce.d*) \ + . = ALIGN (8); \ + SORT(CONSTRUCTORS) \ + } > _region_ -#define SECTION_rel__dyn(_region_, _vma_, _lma_) \ - .rel.dyn _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.rel.dyn) } \ - > _region_ +#define SECTION_data1(_region_, _vma_, _lma_) \ + .data1 _vma_ : _lma_ \ + { \ + *(.data1) *(.data1.*) \ + } > _region_ + +#define SECTION_eh_frame(_region_, _vma_, _lma_) \ + .eh_frame _vma_ : _lma_ \ + { \ + *(.eh_frame) \ + } > _region_ #define SECTION_gcc_except_table(_region_, _vma_, _lma_) \ - .gcc_except_table _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.gcc_except_table) } \ - > _region_ + .gcc_except_table _vma_ : _lma_ \ + { \ + *(.gcc_except_table) \ + } > _region_ + + + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + + /* We don't want to include the .ctors section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + +#define SECTION_ctors(_region_, _vma_, _lma_) \ + .ctors _vma_ : _lma_ \ + { \ + KEEP (*crtbegin.o(.ctors)) \ + PROVIDE (__CTOR_LIST__ = .); \ + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) \ + KEEP (*(SORT(.ctors.*))) \ + KEEP (*(.ctors)) \ + PROVIDE (__CTOR_END__ = .); \ + } > _region_ + +#define SECTION_dtors(_region_, _vma_, _lma_) \ + .dtors _vma_ : _lma_ \ + { \ + KEEP (*crtbegin.o(.dtors)) \ + PROVIDE (__DTOR_LIST__ = .); \ + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) \ + KEEP (*(SORT(.dtors.*))) \ + KEEP (*(.dtors)) \ + PROVIDE (__DTOR_END__ = .); \ + } > _region_ -/* FIXME: The SORT(CONSTRUCTORS) line below is for backwards compatibility - * with older (pre-99r1) toolchains +#define SECTION_DEVTAB(_region_, _vma_, _lma_) \ + .devtab _vma_ : _lma_ \ + { \ + __DEVTAB__ = .; \ + KEEP (*(SORT(.devtab*))) \ + __DEVTAB_END__ = .; \ + __NETDEVTAB__ = .; \ + KEEP (*(SORT(.netdevtab*))) \ + __NETDEVTAB_END__ = .; \ + } > _region_ + +#define SECTION_got(_region_, _vma_, _lma_) \ + _gp = ALIGN(16) + 0x7ff0; \ + .got _vma_ : _lma_ \ + { \ + *(.got.plt) *(.got) \ + } > _region_ + +#define SECTION_dynamic(_region_, _vma_, _lma_) \ + .dynamic _vma_ : _lma_ \ + { \ + *(.dynamic) \ + } > _region_ + + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + +#define SECTION_sdata(_region_, _vma_, _lma_) \ + .sdata _vma_ : _lma_ \ + { \ + *(.sdata) *(.sdata.*) *(.gnulinkonce.s*) \ + } > _region_ + +#define SECTION_lit(_region_, _vma_, _lma_) \ + .lit8 _vma_ : _lma_ \ + { \ + *(.lit8) \ + } > _region_ \ + .lit4 : FOLLOWING(.lit8) \ + { \ + *(.lit4) \ + } > _region_ \ + __ram_data_end = .; _edata = . ; \ + PROVIDE (edata = .); + +#define SECTION_sbss(_region_, _vma_, _lma_) \ + __bss_start = .; _fbss = .; \ + .sbss _vma_ : _lma_ \ + { \ + *(.dynsbss) *(.sbss) *(.sbss.*) *(.scommon) \ + } > _region_ + +#define SECTION_bss(_region_, _vma_, _lma_) \ + .bss _vma_ : _lma_ \ + { \ + *(.dynbss) *(.bss) *(.bss.*) *(COMMON) \ + } > _region_ \ + __bss_end = .; + +/* The /DISCARD/ section ensures that the output will not contain a + * .mdebug section as it confuses GDB. This is a workaround for CR 100804. */ -#define SECTION_data(_region_, _vma_, _lma_) \ - .data _vma_ : _lma_ \ - { __ram_data_start = ABSOLUTE (.); \ - *(.data*) *(.data1) \ - _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \ - _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \ - . = ALIGN (8); \ - SORT (CONSTRUCTORS) \ - . = ALIGN (8); \ - __DEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.devtab*))) __DEVTAB_END__ = ABSOLUTE (.); \ - __NETDEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.netdevtab*))) __NETDEVTAB_END__ = ABSOLUTE (.); \ - . = ALIGN (8); \ - _GOT_START = ABSOLUTE (.); _gp = ABSOLUTE (.); __global = _gp; _GLOBAL_OFFSET_TABLE_ = ABSOLUTE (.); _SDA_BASE_ = ABSOLUTE (.); \ - *(.got.plt) *(.got) _GOT_END_ = ABSOLUTE (.); \ - *(.dynamic) *(.sdata*) *(.sbss*) *(.lit8) *(.lit4) *(.eh_frame) } \ - > _region_ \ - __rom_data_start = LOADADDR (.data); \ - __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .; PROVIDE (edata = .); - -#define SECTION_bss(_region_, _vma_, _lma_) \ - .bss _vma_ : _lma_ \ - { __bss_start = ABSOLUTE (.); \ - *(.scommon) *(.dynbss) *(.bss) *(COMMON) \ - __bss_end = ABSOLUTE (.); } \ - > _region_ -// The /DISCARD/ section ensures that the output will not contain a -// .mdebug section as it confuses GDB. This is a workaround for CR 100804. #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .); \ - .debug 0 : { *(.debug) } \ - .line 0 : { *(.line) } \ - .debug_srcinfo 0 : { *(.debug_srcinfo) } \ - .debug_sfnames 0 : { *(.debug_sfnames) } \ - .debug_aranges 0 : { *(.debug_aranges) } \ - .debug_pubnames 0 : { *(.debug_pubnames) } \ - .debug_info 0 : { *(.debug_info) } \ - .debug_abbrev 0 : { *(.debug_abbrev) } \ - .debug_line 0 : { *(.debug_line) } \ - .debug_frame 0 : { *(.debug_frame) } \ - .debug_str 0 : { *(.debug_str) } \ - .debug_loc 0 : { *(.debug_loc) } \ - .debug_macinfo 0 : { *(.debug_macinfo) } \ - .debug_weaknames 0 : { *(.debug_weaknames) } \ - .debug_funcnames 0 : { *(.debug_funcnames) } \ - .debug_typenames 0 : { *(.debug_typenames) } \ - .debug_varnames 0 : { *(.debug_varnames) } \ - /DISCARD/ 0 : { *(.mdebug) } + /* Stabs debugging sections. */ \ + .stab 0 : { *(.stab) } \ + .stabstr 0 : { *(.stabstr) } \ + .stab.excl 0 : { *(.stab.excl) } \ + .stab.exclstr 0 : { *(.stab.exclstr) } \ + .stab.index 0 : { *(.stab.index) } \ + .stab.indexstr 0 : { *(.stab.indexstr) } \ + .comment 0 : { *(.comment) } \ + /* DWARF debug sections. \ + Symbols in the DWARF debugging sections are relative to \ + the beginning of the section so we begin them at 0. */ \ + /* DWARF 1 */ \ + .debug 0 : { *(.debug) } \ + .line 0 : { *(.line) } \ + /* GNU DWARF 1 extensions */ \ + .debug_srcinfo 0 : { *(.debug_srcinfo) } \ + .debug_sfnames 0 : { *(.debug_sfnames) } \ + /* DWARF 1.1 and DWARF 2 */ \ + .debug_aranges 0 : { *(.debug_aranges) } \ + .debug_pubnames 0 : { *(.debug_pubnames) } \ + /* DWARF 2 */ \ + .debug_info 0 : { *(.debug_info) } \ + .debug_abbrev 0 : { *(.debug_abbrev) } \ + .debug_line 0 : { *(.debug_line) } \ + .debug_frame 0 : { *(.debug_frame) } \ + .debug_str 0 : { *(.debug_str) } \ + .debug_loc 0 : { *(.debug_loc) } \ + .debug_macinfo 0 : { *(.debug_macinfo) } \ + /* SGI/MIPS DWARF 2 extensions */ \ + .debug_weaknames 0 : { *(.debug_weaknames) } \ + .debug_funcnames 0 : { *(.debug_funcnames) } \ + .debug_typenames 0 : { *(.debug_typenames) } \ + .debug_varnames 0 : { *(.debug_varnames) } \ + /* These must appear regardless of . */ \ + .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } \ + .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } \ + /DISCARD/ 0 : { *(.mdebug) } #include CYGHWR_MEMORY_LAYOUT_LDI diff --git a/packages/hal/sh/arch/current/ChangeLog b/packages/hal/sh/arch/current/ChangeLog --- a/packages/hal/sh/arch/current/ChangeLog +++ b/packages/hal/sh/arch/current/ChangeLog @@ -1,7 +1,23 @@ +2000-03-20 Jesper Skov + + * include/sh_regs.h: Add definitions for RTC module. + 2000-03-20 Jesper Skov * src/hal_mk_defs.c: Added CYGNUM_HAL_VSR_EXCEPTION_COUNT +2000-03-16 Jesper Skov + + * include/mod_7708.h: + * include/sh_regs.h: + Adding new module definitions, conditionally included depending on + chosen CPU implementation. Each CPU defines its own set of + included modules (and module versions). + + * include/hal_cache.h: Get cache specs from CPU module file. + + * cdl/hal_sh.cdl: Added CPU implementation controls. + 2000-03-03 Jonathan Larmour * include/sh_stub.h: Make C++ safe diff --git a/packages/hal/sh/arch/current/cdl/hal_sh.cdl b/packages/hal/sh/arch/current/cdl/hal_sh.cdl --- a/packages/hal/sh/arch/current/cdl/hal_sh.cdl +++ b/packages/hal/sh/arch/current/cdl/hal_sh.cdl @@ -52,6 +52,11 @@ cdl_package CYGPKG_HAL_SH { necessary to select a specific target platform HAL package." + cdl_interface CYGINT_HAL_SH_VARIANT { + display "Number of variant implementations in this configuration" + requires 1 == CYGINT_HAL_SH_VARIANT + } + compile hal_misc.c context.S sh_stub.c # The "-o file" is a workaround for CR100958 - without it the @@ -85,6 +90,21 @@ cdl_package CYGPKG_HAL_SH { @rm target.tmp } + cdl_option CYGPKG_HAL_SH_7708 { + display "SH 7708 microprocessor" + implements CYGINT_HAL_SH_VARIANT + default_value 0 + description " + The SH3 7708 microprocessor. This is an embedded part that in + addition to the SH3 processor core has built in peripherals + such as memory controllers, serial ports and + timers/counters." + define_proc { + puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H " + } + } + + cdl_option CYGHWR_HAL_SH_BIGENDIAN { display "Use big-endian mode" default_value 1 diff --git a/packages/hal/sh/arch/current/include/hal_cache.h b/packages/hal/sh/arch/current/include/hal_cache.h --- a/packages/hal/sh/arch/current/include/hal_cache.h +++ b/packages/hal/sh/arch/current/include/hal_cache.h @@ -49,30 +49,37 @@ // //============================================================================= +#include #include #include #include // HAL_READ/WRITE macros -#include // CYGARC_REG_ definitions -//============================================================================= -// SH7708/HD6417708 +#include CYGBLD_HAL_CPU_MODULES_H // cache module specs -#ifdef CYGPKG_HAL_SH_EDK7708 +#include // CYGARC_REG_ definitions //----------------------------------------------------------------------------- // Cache dimensions - one unified cache -#define HAL_CACHE_UNIFIED +#define HAL_UCACHE_SIZE CYGARC_SH_MOD_CAC_SIZE +#define HAL_UCACHE_LINE_SIZE CYGARC_SH_MOD_CAC_LINE_SIZE +#define HAL_UCACHE_WAYS CYGARC_SH_MOD_CAC_WAYS -#define HAL_UCACHE_SIZE 8192 // Size of cache in bytes -#define HAL_UCACHE_LINE_SIZE 16 // Size of a cache line -#define HAL_UCACHE_WAYS 4 // Associativity of the cache +// Cache addressing information +#define CYGARC_REG_CACHE_ADDRESS_BASE CYGARC_SH_MOD_CAC_ADDRESS_BASE +#define CYGARC_REG_CACHE_ADDRESS_TOP CYGARC_SH_MOD_CAC_ADDRESS_TOP +#define CYGARC_REG_CACHE_ADDRESS_STEP CYGARC_SH_MOD_CAC_ADDRESS_STEP + +// Writing this to a cache address entry forces a flush of the line if +// it is dirty. +#define CYGARC_REG_CACHE_ADDRESS_FLUSH CYGARC_SH_MOD_CAC_ADDRESS_FLUSH #define HAL_UCACHE_SETS (HAL_UCACHE_SIZE/(HAL_UCACHE_LINE_SIZE*HAL_UCACHE_WAYS)) //----------------------------------------------------------------------------- // Global control of cache + // Enable the cache #define HAL_UCACHE_ENABLE() \ CYG_MACRO_START \ @@ -293,8 +300,6 @@ // Invalidate cache lines in the given range without writing to memory. //#define HAL_ICACHE_INVALIDATE( _base_ , _size_ ) -#endif - //----------------------------------------------------------------------------- #endif // ifndef CYGONCE_HAL_CACHE_H // End of hal_cache.h diff --git a/packages/hal/sh/arch/current/include/mod_7708.h b/packages/hal/sh/arch/current/include/mod_7708.h new file mode 100644 --- /dev/null +++ b/packages/hal/sh/arch/current/include/mod_7708.h @@ -0,0 +1,73 @@ +#ifndef CYGONCE_HAL_MOD_77xx_H +#define CYGONCE_HAL_MOD_77xx_H + +//============================================================================= +// +// mod_7708.h +// +// List modules available on CPU +// +//============================================================================= +//####COPYRIGHTBEGIN#### +// +// ------------------------------------------- +// The contents of this file are subject to the Red Hat eCos Public License +// Version 1.1 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://www.redhat.com/ +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations under +// the License. +// +// The Original Code is eCos - Embedded Configurable Operating System, +// released September 30, 1998. +// +// The Initial Developer of the Original Code is Red Hat. +// Portions created by Red Hat are +// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// All Rights Reserved. +// ------------------------------------------- +// +//####COPYRIGHTEND#### +//============================================================================= +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jskov +// Contributors:jskov +// Date: 2000-03-16 +// Purpose: Define modules (and versions) available on this CPU. +// Usage: Included from +// +// +//####DESCRIPTIONEND#### +// +//============================================================================= + +//----------------------------------------------------------------------------- +// Modules provided by the CPU + +#define CYGARC_SH_MOD_SCI_V2 + + +//----------------------------------------------------------------------------- +// Extra details for Cache Module (CAC) + +// Cache dimenions - one unified cache +#define CYGARC_SH_MOD_CAC_SIZE 8192 // Size of cache in bytes +#define CYGARC_SH_MOD_CAC_LINE_SIZE 16 // Size of a cache line +#define CYGARC_SH_MOD_CAC_WAYS 4 // Associativity of the cache + +// Cache addressing information +// way: bits 12 - 11 +// entry: bits 10 - 4 +#define CYGARC_SH_MOD_CAC_ADDRESS_BASE 0xf0000000 +#define CYGARC_SH_MOD_CAC_ADDRESS_TOP 0xf0002000 +#define CYGARC_SH_MOD_CAC_ADDRESS_STEP 0x00000010 +// U : bit 1 +// V : bit 0 +// Writing zero to both forces a flush of the line if it is dirty. +#define CYGARC_SH_MOD_CAC_ADDRESS_FLUSH 0x00000000 + +#endif // CYGONCE_HAL_MOD_77xx_H diff --git a/packages/hal/sh/arch/current/include/sh_regs.h b/packages/hal/sh/arch/current/include/sh_regs.h --- a/packages/hal/sh/arch/current/include/sh_regs.h +++ b/packages/hal/sh/arch/current/include/sh_regs.h @@ -1,6 +1,5 @@ #ifndef CYGONCE_HAL_SH_REGS_H #define CYGONCE_HAL_SH_REGS_H - //============================================================================= // // sh_regs.h @@ -39,13 +38,28 @@ // Date: 1999-04-24 // Purpose: Define CPU memory mapped registers etc. // Usage: #include - +// Notes: +// This file describes registers for on-core modules found in all +// the SH3 CPUs supported by the HAL. For each CPU is defined a +// module specification file (mod_.h) which lists +// modules (and their version if applicable) included in that +// particular CPU model. Note that the versioning is ad hoc; +// it doesn't reflect Hitachi internal versioning in any way. // //####DESCRIPTIONEND#### // //============================================================================= -//#include +// Find out which modules are supported by the chosen CPU +// Note: At them moment only some modules are conditionalized (the ones +// not in the 7708). For consistency, all modules should be treated +// the same. +#include +#include CYGBLD_HAL_CPU_MODULES_H + +//========================================================================== +// CPU Definitions +//========================================================================== //-------------------------------------------------------------------------- // Status register @@ -63,6 +77,24 @@ #define CYGARC_REG_SR_T 0x00000001 +//========================================================================== +// Memory Mapped Registers +//========================================================================== + +//++++++ Module MMU ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//-------------------------------------------------------------------------- +// MMU control registers +#define CYGARC_REG_MMUCR 0xffffffe0 + +#define CYGARC_REG_MMUCR_SV 0x00000100 +#define CYGARC_REG_MMUCR_RC_MASK 0x000000c0 +#define CYGARC_REG_MMUCR_TF 0x00000004 +#define CYGARC_REG_MMUCR_IX 0x00000002 +#define CYGARC_REG_MMUCR_AT 0x00000001 + +//++++++ Module CAC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + //-------------------------------------------------------------------------- // Cache registers #define CYGARC_REG_CCR 0xffffffec @@ -73,28 +105,18 @@ #define CYGARC_REG_CCR_WT 0x00000002 #define CYGARC_REG_CCR_CE 0x00000001 -#ifdef CYGPKG_HAL_SH_EDK7708 -// way: bits 12 - 10 -// entry: bits 10 - 4 -#define CYGARC_REG_CACHE_ADDRESS_BASE 0xf0000000 -#define CYGARC_REG_CACHE_ADDRESS_TOP 0xf0002000 -#define CYGARC_REG_CACHE_ADDRESS_STEP 0x00000010 -// U : bit 1 -// V : bit 0 -// Writing zero to both forces a flush of the line if it was dirty. -#define CYGARC_REG_CACHE_ADDRESS_FLUSH 0x00000000 +//-------------------------------------------------------------------------- +// Cache registers +#define CYGARC_REG_CCR 0xffffffec -#endif - -//-------------------------------------------------------------------------- -// MMU control registers -#define CYGARC_REG_MMUCR 0xffffffe0 +#define CYGARC_REG_CCR_RA 0x00000020 +#define CYGARC_REG_CCR_CF 0x00000008 +#define CYGARC_REG_CCR_CB 0x00000004 +#define CYGARC_REG_CCR_WT 0x00000002 +#define CYGARC_REG_CCR_CE 0x00000001 -#define CYGARC_REG_MMUCR_SV 0x00000100 -#define CYGARC_REG_MMUCR_RC_MASK 0x000000c0 -#define CYGARC_REG_MMUCR_TF 0x00000004 -#define CYGARC_REG_MMUCR_IX 0x00000002 -#define CYGARC_REG_MMUCR_AT 0x00000001 + +//++++++ Module BSC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //-------------------------------------------------------------------------- // Bus State Control @@ -109,6 +131,11 @@ #define CYGARC_REG_RTCNT 0xffffff70 #define CYGARC_REG_RTCOR 0xffffff72 #define CYGARC_REG_RFCR 0xffffff74 + +#ifdef CYGARC_SH_MOD_BCN_V2 +# define CYGARC_REG_BCR3 0xffffff7e +#endif + #define CYGARC_REG_SDMR_AREA2_BASE 0xffffd000 #define CYGARC_REG_SDMR_AREA3_BASE 0xffffe000 @@ -117,6 +144,9 @@ #define CYGARC_REG_BCR1_DRAMTP0 0x0004 + +//++++++ Module UBC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + //-------------------------------------------------------------------------- // User Break Control #define CYGARC_REG_BRCR 0xffffff98 // 16 bit @@ -142,6 +172,7 @@ #define CYGARC_REG_BRCR_SEQ 0x0008 // sequence condition select +//++++++ Module CPG ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //-------------------------------------------------------------------------- // Oscillator control registers @@ -167,6 +198,8 @@ #define CYGARC_REG_WTCSR_CKSx_SETTING 0x07 // max delay #define CYGARC_REG_WTCSR_PERIOD 69905067 // ~69.9 ms +//++++++ Module TMU ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + //-------------------------------------------------------------------------- // TMU registers #define CYGARC_REG_TOCR 0xfffffe90 // 8 bit @@ -201,6 +234,9 @@ #define CYGARC_REG_TCR_ICPE1 0x0080 #define CYGARC_REG_TCR_ICPF 0x0200 + +//++++++ Module INTC +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + //-------------------------------------------------------------------------- // Interrupt registers #define CYGARC_REG_EXCEVT 0xffffffd4 @@ -210,6 +246,7 @@ #define CYGARC_REG_IPRA 0xfffffee2 #define CYGARC_REG_IPRB 0xfffffee4 + #define CYGARC_REG_IPRA_TMU0_MASK 0xf000 #define CYGARC_REG_IPRA_TMU0_PRI1 0x1000 #define CYGARC_REG_IPRA_TMU1_MASK 0x0f00 @@ -226,8 +263,46 @@ #define CYGARC_REG_IPRB_SCI_MASK 0x00f0 #define CYGARC_REG_IPRB_SCI_PRI1 0x0010 +//++++++ Module RTC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//-------------------------------------------------------------------------- +// RealTime Clock + +#define CYGARC_REG_RC64CNT 0xfffffec0 +#define CYGARC_REG_RSECCNT 0xfffffec2 +#define CYGARC_REG_RMINCNT 0xfffffec4 +#define CYGARC_REG_RHRCNT 0xfffffec6 +#define CYGARC_REG_RWKCNT 0xfffffec8 +#define CYGARC_REG_RDAYCNT 0xfffffeca +#define CYGARC_REG_RMONCNT 0xfffffecc +#define CYGARC_REG_RYRCNT 0xfffffece +#define CYGARC_REG_RSECAR 0xfffffed0 +#define CYGARC_REG_RMINAR 0xfffffed2 +#define CYGARC_REG_RHRAR 0xfffffed4 +#define CYGARC_REG_RWKAR 0xfffffed6 +#define CYGARC_REG_RDAYAR 0xfffffed8 +#define CYGARC_REG_RMONAR 0xfffffeda +#define CYGARC_REG_RCR1 0xfffffedc +#define CYGARC_REG_RCR2 0xfffffede +#define CYGARC_REG_RCR1_CF 0x80 // carry flag +#define CYGARC_REG_RCR1_CIE 0x10 // carry interrupt enable +#define CYGARC_REG_RCR1_AIE 0x08 // alarm interrupt enable +#define CYGARC_REG_RCR1_AF 0x01 // alarm flag + +#define CYGARC_REG_RCR2_PEF 0x80 // periodic interrupt flag +#define CYGARC_REG_RCR2_PES2 0x40 // periodic interrupt setting +#define CYGARC_REG_RCR2_PES1 0x20 +#define CYGARC_REG_RCR2_PES0 0x10 +#define CYGARC_REG_RCR2_RTCEN 0x08 // RTC enable +#define CYGARC_REG_RCR2_ADJ 0x04 // second adjustment +#define CYGARC_REG_RCR2_RESET 0x02 // reset +#define CYGARC_REG_RCR2_START 0x01 // start + + + +//++++++ Module SCI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //-------------------------------------------------------------------------- // Serial registers. All 8 bit registers. @@ -237,7 +312,10 @@ #define CYGARC_REG_SCTDR 0xfffffe86 // transmit data register #define CYGARC_REG_SCSSR 0xfffffe88 // serial status register #define CYGARC_REG_SCRDR 0xfffffe8a // receive data register -#define CYGARC_REG_SCSPTR 0xfffffe7c // serial port register + +#ifdef CYGARC_SH_MOD_SCI_V2 +# define CYGARC_REG_SCSPTR 0xfffffe7c // serial port register +#endif // Serial Mode Register #define CYGARC_REG_SCSMR_CA 0x80 // communication mode @@ -275,7 +353,7 @@ // to prevent other bits than the one of interest to be cleared. #define CYGARC_REG_SCSSR_CLEARMASK 0xf8 - +// FIXME: Let config control this // Baud rate values calculated for peripheral clock = 15MHz (Pf = 15). // n is CKS setting (0-3) // N = (Pf/(64^(n-1)*B))*10^6-1 @@ -323,4 +401,6 @@ #define CYGARC_REG_SCBRR_234000 #define CYGARC_REG_CKSx_234000 + + #endif // ifndef CYGONCE_HAL_SH_REGS_H diff --git a/packages/hal/sh/edk/current/ChangeLog b/packages/hal/sh/edk/current/ChangeLog --- a/packages/hal/sh/edk/current/ChangeLog +++ b/packages/hal/sh/edk/current/ChangeLog @@ -1,12 +1,3 @@ -2000-03-20 Jesper Skov - - * cdl/hal_sh_edk7708.cdl: Don't allow dependency on ROM_MONITOR - when including stubs. - -2000-03-18 Jonathan Larmour - - * cdl/hal_sh_edk7708.cdl: Use -g rather than -ggdb when using net gcc - 2000-03-09 Jesper Skov * src/hal_diag.c: Fix compiler warning. diff --git a/packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl b/packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl --- a/packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl +++ b/packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl @@ -127,7 +127,7 @@ cdl_package CYGPKG_HAL_SH_EDK7708 { display "Global compiler flags" flavor data no_define - default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" : "-ml -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" } + default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -ggdb -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" : "-ml -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -ggdb -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" } description " This option controls the global compiler flags which are used to compile all packages by @@ -139,7 +139,7 @@ cdl_package CYGPKG_HAL_SH_EDK7708 { display "Global linker flags" flavor data no_define - default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -g -nostdlib -Wl,--gc-sections -Wl,-static" : "-ml -m3 -g -nostdlib -Wl,--gc-sections -Wl,-static" } + default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -ggdb -nostdlib -Wl,--gc-sections -Wl,-static" : "-ml -m3 -ggdb -nostdlib -Wl,--gc-sections -Wl,-static" } description " This option controls the global linker flags. Individual packages may define options which override these global flags." @@ -204,7 +204,6 @@ cdl_package CYGPKG_HAL_SH_EDK7708 { default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 } requires { CYG_HAL_STARTUP == "RAM" } parent CYGPKG_HAL_ROM_MONITOR - requires !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS description " Support can be enabled for boot ROMs or ROM monitors which contain GDB stubs. This support changes various eCos semantics such as diff --git a/packages/infra/current/ChangeLog b/packages/infra/current/ChangeLog --- a/packages/infra/current/ChangeLog +++ b/packages/infra/current/ChangeLog @@ -1,9 +1,38 @@ -2000-03-20 John Dallaway +2000-03-28 Jonathan Larmour + + * include/cyg_trac.h: Also update internal documentation for below + const char * changes (2000-03-27) + +2000-03-28 John Dallaway * cdl/infra.cdl: Adjust documentation URLs. +2000-03-27 Gary Thomas + + * src/tcdiag.cxx: HAL architecture ports may override default + behavior for 'cyg_test_exit()'. + + * src/diag.cxx (diag_vprintf): Add support for %llX modifier, which + allows for printing of (long long) operands. + +2000-03-27 Jonathan Larmour + + * include/cyg_trac.h: Use const qualifier on function and file name + strings to be compatible with the C++ standard + * src/buffer.cxx: likewise + * src/fancy.cxx: likewise + * src/null.cxx: likewise + +2000-03-27 Jesper Skov + + * include/cyg_type.h: Make cyg_halbool the same for C and C++ + code. + + * include/cyg_ass.h (CYGDBG_DEFINE_CHECK_THIS): Use cyg_bool + instead of bool. + 2000-03-07 Jesper Skov * src/buffer.cxx: Fix some compiler warnings. diff --git a/packages/infra/current/include/cyg_ass.h b/packages/infra/current/include/cyg_ass.h --- a/packages/infra/current/include/cyg_ass.h +++ b/packages/infra/current/include/cyg_ass.h @@ -78,6 +78,7 @@ cyg_assert_fail( const char* /* psz_func cyg_uint32 /* linenum */, const char* /* psz_msg */ ) CYGBLD_ATTRIB_NORET CYGBLD_ATTRIB_WEAK; + // ------------------------------------------------------------------------- #ifdef CYGDBG_USE_ASSERTS @@ -90,8 +91,10 @@ cyg_assert_fail( const char* /* psz_func // CYG_ASSERTC - compact version of CYG_ASSERT # ifdef CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE -# define CYG_ASSERT_DOCALL( _msg_ ) \ - cyg_assert_fail( __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ ); +# define CYG_ASSERT_DOCALL( _msg_ ) \ + CYG_MACRO_START \ + cyg_assert_fail( __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ );\ + CYG_MACRO_END # else # define CYG_ASSERT_DOCALL( _msg_ ) \ CYG_MACRO_START \ @@ -260,7 +263,7 @@ enum cyg_assert_class_zeal { CYG_ASSERT_THIS( "\"this\" pointer is valid" ) #define CYGDBG_DEFINE_CHECK_THIS \ - bool check_this( cyg_assert_class_zeal zeal ) const; + cyg_bool check_this( cyg_assert_class_zeal zeal ) const; #endif // __cplusplus diff --git a/packages/infra/current/include/cyg_trac.h b/packages/infra/current/include/cyg_trac.h --- a/packages/infra/current/include/cyg_trac.h +++ b/packages/infra/current/include/cyg_trac.h @@ -333,17 +333,17 @@ Internal Documentation The required functions which are used by the tracing macros are externC void - cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ); + cyg_tracenomsg( const char *psz_func, const char *psz_file, + cyg_uint32 linenum ); externC void - cyg_tracemsg( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, - char *psz_msg ); + cyg_tracemsg( cyg_uint32 what, const char *psz_func, const char *psz_file, + cyg_uint32 linenum, char *psz_msg ); externC void cyg_tracemsg2( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, - char *psz_msg, + const char *psz_func, const char *psz_file, + cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ); // extended in the obvious way for 4,6,8 arguments @@ -404,7 +404,7 @@ also fits in a byte as number or a bitse // these are executed to deal with tracing - breakpoint? externC void -cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ); +cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum ); externC void cyg_trace_dump(void); @@ -437,30 +437,30 @@ enum cyg_trace_what{ externC void cyg_tracemsg( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg ); externC void cyg_tracemsg2( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ); externC void cyg_tracemsg4( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3 ); externC void cyg_tracemsg6( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, CYG_ADDRWORD arg4, CYG_ADDRWORD arg5 ); externC void cyg_tracemsg8( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, @@ -602,8 +602,8 @@ class Cyg_TraceFunction_Report_ { public: int cond; - char *func; - char *file; + const char *func; + const char *file; cyg_uint32 lnum; #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE char *exitmsg; @@ -612,7 +612,7 @@ public: #endif Cyg_TraceFunction_Report_( - int condition, char *psz_func, char *psz_file, + int condition, const char *psz_func, const char *psz_file, cyg_uint32 linenum) { cond = condition; @@ -632,7 +632,7 @@ public: }; Cyg_TraceFunction_Report_( - int condition, char *psz_func, char *psz_file, + int condition, const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_exitmsg ) { cond = condition; diff --git a/packages/infra/current/include/cyg_type.h b/packages/infra/current/include/cyg_type.h --- a/packages/infra/current/include/cyg_type.h +++ b/packages/infra/current/include/cyg_type.h @@ -114,11 +114,7 @@ #endif #ifndef cyg_halbool -# ifdef __cplusplus -# define cyg_halbool bool -# else -# define cyg_halbool int -# endif +# define cyg_halbool int #endif #ifndef cyg_halatomic diff --git a/packages/infra/current/src/buffer.cxx b/packages/infra/current/src/buffer.cxx --- a/packages/infra/current/src/buffer.cxx +++ b/packages/infra/current/src/buffer.cxx @@ -101,8 +101,8 @@ struct Cyg_TraceRecord { cyg_uint32 what; cyg_uint32 tid; - char *function; - char *file; + const char *function; + const char *file; char *message; cyg_uint32 line; cyg_uint32 narg; @@ -387,7 +387,7 @@ static void increment_buffer_pos() // ------------------------------------------------------------------------- externC void -cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ) +cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum ) { cyg_uint32 old_ints; @@ -415,7 +415,7 @@ cyg_tracenomsg( char *psz_func, char *ps externC void cyg_tracemsg( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg ) { cyg_uint32 old_ints; @@ -442,7 +442,7 @@ cyg_tracemsg( cyg_uint32 what, externC void cyg_tracemsg2( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ) { @@ -472,7 +472,7 @@ cyg_tracemsg2( cyg_uint32 what, externC void cyg_tracemsg4( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3 ) @@ -505,7 +505,7 @@ cyg_tracemsg4( cyg_uint32 what, externC void cyg_tracemsg6( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, @@ -541,7 +541,7 @@ cyg_tracemsg6( cyg_uint32 what, externC void cyg_tracemsg8( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, diff --git a/packages/infra/current/src/diag.cxx b/packages/infra/current/src/diag.cxx --- a/packages/infra/current/src/diag.cxx +++ b/packages/infra/current/src/diag.cxx @@ -166,15 +166,15 @@ externC void diag_write_hex( cyg_uint32 /* number, its minimum width and whether it is zero or space filled on */ /* the left. */ -externC void diag_write_num( - cyg_uint32 n, /* number to write */ +externC void diag_write_long_num( + cyg_uint64 n, /* number to write */ cyg_ucount8 base, /* radix to write to */ cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ cyg_bool pfzero, /* prefix with zero ? */ cyg_ucount8 width /* min width of number */ ) { - char buf[16]; + char buf[32]; cyg_count8 bpos; char bufinit = pfzero?'0':' '; char *digits = "0123456789ABCDEF"; @@ -210,6 +210,17 @@ externC void diag_write_num( diag_write_char(buf[bpos--]); } +externC void diag_write_num( + cyg_uint32 n, /* number to write */ + cyg_ucount8 base, /* radix to write to */ + cyg_ucount8 sign, /* sign, '-' if -ve, '+' if +ve */ + cyg_bool pfzero, /* prefix with zero ? */ + cyg_ucount8 width /* min width of number */ + ) +{ + diag_write_long_num((long long)n, base, sign, pfzero, width); +} + /*----------------------------------------------------------------------*/ /* perform some simple sanity checks on a string to ensure that it */ /* consists of printable characters and is of reasonable length. */ @@ -276,6 +287,7 @@ externC void diag_vprintf( const char *f cyg_bool pfzero = false; cyg_count8 width = 0; char sign = '+'; + cyg_bool long_op = false; c = *++fmt; @@ -287,22 +299,47 @@ externC void diag_vprintf( const char *f c = *++fmt; } + if (c == 'l') { + // %lx and %ld are equivalent to %x/%d + c = *++fmt; + // %llx or %lld used to indicate (long long) operand + if (c == 'l') { + long_op = true; + c = *++fmt; + } + } + switch( c ) { case 'd': case 'D': { - long val = (long)(*args++); - if( val < 0 ) val = -val, sign = '-'; - diag_write_num(val, 10, sign, pfzero, width); + if (long_op) { + long long *lp = (long long *)args; + long long val = *lp++; + args = (CYG_ADDRWORD *)lp; + if( val < 0 ) val = -val, sign = '-'; + diag_write_long_num(val, 10, sign, pfzero, width); + } else { + long val = (long)(*args++); + if( val < 0 ) val = -val, sign = '-'; + diag_write_num(val, 10, sign, pfzero, width); + } break; } case 'x': case 'X': { - unsigned long val = (long)(*args++); - diag_write_num(val, 16, sign, pfzero, width); + if (long_op) { + long long *lp = (long long *)args; + long long val = *lp++; + args = (CYG_ADDRWORD *)lp; + diag_write_long_num(val, 16, sign, pfzero, width); + } else { + unsigned long val = (long)(*args++); + diag_write_num(val, 16, sign, pfzero, width); + } break; } diff --git a/packages/infra/current/src/fancy.cxx b/packages/infra/current/src/fancy.cxx --- a/packages/infra/current/src/fancy.cxx +++ b/packages/infra/current/src/fancy.cxx @@ -242,7 +242,7 @@ void write_thread_id() #ifdef CYGDBG_USE_TRACING externC void -cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ) +cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum ) { cyg_uint32 old_ints; @@ -265,7 +265,7 @@ cyg_tracenomsg( char *psz_func, char *ps externC void cyg_tracemsg( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg ) { cyg_uint32 old_ints; @@ -294,7 +294,7 @@ cyg_tracemsg( cyg_uint32 what, externC void cyg_tracemsg2( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ) { @@ -330,7 +330,7 @@ cyg_tracemsg2( cyg_uint32 what, externC void cyg_tracemsg4( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3 ) @@ -372,7 +372,7 @@ cyg_tracemsg4( cyg_uint32 what, externC void cyg_tracemsg6( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, @@ -419,7 +419,7 @@ cyg_tracemsg6( cyg_uint32 what, externC void cyg_tracemsg8( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, diff --git a/packages/infra/current/src/null.cxx b/packages/infra/current/src/null.cxx --- a/packages/infra/current/src/null.cxx +++ b/packages/infra/current/src/null.cxx @@ -75,33 +75,33 @@ cyg_assert_fail( const char *psz_func, c #ifdef CYGDBG_USE_TRACING externC void -cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ) +cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum ) {} // provide every other one of these as a space/caller bloat compromise. externC void cyg_tracemsg( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg ) {} externC void cyg_tracemsg2( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ) {} externC void cyg_tracemsg4( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3 ) {} externC void cyg_tracemsg6( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, @@ -109,7 +109,7 @@ cyg_tracemsg6( cyg_uint32 what, {} externC void cyg_tracemsg8( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, diff --git a/packages/infra/current/src/simple.cxx b/packages/infra/current/src/simple.cxx --- a/packages/infra/current/src/simple.cxx +++ b/packages/infra/current/src/simple.cxx @@ -153,7 +153,7 @@ void write_thread_id() #ifdef CYGDBG_USE_TRACING externC void -cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ) +cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum ) { cyg_uint32 old_ints; @@ -176,7 +176,7 @@ cyg_tracenomsg( char *psz_func, char *ps externC void cyg_tracemsg( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg ) { cyg_uint32 old_ints; @@ -203,7 +203,7 @@ cyg_tracemsg( cyg_uint32 what, externC void cyg_tracemsg2( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ) { @@ -237,7 +237,7 @@ cyg_tracemsg2( cyg_uint32 what, externC void cyg_tracemsg4( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3 ) @@ -277,7 +277,7 @@ cyg_tracemsg4( cyg_uint32 what, externC void cyg_tracemsg6( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, @@ -322,7 +322,7 @@ cyg_tracemsg6( cyg_uint32 what, externC void cyg_tracemsg8( cyg_uint32 what, - char *psz_func, char *psz_file, cyg_uint32 linenum, + const char *psz_func, const char *psz_file, cyg_uint32 linenum, char *psz_msg, CYG_ADDRWORD arg0, CYG_ADDRWORD arg1, CYG_ADDRWORD arg2, CYG_ADDRWORD arg3, diff --git a/packages/infra/current/src/tcdiag.cxx b/packages/infra/current/src/tcdiag.cxx --- a/packages/infra/current/src/tcdiag.cxx +++ b/packages/infra/current/src/tcdiag.cxx @@ -39,11 +39,13 @@ // //####DESCRIPTIONEND#### +#include #include #include CYGBLD_HAL_TARGET_H // get initialization for #include CYGBLD_HAL_PLATFORM_H // cyg_test_is_simulator #include // base types +#include // any architecture specific stuff #include // HAL polled output #include // what we implement @@ -55,6 +57,7 @@ int cyg_test_is_simulator = 1; / int cyg_test_is_simulator = 0; // infrastructure changes as necessary #endif + externC void cyg_test_init(void) { diff --git a/packages/io/common/current/ChangeLog b/packages/io/common/current/ChangeLog --- a/packages/io/common/current/ChangeLog +++ b/packages/io/common/current/ChangeLog @@ -1,4 +1,4 @@ -2000-03-20 John Dallaway +2000-03-28 John Dallaway * cdl/io.cdl: diff --git a/packages/io/pci/current/ChangeLog b/packages/io/pci/current/ChangeLog --- a/packages/io/pci/current/ChangeLog +++ b/packages/io/pci/current/ChangeLog @@ -1,4 +1,4 @@ -2000-03-20 John Dallaway +2000-03-28 John Dallaway * cdl/io_pci.cdl: diff --git a/packages/io/serial/current/ChangeLog b/packages/io/serial/current/ChangeLog --- a/packages/io/serial/current/ChangeLog +++ b/packages/io/serial/current/ChangeLog @@ -1,4 +1,4 @@ -2000-03-20 John Dallaway +2000-03-28 John Dallaway * cdl/io_serial.cdl, cdl/ser_arm_aeb.cdl, diff --git a/packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl b/packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl --- a/packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl +++ b/packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl @@ -48,6 +48,7 @@ cdl_component CYGPKG_IO_SERIAL_ARM_EDB7X This option includes the serial device driver for the Cirrus Logic EDB7XXX port 1." + cdl_option CYGDAT_IO_SERIAL_ARM_EDB7XXX_SERIAL1_NAME { display "Device name for the Cirrus Logic EDB7XXX serial port 1 driver" flavor data diff --git a/packages/kernel/current/ChangeLog b/packages/kernel/current/ChangeLog --- a/packages/kernel/current/ChangeLog +++ b/packages/kernel/current/ChangeLog @@ -1,10 +1,4 @@ -2000-03-21 John Dallaway - - * cdl/kernel.cdl: - - Fix thread operations URL. - -2000-03-20 John Dallaway +2000-03-28 John Dallaway * cdl/counters.cdl, cdl/interrupts.cdl, @@ -15,6 +9,27 @@ 2000-03-20 John Dallaway + + * tests/except1.cxx: + * tests/kexcept1.c: Avoid trying to generate data access errors + on platforms that don't support them. + + * tests/kcache1.c: Ignore test if no [data] caches defined. + + * tests/stress_threads.c: Infer minimal configuration for platforms + with small amount of memory (as opposed to platform special cases). + +2000-03-27 Jesper Skov + + * src/sync/mutex.cxx: + * src/sched/sched.cxx: + * src/common/thread.cxx: + * src/common/clock.cxx: + Use cyg_bool instead of bool for check_this(). + + * tests/dhrystone.c: Requires CYGPKG_LIBC_MALLOC + 2000-03-07 Jesper Skov * tests/mutex3.cxx: Minor tweak from Hugo to allow reduced runtime diff --git a/packages/kernel/current/src/common/clock.cxx b/packages/kernel/current/src/common/clock.cxx --- a/packages/kernel/current/src/common/clock.cxx +++ b/packages/kernel/current/src/common/clock.cxx @@ -109,7 +109,7 @@ Cyg_Counter::~Cyg_Counter() #ifdef CYGDBG_USE_ASSERTS -bool Cyg_Counter::check_this( cyg_assert_class_zeal zeal) const +cyg_bool Cyg_Counter::check_this( cyg_assert_class_zeal zeal) const { // check that we have a non-NULL pointer first if( this == NULL ) return false; @@ -465,7 +465,7 @@ Cyg_Clock::~Cyg_Clock() #ifdef CYGDBG_USE_ASSERTS -bool Cyg_Clock::check_this( cyg_assert_class_zeal zeal) const +cyg_bool Cyg_Clock::check_this( cyg_assert_class_zeal zeal) const { // check that we have a non-NULL pointer first if( this == NULL ) return false; @@ -693,7 +693,7 @@ Cyg_Alarm::~Cyg_Alarm() #ifdef CYGDBG_USE_ASSERTS -bool Cyg_Alarm::check_this( cyg_assert_class_zeal zeal) const +cyg_bool Cyg_Alarm::check_this( cyg_assert_class_zeal zeal) const { // check that we have a non-NULL pointer first if( this == NULL ) return false; diff --git a/packages/kernel/current/src/common/thread.cxx b/packages/kernel/current/src/common/thread.cxx --- a/packages/kernel/current/src/common/thread.cxx +++ b/packages/kernel/current/src/common/thread.cxx @@ -282,7 +282,7 @@ Cyg_Thread::~Cyg_Thread() #ifdef CYGDBG_USE_ASSERTS -bool +cyg_bool Cyg_Thread::check_this( cyg_assert_class_zeal zeal) const { // CYG_REPORT_FUNCTION(); diff --git a/packages/kernel/current/src/sched/sched.cxx b/packages/kernel/current/src/sched/sched.cxx --- a/packages/kernel/current/src/sched/sched.cxx +++ b/packages/kernel/current/src/sched/sched.cxx @@ -241,7 +241,7 @@ void Cyg_Scheduler::start() #ifdef CYGDBG_USE_ASSERTS -bool Cyg_Scheduler::check_this( cyg_assert_class_zeal zeal) const +cyg_bool Cyg_Scheduler::check_this( cyg_assert_class_zeal zeal) const { CYG_REPORT_FUNCTION(); diff --git a/packages/kernel/current/src/sync/mutex.cxx b/packages/kernel/current/src/sync/mutex.cxx --- a/packages/kernel/current/src/sync/mutex.cxx +++ b/packages/kernel/current/src/sync/mutex.cxx @@ -85,7 +85,7 @@ Cyg_Mutex::~Cyg_Mutex() #ifdef CYGDBG_USE_ASSERTS -bool +cyg_bool Cyg_Mutex::check_this( cyg_assert_class_zeal zeal) const { // CYG_REPORT_FUNCTION(); @@ -381,7 +381,7 @@ Cyg_Condition_Variable::~Cyg_Condition_V #ifdef CYGDBG_USE_ASSERTS -bool +cyg_bool Cyg_Condition_Variable::check_this( cyg_assert_class_zeal zeal) const { bool result = true; diff --git a/packages/kernel/current/tests/dhrystone.c b/packages/kernel/current/tests/dhrystone.c --- a/packages/kernel/current/tests/dhrystone.c +++ b/packages/kernel/current/tests/dhrystone.c @@ -39,7 +39,8 @@ #include #if defined(CYGFUN_KERNEL_API_C) \ - && defined(CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT) + && defined(CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT) \ + && defined(CYGPKG_LIBC_MALLOC) #if defined(__OPTIMIZE__) \ && !defined(CYGPKG_INFRA_DEBUG) \ @@ -1167,9 +1168,9 @@ Enumeration Enum_Par_Val; #endif // __OPTIMIZE__ && !CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT #else -#define NA_MSG "Requires CYGFUN_KERNEL_API_C && CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT" +#define NA_MSG "Requires CYGFUN_KERNEL_API_C && CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT && CYGPKG_LIBC_MALLOC" #endif // CYGFUN_KERNEL_API_C && CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - + // CYGPKG_LIBC_MALLOC #else #define NA_MSG "Requires CYGPKG_KERNEL && CYGPKG_LIBC" #endif // CYGPKG_KERNEL && CYGPKG_LIBC diff --git a/packages/kernel/current/tests/except1.cxx b/packages/kernel/current/tests/except1.cxx --- a/packages/kernel/current/tests/except1.cxx +++ b/packages/kernel/current/tests/except1.cxx @@ -55,8 +55,9 @@ #define NTHREADS 1 #include "testaux.hxx" +static int d0; +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS static cyg_exception_handler handler0; -static int d0; static void handler0(CYG_ADDRWORD data, cyg_code number, CYG_ADDRWORD info) { @@ -70,6 +71,7 @@ static void handler0(CYG_ADDRWORD data, CYG_TEST_PASS_FINISH("Except 1 OK"); } +#endif static void handler1(CYG_ADDRWORD data, cyg_code number, CYG_ADDRWORD info) { @@ -86,7 +88,7 @@ static void handler1(CYG_ADDRWORD data, CYG_TEST_CHECK((CYG_ADDRWORD)99 == info, "handler given wrong info"); } - +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS // The following function attempts to cause an exception in various // hacky ways. It is machine dependent what exception is generated. // It does reads rather than writes hoping not to corrupt anything @@ -101,10 +103,13 @@ void cause_exception(void) p+=0x100000; } while(p != 0); } +#endif static void entry0( CYG_ADDRWORD data ) { +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS cyg_code n; +#endif cyg_exception_handler *old_handler, *old_handler1; CYG_ADDRWORD old_data, old_data1; Cyg_Thread *p=Cyg_Thread::self(); @@ -137,6 +142,8 @@ static void entry0( CYG_ADDRWORD data ) p->deregister_exception(CYGNUM_HAL_EXCEPTION_MAX); p->deregister_exception(CYGNUM_HAL_EXCEPTION_MAX); +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS + #if 0 #elif defined(CYGPKG_HAL_POWERPC_SIM) // The exception generated by the SIM is not recognized by GDB. @@ -161,6 +168,10 @@ static void entry0( CYG_ADDRWORD data ) cause_exception(); CYG_TEST_FAIL_FINISH("Couldn't cause exception"); +#else // CYGNUM_HAL_EXCEPTION_DATA_ACCESS + CYG_TEST_NA("Platform does not support data exceptions"); +#endif + } #ifdef CYG_HAL_MIPS_TX39_JMR3904 diff --git a/packages/kernel/current/tests/kcache1.c b/packages/kernel/current/tests/kcache1.c --- a/packages/kernel/current/tests/kcache1.c +++ b/packages/kernel/current/tests/kcache1.c @@ -43,6 +43,7 @@ #include +#ifdef HAL_DCACHE_SIZE #ifdef CYGVAR_KERNEL_COUNTERS_CLOCK #ifdef CYGFUN_KERNEL_API_C @@ -372,6 +373,9 @@ cyg_start( void ) #else // def CYGVAR_KERNEL_COUNTERS_CLOCK #define N_A_MSG "Kernel real-time clock disabled" #endif // def CYGVAR_KERNEL_COUNTERS_CLOCK +#else // def HAL_DCACHE_SIZE +#define N_A_MSG "No caches defined" +#endif // def HAL_DCACHE_SIZE #ifdef N_A_MSG externC void diff --git a/packages/kernel/current/tests/kexcept1.c b/packages/kernel/current/tests/kexcept1.c --- a/packages/kernel/current/tests/kexcept1.c +++ b/packages/kernel/current/tests/kexcept1.c @@ -93,6 +93,7 @@ static void handler1(cyg_addrword_t data } +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS // The following function attempts to cause an exception in various // hacky ways. It is machine dependent what exception is generated. // It does reads rather than writes hoping not to corrupt anything @@ -107,10 +108,13 @@ void cause_exception(void) p+=0x100000; } while(p != 0); } +#endif static void entry0( CYG_ADDRWORD data ) { +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS cyg_code_t n; +#endif cyg_exception_handler_t *old_handler, *old_handler1; cyg_addrword_t old_data, old_data1; @@ -145,6 +149,8 @@ static void entry0( CYG_ADDRWORD data ) cyg_exception_clear_handler(CYGNUM_HAL_EXCEPTION_MAX); cyg_exception_clear_handler(CYGNUM_HAL_EXCEPTION_MAX); +#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS + #if 0 #elif defined(CYGPKG_HAL_POWERPC_SIM) // The exception generated by the SIM is not recognized by GDB. @@ -169,6 +175,9 @@ static void entry0( CYG_ADDRWORD data ) cause_exception(); CYG_TEST_FAIL_FINISH("Couldn't cause exception"); +#else // CYGNUM_HAL_EXCEPTION_DATA_ACCESS + CYG_TEST_NA("Platform does not support data exceptions"); +#endif } #ifdef CYG_HAL_MIPS_TX39_JMR3904 diff --git a/packages/kernel/current/tests/stress_threads.c b/packages/kernel/current/tests/stress_threads.c --- a/packages/kernel/current/tests/stress_threads.c +++ b/packages/kernel/current/tests/stress_threads.c @@ -56,6 +56,7 @@ #include #include +#include CYGHWR_MEMORY_LAYOUT_H #if defined(CYGFUN_KERNEL_API_C) @@ -91,7 +92,7 @@ //----------------------------------------------------------------------- // Some targets need to define a smaller number of handlers due to // memory restrictions. -#ifdef CYGPKG_HAL_ARM_AEB +#if defined(CYGMEM_REGION_ram_SIZE) && (CYGMEM_REGION_ram_SIZE < 0x80000) #define MAX_HANDLERS 4 #define N_LISTENERS 1 #define N_CLIENTS 1 diff --git a/packages/language/c/libc/current/ChangeLog b/packages/language/c/libc/current/ChangeLog --- a/packages/language/c/libc/current/ChangeLog +++ b/packages/language/c/libc/current/ChangeLog @@ -1,4 +1,4 @@ -2000-03-20 John Dallaway +2000-03-28 John Dallaway * cdl/string.cdl, cdl/stdlib.cdl, @@ -7,6 +7,10 @@ 2000-03-20 John Dallaway + + * src/clibincl/stream.inl (check_this): Use cyb_bool instead of bool. + 2000-03-06 Jesper Skov * tests/time/strftime.c (test): Adjust test to match below change. diff --git a/packages/language/c/libc/current/src/clibincl/stream.inl b/packages/language/c/libc/current/src/clibincl/stream.inl --- a/packages/language/c/libc/current/src/clibincl/stream.inl +++ b/packages/language/c/libc/current/src/clibincl/stream.inl @@ -63,7 +63,7 @@ // FUNCTIONS #ifdef CYGDBG_USE_ASSERTS -inline bool +inline cyg_bool Cyg_StdioStream::check_this( cyg_assert_class_zeal zeal ) const { // check that it has the magic word set meaning it is valid. diff --git a/packages/language/c/libm/current/ChangeLog b/packages/language/c/libm/current/ChangeLog --- a/packages/language/c/libm/current/ChangeLog +++ b/packages/language/c/libm/current/ChangeLog @@ -1,4 +1,4 @@ -2000-03-20 John Dallaway +2000-03-28 John Dallaway * cdl/libm.cdl: