# HG changeset patch
# User jlarmour
# Date 993798985 0
# Node ID d63db767121d709886c83d158b62d99e7c6c3220
# Parent f7999c3a5f2108c9ff4032423264e033d13e11f5
Merge from eCos master repository on 2001-06-29-06:43:03-BST
diff --git a/host/tools/configtool/standalone/wxwin/CHANGES.txt b/host/tools/configtool/standalone/wxwin/CHANGES.txt
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
+
+
+
+
+
diff --git a/host/tools/configtool/standalone/wxwin/ConfigtoolVC.dsp b/host/tools/configtool/standalone/wxwin/ConfigtoolVC.dsp
--- 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
diff --git a/host/tools/configtool/standalone/wxwin/README.txt b/host/tools/configtool/standalone/wxwin/README.txt
--- 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
=================================
diff --git a/host/tools/configtool/standalone/wxwin/TODO.txt b/host/tools/configtool/standalone/wxwin/TODO.txt
--- 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.
+
diff --git a/host/tools/configtool/standalone/wxwin/aboutdlg.cpp b/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
--- 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);
diff --git a/host/tools/configtool/standalone/wxwin/appsettings.cpp b/host/tools/configtool/standalone/wxwin/appsettings.cpp
--- 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);
diff --git a/host/tools/configtool/standalone/wxwin/appsettings.h b/host/tools/configtool/standalone/wxwin/appsettings.h
--- 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;
diff --git a/host/tools/configtool/standalone/wxwin/configtool.cpp b/host/tools/configtool/standalone/wxwin/configtool.cpp
--- 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)
diff --git a/host/tools/configtool/standalone/wxwin/configtooldoc.cpp b/host/tools/configtool/standalone/wxwin/configtooldoc.cpp
--- 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;
diff --git a/host/tools/configtool/standalone/wxwin/dialogs/configtool.wdr b/host/tools/configtool/standalone/wxwin/dialogs/configtool.wdr
index 829afce7d766b040a6983b975e3262fa9f80577c..2dede1ea20584559afed2af3b2029d87928fcc5d
GIT binary patch
literal 71625
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
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);
diff --git a/host/tools/configtool/standalone/wxwin/packagesdlg.cpp b/host/tools/configtool/standalone/wxwin/packagesdlg.cpp
--- 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 );
diff --git a/host/tools/configtool/standalone/wxwin/readme.html b/host/tools/configtool/standalone/wxwin/readme.html
--- a/host/tools/configtool/standalone/wxwin/readme.html
+++ b/host/tools/configtool/standalone/wxwin/readme.html
@@ -84,7 +84,7 @@ from configtool-2.01-i386.tar.gz (3.1Mb) or configtool-2.01-i386.tar.bz2 (2.8Mb).
+Download configtool-2.02-i386.tar.gz (3.1Mb) or configtool-2.02-i386.tar.bz2 (2.8Mb).
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:
@@ -107,7 +107,7 @@ warnings.
does require the GTK+ 1.2, GDK 1.2 and TCL 8.x libraries to be
installed.
Under Windows:
-Download configtool-2.01-setup.exe.
+Download configtool-2.02-setup.exe.
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
diff --git a/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp b/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp
--- 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);
diff --git a/host/tools/configtool/standalone/wxwin/runtestsdlg.h b/host/tools/configtool/standalone/wxwin/runtestsdlg.h
--- 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();
diff --git a/host/tools/configtool/standalone/wxwin/setup/configtool.iss b/host/tools/configtool/standalone/wxwin/setup/configtool.iss
--- 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
diff --git a/host/tools/configtool/standalone/wxwin/setup/innobott.txt b/host/tools/configtool/standalone/wxwin/setup/innobott.txt
--- 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
diff --git a/host/tools/configtool/standalone/wxwin/setup/makesetup.sh b/host/tools/configtool/standalone/wxwin/setup/makesetup.sh
--- 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
}
diff --git a/host/tools/configtool/standalone/wxwin/setup/maketarball.sh b/host/tools/configtool/standalone/wxwin/setup/maketarball.sh
--- 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
diff --git a/host/tools/configtool/standalone/wxwin/symbols.h b/host/tools/configtool/standalone/wxwin/symbols.h
--- 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
+
diff --git a/host/tools/configtool/standalone/wxwin/templatesdlg.cpp b/host/tools/configtool/standalone/wxwin/templatesdlg.cpp
--- 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 ++;
}
diff --git a/packages/ChangeLog b/packages/ChangeLog
--- a/packages/ChangeLog
+++ b/packages/ChangeLog
@@ -1,3 +1,7 @@
+2001-06-28 Jonathan Larmour
+
+ * ecos.db: Clarify edb7xxx description.
+
2001-06-22 Jonathan Larmour
* ecos.db: Add CYGPKG_NET_ETH_DRIVERS alias for CYGPKG_IO_ETH_DRIVERS
diff --git a/packages/devs/eth/powerpc/fec/current/ChangeLog b/packages/devs/eth/powerpc/fec/current/ChangeLog
--- 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
+
+ * src/if_fec.c (fec_eth_init): Use correct version register.
+
2001-05-07 Gary Thomas
* src/if_fec.c (fec_eth_init): Use RedBoot/fconfig data for ethernet
diff --git a/packages/devs/eth/powerpc/fec/current/src/if_fec.c b/packages/devs/eth/powerpc/fec/current/src/if_fec.c
--- 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
#include
#include
+#include
#include
#include
@@ -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;
diff --git a/packages/ecos.db b/packages/ecos.db
--- 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 {
diff --git a/packages/hal/arm/edb7xxx/current/ChangeLog b/packages/hal/arm/edb7xxx/current/ChangeLog
--- a/packages/hal/arm/edb7xxx/current/ChangeLog
+++ b/packages/hal/arm/edb7xxx/current/ChangeLog
@@ -1,3 +1,7 @@
+2001-06-28 Jonathan Larmour
+
+ * cdl/hal_arm_edb7xxx.cdl: Clarify platform description.
+
2001-06-08 Gary Thomas
* support/dl_edb7xxx.c: Change use of 'CharReady()' which seems
diff --git a/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl b/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl
--- 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
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,3 +1,7 @@
+2001-06-28 Jesper Skov
+
+ * include/hal_misc.h (hal_call_isr): Added. Used by ISR arbiters.
+
2001-06-22 Gary Thomas
* src/generic-stub.c (BUFMAX): Define as platform specific, thus
diff --git a/packages/hal/common/current/include/hal_misc.h b/packages/hal/common/current/include/hal_misc.h
--- 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 // 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 // hal_interrupt_x tables
+#include // 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
diff --git a/packages/hal/mips/arch/current/ChangeLog b/packages/hal/mips/arch/current/ChangeLog
--- a/packages/hal/mips/arch/current/ChangeLog
+++ b/packages/hal/mips/arch/current/ChangeLog
@@ -1,3 +1,13 @@
+2001-06-27 Mark Salter
+
+ * src/vectors.S (_start): Add code to switch from KSEG1 to KSEG0 if
+ CYGARC_START_FUNC_UNCACHED.
+
+2001-06-27 Hugo Tyson
+
+ * src/hal_misc.c: Include for definition of
+ hal_ctrlc_isr() and hence warnings reduced.
+
2001-06-19 Mark Salter
* include/hal_arch.h: Support saving/restoring CP0 registers for GDB.
diff --git a/packages/hal/mips/arch/current/src/hal_misc.c b/packages/hal/mips/arch/current/src/hal_misc.c
--- 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 // Interrupt handling
#include // Cache handling
-
+#include // hal_ctrlc_isr()
#include // FPU cause register definitions
/*------------------------------------------------------------------------*/
diff --git a/packages/hal/mips/arch/current/src/vectors.S b/packages/hal/mips/arch/current/src/vectors.S
--- 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
diff --git a/packages/hal/powerpc/mpc8xx/current/ChangeLog b/packages/hal/powerpc/mpc8xx/current/ChangeLog
--- a/packages/hal/powerpc/mpc8xx/current/ChangeLog
+++ b/packages/hal/powerpc/mpc8xx/current/ChangeLog
@@ -1,3 +1,7 @@
+2001-06-28 Jesper Skov
+
+ * src/var_intr.c: Moved hal_call_isr to hal_misc.h in common HAL.
+
2001-01-31 Jesper Skov
* cdl/hal_powerpc_mpc8xx.cdl: Get rid of
diff --git a/packages/hal/powerpc/mpc8xx/current/src/var_intr.c b/packages/hal/powerpc/mpc8xx/current/src/var_intr.c
--- 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
#include
-
-#include // hal_interrupt_x tables
-#include // 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
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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
-
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,3 +1,7 @@
+2001-06-27 Jesper Skov
+
+ * include/hal_arch.h: Added CPU address space translation macros.
+
2001-05-29 Jesper Skov
* include/hal_io.h: Include var_io.h
diff --git a/packages/hal/sh/arch/current/include/hal_arch.h b/packages/hal/sh/arch/current/include/hal_arch.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
diff --git a/packages/hal/sh/sh3/current/ChangeLog b/packages/hal/sh/sh3/current/ChangeLog
--- a/packages/hal/sh/sh3/current/ChangeLog
+++ b/packages/hal/sh/sh3/current/ChangeLog
@@ -1,3 +1,8 @@
+2001-06-28 Jesper Skov
+
+ * include/var_intr.h: Allow platforms to extend vector table.
+ * src/var_misc.c: Same.
+
2001-06-19 Jesper Skov
* include/mod_regs_ubc.h: Allow MOD_UBC to be unset.
diff --git a/packages/hal/sh/sh3/current/include/var_intr.h b/packages/hal/sh/sh3/current/include/var_intr.h
--- 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
diff --git a/packages/hal/sh/sh3/current/src/var_misc.c b/packages/hal/sh/sh3/current/src/var_misc.c
--- 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
diff --git a/packages/io/usb/eth/slave/current/ChangeLog b/packages/io/usb/eth/slave/current/ChangeLog
--- 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
+
+ * 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
* host/ecos_usbeth.c (ecos_usbeth_start_tx):
diff --git a/packages/io/usb/eth/slave/current/include/usbs_eth.h b/packages/io/usb/eth/slave/current/include/usbs_eth.h
--- 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
#endif
+
+// Cache details, to allow alignment to cache line boundaries etc.
+#include
// ----------------------------------------------------------------------------
// 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;
diff --git a/packages/io/usb/eth/slave/current/src/usbseth.c b/packages/io/usb/eth/slave/current/src/usbseth.c
--- 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;
diff --git a/packages/io/usb/eth/slave/current/src/usbsethdrv.c b/packages/io/usb/eth/slave/current/src/usbsethdrv.c
--- 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) {
diff --git a/packages/io/usb/slave/current/ChangeLog b/packages/io/usb/slave/current/ChangeLog
--- a/packages/io/usb/slave/current/ChangeLog
+++ b/packages/io/usb/slave/current/ChangeLog
@@ -1,3 +1,8 @@
+2001-06-19 Bart Veer
+
+ * src/usbs.c, include/usbs.h (usbs_devtab_cread):
+ read operations should not take a const buffer
+
2001-02-02 Bart Veer
* cdl/usbs.cdl:
diff --git a/packages/io/usb/slave/current/include/usbs.h b/packages/io/usb/slave/current/include/usbs.h
--- 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
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
diff --git a/packages/io/usb/slave/current/src/usbs.c b/packages/io/usb/slave/current/src/usbs.c
--- 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;
diff --git a/packages/language/c/libc/i18n/current/ChangeLog b/packages/language/c/libc/i18n/current/ChangeLog
--- 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
+
+ * tests/i18nmb.c: fix warning.
+
2001-06-08 Jonathan Larmour
* src/mbtowc_jp.cxx (__mbtowc_jp): Fix nasty bug for mblen(NULL, x);
diff --git a/packages/language/c/libc/i18n/current/tests/i18nmb.c b/packages/language/c/libc/i18n/current/tests/i18nmb.c
--- 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
#include
#include
+#include
// FUNCTIONS
diff --git a/packages/language/c/libc/stdlib/current/ChangeLog b/packages/language/c/libc/stdlib/current/ChangeLog
--- 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
+
+ * tests/atoi.c (main): Fix warning.
+
2001-06-18 Jonathan Larmour
* cdl/stdlib.cdl: requires string functions, so say so.
diff --git a/packages/language/c/libc/stdlib/current/tests/atoi.c b/packages/language/c/libc/stdlib/current/tests/atoi.c
--- 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
diff --git a/packages/redboot/current/ChangeLog b/packages/redboot/current/ChangeLog
--- a/packages/redboot/current/ChangeLog
+++ b/packages/redboot/current/ChangeLog
@@ -1,3 +1,43 @@
+2001-06-28 Jonathan Larmour
+
+ * 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
+
+ * 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
+
+ * src/io.c: Provide proto for do_channel() to reduce warning.
+
+2001-06-27 Jonathan Larmour
+
+ * 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
+
+ * 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
+
+ * 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
* src/load.c (do_load): Move [static] data used by decompression
diff --git a/packages/redboot/current/cdl/redboot.cdl b/packages/redboot/current/cdl/redboot.cdl
--- 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
diff --git a/packages/redboot/current/include/redboot.h b/packages/redboot/current/include/redboot.h
--- 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
//
diff --git a/packages/redboot/current/src/flash.c b/packages/redboot/current/src/flash.c
--- 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);
diff --git a/packages/redboot/current/src/io.c b/packages/redboot/current/src/io.c
--- 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|]",
+ do_channel
+ );
+#else
+RedBoot_cmd("channel",
+ "Display/switch console channel",
+ "[]",
+ 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)
{
diff --git a/packages/redboot/current/src/load.c b/packages/redboot/current/src/load.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;
diff --git a/packages/redboot/current/src/main.c b/packages/redboot/current/src/main.c
--- 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
diff --git a/packages/redboot/current/src/net/bootp.c b/packages/redboot/current/src/net/bootp.c
--- 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;
}
diff --git a/packages/redboot/current/src/net/ip.c b/packages/redboot/current/src/net/ip.c
--- a/packages/redboot/current/src/net/ip.c
+++ b/packages/redboot/current/src/net/ip.c
@@ -45,7 +45,11 @@
#include
-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;
diff --git a/packages/redboot/current/src/xyzModem.c b/packages/redboot/current/src/xyzModem.c
--- 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;
}
diff --git a/packages/services/memalloc/common/current/ChangeLog b/packages/services/memalloc/common/current/ChangeLog
--- a/packages/services/memalloc/common/current/ChangeLog
+++ b/packages/services/memalloc/common/current/ChangeLog
@@ -1,3 +1,13 @@
+2001-06-28 Jonathan Larmour
+
+ * 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
* include/mvarimpl.inl (get_status): Correct calculation of maxfree
diff --git a/packages/services/memalloc/common/current/include/memfixed.hxx b/packages/services/memalloc/common/current/include/memfixed.hxx
--- 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
diff --git a/packages/services/memalloc/common/current/include/memjoin.hxx b/packages/services/memalloc/common/current/include/memjoin.hxx
--- 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
diff --git a/packages/services/memalloc/common/current/include/memjoin.inl b/packages/services/memalloc/common/current/include/memjoin.inl
--- 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::~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::~Cyg_Mempool_Joined()
diff --git a/packages/services/memalloc/common/current/include/memvar.hxx b/packages/services/memalloc/common/current/include/memvar.hxx
--- 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
diff --git a/packages/templates/redboot/ChangeLog b/packages/templates/redboot/ChangeLog
--- a/packages/templates/redboot/ChangeLog
+++ b/packages/templates/redboot/ChangeLog
@@ -1,3 +1,7 @@
+2001-06-25 Jonathan Larmour
+
+ * current.ect: Increase default interrupt stack size up to 6K
+
2001-05-22 Jonathan Larmour
* current.ect: Set default interrupt stack size down to 4096
diff --git a/packages/templates/redboot/current.ect b/packages/templates/redboot/current.ect
--- a/packages/templates/redboot/current.ect
+++ b/packages/templates/redboot/current.ect
@@ -24,5 +24,5 @@ cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_
};
cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
- user_value 4096
+ user_value 6144
};