Mercurial > flash_v2
changeset 165:d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/host/tools/configtool/standalone/wxwin/CHANGES.txt @@ -0,0 +1,60 @@ +Release History for eCos Configuration Tool 2 +============================================= + +*** Version 2.03, June 28th 2001 + +- Corrected a bug introduced in the previous release, where the initial template + selection was wrong. + +*** Version 2.02, June 27th 2001 + +- Packages are now sorted in the Packages Dialog. + Templates are sorted on Windows, not yet on Linux. + +- There was an interaction between Configtool/TCL/Windows 98 that + caused a GPF when saving files. This has now been worked around. + +- When entering the user tools directory, Configtool now + recognises it correctly if it contains appropriate binaries. + +- The current build tools path is saved so that if the eCos + installer wasn't used, there will be a default build tools + path and the user won't get asked every time. + +- Main window now refreshed after some dialogs close and before + a lengthy operation for aesthetic reasons. + +- The dialogs for saving and opening .ecc files now default to the + directory of the last loaded/saved file, for convenience. + +- Switched to Rich Edit control for Output Window since it has + a higher capacity; this causes scrolling behaviour to be + less than optimal on NT and a bit weird on Win98, so there's some + work to do. + +- Stopping a build now works. + +- Added CHANGES.txt and TODO.txt to the distribution. + +*** Version 2.01, June 2001 + +- Clicking Save when tool was first loaded didn't do anything. + Now behaves like Save As for a first-time save. + +- Mix-up with directory names fixed. + +- Windows installer now leaves existing DLLs intact even if + the installer's files were newer. + +- The Unix tarball now contains a subdirectory containing the current + version in the name. + + +*** Version 2.0, May 2001 + +- Initial public release + + + + +
--- a/host/tools/configtool/standalone/wxwin/ConfigtoolVC.dsp +++ b/host/tools/configtool/standalone/wxwin/ConfigtoolVC.dsp @@ -647,6 +647,10 @@ SOURCE=..\..\..\..\ChangeLog # End Source File # Begin Source File +SOURCE=.\CHANGES.txt +# End Source File +# Begin Source File + SOURCE=.\setup\innobott.txt # End Source File # Begin Source File
--- a/host/tools/configtool/standalone/wxwin/README.txt +++ b/host/tools/configtool/standalone/wxwin/README.txt @@ -82,24 +82,7 @@ Known bugs: Version History --------------- -*** Version 2.01, June 2001 - -- Clicking Save when tool was first loaded didn't do anything. - Now behaves like Save As for a first-time save. - -- Mix-up with directory names fixed. - -- Windows installer now leaves existing DLLs intact even if - the installer's files were newer. - -- The Unix tarball now contains a subdirectory containing the current - version in the name. - - -*** Version 2.0, May 2001 - -- Initial public release - +See CHANGES.txt. Installing the Configuration Tool =================================
--- a/host/tools/configtool/standalone/wxwin/TODO.txt +++ b/host/tools/configtool/standalone/wxwin/TODO.txt @@ -1,7 +1,21 @@ -ToDo List for Configuration Tool 2.x -==================================== +To-Do List for Configuration Tool 2.x +===================================== + +- Implement Memory Layout Tool. + +- Debug Run Tests Dialog. + +- List templates in alphabetical order under Linux. Unfortunately + wxComboBox in wxGTK doesn't support wxCB_SORT at this time + (but wxChoice does). -- implement Memory Layout Tool -- debug Run Tests Dialog -- List packages in alphabetical order in the Packages dialog +- User reports that if you set ECOS_REPOSITORY to e.g. /home/julians/eCos/ecc/ecc, + configtool will complain about a missing packages directory. + (Can't reproduce.) +- Importing more than one package at a time can cause conflicts + whereas importing one at a time causes no conflicts. + +- Switching to Rich Edit control for Output Window causes scroll problems + on Windows 98. +
--- a/host/tools/configtool/standalone/wxwin/aboutdlg.cpp +++ b/host/tools/configtool/standalone/wxwin/aboutdlg.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/09/11 -// Version: $Id: aboutdlg.cpp,v 1.10 2001/05/22 14:31:40 julians Exp $ +// Version: $Id: aboutdlg.cpp,v 1.11 2001/06/27 14:07:05 julians Exp $ // Purpose: // Description: Implementation file for ecAboutDialog // Requires: @@ -101,7 +101,9 @@ bool ecAboutDialog::AddControls(wxWindow } // Customize the HTML - htmlText.Replace(wxT("$VERSION$"), ecCONFIGURATION_TOOL_VERSION_STRING); + wxString verString; + verString.Printf("%.2f", ecCONFIGURATION_TOOL_VERSION); + htmlText.Replace(wxT("$VERSION$"), verString); htmlText.Replace(wxT("$DATE$"), __DATE__); wxSize htmlSize(420, 390);
--- a/host/tools/configtool/standalone/wxwin/appsettings.cpp +++ b/host/tools/configtool/standalone/wxwin/appsettings.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/08/29 -// Version: $Id: appsettings.cpp,v 1.21 2001/05/30 12:37:24 julians Exp $ +// Version: $Id: appsettings.cpp,v 1.22 2001/06/26 17:26:35 julians Exp $ // Purpose: // Description: Implementation file for the ecSettings // Requires: @@ -167,6 +167,9 @@ void ecSettings::Copy(const ecSettings& // Run tests settings m_runTestsSettings = settings.m_runTestsSettings; + + m_userToolsDir = settings.m_userToolsDir; + m_buildToolsDir = settings.m_buildToolsDir; } ecSettings::~ecSettings() @@ -287,6 +290,10 @@ bool ecSettings::LoadConfig() // Use the default provided by the installer config.Read(_("Default User Tools Path"), & m_userToolsDir); } + + // Only to be used if we fail to find the information installed + // with the Configuration Tool. + config.Read(_("/Paths/BuildToolsDir"), & m_buildToolsDir); if (!config.Read(_("/Build/Make Options"), & m_strMakeOptions)) { @@ -570,6 +577,7 @@ bool ecSettings::SaveConfig() config.Write(_("/Rule/Checking"), (long) m_nRuleChecking); config.Write(_("/Paths/UserToolsDir"), m_userToolsDir); + config.Write(_("/Paths/BuildToolsDir"), m_buildToolsDir); config.Write(_("/Build/Make Options"), m_strMakeOptions);
--- a/host/tools/configtool/standalone/wxwin/appsettings.h +++ b/host/tools/configtool/standalone/wxwin/appsettings.h @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/08/29 -// Version: $Id: appsettings.h,v 1.8 2001/04/24 14:39:13 julians Exp $ +// Version: $Id: appsettings.h,v 1.9 2001/06/26 17:26:35 julians Exp $ // Purpose: // Description: Header file for the ConfigTool application settings // Requires: @@ -166,7 +166,8 @@ public: const ecFileName& DefaultExternalBrowser() ; - const wxString& GetUserToolsDir() const { return m_userToolsDir; } + const wxString& GetUserToolsDir() const { return m_userToolsDir; } + const wxString& GetBuildToolsDir() const { return m_buildToolsDir; } /* Only used if no other clues */ wxStringToStringMap& GetBinDirs() { return m_arstrBinDirs; } @@ -210,6 +211,7 @@ public: bool m_bHex; ecFileName m_userToolsDir; + ecFileName m_buildToolsDir; /* Only used if no other clues */ wxString m_strMakeOptions;
--- a/host/tools/configtool/standalone/wxwin/configtool.cpp +++ b/host/tools/configtool/standalone/wxwin/configtool.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/08/24 -// Version: $Id: configtool.cpp,v 1.35 2001/06/18 14:41:13 julians Exp $ +// Version: $Id: configtool.cpp,v 1.36 2001/06/26 17:26:35 julians Exp $ // Purpose: // Description: Implementation file for the ConfigTool application class // Requires: @@ -181,7 +181,7 @@ bool ecApp::OnInit() m_docManager = new wxDocManager; // Create a template relating documents to their views - (void) new wxDocTemplate(m_docManager, "Configtool", "*.ecc", "", "ecc", "Configtool Doc", "Configtool View", + wxDocTemplate* templ = new wxDocTemplate(m_docManager, "Configtool", "*.ecc", "", "ecc", "Configtool Doc", "Configtool View", CLASSINFO(ecConfigToolDoc), CLASSINFO(ecConfigToolView)); // If we've only got one window, we only get to edit @@ -199,6 +199,10 @@ bool ecApp::OnInit() // Load config settings m_settings.LoadConfig(); + // Set the default directory for opening/saving files + if (!m_settings.m_lastFilename.IsEmpty()) + templ->SetDirectory(wxPathOnly(m_settings.m_lastFilename)); + #ifdef __WXMSW__ wxBitmap bitmap(wxBITMAP(splash)); #else @@ -613,11 +617,11 @@ void ecApp::Log(const wxString& msg) ecMainFrame* frame = (ecMainFrame*) GetTopWindow(); if (frame) { - // TODO is SetInsertionPointEnd necessary? - frame->GetOutputWindow()->SetInsertionPointEnd(); frame->GetOutputWindow()->AppendText(msg /* + wxT("\n") */ ); if ((msg == wxEmptyString) || (msg.Last() != wxT('\n'))) frame->GetOutputWindow()->AppendText(wxT("\n")); + + frame->GetOutputWindow()->ShowPosition(frame->GetOutputWindow()->GetLastPosition()); } } @@ -807,10 +811,20 @@ bool ecApp::PrepareEnvironment(bool bWit bool rc = FALSE; rc=(! bWithBuildTools) || GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); - if(!rc){ - wxCommandEvent event; - GetMainFrame()->OnBuildToolsPath(event); - rc = GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); + if(!rc) + { + // Use fallback of previously-entered build tools directory, if available + if (!GetSettings().m_buildToolsDir.IsEmpty()) + { + strBinDir = GetSettings().m_buildToolsDir ; + rc = TRUE; + } + else + { + wxCommandEvent event; + GetMainFrame()->OnBuildToolsPath(event); + rc = GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); + } } if (rc) @@ -896,10 +910,20 @@ bool ecApp::PrepareEnvironment(bool bWit bool rc = FALSE; rc=(! bWithBuildTools) || GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); - if(!rc){ - wxCommandEvent event; - GetMainFrame()->OnBuildToolsPath(event); - rc = GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); + if(!rc) + { + // Use fallback of previously-entered build tools directory, if available + if (!GetSettings().m_buildToolsDir.IsEmpty()) + { + strBinDir = GetSettings().m_buildToolsDir ; + rc = TRUE; + } + else + { + wxCommandEvent event; + GetMainFrame()->OnBuildToolsPath(event); + rc = GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); + } } if (rc)
--- a/host/tools/configtool/standalone/wxwin/configtooldoc.cpp +++ b/host/tools/configtool/standalone/wxwin/configtooldoc.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/10/05 -// Version: $Id: configtooldoc.cpp,v 1.31 2001/06/18 14:41:13 julians Exp $ +// Version: $Id: configtooldoc.cpp,v 1.33 2001/06/28 15:54:25 julians Exp $ // Purpose: // Description: Implementation file for the ecConfigToolDoc class // Requires: @@ -668,6 +668,10 @@ bool ecConfigToolDoc::OpenRepository(con wxGetApp().SetStatusText(wxEmptyString); return FALSE; } +#ifdef __WXMSW__ + // Ensure display gets updated + wxYield(); +#endif strNewRepository=dlg.GetFolder(); } else { @@ -1893,6 +1897,9 @@ int ecConfigToolDoc::GetTestExeNames (wx strFile += wxFILE_SEP_PATH; strFile += ar[i]; + // Some tests accidentally specify .c + wxStripExtension(strFile); + #ifdef __WXMSW__ strFile += wxT(".exe"); strFile.Replace(wxT("/"),wxT("\\")); @@ -2193,7 +2200,8 @@ void ecConfigToolDoc::RunTests() } } wxString shellCommands; - if (wxGetApp().PrepareEnvironment(FALSE, & shellCommands)) + // Don't know why we passed TRUE (no build tools) but we need build tools for gdb + if (wxGetApp().PrepareEnvironment(TRUE /* FALSE */, & shellCommands)) { ecRunTestsDialog dialog(wxGetApp().GetTopWindow()); int i;
index 829afce7d766b040a6983b975e3262fa9f80577c..2dede1ea20584559afed2af3b2029d87928fcc5d GIT binary patch literal 71625 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 BwAugw
--- a/host/tools/configtool/standalone/wxwin/mainwin.cpp +++ b/host/tools/configtool/standalone/wxwin/mainwin.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/08/24 -// Version: $Id: mainwin.cpp,v 1.43 2001/06/18 14:41:13 julians Exp $ +// Version: $Id: mainwin.cpp,v 1.45 2001/06/26 17:26:35 julians Exp $ // Purpose: // Description: Implementation file for the ConfigTool main window // Requires: @@ -412,7 +412,7 @@ void ecMainFrame::CreateWindows() m_outputSashWindow->SetOrientation(wxLAYOUT_HORIZONTAL); m_outputSashWindow->SetAlignment(wxLAYOUT_BOTTOM); m_outputSashWindow->SetSashVisible(wxSASH_TOP, TRUE); - m_outputWindow = new ecOutputWindow(m_outputSashWindow, ecID_OUTPUT_WINDOW, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxCLIP_CHILDREN|wxTE_READONLY); + m_outputWindow = new ecOutputWindow(m_outputSashWindow, ecID_OUTPUT_WINDOW, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxCLIP_CHILDREN|wxTE_READONLY|wxTE_RICH); m_outputWindow->SetHelpText(_("The output window displays various warning and informational messages.")); // Sash window for the memory window @@ -890,6 +890,8 @@ void ecMainFrame::OnIdle(wxIdleEvent& ev void ecMainFrame::OnCloseWindow(wxCloseEvent& event) { + wxBusyCursor busy; + if (!wxGetApp().GetDocManager()->Clear(FALSE) && event.CanVeto()) { event.Veto(); @@ -1109,7 +1111,11 @@ void ecMainFrame::OnTemplates(wxCommandE ecTemplatesDialog dialog(this); if (dialog.ShowModal() == wxID_OK) { - ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc(); +#ifdef __WXMSW__ + // Ensure display gets updated + wxYield(); +#endif + ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc(); doc->SelectHardware(dialog.GetSelectedHardware()); doc->SelectTemplate(dialog.GetSelectedTemplate(), dialog.GetSelectedTemplateVersion()); @@ -1208,11 +1214,18 @@ void ecMainFrame::OnBuildToolsPath(wxCom wxStringToStringMap& map = wxGetApp().GetSettings().GetBinDirs(); map.BeginFind(); wxString key, value; + bool hasDefaultDir = FALSE; while (map.Next(key, value)) { arstrPaths.Add(value); if (key == strPrefix) defaultPath = value; + if (value == wxGetApp().GetSettings().m_buildToolsDir) + hasDefaultDir = TRUE; + } + if (!wxGetApp().GetSettings().m_buildToolsDir.IsEmpty() && !hasDefaultDir) + { + arstrPaths.Add(wxGetApp().GetSettings().m_buildToolsDir); } wxString msg; @@ -1246,6 +1259,8 @@ void ecMainFrame::OnBuildToolsPath(wxCom (wxID_YES == wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_QUESTION|wxYES_NO))) { map.Set(strPrefix, path); + if (!hasDefaultDir) + wxGetApp().GetSettings().m_buildToolsDir = path; } } } @@ -1279,9 +1294,9 @@ void ecMainFrame::OnUserToolsPath(wxComm #else wxString exeSuffix(wxEmptyString); #endif + wxString prog(wxString(wxT("ls")) + exeSuffix); - strFile += wxT("ls"); - strFile += (const wxChar*) exeSuffix; + strFile += (const wxChar*) prog; wxString msg; msg.Printf(wxT("%s does not appear to contain the user tools - use this folder anyway?"), (const wxChar*) path);
--- a/host/tools/configtool/standalone/wxwin/packagesdlg.cpp +++ b/host/tools/configtool/standalone/wxwin/packagesdlg.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/09/28 -// Version: $Id: packagesdlg.cpp,v 1.2 2001/03/23 13:38:04 julians Exp $ +// Version: $Id: packagesdlg.cpp,v 1.3 2001/06/27 12:48:18 julians Exp $ // Purpose: // Description: Implementation file for ecPackagesDialog // Requires: @@ -118,7 +118,7 @@ void ecPackagesDialog::CreateControls(wx item2->Add( item3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxString *strs4 = (wxString*) NULL; - wxListBox *item4 = new wxListBox( parent, ecID_PACKAGES_DIALOG_AVAILABLE_LIST, wxDefaultPosition, wxSize(180,190), 0, strs4, 0 ); + wxListBox *item4 = new wxListBox( parent, ecID_PACKAGES_DIALOG_AVAILABLE_LIST, wxDefaultPosition, wxSize(180,190), 0, strs4, wxLB_SORT ); item2->Add( item4, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 ); item1->Add( item2, 1, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL, 0 ); @@ -139,7 +139,7 @@ void ecPackagesDialog::CreateControls(wx item8->Add( item9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxString *strs10 = (wxString*) NULL; - wxListBox *item10 = new wxListBox( parent, ecID_PACKAGES_DIALOG_USE_LIST, wxDefaultPosition, wxSize(180,190), 0, strs10, 0 ); + wxListBox *item10 = new wxListBox( parent, ecID_PACKAGES_DIALOG_USE_LIST, wxDefaultPosition, wxSize(180,190), 0, strs10, wxLB_SORT ); item8->Add( item10, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 ); item1->Add( item8, 1, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL, 0 );
--- a/host/tools/configtool/standalone/wxwin/readme.html +++ b/host/tools/configtool/standalone/wxwin/readme.html @@ -84,7 +84,7 @@ from <A HREF="ftp://sources.redhat.com/p <P>Please try to use a mirror site close to you, as it will be faster.</P> <H3>Under Linux:</H3> -<P>Download <A HREF="ftp://sources.redhat.com/pub/ecos/ct2/configtool-2.01-i386.tar.gz">configtool-2.01-i386.tar.gz</A> (3.1Mb) or <A HREF="ftp://sources.redhat.com/pub/ecos/ct2/configtool-2.01-i386.tar.bz2">configtool-2.01-i386.tar.bz2</A> (2.8Mb).</P> +<P>Download <A HREF="ftp://sources.redhat.com/pub/ecos/ct2/configtool-2.02-i386.tar.gz">configtool-2.02-i386.tar.gz</A> (3.1Mb) or <A HREF="ftp://sources.redhat.com/pub/ecos/ct2/configtool-2.02-i386.tar.bz2">configtool-2.02-i386.tar.bz2</A> (2.8Mb).</P> <P>Unarchive the tar file into a suitable directory and add the directory to your path. You do not have to install it as root. For example:</P> @@ -107,7 +107,7 @@ warnings.</P> does require the GTK+ 1.2, GDK 1.2 and TCL 8.x libraries to be installed.</P> <H3>Under Windows:</H3> -<P>Download <A HREF="ftp://sources.redhat.com/pub/ecos/ct2/configtool-2.01-setup.exe">configtool-2.01-setup.exe</A>.</P> +<P>Download <A HREF="ftp://sources.redhat.com/pub/ecos/ct2/configtool-2.02-setup.exe">configtool-2.02-setup.exe</A>.</P> <P>Run the installer provided, preferably having installed eCos for Windows on your PC previously so the tool can pick up the relevant registry information added by the eCos installer. A new eCos
--- a/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp +++ b/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/09/29 -// Version: $Id: runtestsdlg.cpp,v 1.12 2001/05/02 10:36:15 julians Exp $ +// Version: $Id: runtestsdlg.cpp,v 1.13 2001/06/28 15:54:25 julians Exp $ // Purpose: // Description: Implementation file for ecRunTestsDialog // Requires: @@ -80,6 +80,7 @@ BEGIN_EVENT_TABLE(ecRunTestsDialog, wxDi EVT_NOTEBOOK_PAGE_CHANGED(-1, ecRunTestsDialog::OnPageChange) EVT_SIZE(ecRunTestsDialog::OnSize) EVT_IDLE(ecRunTestsDialog::OnIdle) + EVT_CLOSE(ecRunTestsDialog::OnCloseWindow) END_EVENT_TABLE() #define PROPERTY_DIALOG_WIDTH 600 @@ -213,12 +214,17 @@ ecRunTestsDialog::ecRunTestsDialog(wxWin // m_prop.Add(_T("Extension"),executionpage.m_strExtension); #endif +#ifdef _DEBUG + CeCosTrace::EnableTracing(CeCosTrace::TRACE_LEVEL_TRACE); +#endif + CeCosTrace::SetInteractive(TRUE); CeCosTrace::SetOutput(TestOutputCallback, this); CeCosTrace::SetError (TestOutputCallback, this); } ecRunTestsDialog::~ecRunTestsDialog() { + CeCosTrace::SetInteractive(FALSE); m_runTestsDialog = NULL; if (m_pResource) { @@ -228,9 +234,30 @@ ecRunTestsDialog::~ecRunTestsDialog() void ecRunTestsDialog::OnOK(wxCommandEvent& event) { + if (ecRunning == m_runStatus) + { + wxMessageBox(_("Tests are running. Please press Stop before quitting this dialog."), + wxGetApp().GetSettings().GetAppName(), wxICON_INFORMATION|wxOK, this); + return; + } + wxDialog::OnOK(event); } +void ecRunTestsDialog::OnCloseWindow(wxCloseEvent& event) +{ + if (ecRunning == m_runStatus) + { + wxMessageBox(_("Tests are running. Please press Stop before quitting this dialog."), + wxGetApp().GetSettings().GetAppName(), wxICON_INFORMATION|wxOK, this); + event.Veto(); + return; + } + + this->EndModal(wxID_CANCEL); + this->Destroy(); +} + void ecRunTestsDialog::OnProperties(wxCommandEvent& event) { ecSettingsDialog dialog(this);
--- a/host/tools/configtool/standalone/wxwin/runtestsdlg.h +++ b/host/tools/configtool/standalone/wxwin/runtestsdlg.h @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/09/29 -// Version: $Id: runtestsdlg.h,v 1.8 2001/05/02 10:36:15 julians Exp $ +// Version: $Id: runtestsdlg.h,v 1.9 2001/06/28 15:54:25 julians Exp $ // Purpose: // Description: Header file for ecRunTestsDialog // Requires: @@ -85,6 +85,7 @@ public: void OnPageChange(wxNotebookEvent& event); void OnSize(wxSizeEvent& event); void OnIdle(wxIdleEvent& event); + void OnCloseWindow(wxCloseEvent& event); virtual bool TransferDataToWindow(); virtual bool TransferDataFromWindow();
--- a/host/tools/configtool/standalone/wxwin/setup/configtool.iss +++ b/host/tools/configtool/standalone/wxwin/setup/configtool.iss @@ -44,6 +44,7 @@ [Files] Source: v:\deliver\configtool\about.htm; DestDir: {app}\ Source: v:\deliver\configtool\aboutlo.htm; DestDir: {app}\ + Source: v:\deliver\configtool\CHANGES.txt; DestDir: {app}\ Source: v:\deliver\configtool\configtool.exe; DestDir: {app}\ Source: v:\deliver\configtool\ecoslogo.png; DestDir: {app}\ Source: v:\deliver\configtool\ecoslogosmall.png; DestDir: {app}\ @@ -182,8 +183,9 @@ Source: v:\deliver\configtool\manual\user-guides.html; DestDir: {app}\manual Source: v:\deliver\configtool\README.txt; DestDir: {app}\ Source: v:\deliver\configtool\rhlogo.png; DestDir: {app}\ + Source: v:\deliver\configtool\TODO.txt; DestDir: {app}\ - Source: c:\winnt\system32\tcl84.dll; DestDir: {sys}\; DestName: tcl84.dll; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall + Source: c:\winnt\system32\tcl82.dll; DestDir: {sys}\; DestName: tcl82.dll; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall Source: c:\winnt\system32\msvcirt.dll; DestDir: {sys}\; DestName: msvcirt.dll; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall Source: c:\winnt\system32\msvcp60.dll; DestDir: {sys}\; DestName: msvcp60.dll; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall Source: c:\winnt\system32\msvcrt.dll; DestDir: {sys}\; DestName: msvcrt.dll; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall @@ -191,6 +193,7 @@ [Icons] Name: {group}\Configuration Tool; Filename: {app}\configtool.exe; WorkingDir: {app}; IconFilename: {app}\configtool.exe; IconIndex: 0 Name: {group}\ReadMe; Filename: {app}\README.txt; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths + Name: {group}\Changes; Filename: {app}\CHANGES.txt; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths Name: {group}\License; Filename: {app}\license.txt; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths Name: {group}\Configuration Tool Manual; Filename: {app}\manual\user-guides.4.html; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths Name: {userdesktop}\eCos Config Tool; Filename: {app}\configtool.exe; WorkingDir: {app}; IconFilename: {app}\configtool.exe; IconIndex: 0
--- a/host/tools/configtool/standalone/wxwin/setup/innobott.txt +++ b/host/tools/configtool/standalone/wxwin/setup/innobott.txt @@ -6,6 +6,7 @@ [Icons] Name: {group}\Configuration Tool; Filename: {app}\configtool.exe; WorkingDir: {app}; IconFilename: {app}\configtool.exe; IconIndex: 0 Name: {group}\ReadMe; Filename: {app}\README.txt; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths + Name: {group}\Changes; Filename: {app}\CHANGES.txt; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths Name: {group}\License; Filename: {app}\license.txt; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths Name: {group}\Configuration Tool Manual; Filename: {app}\manual\user-guides.4.html; WorkingDir: {app}; IconIndex: 0; Flags: useapppaths Name: {userdesktop}\eCos Config Tool; Filename: {app}\configtool.exe; WorkingDir: {app}; IconFilename: {app}\configtool.exe; IconIndex: 0
--- a/host/tools/configtool/standalone/wxwin/setup/makesetup.sh +++ b/host/tools/configtool/standalone/wxwin/setup/makesetup.sh @@ -42,6 +42,8 @@ doinno() cp $SRC/about.htm . cp $SRC/README.txt . + cp $SRC/CHANGES.txt . + cp $SRC/TODO.txt . cp $SRC/*.png . cp "$ECOSDIR/ecc/release/eCos Install/Setup Files/Uncompressed Files/Disk1/license.txt" . cp $BINARYSRC/configtool.exe . @@ -83,7 +85,7 @@ doinno() fi #echo About to: cp configtool-$VERSION-setup.exe "$LOCALARCHIVEDIR/`date +%Y-%m-%d`" - cp configtool-$VERSION-setup.exe "$LOCALARCHIVEDIR/`date +%Y-%m-%d`" + cp $DEST/configtool/CHANGES.txt $DEST/configtool/README.txt configtool-$VERSION-setup.exe "$LOCALARCHIVEDIR/`date +%Y-%m-%d`" fi }
--- a/host/tools/configtool/standalone/wxwin/setup/maketarball.sh +++ b/host/tools/configtool/standalone/wxwin/setup/maketarball.sh @@ -31,6 +31,8 @@ dotar() cp $SRC/*.png . cp $SRC/setup/ecosplatforms.tar.gz . cp $SRC/README.txt . + cp $SRC/CHANGES.txt . + cp $SRC/TODO.txt . cp "$ECOSDIR/ecc/release/eCos Install/Setup Files/Uncompressed Files/Disk1/license.txt" . cp $BINARYSRC/configtool . cp $CONFIGTOOLDIR/manual/*.html $CONFIGTOOLDIR/manual/*.css $CONFIGTOOLDIR/manual/*.gif manual
--- a/host/tools/configtool/standalone/wxwin/symbols.h +++ b/host/tools/configtool/standalone/wxwin/symbols.h @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2001/05/14 -// Version: $Id: symbols.h,v 1.4 2001/06/18 14:41:13 julians Exp $ +// Version: $Id: symbols.h,v 1.6 2001/06/28 15:54:25 julians Exp $ // Purpose: // Description: Some important symbols, such as the version // Requires: @@ -43,5 +43,5 @@ // //=========================================================================== -#define ecCONFIGURATION_TOOL_VERSION 2.02 -#define ecCONFIGURATION_TOOL_VERSION_STRING "2.01" +#define ecCONFIGURATION_TOOL_VERSION 2.03 +
--- a/host/tools/configtool/standalone/wxwin/templatesdlg.cpp +++ b/host/tools/configtool/standalone/wxwin/templatesdlg.cpp @@ -30,7 +30,7 @@ // Author(s): julians // Contact(s): julians // Date: 2000/09/27 -// Version: $Id: templatesdlg.cpp,v 1.5 2001/03/23 13:38:04 julians Exp $ +// Version: $Id: templatesdlg.cpp,v 1.7 2001/06/28 15:54:25 julians Exp $ // Purpose: // Description: Implementation file for ecTemplatesDialog // Requires: @@ -107,7 +107,7 @@ void ecTemplatesDialog::CreateControls(w wxSizer *item1 = new wxStaticBoxSizer( item2, wxVERTICAL ); wxString *strs3 = (wxString*) NULL; - wxComboBox *item3 = new wxComboBox( parent, ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES, "", wxDefaultPosition, wxSize(360,-1), 0, strs3, wxCB_DROPDOWN|wxCB_READONLY ); + wxComboBox *item3 = new wxComboBox( parent, ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES, "", wxDefaultPosition, wxSize(360,-1), 0, strs3, wxCB_DROPDOWN|wxCB_READONLY|wxCB_SORT ); item1->Add( item3, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxTextCtrl *item4 = new wxTextCtrl( parent, ecID_TEMPLATES_DIALOG_HARDWARE_DESCRIPTION, _(""), wxDefaultPosition, wxSize(90,60), wxTE_MULTILINE|wxTE_READONLY ); @@ -222,7 +222,14 @@ void ecTemplatesDialog::PopulateControls cdlHardwareCtrl->Append(strTargetDescription, (void*) target_i); // store the target iterator std::string str(* (target_i)); if (m_hardware == str.c_str()) // if current target... - cdlHardwareCtrl->SetSelection (nIndex); // ...select the string + { + int sel = 0; + int i; + for (i = 0; i <= nIndex; i++) + if (cdlHardwareCtrl->GetClientData(i) == (void*) target_i) + sel = i; + cdlHardwareCtrl->SetSelection (sel); // ...select the string + } nIndex ++; }
--- a/packages/ChangeLog +++ b/packages/ChangeLog @@ -1,3 +1,7 @@ +2001-06-28 Jonathan Larmour <jlarmour@redhat.com> + + * ecos.db: Clarify edb7xxx description. + 2001-06-22 Jonathan Larmour <jlarmour@redhat.com> * ecos.db: Add CYGPKG_NET_ETH_DRIVERS alias for CYGPKG_IO_ETH_DRIVERS
--- a/packages/devs/eth/powerpc/fec/current/ChangeLog +++ b/packages/devs/eth/powerpc/fec/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-26 Jonathan Larmour <jlarmour@redhat.com> + + * src/if_fec.c (fec_eth_init): Use correct version register. + 2001-05-07 Gary Thomas <gthomas@redhat.com> * src/if_fec.c (fec_eth_init): Use RedBoot/fconfig data for ethernet
--- a/packages/devs/eth/powerpc/fec/current/src/if_fec.c +++ b/packages/devs/eth/powerpc/fec/current/src/if_fec.c @@ -59,6 +59,7 @@ #include <cyg/hal/hal_intr.h> #include <cyg/hal/drv_api.h> #include <cyg/hal/hal_if.h> +#include <cyg/hal/ppc_regs.h> #include <netdev.h> #include <eth_drv.h> @@ -260,7 +261,7 @@ fec_eth_init(struct cyg_netdevtab_entry // Set up parallel port for connection to ethernet tranceiver eppc->pio_pdpar = 0x1FFF; - asm volatile ("mfspr %0,638 \n\t" : "=r" (proc_rev) : ); + CYGARC_MFSPR( proc_rev, CYGARC_REG_PVR ); #define PROC_REVB 0x0020 if ((proc_rev & 0x0000FFFF) == PROC_REVB) { eppc->pio_pddir = 0x1C58;
--- a/packages/ecos.db +++ b/packages/ecos.db @@ -1070,6 +1070,16 @@ package CYGPKG_HAL_ARM_EBSA285 { eCos on a Intel EBSA285 StrongARM eval board." } +package CYGPKG_HAL_ARM_ARM9 { + alias { "ARM9 variant" hal_arm_arm9 } + directory hal/arm/arm9/var + script hal_arm_arm9.cdl + hardware + description " + The ARM9 HAL package provides the support needed to run + eCos on a ARM9 based systems." +} + package CYGPKG_HAL_ARM_SA11X0 { alias { "Intel SA11X0 Chipset" hal_arm_sa11x0 } directory hal/arm/sa11x0/var @@ -1870,7 +1880,7 @@ target iq80310 { } target edb7xxx { - alias { "Cirrus Logic development board" edb7211 eb7xxx eb7211 } + alias { "Cirrus Logic EDB7xxx development board" edb7211 eb7xxx eb7211 } packages { CYGPKG_HAL_ARM CYGPKG_HAL_ARM_EDB7XXX CYGPKG_DEVS_ETH_ARM_EDB7XXX @@ -1878,7 +1888,7 @@ target edb7xxx { CYGPKG_DEVS_FLASH_EDB7XXX } description " -The edb7xxx target provides the packages needed to run eCos on Cirrus Logic development boards." +The edb7xxx target provides the packages needed to run eCos on the Cirrus Logic EDB7xxx development boards." } target cma230 {
--- a/packages/hal/arm/edb7xxx/current/ChangeLog +++ b/packages/hal/arm/edb7xxx/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-28 Jonathan Larmour <jlarmour@redhat.com> + + * cdl/hal_arm_edb7xxx.cdl: Clarify platform description. + 2001-06-08 Gary Thomas <gthomas@redhat.com> * support/dl_edb7xxx.c: Change use of 'CharReady()' which seems
--- a/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl +++ b/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl @@ -41,14 +41,14 @@ # ==================================================================== cdl_package CYGPKG_HAL_ARM_EDB7XXX { - display "Cirrus Logic development board" + display "Cirrus Logic EDB7xxx development board" parent CYGPKG_HAL_ARM include_dir cyg/hal hardware define_header hal_arm_edb7xxx.h description " The EDB7XXX HAL package provides the support needed to run - eCos on a Cirrus Logic development board." + eCos on a Cirrus Logic EDB7xxx development board." compile hal_diag.c edb7xxx_misc.c
--- a/packages/hal/common/current/ChangeLog +++ b/packages/hal/common/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-28 Jesper Skov <jskov@redhat.com> + + * include/hal_misc.h (hal_call_isr): Added. Used by ISR arbiters. + 2001-06-22 Gary Thomas <gthomas@redhat.com> * src/generic-stub.c (BUFMAX): Define as platform specific, thus
--- a/packages/hal/common/current/include/hal_misc.h +++ b/packages/hal/common/current/include/hal_misc.h @@ -47,6 +47,67 @@ #ifndef __ASSEMBLER__ #include <cyg/infra/cyg_type.h> // types & externC +//============================================================================= +// Function used to call ISRs from ISR arbiters +// An arbiter is hooked on the shared interrupt vector and looks like this: +// +// cyg_uint32 _arbitration_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data) +// { +// cyg_uint32 isr_ret; +// // decode interrupt source and for each active source call the ISR +// if (source_A_active) { +// isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SOURCE_A); +// #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN +// if (isr_ret & CYG_ISR_HANDLED) +// #endif +// return isr_ret; +// } +// if (source_B_active) { +// isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SOURCE_B); +// #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN +// if (isr_ret & CYG_ISR_HANDLED) +// #endif +// return isr_ret; +// } +// ... +// return 0; +// } +// +// Remember to attach and enable the arbiter source: +// HAL_INTERRUPT_ATTACH(CYGNUM_HAL_INTERRUPT_ARBITER, &_arbitration_isr, 0, 0); +// HAL_INTERRUPT_SET_LEVEL(CYGNUM_HAL_INTERRUPT_ARBITER, 1); +// HAL_INTERRUPT_UNMASK(CYGNUM_HAL_INTERRUPT_ARBITER); +// + +#include <cyg/hal/hal_intr.h> // hal_interrupt_x tables +#include <cyg/hal/drv_api.h> // CYG_ISR_HANDLED + +typedef cyg_uint32 cyg_ISR(cyg_uint32 vector, CYG_ADDRWORD data); + +extern void cyg_interrupt_post_dsr( CYG_ADDRWORD intr_obj ); + +static inline cyg_uint32 +hal_call_isr (cyg_uint32 vector) +{ + cyg_ISR *isr; + CYG_ADDRWORD data; + cyg_uint32 isr_ret; + + isr = (cyg_ISR*) hal_interrupt_handlers[vector]; + data = hal_interrupt_data[vector]; + + isr_ret = (*isr) (vector, data); + +#ifdef CYGFUN_HAL_COMMON_KERNEL_SUPPORT + if (isr_ret & CYG_ISR_CALL_DSR) { + cyg_interrupt_post_dsr (hal_interrupt_objects[vector]); + } +#endif + + return isr_ret & ~CYG_ISR_CALL_DSR; +} + +//============================================================================= externC cyg_bool cyg_hal_is_break(char *buf, int size); externC void cyg_hal_user_break( CYG_ADDRWORD *regs ); #endif
--- a/packages/hal/mips/arch/current/ChangeLog +++ b/packages/hal/mips/arch/current/ChangeLog @@ -1,3 +1,13 @@ +2001-06-27 Mark Salter <msalter@redhat.com> + + * src/vectors.S (_start): Add code to switch from KSEG1 to KSEG0 if + CYGARC_START_FUNC_UNCACHED. + +2001-06-27 Hugo Tyson <hmt@redhat.com> + + * src/hal_misc.c: Include <cyg/hal/hal_if.h> for definition of + hal_ctrlc_isr() and hence warnings reduced. + 2001-06-19 Mark Salter <msalter@redhat.com> * include/hal_arch.h: Support saving/restoring CP0 registers for GDB.
--- a/packages/hal/mips/arch/current/src/hal_misc.c +++ b/packages/hal/mips/arch/current/src/hal_misc.c @@ -54,7 +54,7 @@ #include <cyg/hal/hal_intr.h> // Interrupt handling #include <cyg/hal/hal_cache.h> // Cache handling - +#include <cyg/hal/hal_if.h> // hal_ctrlc_isr() #include <cyg/hal/mips-regs.h> // FPU cause register definitions /*------------------------------------------------------------------------*/
--- a/packages/hal/mips/arch/current/src/vectors.S +++ b/packages/hal/mips/arch/current/src/vectors.S @@ -168,6 +168,15 @@ FUNC_START(_start) hal_cache_init hal_timer_init +#ifdef CYGARC_START_FUNC_UNCACHED + # switch to cached execution address if necessary + # assumption is that hal_cache_init makes this safe + lar v0,1f + jr v0 + nop + 1: +#endif + # Load Global Pointer register. la gp,_gp
--- a/packages/hal/powerpc/mpc8xx/current/ChangeLog +++ b/packages/hal/powerpc/mpc8xx/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-28 Jesper Skov <jskov@redhat.com> + + * src/var_intr.c: Moved hal_call_isr to hal_misc.h in common HAL. + 2001-01-31 Jesper Skov <jskov@redhat.com> * cdl/hal_powerpc_mpc8xx.cdl: Get rid of
--- a/packages/hal/powerpc/mpc8xx/current/src/var_intr.c +++ b/packages/hal/powerpc/mpc8xx/current/src/var_intr.c @@ -44,34 +44,7 @@ #include <pkgconf/hal.h> #include <cyg/hal/ppc_regs.h> - -#include <cyg/hal/hal_intr.h> // hal_interrupt_x tables -#include <cyg/hal/drv_api.h> // CYG_ISR_HANDLED - -typedef cyg_uint32 cyg_ISR(cyg_uint32 vector, CYG_ADDRWORD data); - -extern void cyg_interrupt_post_dsr( CYG_ADDRWORD intr_obj ); - -static inline cyg_uint32 -hal_call_isr (cyg_uint32 vector) -{ - cyg_ISR *isr; - CYG_ADDRWORD data; - cyg_uint32 isr_ret; - - isr = (cyg_ISR*) hal_interrupt_handlers[vector]; - data = hal_interrupt_data[vector]; - - isr_ret = (*isr) (vector, data); - -#ifdef CYGFUN_HAL_COMMON_KERNEL_SUPPORT - if (isr_ret & CYG_ISR_CALL_DSR) { - cyg_interrupt_post_dsr (hal_interrupt_objects[vector]); - } -#endif - - return isr_ret & ~CYG_ISR_CALL_DSR; -} +#include <cyg/hal/hal_misc.h> //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #ifdef CYGPKG_HAL_POWERPC_MPC860 @@ -102,22 +75,18 @@ hal_arbitration_isr_tb (CYG_ADDRWORD vec HAL_READ_UINT16 (CYGARC_REG_IMM_TBSCR, tbscr); if (tbscr & CYGARC_REG_IMM_TBSCR_REFA) { isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SIU_TB_A); - - CYG_ASSERT (isr_ret & CYG_ISR_HANDLED, "Interrupt not handled"); - -#ifndef CYGSEM_HAL_COMMON_INTERRUPTS_CHECK_ALL_SOURCES - return isr_ret; +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN + if (isr_ret & CYG_ISR_HANDLED) #endif + return isr_ret; } if (tbscr & CYGARC_REG_IMM_TBSCR_REFB) { isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SIU_TB_B); - - CYG_ASSERT (isr_ret & CYG_ISR_HANDLED, "Interrupt not handled"); - -#ifndef CYGSEM_HAL_COMMON_INTERRUPTS_CHECK_ALL_SOURCES - return isr_ret; +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN + if (isr_ret & CYG_ISR_HANDLED) #endif + return isr_ret; } return 0; @@ -136,12 +105,10 @@ hal_arbitration_isr_pit (CYG_ADDRWORD ve HAL_READ_UINT16 (CYGARC_REG_IMM_PISCR, piscr); if (piscr & CYGARC_REG_IMM_PISCR_PS) { isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SIU_PIT); - - CYG_ASSERT (isr_ret & CYG_ISR_HANDLED, "Interrupt not handled"); - -#ifndef CYGSEM_HAL_COMMON_INTERRUPTS_CHECK_ALL_SOURCES - return isr_ret; +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN + if (isr_ret & CYG_ISR_HANDLED) #endif + return isr_ret; } return 0; @@ -162,22 +129,18 @@ hal_arbitration_isr_rtc (CYG_ADDRWORD ve HAL_READ_UINT16 (CYGARC_REG_IMM_RTCSC, rtcsc); if (rtcsc & CYGARC_REG_IMM_RTCSC_SEC) { isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SIU_RTC_SEC); - - CYG_ASSERT (isr_ret & CYG_ISR_HANDLED, "Interrupt not handled"); - -#ifndef CYGSEM_HAL_COMMON_INTERRUPTS_CHECK_ALL_SOURCES - return isr_ret; +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN + if (isr_ret & CYG_ISR_HANDLED) #endif + return isr_ret; } if (rtcsc & CYGARC_REG_IMM_RTCSC_ALR) { isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_SIU_RTC_ALR); - - CYG_ASSERT (isr_ret & CYG_ISR_HANDLED, "Interrupt not handled"); - -#ifndef CYGSEM_HAL_COMMON_INTERRUPTS_CHECK_ALL_SOURCES - return isr_ret; +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN + if (isr_ret & CYG_ISR_HANDLED) #endif + return isr_ret; } return 0; @@ -196,12 +159,10 @@ hal_arbitration_isr_cpm (CYG_ADDRWORD ve civr >>= CYGARC_REG_IMM_CIVR_VECTOR_SHIFT; if (civr) { isr_ret = hal_call_isr (CYGNUM_HAL_INTERRUPT_CPM_LAST - civr); - - CYG_ASSERT (isr_ret & CYG_ISR_HANDLED, "Interrupt not handled"); - -#ifndef CYGSEM_HAL_COMMON_INTERRUPTS_CHECK_ALL_SOURCES - return isr_ret; +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN + if (isr_ret & CYG_ISR_HANDLED) #endif + return isr_ret; } return 0; @@ -228,4 +189,3 @@ hal_variant_IRQ_init(void) // ------------------------------------------------------------------------- // EOF var_intr.c -
--- a/packages/hal/sh/arch/current/ChangeLog +++ b/packages/hal/sh/arch/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-27 Jesper Skov <jskov@redhat.com> + + * include/hal_arch.h: Added CPU address space translation macros. + 2001-05-29 Jesper Skov <jskov@redhat.com> * include/hal_io.h: Include var_io.h
--- a/packages/hal/sh/arch/current/include/hal_arch.h +++ b/packages/hal/sh/arch/current/include/hal_arch.h @@ -300,6 +300,13 @@ externC void hal_idle_thread_action(cyg_ #define CYGARC_HAL_SAVE_GP() #define CYGARC_HAL_RESTORE_GP() + +//-------------------------------------------------------------------------- +// CPU address space translation macros +#define CYGARC_PHYSICAL_ADDRESS(x) ((CYG_ADDRWORD)(x) & 0x1fffffff) +#define CYGARC_CACHED_ADDRESS(x) (CYGARC_PHYSICAL_ADDRESS(x)|0x80000000) +#define CYGARC_UNCACHED_ADDRESS(x) (CYGARC_PHYSICAL_ADDRESS(x)|0xa0000000) + //----------------------------------------------------------------------------- #endif // CYGONCE_HAL_ARCH_H // End of hal_arch.h
--- a/packages/hal/sh/sh3/current/ChangeLog +++ b/packages/hal/sh/sh3/current/ChangeLog @@ -1,3 +1,8 @@ +2001-06-28 Jesper Skov <jskov@redhat.com> + + * include/var_intr.h: Allow platforms to extend vector table. + * src/var_misc.c: Same. + 2001-06-19 Jesper Skov <jskov@redhat.com> * include/mod_regs_ubc.h: Allow MOD_UBC to be unset.
--- a/packages/hal/sh/sh3/current/include/var_intr.h +++ b/packages/hal/sh/sh3/current/include/var_intr.h @@ -93,7 +93,11 @@ #define CYGNUM_HAL_INTERRUPT_ADC_ADI 62 #undef CYGNUM_HAL_ISR_MAX -#define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_INTERRUPT_ADC_ADI +#ifdef CYGNUM_HAL_ISR_PLF_MAX +# define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_ISR_PLF_MAX +#else +# define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_INTERRUPT_ADC_ADI +#endif #endif // CYGARC_SH_MOD_INTC >= 2 @@ -106,11 +110,25 @@ #define CYGNUM_HAL_INTERRUPT_PCC_PCC1 65 #undef CYGNUM_HAL_ISR_MAX -#define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_INTERRUPT_PCC_PCC1 +#ifdef CYGNUM_HAL_ISR_PLF_MAX +# define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_ISR_PLF_MAX +#else +# define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_INTERRUPT_PCC_PCC1 +#endif #endif // CYGARC_SH_MOD_INTC >= 3 +//---------------------------------------------------------------------------- +// Platform may provide extensions to the interrupt configuration functions +// via these macros. The first macro is put inside the functions's +// switch statements, the last two called as functions. +#ifndef CYGPRI_HAL_INTERRUPT_UPDATE_LEVEL_PLF +# define CYGPRI_HAL_INTERRUPT_UPDATE_LEVEL_PLF(vec, level) +# define CYGPRI_HAL_INTERRUPT_ACKNOWLEDGE_PLF(vec) +# define CYGPRI_HAL_INTERRUPT_CONFIGURE_PLF(vec) +#endif + //-------------------------------------------------------------------------- #endif // ifndef CYGONCE_VAR_INTR_H // End of var_intr.h
--- a/packages/hal/sh/sh3/current/src/var_misc.c +++ b/packages/hal/sh/sh3/current/src/var_misc.c @@ -280,6 +280,9 @@ hal_interrupt_update_level(int vector) /* Do nothing for these reserved vectors. */ break; + // Platform extensions + CYGPRI_HAL_INTERRUPT_UPDATE_LEVEL_PLF(vector, level) + default: CYG_FAIL("Unknown interrupt vector"); break; @@ -381,6 +384,8 @@ hal_interrupt_acknowledge(int vector) HAL_WRITE_UINT8(CYGARC_REG_IRR0, irr0); } #endif + + CYGPRI_HAL_INTERRUPT_ACKNOWLEDGE_PLF(vector); } // Note: The PINTs can be masked and configured individually, even
--- a/packages/io/usb/eth/slave/current/ChangeLog +++ b/packages/io/usb/eth/slave/current/ChangeLog @@ -1,3 +1,10 @@ +2001-06-28 Bart Veer <bartv@redhat.com> + + * include/usbs_eth.h, src/usbsethdrv.c, src/usbseth.c: + Align receive boundaries to cacheline boundaries, and + always transfer a multiple of the cacheline size. This + avoids problems with some USB device drivers. + 2001-05-21 Bart Veer <bartv@redhat.com> * host/ecos_usbeth.c (ecos_usbeth_start_tx):
--- a/packages/io/usb/eth/slave/current/include/usbs_eth.h +++ b/packages/io/usb/eth/slave/current/include/usbs_eth.h @@ -25,7 +25,7 @@ // // The Initial Developer of the Original Code is Red Hat. // Portions created by Red Hat are -// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc. // All Rights Reserved. // ------------------------------------------- // @@ -178,6 +178,9 @@ extern "C" { #ifdef CYGPKG_USBS_ETHDRV # include <netdev.h> #endif + +// Cache details, to allow alignment to cache line boundaries etc. +#include <cyg/hal/hal_cache.h> // ---------------------------------------------------------------------------- // Maximum transfer size. This is not specified by io/eth. It can be @@ -208,6 +211,21 @@ extern "C" { // for the length. #define CYGNUM_USBS_ETH_MIN_FRAME_SIZE 14 #define CYGNUM_USBS_ETH_MINTU (CYGNUM_USBS_ETH_MIN_FRAME_SIZE + 2) + +// Typical USB devices involve DMA operations and hence confusion +// between cached and uncached memory. To make life easier for +// the underlying USB device drivers, this package ensures that +// receive operations always involve buffers that are aligned to +// a cache-line boundary and that are a multiple of the cacheline +// size. +#ifndef HAL_DCACHE_LINE_SIZE +# define CYGNUM_USBS_ETH_RXBUFSIZE CYGNUM_USBS_ETH_MAXTU +# define CYGNUM_USBS_ETH_RXSIZE CYGNUM_USBS_ETH_MAXTU +#else +# define CYGNUM_USBS_ETH_RXBUFSIZE ((CYGNUM_USBS_ETH_MAXTU + HAL_DCACHE_LINE_SIZE + HAL_DCACHE_LINE_SIZE - 1) \ + & ~(HAL_DCACHE_LINE_SIZE - 1)) +# define CYGNUM_USBS_ETH_RXSIZE ((CYGNUM_USBS_ETH_MAXTU + HAL_DCACHE_LINE_SIZE - 1) & ~(HAL_DCACHE_LINE_SIZE - 1)) +#endif // ---------------------------------------------------------------------------- // This data structure serves two purposes. First, it keeps track of @@ -298,11 +316,19 @@ typedef struct usbs_eth { // 1516 byte mbuf could be pre-allocated and then the whole // transfer could go there, potentially wasting some mbuf space. // None of this is possible at present. - unsigned char rx_buffer[CYGNUM_USBS_ETH_MAXTU]; + // + // Also, typically there will be complications because of + // dependencies on DMA, cached vs. uncached memory, etc. + unsigned char rx_buffer[CYGNUM_USBS_ETH_RXBUFSIZE]; + unsigned char* rx_bufptr; cyg_bool rx_buffer_full; - // It should be possible to eliminate the tx buffer once the - // USB driver supports refill functions. + // It should be possible to eliminate the tx buffer. The problem + // is that the protocol requires 2 bytes to be prepended, and that + // may not be possible with the buffer supplied by higher-level + // code. Eliminating this buffer would either require USB + // device drivers to implement gather functionality on transmits, + // or it would impose a dependency on higher-level code. unsigned char tx_buffer[CYGNUM_USBS_ETH_MAXTU]; cyg_bool tx_buffer_full; cyg_bool tx_done;
--- a/packages/io/usb/eth/slave/current/src/usbseth.c +++ b/packages/io/usb/eth/slave/current/src/usbseth.c @@ -23,7 +23,7 @@ // // The Initial Developer of the Original Code is Red Hat. // Portions created by Red Hat are -// Copyright (C) 2000 Red Hat, Inc. +// Copyright (C) 2000, 2001 Red Hat, Inc. // All Rights Reserved. // ------------------------------------------- // @@ -96,7 +96,13 @@ usbs_eth_init(usbs_eth* eth, usbs_contro eth->interrupts = 0; eth->tx_count = 0; eth->rx_count = 0; +# endif +# ifndef HAL_DCACHE_LINE_SIZE + eth->rx_bufptr = eth->rx_buffer; +# else # endif + eth->rx_bufptr = (unsigned char*) ((((cyg_uint32)eth->rx_buffer) + HAL_DCACHE_LINE_SIZE - 1) + & ~(HAL_DCACHE_LINE_SIZE - 1)); eth->rx_buffer_full = false; eth->tx_in_send = false; eth->tx_buffer_full = false; @@ -193,11 +199,11 @@ usbs_eth_start_rx(usbs_eth* eth, unsigne { eth->rx_callback_fn = callback_fn; eth->rx_callback_arg = callback_arg; - + cyg_drv_dsr_lock(); if (eth->host_up) { eth->rx_endpoint->buffer = buf; - eth->rx_endpoint->buffer_size = CYGNUM_USBS_ETH_MAXTU; + eth->rx_endpoint->buffer_size = CYGNUM_USBS_ETH_RXSIZE; eth->rx_endpoint->complete_fn = &usbs_eth_rx_callback; eth->rx_endpoint->complete_data = (void*) eth; (*(eth->rx_endpoint->start_rx_fn))(eth->rx_endpoint); @@ -295,7 +301,7 @@ usbs_eth_enable(usbs_eth* eth) eth->host_promiscuous = false; if ((void*) 0 != eth->rx_pending_buf) { eth->rx_endpoint->buffer = eth->rx_pending_buf; - eth->rx_endpoint->buffer_size = CYGNUM_USBS_ETH_MAXTU; + eth->rx_endpoint->buffer_size = CYGNUM_USBS_ETH_RXSIZE; eth->rx_endpoint->complete_fn = &usbs_eth_rx_callback; eth->rx_endpoint->complete_data = (void*) eth; eth->rx_pending_buf = (void*) 0;
--- a/packages/io/usb/eth/slave/current/src/usbsethdrv.c +++ b/packages/io/usb/eth/slave/current/src/usbsethdrv.c @@ -295,7 +295,7 @@ usbs_ethdrv_recv_callback(usbs_eth* eth, } else { // A packet has been received. Now do a size sanity check // based on the first two bytes. - int real_size = eth->rx_buffer[0] + (eth->rx_buffer[1] << 8); + int real_size = eth->rx_bufptr[0] + (eth->rx_bufptr[1] << 8); if (real_size < CYGNUM_USBS_ETH_MIN_FRAME_SIZE) { INCR_STAT(eth->rx_short_frames); } else if (real_size > CYGNUM_USBS_ETH_MAX_FRAME_SIZE) { @@ -312,7 +312,7 @@ usbs_ethdrv_recv_callback(usbs_eth* eth, if (resubmit) { eth->rx_active = true; - usbs_eth_start_rx(eth, eth->rx_buffer, &usbs_ethdrv_recv_callback, callback_data); + usbs_eth_start_rx(eth, eth->rx_bufptr, &usbs_ethdrv_recv_callback, callback_data); } } @@ -336,7 +336,7 @@ usbs_ethdrv_start_recv(struct eth_drv_sc cyg_drv_dsr_lock(); if (!eth->rx_active) { eth->rx_active = true; - usbs_eth_start_rx(eth, eth->rx_buffer, &usbs_ethdrv_recv_callback, (void*) sc); + usbs_eth_start_rx(eth, eth->rx_bufptr, &usbs_ethdrv_recv_callback, (void*) sc); } cyg_drv_dsr_unlock(); } @@ -352,10 +352,10 @@ usbs_ethdrv_recv(struct eth_drv_sc* sc, usbs_eth* eth = (usbs_eth*)(sc->driver_private); CYG_ASSERT( eth->rx_buffer_full, "This function should only be called when there is a buffer available"); - (void) scatter(eth->rx_buffer, sg_list, sg_len); + (void) scatter(eth->rx_bufptr, sg_list, sg_len); eth->rx_buffer_full = false; eth->rx_active = true; - usbs_eth_start_rx(eth, eth->rx_buffer, &usbs_ethdrv_recv_callback, (void*) sc); + usbs_eth_start_rx(eth, eth->rx_bufptr, &usbs_ethdrv_recv_callback, (void*) sc); } // ---------------------------------------------------------------------------- @@ -456,7 +456,7 @@ usbs_ethdrv_deliver(struct eth_drv_sc* s usbs_eth* eth = (usbs_eth*)(sc->driver_private); if (eth->rx_buffer_full) { - int size = eth->rx_buffer[0] + (eth->rx_buffer[1] << 8); + int size = eth->rx_bufptr[0] + (eth->rx_bufptr[1] << 8); (*sc->funs->eth_drv->recv)(sc, size); } if (eth->tx_done) {
--- a/packages/io/usb/slave/current/ChangeLog +++ b/packages/io/usb/slave/current/ChangeLog @@ -1,3 +1,8 @@ +2001-06-19 Bart Veer <bartv@redhat.com> + + * src/usbs.c, include/usbs.h (usbs_devtab_cread): + read operations should not take a const buffer + 2001-02-02 Bart Veer <bartv@redhat.com> * cdl/usbs.cdl:
--- a/packages/io/usb/slave/current/include/usbs.h +++ b/packages/io/usb/slave/current/include/usbs.h @@ -340,7 +340,7 @@ extern void usbs_start_tx_endpoint_w #if defined(CYGPKG_IO) && defined(CYGPKG_ERROR) #include <cyg/io/io.h> extern Cyg_ErrNo usbs_devtab_cwrite(cyg_io_handle_t, const void*, cyg_uint32*); -extern Cyg_ErrNo usbs_devtab_cread(cyg_io_handle_t, const void*, cyg_uint32*); +extern Cyg_ErrNo usbs_devtab_cread(cyg_io_handle_t, void*, cyg_uint32*); extern Cyg_ErrNo usbs_devtab_get_config(cyg_io_handle_t, cyg_uint32, void*, cyg_uint32*); extern Cyg_ErrNo usbs_devtab_set_config(cyg_io_handle_t, cyg_uint32, const void*, cyg_uint32*); #endif
--- a/packages/io/usb/slave/current/src/usbs.c +++ b/packages/io/usb/slave/current/src/usbs.c @@ -120,7 +120,7 @@ usbs_devtab_cwrite(cyg_io_handle_t handl } Cyg_ErrNo -usbs_devtab_cread(cyg_io_handle_t handle, const void* buf, cyg_uint32* size) +usbs_devtab_cread(cyg_io_handle_t handle, void* buf, cyg_uint32* size) { usbs_callback_data wait; cyg_devtab_entry_t* devtab_entry;
--- a/packages/language/c/libc/i18n/current/ChangeLog +++ b/packages/language/c/libc/i18n/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-28 Jesper Skov <jskov@redhat.com> + + * tests/i18nmb.c: fix warning. + 2001-06-08 Jonathan Larmour <jlarmour@redhat.com> * src/mbtowc_jp.cxx (__mbtowc_jp): Fix nasty bug for mblen(NULL, x);
--- a/packages/language/c/libc/i18n/current/tests/i18nmb.c +++ b/packages/language/c/libc/i18n/current/tests/i18nmb.c @@ -46,6 +46,7 @@ #include <locale.h> #include <stdio.h> #include <cyg/infra/testcase.h> +#include <string.h> // FUNCTIONS
--- a/packages/language/c/libc/stdlib/current/ChangeLog +++ b/packages/language/c/libc/stdlib/current/ChangeLog @@ -1,3 +1,7 @@ +2001-06-28 Jesper Skov <jskov@redhat.com> + + * tests/atoi.c (main): Fix warning. + 2001-06-18 Jonathan Larmour <jlarmour@redhat.com> * cdl/stdlib.cdl: requires string functions, so say so.
--- a/packages/language/c/libc/stdlib/current/tests/atoi.c +++ b/packages/language/c/libc/stdlib/current/tests/atoi.c @@ -95,7 +95,8 @@ main(int argc, char *argv[]) test(0); -// CYG_TEST_NA("Testing is not applicable to this configuration"); + CYG_TEST_FAIL_FINISH("Not reached"); + } // main() // EOF atoi.c
--- a/packages/redboot/current/ChangeLog +++ b/packages/redboot/current/ChangeLog @@ -1,3 +1,43 @@ +2001-06-28 Jonathan Larmour <jlarmour@redhat.com> + + * cdl/redboot.cdl: Don't have a configured default IP address by + default if we have fconfig. + * src/net/ip.c: Provide a default ip addr if not defined. + +2001-06-28 Jesper Skov <jskov@redhat.com> + + * src/load.c (do_load): Don't allow verbose to be used with serial + downloads. + + * src/main.c (do_reset): Reset via VV function. + +2001-06-27 Hugo Tyson <hmt@redhat.com> + + * src/io.c: Provide proto for do_channel() to reduce warning. + +2001-06-27 Jonathan Larmour <jlarmour@redhat.com> + + * cdl/redboot.cdl (CYGDAT_REDBOOT_DEFAULT_IP_ADDR): Provide a compiled + in default IP address. + * src/net/ip.c: Initialize __local_ip_addr with it. + * src/net/bootp.c: Restore the previous __local_ip_addr if BOOTP fails. + + * include/redboot.h: Fix another VARIBLE_BAUD_RATE typo. Fun this. + +2001-06-26 Jonathan Larmour <jlarmour@redhat.com> + + * src/io.c (do_channel): New function to display/switch console + channel + + * src/main.c: Move define of CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS to + * include/redboot.h: ...here + +2001-06-26 Gary Thomas <gthomas@redhat.com> + + * src/flash.c (load_flash_config): Fix another VARIBLE_BAUD_RATE typo. + + * src/xyzModem.c (xyzModem_get_hdr): ACK on EOT was missing. + 2001-06-22 Gary Thomas <gthomas@redhat.com> * src/load.c (do_load): Move [static] data used by decompression
--- a/packages/redboot/current/cdl/redboot.cdl +++ b/packages/redboot/current/cdl/redboot.cdl @@ -107,6 +107,18 @@ cdl_package CYGPKG_REDBOOT { puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1" } + cdl_option CYGDAT_REDBOOT_DEFAULT_IP_ADDR { + display "Default IP address" + flavor booldata + default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \ + { "0, 0, 0, 0" } + description " + This IP address is the default used by RedBoot if a BOOTP/DHCP + server does not respond. The numbers should be separated by + *commas*, and not dots. If an IP address is configured into + the Flash configuration, that will be used in preference." + } + cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { display "TCP port to listen for incoming connections" flavor data
--- a/packages/redboot/current/include/redboot.h +++ b/packages/redboot/current/include/redboot.h @@ -90,7 +90,7 @@ EXTERN int gdb_port; #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT EXTERN unsigned char *script; EXTERN int script_timeout; -#ifdef CYGSEM_REDBOOT_VARIBLE_BAUD_RATE +#ifdef CYGSEM_REDBOOT_VARIABLE_BAUD_RATE EXTERN int console_baud_rate; #endif #endif @@ -246,6 +246,14 @@ typedef struct { } getc_info_t; +#ifdef CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS +#define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \ + (CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS+CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS) +#else +#define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \ + CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS +#endif + // // Validate a hex character //
--- a/packages/redboot/current/src/flash.c +++ b/packages/redboot/current/src/flash.c @@ -1836,7 +1836,7 @@ load_flash_config(void) flash_get_config("boot_script_data", &script, CONFIG_SCRIPT); flash_get_config("boot_script_timeout", &script_timeout, CONFIG_INT); } -#ifdef CYGSEM_REDBOOT_VARIBLE_BAUD_RATE +#ifdef CYGSEM_REDBOOT_VARIABLE_BAUD_RATE if (flash_get_config("console_baud_rate", &console_baud_rate, CONFIG_INT)) { extern void set_console_baud_rate(int); set_console_baud_rate(console_baud_rate);
--- a/packages/redboot/current/src/io.c +++ b/packages/redboot/current/src/io.c @@ -23,7 +23,7 @@ // // The Initial Developer of the Original Code is Red Hat. // Portions created by Red Hat are -// Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc. +// Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc. // All Rights Reserved. // ------------------------------------------- // @@ -32,7 +32,7 @@ //#####DESCRIPTIONBEGIN#### // // Author(s): gthomas -// Contributors: gthomas +// Contributors: gthomas,hmt,jlarmour // Date: 2000-07-14 // Purpose: // Description: @@ -50,6 +50,63 @@ extern void ungetDebugChar(char c); #endif +static void +do_channel(int argc, char *argv[]); + +#ifdef CYGPKG_REDBOOT_ANY_CONSOLE +RedBoot_cmd("channel", + "Display/switch console channel", + "[-1|<channel number>]", + do_channel + ); +#else +RedBoot_cmd("channel", + "Display/switch console channel", + "[<channel number>]", + do_channel + ); +#endif + +static void +do_channel(int argc, char *argv[]) +{ + int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); + + if (argc == 2) { +#ifdef CYGPKG_REDBOOT_ANY_CONSOLE + if (strcmp( argv[1], "-1") == 0) { + console_selected = false; + console_echo = true; + } else +#endif + { + unsigned long chan; + if ( !parse_num( argv[1], &chan, NULL, NULL) ) { + printf("** Error: invalid channel '%s'\n", argv[1]); + } else { + if (chan < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS) { + CYGACC_CALL_IF_SET_CONSOLE_COMM(chan); + CYGACC_CALL_IF_SET_DEBUG_COMM(chan); + if (chan != cur) + console_echo = true; + } + else { + printf("**Error: bad channel number '%s'\n", argv[1]); + } + } + } + } + /* else display */ + else { + printf("Current console channel id: "); + if (!console_selected) + printf("-1\n"); + else { + printf("%d\n", cur); + } + } +} + void mon_write_char(char c) {
--- a/packages/redboot/current/src/load.c +++ b/packages/redboot/current/src/load.c @@ -338,6 +338,9 @@ do_load(int argc, char *argv[]) printf("Invalid 'mode': %s\n", mode_str); return; } + // When using a serial download type, override verbose + // setting: spinner interferes with the protocol. + verbose = false; #ifdef CYGPKG_REDBOOT_NETWORKING } else if (strcmpci(mode_str, "tftp") == 0) { mode = MODE_TFTP;
--- a/packages/redboot/current/src/main.c +++ b/packages/redboot/current/src/main.c @@ -61,14 +61,6 @@ #endif #endif -#ifdef CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS -#define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \ - (CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS+CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS) -#else -#define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \ - CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS -#endif - // Builtin Self Test (BIST) externC void bist(void); @@ -506,8 +498,7 @@ do_reset(int argc, char *argv[]) printf("... Resetting."); CYGACC_CALL_IF_DELAY_US(2*100000); printf("\n"); - CYGACC_CALL_IF_DELAY_US(50000); - HAL_PLATFORM_RESET(); + CYGACC_CALL_IF_RESET(); printf("!! oops, RESET not working on this platform\n"); } #endif
--- a/packages/redboot/current/src/net/bootp.c +++ b/packages/redboot/current/src/net/bootp.c @@ -87,6 +87,7 @@ int ip_route_t r; int retry; unsigned long start; + ip_addr_t saved_ip_addr; bp_info = info; @@ -97,10 +98,8 @@ int b.bp_hlen = 6; b.bp_xid = SHOULD_BE_RANDOM; - __local_ip_addr[0] = 0; - __local_ip_addr[1] = 0; - __local_ip_addr[2] = 0; - __local_ip_addr[3] = 0; + memcpy( saved_ip_addr, __local_ip_addr, sizeof(__local_ip_addr) ); + memset( __local_ip_addr, 0, sizeof(__local_ip_addr) ); memcpy(b.bp_chaddr, __local_enet_addr, 6); @@ -139,6 +138,7 @@ int /* timed out */ __udp_remove_listener(IPPORT_BOOTPC); net_debug = 0; + memcpy( __local_ip_addr, saved_ip_addr, sizeof(__local_ip_addr) ); return -1; }
--- a/packages/redboot/current/src/net/ip.c +++ b/packages/redboot/current/src/net/ip.c @@ -45,7 +45,11 @@ #include <net/net.h> -ip_addr_t __local_ip_addr = { 0, 0, 0, 0 }; +#ifndef CYGDAT_REDBOOT_DEFAULT_IP_ADDR +# define CYGDAT_REDBOOT_DEFAULT_IP_ADDR 0, 0, 0, 0 +#endif + +ip_addr_t __local_ip_addr = { CYGDAT_REDBOOT_DEFAULT_IP_ADDR }; static word ip_ident;
--- a/packages/redboot/current/src/xyzModem.c +++ b/packages/redboot/current/src/xyzModem.c @@ -205,8 +205,10 @@ xyzModem_get_hdr(void) break; } case EOT: + // EOT only supported if no noise if (hdr_chars == 1) { - // EOT only supported if no noise + CYGACC_COMM_IF_PUTC(*xyz.__chan, ACK); + ZM_DEBUG(zm_dprintf("ACK on EOT #%d\n", __LINE__)); ZM_DEBUG(zm_dump(__LINE__)); return xyzModem_eof; }
--- a/packages/services/memalloc/common/current/ChangeLog +++ b/packages/services/memalloc/common/current/ChangeLog @@ -1,3 +1,13 @@ +2001-06-28 Jonathan Larmour <jlarmour@redhat.com> + + * include/memjoin.inl (~Cyg_Mempool_Joined): free even when asserts + disabled. + + * include/memvar.hxx (class Cyg_Mempool_Variable): Comment out argument + names for consistency. + * include/memfixed.hxx (class Cyg_Mempool_Fixed): Ditto. + * include/memjoin.hxx (class Cyg_Mempool_Joined): Ditto. + 2001-06-20 Jonathan Larmour <jlarmour@redhat.com> * include/mvarimpl.inl (get_status): Correct calculation of maxfree
--- a/packages/services/memalloc/common/current/include/memfixed.hxx +++ b/packages/services/memalloc/common/current/include/memfixed.hxx @@ -93,9 +93,9 @@ public: // to be carved out, note that management structures are taken from the // same arena. Alloc_unit is the blocksize allocated. Cyg_Mempool_Fixed( - cyg_uint8 *base, - cyg_int32 size, - CYG_ADDRWORD alloc_unit ); + cyg_uint8 * /* base */, + cyg_int32 /* size */, + CYG_ADDRWORD /* alloc_unit */ ); // Destructor ~Cyg_Mempool_Fixed(); @@ -106,7 +106,7 @@ public: # ifdef CYGFUN_KERNEL_THREADS_TIMER // get some memory with a timeout - cyg_uint8 *alloc( cyg_tick_count delay_timeout ); + cyg_uint8 *alloc( cyg_tick_count /* delay_timeout */ ); # endif #endif @@ -118,11 +118,11 @@ public: // an error (false) for all values, except for the blocksize // returns true on success cyg_uint8 * - resize_alloc( cyg_uint8 *alloc_ptr, cyg_int32 newsize, - cyg_int32 *oldsize=NULL ); + resize_alloc( cyg_uint8 * /* alloc_ptr */, cyg_int32 /* newsize */, + cyg_int32 * /* oldsize */ =NULL ); // free the memory back to the pool - cyg_bool free( cyg_uint8 *p ); + cyg_bool free( cyg_uint8 * /* p */ ); // Get memory pool status // flags is a bitmask of requested fields to fill in. The flags are
--- a/packages/services/memalloc/common/current/include/memjoin.hxx +++ b/packages/services/memalloc/common/current/include/memjoin.hxx @@ -99,8 +99,8 @@ public: // to higher layers. The data is copied from old to new though. // The effects of alloc_ptr==NULL or newsize==0 are undefined cyg_uint8 * - resize_alloc( cyg_uint8 *alloc_ptr, cyg_int32 newsize, - cyg_int32 *oldsize=NULL ); + resize_alloc( cyg_uint8 * /* alloc_ptr */, cyg_int32 /* newsize */, + cyg_int32 * /* oldsize */ =NULL ); // free the memory back to the pool // returns true on success
--- a/packages/services/memalloc/common/current/include/memjoin.inl +++ b/packages/services/memalloc/common/current/include/memjoin.inl @@ -140,8 +140,11 @@ Cyg_Mempool_Joined<T>::~Cyg_Mempool_Join { CYG_REPORT_FUNCTION(); CYG_REPORT_FUNCARGVOID(); - CYG_ASSERT( free( (cyg_uint8 *)pools, poolcount * sizeof(struct pooldesc) ), - "free failed!"); + + cyg_bool freestat; + + freestat = free( (cyg_uint8 *)pools, poolcount * sizeof(struct pooldesc) ); + CYG_ASSERT( freestat, "free failed!"); CYG_REPORT_RETURN(); } // Cyg_Mempool_Joined<T>::~Cyg_Mempool_Joined()
--- a/packages/services/memalloc/common/current/include/memvar.hxx +++ b/packages/services/memalloc/common/current/include/memvar.hxx @@ -131,8 +131,8 @@ public: // to higher layers. The data is copied from old to new though. // The effects of alloc_ptr==NULL or newsize==0 are undefined cyg_uint8 * - resize_alloc( cyg_uint8 *alloc_ptr, cyg_int32 newsize, - cyg_int32 *oldsize=NULL ); + resize_alloc( cyg_uint8 * /* alloc_ptr */, cyg_int32 /* newsize */, + cyg_int32 * /* oldsize */ =NULL ); // free the memory back to the pool // returns true on success
--- a/packages/templates/redboot/ChangeLog +++ b/packages/templates/redboot/ChangeLog @@ -1,3 +1,7 @@ +2001-06-25 Jonathan Larmour <jlarmour@redhat.com> + + * current.ect: Increase default interrupt stack size up to 6K + 2001-05-22 Jonathan Larmour <jlarmour@redhat.com> * current.ect: Set default interrupt stack size down to 4096
