diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a2238d --- /dev/null +++ b/.gitignore @@ -0,0 +1,245 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +[Xx]64/ +[Xx]86/ +[Bb]uild/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml + +# TODO: Un-comment the next line if you do not want to checkin +# your web deploy settings because they may include unencrypted +# passwords +#*.pubxml +*.publishproj + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Microsoft Azure ApplicationInsights config file +ApplicationInsights.config + +# Windows Store app package directory +AppPackages/ +BundleArtifacts/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# LightSwitch generated files +GeneratedArtifacts/ +ModelManifest.xml + +# Paket dependency manager +.paket/paket.exe + +# FAKE - F# Make +.fake/ \ No newline at end of file diff --git a/Intel82599eeprom.sln b/Intel82599eeprom.sln new file mode 100644 index 0000000..4bcc08a --- /dev/null +++ b/Intel82599eeprom.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Intel82599eeprom", "Intel82599eeprom\Intel82599eeprom.csproj", "{F5767F7D-24AC-4BBB-954D-3BBB82C98E03}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F5767F7D-24AC-4BBB-954D-3BBB82C98E03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F5767F7D-24AC-4BBB-954D-3BBB82C98E03}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F5767F7D-24AC-4BBB-954D-3BBB82C98E03}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F5767F7D-24AC-4BBB-954D-3BBB82C98E03}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Intel82599eeprom/App.config b/Intel82599eeprom/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/Intel82599eeprom/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Intel82599eeprom/ClassDiagram1.cd b/Intel82599eeprom/ClassDiagram1.cd new file mode 100644 index 0000000..a20c5f2 --- /dev/null +++ b/Intel82599eeprom/ClassDiagram1.cd @@ -0,0 +1,18 @@ + + + + + + ABARICAChSQIIBABAhCASAASAAIASACEBCIWAQIAACg= + Form1.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAQAAAAAAA= + Form1.cs + + + + \ No newline at end of file diff --git a/Intel82599eeprom/Form1.Designer.cs b/Intel82599eeprom/Form1.Designer.cs new file mode 100644 index 0000000..47080e0 --- /dev/null +++ b/Intel82599eeprom/Form1.Designer.cs @@ -0,0 +1,2012 @@ +namespace Intel82599eeprom +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.btnLoad = new System.Windows.Forms.Button(); + this.btnBrowse = new System.Windows.Forms.Button(); + this.tbFileName = new System.Windows.Forms.TextBox(); + this.lbFileName = new System.Windows.Forms.Label(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.tbNewCRC = new System.Windows.Forms.TextBox(); + this.tbCRC = new System.Windows.Forms.TextBox(); + this.lbCRC = new System.Windows.Forms.Label(); + this.label48 = new System.Windows.Forms.Label(); + this.label47 = new System.Windows.Forms.Label(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.tbCSR1 = new System.Windows.Forms.TextBox(); + this.tbSFP = new System.Windows.Forms.TextBox(); + this.tbPCIeSpace1 = new System.Windows.Forms.TextBox(); + this.tbCSR0 = new System.Windows.Forms.TextBox(); + this.tbPCIeSpace0 = new System.Windows.Forms.TextBox(); + this.label50 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.tbMAC1 = new System.Windows.Forms.TextBox(); + this.tbPCIeConfig = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.tbMAC0 = new System.Windows.Forms.TextBox(); + this.tbCore1Analog = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.tbLAN2 = new System.Windows.Forms.TextBox(); + this.tbCore0Analog = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.tbLAN1 = new System.Windows.Forms.TextBox(); + this.cbPCIanalog = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.tbControlWord3 = new System.Windows.Forms.TextBox(); + this.cbAPM0 = new System.Windows.Forms.CheckBox(); + this.label5 = new System.Windows.Forms.Label(); + this.cbAPM1 = new System.Windows.Forms.CheckBox(); + this.tbReserved4 = new System.Windows.Forms.TextBox(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.tbControlWord2 = new System.Windows.Forms.TextBox(); + this.cbPCIe = new System.Windows.Forms.CheckBox(); + this.cbClock = new System.Windows.Forms.CheckBox(); + this.cbXAUI = new System.Windows.Forms.CheckBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.cbGateDis = new System.Windows.Forms.CheckBox(); + this.tbReserved3 = new System.Windows.Forms.TextBox(); + this.tbReserved2 = new System.Windows.Forms.TextBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.label2 = new System.Windows.Forms.Label(); + this.tbControlWord = new System.Windows.Forms.TextBox(); + this.lbHidden = new System.Windows.Forms.Label(); + this.lbValid = new System.Windows.Forms.Label(); + this.cbProtected = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.cbManagable = new System.Windows.Forms.CheckBox(); + this.tbSize = new System.Windows.Forms.TextBox(); + this.tbReserved = new System.Windows.Forms.TextBox(); + this.lbValid2 = new System.Windows.Forms.Label(); + this.groupBox7 = new System.Windows.Forms.GroupBox(); + this.dgPCIaSections = new System.Windows.Forms.DataGridView(); + this.groupBox8 = new System.Windows.Forms.GroupBox(); + this.dgCore0Analog = new System.Windows.Forms.DataGridView(); + this.groupBox9 = new System.Windows.Forms.GroupBox(); + this.dgCore1Analog = new System.Windows.Forms.DataGridView(); + this.groupBox10 = new System.Windows.Forms.GroupBox(); + this.dgPCIeConfig = new System.Windows.Forms.DataGridView(); + this.groupBox11 = new System.Windows.Forms.GroupBox(); + this.dgSpace0 = new System.Windows.Forms.DataGridView(); + this.groupBox12 = new System.Windows.Forms.GroupBox(); + this.dgSpace1 = new System.Windows.Forms.DataGridView(); + this.groupBox13 = new System.Windows.Forms.GroupBox(); + this.dgLAN0 = new System.Windows.Forms.DataGridView(); + this.groupBox14 = new System.Windows.Forms.GroupBox(); + this.dgLAN1 = new System.Windows.Forms.DataGridView(); + this.groupBox15 = new System.Windows.Forms.GroupBox(); + this.dgMAC0 = new System.Windows.Forms.DataGridView(); + this.groupBox16 = new System.Windows.Forms.GroupBox(); + this.dgMAC1 = new System.Windows.Forms.DataGridView(); + this.groupBox17 = new System.Windows.Forms.GroupBox(); + this.dgCSR0 = new System.Windows.Forms.DataGridView(); + this.groupBox18 = new System.Windows.Forms.GroupBox(); + this.dgCSR1 = new System.Windows.Forms.DataGridView(); + this.tcPages = new System.Windows.Forms.TabControl(); + this.tpGeneral = new System.Windows.Forms.TabPage(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.groupBox19 = new System.Windows.Forms.GroupBox(); + this.tbFWPassThroughLAN0 = new System.Windows.Forms.TextBox(); + this.tbFWNCSIConfig = new System.Windows.Forms.TextBox(); + this.tbFWPassThroughPatch = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.tbFWNCSIDownload = new System.Windows.Forms.TextBox(); + this.tbFWCommonParams = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.label22 = new System.Windows.Forms.Label(); + this.tbFWPassThroughLAN1 = new System.Windows.Forms.TextBox(); + this.tbFWLESM = new System.Windows.Forms.TextBox(); + this.label23 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.label25 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.tbFWTCOFilter = new System.Windows.Forms.TextBox(); + this.tbFWReserved = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.tbFWSideBand = new System.Windows.Forms.TextBox(); + this.tbTestConfig = new System.Windows.Forms.TextBox(); + this.label29 = new System.Windows.Forms.Label(); + this.label30 = new System.Windows.Forms.Label(); + this.tabPage6 = new System.Windows.Forms.TabPage(); + this.label49 = new System.Windows.Forms.Label(); + this.btnSave = new System.Windows.Forms.Button(); + this.btnPatch = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.groupBox20 = new System.Windows.Forms.GroupBox(); + this.label46 = new System.Windows.Forms.Label(); + this.label45 = new System.Windows.Forms.Label(); + this.label44 = new System.Windows.Forms.Label(); + this.label43 = new System.Windows.Forms.Label(); + this.label42 = new System.Windows.Forms.Label(); + this.label41 = new System.Windows.Forms.Label(); + this.label40 = new System.Windows.Forms.Label(); + this.label39 = new System.Windows.Forms.Label(); + this.label36 = new System.Windows.Forms.Label(); + this.label35 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.tbSpace1ID = new System.Windows.Forms.TextBox(); + this.tbSpace0ID = new System.Windows.Forms.TextBox(); + this.tbDummyDeviceID = new System.Windows.Forms.TextBox(); + this.label34 = new System.Windows.Forms.Label(); + this.label32 = new System.Windows.Forms.Label(); + this.tbRevisionID = new System.Windows.Forms.TextBox(); + this.tbVenorID = new System.Windows.Forms.TextBox(); + this.label31 = new System.Windows.Forms.Label(); + this.tbSubsystemID = new System.Windows.Forms.TextBox(); + this.tbLAN1MAC = new System.Windows.Forms.TextBox(); + this.label38 = new System.Windows.Forms.Label(); + this.tbLAN0MAC = new System.Windows.Forms.TextBox(); + this.label37 = new System.Windows.Forms.Label(); + this.tbPMAC = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox6.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox7.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgPCIaSections)).BeginInit(); + this.groupBox8.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgCore0Analog)).BeginInit(); + this.groupBox9.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgCore1Analog)).BeginInit(); + this.groupBox10.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgPCIeConfig)).BeginInit(); + this.groupBox11.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgSpace0)).BeginInit(); + this.groupBox12.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgSpace1)).BeginInit(); + this.groupBox13.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgLAN0)).BeginInit(); + this.groupBox14.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgLAN1)).BeginInit(); + this.groupBox15.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgMAC0)).BeginInit(); + this.groupBox16.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgMAC1)).BeginInit(); + this.groupBox17.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgCSR0)).BeginInit(); + this.groupBox18.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgCSR1)).BeginInit(); + this.tcPages.SuspendLayout(); + this.tpGeneral.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.tabPage5.SuspendLayout(); + this.groupBox19.SuspendLayout(); + this.tabPage6.SuspendLayout(); + this.groupBox20.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.btnLoad); + this.groupBox1.Controls.Add(this.btnBrowse); + this.groupBox1.Controls.Add(this.tbFileName); + this.groupBox1.Controls.Add(this.lbFileName); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 5, 3, 3); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(984, 51); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "EEPROM File"; + // + // btnLoad + // + this.btnLoad.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnLoad.Location = new System.Drawing.Point(910, 14); + this.btnLoad.Name = "btnLoad"; + this.btnLoad.Size = new System.Drawing.Size(65, 23); + this.btnLoad.TabIndex = 3; + this.btnLoad.Text = "LOAD"; + this.btnLoad.UseVisualStyleBackColor = true; + this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click); + // + // btnBrowse + // + this.btnBrowse.Location = new System.Drawing.Point(869, 14); + this.btnBrowse.Name = "btnBrowse"; + this.btnBrowse.Size = new System.Drawing.Size(26, 23); + this.btnBrowse.TabIndex = 2; + this.btnBrowse.Text = "..."; + this.btnBrowse.UseVisualStyleBackColor = true; + this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click); + // + // tbFileName + // + this.tbFileName.Location = new System.Drawing.Point(65, 16); + this.tbFileName.Name = "tbFileName"; + this.tbFileName.Size = new System.Drawing.Size(806, 20); + this.tbFileName.TabIndex = 1; + // + // lbFileName + // + this.lbFileName.AutoSize = true; + this.lbFileName.Location = new System.Drawing.Point(6, 19); + this.lbFileName.Name = "lbFileName"; + this.lbFileName.Size = new System.Drawing.Size(52, 13); + this.lbFileName.TabIndex = 0; + this.lbFileName.Text = "File name"; + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + this.openFileDialog1.Filter = "EEPROM Dumps|*.bin"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.tbNewCRC); + this.groupBox2.Controls.Add(this.tbCRC); + this.groupBox2.Controls.Add(this.lbCRC); + this.groupBox2.Controls.Add(this.label48); + this.groupBox2.Controls.Add(this.label47); + this.groupBox2.Controls.Add(this.groupBox6); + this.groupBox2.Controls.Add(this.groupBox5); + this.groupBox2.Controls.Add(this.groupBox4); + this.groupBox2.Controls.Add(this.groupBox3); + this.groupBox2.Controls.Add(this.lbValid2); + this.groupBox2.Location = new System.Drawing.Point(6, 6); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(946, 318); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Decoded information"; + // + // tbNewCRC + // + this.tbNewCRC.Enabled = false; + this.tbNewCRC.Location = new System.Drawing.Point(141, 280); + this.tbNewCRC.Name = "tbNewCRC"; + this.tbNewCRC.Size = new System.Drawing.Size(100, 20); + this.tbNewCRC.TabIndex = 8; + // + // tbCRC + // + this.tbCRC.Enabled = false; + this.tbCRC.Location = new System.Drawing.Point(25, 280); + this.tbCRC.Name = "tbCRC"; + this.tbCRC.Size = new System.Drawing.Size(100, 20); + this.tbCRC.TabIndex = 8; + // + // lbCRC + // + this.lbCRC.AutoSize = true; + this.lbCRC.Location = new System.Drawing.Point(22, 302); + this.lbCRC.Name = "lbCRC"; + this.lbCRC.Size = new System.Drawing.Size(0, 13); + this.lbCRC.TabIndex = 7; + // + // label48 + // + this.label48.AutoSize = true; + this.label48.Location = new System.Drawing.Point(138, 263); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(110, 13); + this.label48.TabIndex = 7; + this.label48.Text = "Calculated Checksum"; + // + // label47 + // + this.label47.AutoSize = true; + this.label47.Location = new System.Drawing.Point(22, 263); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(106, 13); + this.label47.TabIndex = 7; + this.label47.Text = "EEPROM Checksum"; + // + // groupBox6 + // + this.groupBox6.Controls.Add(this.tbCSR1); + this.groupBox6.Controls.Add(this.tbSFP); + this.groupBox6.Controls.Add(this.tbPCIeSpace1); + this.groupBox6.Controls.Add(this.tbCSR0); + this.groupBox6.Controls.Add(this.tbPCIeSpace0); + this.groupBox6.Controls.Add(this.label50); + this.groupBox6.Controls.Add(this.label18); + this.groupBox6.Controls.Add(this.label12); + this.groupBox6.Controls.Add(this.tbMAC1); + this.groupBox6.Controls.Add(this.tbPCIeConfig); + this.groupBox6.Controls.Add(this.label17); + this.groupBox6.Controls.Add(this.label11); + this.groupBox6.Controls.Add(this.tbMAC0); + this.groupBox6.Controls.Add(this.tbCore1Analog); + this.groupBox6.Controls.Add(this.label16); + this.groupBox6.Controls.Add(this.label10); + this.groupBox6.Controls.Add(this.label15); + this.groupBox6.Controls.Add(this.label9); + this.groupBox6.Controls.Add(this.tbLAN2); + this.groupBox6.Controls.Add(this.tbCore0Analog); + this.groupBox6.Controls.Add(this.label14); + this.groupBox6.Controls.Add(this.label6); + this.groupBox6.Controls.Add(this.tbLAN1); + this.groupBox6.Controls.Add(this.cbPCIanalog); + this.groupBox6.Controls.Add(this.label13); + this.groupBox6.Controls.Add(this.label4); + this.groupBox6.Location = new System.Drawing.Point(416, 19); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.Size = new System.Drawing.Size(524, 219); + this.groupBox6.TabIndex = 6; + this.groupBox6.TabStop = false; + this.groupBox6.Text = "Section pointers"; + // + // tbCSR1 + // + this.tbCSR1.Location = new System.Drawing.Point(477, 148); + this.tbCSR1.Name = "tbCSR1"; + this.tbCSR1.Size = new System.Drawing.Size(35, 20); + this.tbCSR1.TabIndex = 0; + this.tbCSR1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbSFP + // + this.tbSFP.Location = new System.Drawing.Point(185, 174); + this.tbSFP.Name = "tbSFP"; + this.tbSFP.Size = new System.Drawing.Size(35, 20); + this.tbSFP.TabIndex = 0; + this.tbSFP.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbPCIeSpace1 + // + this.tbPCIeSpace1.Location = new System.Drawing.Point(185, 148); + this.tbPCIeSpace1.Name = "tbPCIeSpace1"; + this.tbPCIeSpace1.Size = new System.Drawing.Size(35, 20); + this.tbPCIeSpace1.TabIndex = 0; + this.tbPCIeSpace1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbCSR0 + // + this.tbCSR0.Location = new System.Drawing.Point(477, 124); + this.tbCSR0.Name = "tbCSR0"; + this.tbCSR0.Size = new System.Drawing.Size(35, 20); + this.tbCSR0.TabIndex = 0; + this.tbCSR0.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbPCIeSpace0 + // + this.tbPCIeSpace0.Location = new System.Drawing.Point(185, 124); + this.tbPCIeSpace0.Name = "tbPCIeSpace0"; + this.tbPCIeSpace0.Size = new System.Drawing.Size(35, 20); + this.tbPCIeSpace0.TabIndex = 0; + this.tbPCIeSpace0.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label50 + // + this.label50.AutoSize = true; + this.label50.Location = new System.Drawing.Point(8, 178); + this.label50.Name = "label50"; + this.label50.Size = new System.Drawing.Size(117, 13); + this.label50.TabIndex = 1; + this.label50.Text = "Supported SFP Module"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(302, 152); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(93, 13); + this.label18.TabIndex = 1; + this.label18.Text = "CSR 1 AC Module"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(8, 152); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(176, 13); + this.label12.TabIndex = 1; + this.label12.Text = "PCIe Configuration Space 1 Module"; + // + // tbMAC1 + // + this.tbMAC1.Location = new System.Drawing.Point(477, 100); + this.tbMAC1.Name = "tbMAC1"; + this.tbMAC1.Size = new System.Drawing.Size(35, 20); + this.tbMAC1.TabIndex = 0; + this.tbMAC1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbPCIeConfig + // + this.tbPCIeConfig.Location = new System.Drawing.Point(185, 100); + this.tbPCIeConfig.Name = "tbPCIeConfig"; + this.tbPCIeConfig.Size = new System.Drawing.Size(35, 20); + this.tbPCIeConfig.TabIndex = 0; + this.tbPCIeConfig.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(302, 128); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(93, 13); + this.label17.TabIndex = 1; + this.label17.Text = "CSR 0 AC Module"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(8, 128); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(176, 13); + this.label11.TabIndex = 1; + this.label11.Text = "PCIe Configuration Space 0 Module"; + // + // tbMAC0 + // + this.tbMAC0.Location = new System.Drawing.Point(477, 75); + this.tbMAC0.Name = "tbMAC0"; + this.tbMAC0.Size = new System.Drawing.Size(35, 20); + this.tbMAC0.TabIndex = 0; + this.tbMAC0.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbCore1Analog + // + this.tbCore1Analog.Location = new System.Drawing.Point(185, 75); + this.tbCore1Analog.Name = "tbCore1Analog"; + this.tbCore1Analog.Size = new System.Drawing.Size(35, 20); + this.tbCore1Analog.TabIndex = 0; + this.tbCore1Analog.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(302, 104); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(74, 13); + this.label16.TabIndex = 1; + this.label16.Text = "MAC1 Module"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(8, 104); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(173, 13); + this.label10.TabIndex = 1; + this.label10.Text = "PCIe General Configuration Module"; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(302, 79); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(74, 13); + this.label15.TabIndex = 1; + this.label15.Text = "MAC0 Module"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(8, 79); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(174, 13); + this.label9.TabIndex = 1; + this.label9.Text = "Core1 Analog Configuration Module"; + // + // tbLAN2 + // + this.tbLAN2.Location = new System.Drawing.Point(477, 51); + this.tbLAN2.Name = "tbLAN2"; + this.tbLAN2.Size = new System.Drawing.Size(35, 20); + this.tbLAN2.TabIndex = 0; + this.tbLAN2.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbCore0Analog + // + this.tbCore0Analog.Location = new System.Drawing.Point(185, 51); + this.tbCore0Analog.Name = "tbCore0Analog"; + this.tbCore0Analog.Size = new System.Drawing.Size(35, 20); + this.tbCore0Analog.TabIndex = 0; + this.tbCore0Analog.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(302, 55); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(100, 13); + this.label14.TabIndex = 1; + this.label14.Text = "LAN Core 1 Module"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(8, 55); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(174, 13); + this.label6.TabIndex = 1; + this.label6.Text = "Core0 Analog Configuration Module"; + // + // tbLAN1 + // + this.tbLAN1.Location = new System.Drawing.Point(477, 27); + this.tbLAN1.Name = "tbLAN1"; + this.tbLAN1.Size = new System.Drawing.Size(35, 20); + this.tbLAN1.TabIndex = 0; + this.tbLAN1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // cbPCIanalog + // + this.cbPCIanalog.Location = new System.Drawing.Point(185, 27); + this.cbPCIanalog.Name = "cbPCIanalog"; + this.cbPCIanalog.Size = new System.Drawing.Size(35, 20); + this.cbPCIanalog.TabIndex = 0; + this.cbPCIanalog.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(302, 31); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(100, 13); + this.label13.TabIndex = 1; + this.label13.Text = "LAN Core 0 Module"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(8, 31); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(169, 13); + this.label4.TabIndex = 1; + this.label4.Text = "PCIe Analog Configuration Module"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.tbControlWord3); + this.groupBox5.Controls.Add(this.cbAPM0); + this.groupBox5.Controls.Add(this.label5); + this.groupBox5.Controls.Add(this.cbAPM1); + this.groupBox5.Controls.Add(this.tbReserved4); + this.groupBox5.Location = new System.Drawing.Point(11, 143); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Size = new System.Drawing.Size(191, 95); + this.groupBox5.TabIndex = 5; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "Control word 3"; + // + // tbControlWord3 + // + this.tbControlWord3.Location = new System.Drawing.Point(102, 0); + this.tbControlWord3.Name = "tbControlWord3"; + this.tbControlWord3.Size = new System.Drawing.Size(35, 20); + this.tbControlWord3.TabIndex = 0; + // + // cbAPM0 + // + this.cbAPM0.AutoSize = true; + this.cbAPM0.Location = new System.Drawing.Point(11, 68); + this.cbAPM0.Name = "cbAPM0"; + this.cbAPM0.Size = new System.Drawing.Size(118, 17); + this.cbAPM0.TabIndex = 3; + this.cbAPM0.Text = "APM Enabled port0"; + this.cbAPM0.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(8, 27); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(77, 13); + this.label5.TabIndex = 1; + this.label5.Text = "Reserved 15:2"; + // + // cbAPM1 + // + this.cbAPM1.AutoSize = true; + this.cbAPM1.Location = new System.Drawing.Point(11, 49); + this.cbAPM1.Name = "cbAPM1"; + this.cbAPM1.Size = new System.Drawing.Size(121, 17); + this.cbAPM1.TabIndex = 3; + this.cbAPM1.Text = "APM Enabled port 1"; + this.cbAPM1.UseVisualStyleBackColor = true; + // + // tbReserved4 + // + this.tbReserved4.Location = new System.Drawing.Point(102, 24); + this.tbReserved4.Name = "tbReserved4"; + this.tbReserved4.Size = new System.Drawing.Size(35, 20); + this.tbReserved4.TabIndex = 0; + this.tbReserved4.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.tbControlWord2); + this.groupBox4.Controls.Add(this.cbPCIe); + this.groupBox4.Controls.Add(this.cbClock); + this.groupBox4.Controls.Add(this.cbXAUI); + this.groupBox4.Controls.Add(this.label7); + this.groupBox4.Controls.Add(this.label8); + this.groupBox4.Controls.Add(this.cbGateDis); + this.groupBox4.Controls.Add(this.tbReserved3); + this.groupBox4.Controls.Add(this.tbReserved2); + this.groupBox4.Location = new System.Drawing.Point(218, 19); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(192, 219); + this.groupBox4.TabIndex = 5; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "Control word 2"; + // + // tbControlWord2 + // + this.tbControlWord2.Location = new System.Drawing.Point(102, 0); + this.tbControlWord2.Name = "tbControlWord2"; + this.tbControlWord2.Size = new System.Drawing.Size(35, 20); + this.tbControlWord2.TabIndex = 0; + // + // cbPCIe + // + this.cbPCIe.AutoSize = true; + this.cbPCIe.Location = new System.Drawing.Point(15, 166); + this.cbPCIe.Name = "cbPCIe"; + this.cbPCIe.Size = new System.Drawing.Size(135, 17); + this.cbPCIe.TabIndex = 3; + this.cbPCIe.Text = "PCIe PLL Gate Disable"; + this.cbPCIe.UseVisualStyleBackColor = true; + // + // cbClock + // + this.cbClock.AutoSize = true; + this.cbClock.Location = new System.Drawing.Point(15, 141); + this.cbClock.Name = "cbClock"; + this.cbClock.Size = new System.Drawing.Size(147, 17); + this.cbClock.TabIndex = 3; + this.cbClock.Text = "Core Clocks Gate Disable"; + this.cbClock.UseVisualStyleBackColor = true; + // + // cbXAUI + // + this.cbXAUI.AutoSize = true; + this.cbXAUI.Location = new System.Drawing.Point(15, 117); + this.cbXAUI.Name = "cbXAUI"; + this.cbXAUI.Size = new System.Drawing.Size(140, 17); + this.cbXAUI.TabIndex = 3; + this.cbXAUI.Text = "Core XAUI Gate Disable"; + this.cbXAUI.UseVisualStyleBackColor = true; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(12, 56); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(71, 13); + this.label7.TabIndex = 1; + this.label7.Text = "Reserved 5:3"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(12, 30); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(77, 13); + this.label8.TabIndex = 1; + this.label8.Text = "Reserved 15:7"; + // + // cbGateDis + // + this.cbGateDis.AutoSize = true; + this.cbGateDis.Location = new System.Drawing.Point(15, 94); + this.cbGateDis.Name = "cbGateDis"; + this.cbGateDis.Size = new System.Drawing.Size(152, 17); + this.cbGateDis.TabIndex = 3; + this.cbGateDis.Text = "Core KR PLL Gate Disable"; + this.cbGateDis.UseVisualStyleBackColor = true; + // + // tbReserved3 + // + this.tbReserved3.Location = new System.Drawing.Point(102, 53); + this.tbReserved3.Name = "tbReserved3"; + this.tbReserved3.Size = new System.Drawing.Size(35, 20); + this.tbReserved3.TabIndex = 0; + this.tbReserved3.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbReserved2 + // + this.tbReserved2.Location = new System.Drawing.Point(102, 27); + this.tbReserved2.Name = "tbReserved2"; + this.tbReserved2.Size = new System.Drawing.Size(35, 20); + this.tbReserved2.TabIndex = 0; + this.tbReserved2.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.label2); + this.groupBox3.Controls.Add(this.tbControlWord); + this.groupBox3.Controls.Add(this.lbHidden); + this.groupBox3.Controls.Add(this.lbValid); + this.groupBox3.Controls.Add(this.cbProtected); + this.groupBox3.Controls.Add(this.label1); + this.groupBox3.Controls.Add(this.label3); + this.groupBox3.Controls.Add(this.cbManagable); + this.groupBox3.Controls.Add(this.tbSize); + this.groupBox3.Controls.Add(this.tbReserved); + this.groupBox3.Location = new System.Drawing.Point(10, 19); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(192, 117); + this.groupBox3.TabIndex = 5; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Control word 1"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(166, 33); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(21, 13); + this.label2.TabIndex = 5; + this.label2.Text = "KB"; + // + // tbControlWord + // + this.tbControlWord.Location = new System.Drawing.Point(95, 0); + this.tbControlWord.Name = "tbControlWord"; + this.tbControlWord.Size = new System.Drawing.Size(35, 20); + this.tbControlWord.TabIndex = 0; + // + // lbHidden + // + this.lbHidden.AutoSize = true; + this.lbHidden.Location = new System.Drawing.Point(6, 93); + this.lbHidden.Name = "lbHidden"; + this.lbHidden.Size = new System.Drawing.Size(94, 13); + this.lbHidden.TabIndex = 4; + this.lbHidden.Text = "Hidden block size:"; + // + // lbValid + // + this.lbValid.AutoSize = true; + this.lbValid.Location = new System.Drawing.Point(121, 2); + this.lbValid.Name = "lbValid"; + this.lbValid.Size = new System.Drawing.Size(0, 13); + this.lbValid.TabIndex = 2; + // + // cbProtected + // + this.cbProtected.AutoSize = true; + this.cbProtected.Location = new System.Drawing.Point(9, 73); + this.cbProtected.Name = "cbProtected"; + this.cbProtected.Size = new System.Drawing.Size(72, 17); + this.cbProtected.TabIndex = 3; + this.cbProtected.Text = "Protected"; + this.cbProtected.UseVisualStyleBackColor = true; + this.cbProtected.CheckedChanged += new System.EventHandler(this.cbProtected_CheckedChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(103, 33); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(27, 13); + this.label1.TabIndex = 1; + this.label1.Text = "Size"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(6, 33); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(53, 13); + this.label3.TabIndex = 1; + this.label3.Text = "Reserved"; + // + // cbManagable + // + this.cbManagable.AutoSize = true; + this.cbManagable.Location = new System.Drawing.Point(9, 54); + this.cbManagable.Name = "cbManagable"; + this.cbManagable.Size = new System.Drawing.Size(79, 17); + this.cbManagable.TabIndex = 3; + this.cbManagable.Text = "Managable"; + this.cbManagable.UseVisualStyleBackColor = true; + // + // tbSize + // + this.tbSize.Location = new System.Drawing.Point(131, 30); + this.tbSize.Name = "tbSize"; + this.tbSize.Size = new System.Drawing.Size(35, 20); + this.tbSize.TabIndex = 0; + this.tbSize.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbReserved + // + this.tbReserved.Location = new System.Drawing.Point(59, 30); + this.tbReserved.Name = "tbReserved"; + this.tbReserved.Size = new System.Drawing.Size(35, 20); + this.tbReserved.TabIndex = 0; + this.tbReserved.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // lbValid2 + // + this.lbValid2.AutoSize = true; + this.lbValid2.Location = new System.Drawing.Point(317, 39); + this.lbValid2.Name = "lbValid2"; + this.lbValid2.Size = new System.Drawing.Size(0, 13); + this.lbValid2.TabIndex = 2; + // + // groupBox7 + // + this.groupBox7.Controls.Add(this.dgPCIaSections); + this.groupBox7.Location = new System.Drawing.Point(6, 9); + this.groupBox7.Name = "groupBox7"; + this.groupBox7.Size = new System.Drawing.Size(300, 309); + this.groupBox7.TabIndex = 2; + this.groupBox7.TabStop = false; + this.groupBox7.Text = "PCI Analog configuration data"; + // + // dgPCIaSections + // + this.dgPCIaSections.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgPCIaSections.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgPCIaSections.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgPCIaSections.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgPCIaSections.Location = new System.Drawing.Point(3, 16); + this.dgPCIaSections.Name = "dgPCIaSections"; + this.dgPCIaSections.RowHeadersVisible = false; + this.dgPCIaSections.ShowEditingIcon = false; + this.dgPCIaSections.Size = new System.Drawing.Size(294, 290); + this.dgPCIaSections.TabIndex = 0; + // + // groupBox8 + // + this.groupBox8.Controls.Add(this.dgCore0Analog); + this.groupBox8.Location = new System.Drawing.Point(325, 9); + this.groupBox8.Name = "groupBox8"; + this.groupBox8.Size = new System.Drawing.Size(300, 309); + this.groupBox8.TabIndex = 2; + this.groupBox8.TabStop = false; + this.groupBox8.Text = "Core0 Analog configuration data"; + // + // dgCore0Analog + // + this.dgCore0Analog.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgCore0Analog.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgCore0Analog.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgCore0Analog.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgCore0Analog.Location = new System.Drawing.Point(3, 16); + this.dgCore0Analog.Name = "dgCore0Analog"; + this.dgCore0Analog.RowHeadersVisible = false; + this.dgCore0Analog.ShowEditingIcon = false; + this.dgCore0Analog.Size = new System.Drawing.Size(294, 290); + this.dgCore0Analog.TabIndex = 0; + // + // groupBox9 + // + this.groupBox9.Controls.Add(this.dgCore1Analog); + this.groupBox9.Location = new System.Drawing.Point(643, 9); + this.groupBox9.Name = "groupBox9"; + this.groupBox9.Size = new System.Drawing.Size(300, 309); + this.groupBox9.TabIndex = 2; + this.groupBox9.TabStop = false; + this.groupBox9.Text = "Core1 Analog configuration data"; + // + // dgCore1Analog + // + this.dgCore1Analog.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgCore1Analog.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgCore1Analog.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgCore1Analog.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgCore1Analog.Location = new System.Drawing.Point(3, 16); + this.dgCore1Analog.Name = "dgCore1Analog"; + this.dgCore1Analog.RowHeadersVisible = false; + this.dgCore1Analog.ShowEditingIcon = false; + this.dgCore1Analog.Size = new System.Drawing.Size(294, 290); + this.dgCore1Analog.TabIndex = 0; + // + // groupBox10 + // + this.groupBox10.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.groupBox10.Controls.Add(this.dgPCIeConfig); + this.groupBox10.Location = new System.Drawing.Point(6, 6); + this.groupBox10.Name = "groupBox10"; + this.groupBox10.Size = new System.Drawing.Size(300, 309); + this.groupBox10.TabIndex = 2; + this.groupBox10.TabStop = false; + this.groupBox10.Text = "PCIe configuration data"; + // + // dgPCIeConfig + // + this.dgPCIeConfig.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgPCIeConfig.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgPCIeConfig.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgPCIeConfig.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgPCIeConfig.Location = new System.Drawing.Point(3, 16); + this.dgPCIeConfig.Name = "dgPCIeConfig"; + this.dgPCIeConfig.RowHeadersVisible = false; + this.dgPCIeConfig.ShowEditingIcon = false; + this.dgPCIeConfig.Size = new System.Drawing.Size(294, 290); + this.dgPCIeConfig.TabIndex = 0; + // + // groupBox11 + // + this.groupBox11.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.groupBox11.Controls.Add(this.dgSpace0); + this.groupBox11.Location = new System.Drawing.Point(329, 6); + this.groupBox11.Name = "groupBox11"; + this.groupBox11.Size = new System.Drawing.Size(300, 309); + this.groupBox11.TabIndex = 2; + this.groupBox11.TabStop = false; + this.groupBox11.Text = "PCIe Space 0 Configuration data"; + // + // dgSpace0 + // + this.dgSpace0.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgSpace0.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgSpace0.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgSpace0.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgSpace0.Location = new System.Drawing.Point(3, 16); + this.dgSpace0.Name = "dgSpace0"; + this.dgSpace0.RowHeadersVisible = false; + this.dgSpace0.ShowEditingIcon = false; + this.dgSpace0.Size = new System.Drawing.Size(294, 290); + this.dgSpace0.TabIndex = 0; + // + // groupBox12 + // + this.groupBox12.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox12.Controls.Add(this.dgSpace1); + this.groupBox12.Location = new System.Drawing.Point(652, 6); + this.groupBox12.Name = "groupBox12"; + this.groupBox12.Size = new System.Drawing.Size(300, 309); + this.groupBox12.TabIndex = 2; + this.groupBox12.TabStop = false; + this.groupBox12.Text = "PCIe Space 1 Configuration data"; + // + // dgSpace1 + // + this.dgSpace1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgSpace1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgSpace1.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgSpace1.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgSpace1.Location = new System.Drawing.Point(3, 16); + this.dgSpace1.Name = "dgSpace1"; + this.dgSpace1.RowHeadersVisible = false; + this.dgSpace1.ShowEditingIcon = false; + this.dgSpace1.Size = new System.Drawing.Size(294, 290); + this.dgSpace1.TabIndex = 0; + // + // groupBox13 + // + this.groupBox13.Controls.Add(this.dgLAN0); + this.groupBox13.Location = new System.Drawing.Point(5, 6); + this.groupBox13.Name = "groupBox13"; + this.groupBox13.Size = new System.Drawing.Size(217, 318); + this.groupBox13.TabIndex = 2; + this.groupBox13.TabStop = false; + this.groupBox13.Text = "LAN Core 0 Configuration data"; + // + // dgLAN0 + // + this.dgLAN0.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgLAN0.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgLAN0.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgLAN0.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgLAN0.Location = new System.Drawing.Point(3, 16); + this.dgLAN0.Name = "dgLAN0"; + this.dgLAN0.RowHeadersVisible = false; + this.dgLAN0.ShowEditingIcon = false; + this.dgLAN0.Size = new System.Drawing.Size(211, 299); + this.dgLAN0.TabIndex = 0; + // + // groupBox14 + // + this.groupBox14.Controls.Add(this.dgLAN1); + this.groupBox14.Location = new System.Drawing.Point(228, 3); + this.groupBox14.Name = "groupBox14"; + this.groupBox14.Size = new System.Drawing.Size(217, 321); + this.groupBox14.TabIndex = 2; + this.groupBox14.TabStop = false; + this.groupBox14.Text = "LAN Core 1 Configuration data"; + // + // dgLAN1 + // + this.dgLAN1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgLAN1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgLAN1.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgLAN1.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgLAN1.Location = new System.Drawing.Point(3, 16); + this.dgLAN1.Name = "dgLAN1"; + this.dgLAN1.RowHeadersVisible = false; + this.dgLAN1.ShowEditingIcon = false; + this.dgLAN1.Size = new System.Drawing.Size(211, 302); + this.dgLAN1.TabIndex = 0; + // + // groupBox15 + // + this.groupBox15.Controls.Add(this.dgMAC0); + this.groupBox15.Location = new System.Drawing.Point(451, 6); + this.groupBox15.Name = "groupBox15"; + this.groupBox15.Size = new System.Drawing.Size(223, 318); + this.groupBox15.TabIndex = 2; + this.groupBox15.TabStop = false; + this.groupBox15.Text = "MAC0 Configuration data"; + // + // dgMAC0 + // + this.dgMAC0.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgMAC0.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgMAC0.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgMAC0.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgMAC0.Location = new System.Drawing.Point(3, 16); + this.dgMAC0.Name = "dgMAC0"; + this.dgMAC0.RowHeadersVisible = false; + this.dgMAC0.ShowEditingIcon = false; + this.dgMAC0.Size = new System.Drawing.Size(217, 299); + this.dgMAC0.TabIndex = 0; + // + // groupBox16 + // + this.groupBox16.Controls.Add(this.dgMAC1); + this.groupBox16.Location = new System.Drawing.Point(680, 6); + this.groupBox16.Name = "groupBox16"; + this.groupBox16.Size = new System.Drawing.Size(259, 318); + this.groupBox16.TabIndex = 2; + this.groupBox16.TabStop = false; + this.groupBox16.Text = "MAC1 Configuration data"; + // + // dgMAC1 + // + this.dgMAC1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgMAC1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgMAC1.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgMAC1.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgMAC1.Location = new System.Drawing.Point(3, 16); + this.dgMAC1.Name = "dgMAC1"; + this.dgMAC1.RowHeadersVisible = false; + this.dgMAC1.ShowEditingIcon = false; + this.dgMAC1.Size = new System.Drawing.Size(253, 299); + this.dgMAC1.TabIndex = 0; + // + // groupBox17 + // + this.groupBox17.Controls.Add(this.dgCSR0); + this.groupBox17.Location = new System.Drawing.Point(6, 6); + this.groupBox17.Name = "groupBox17"; + this.groupBox17.Size = new System.Drawing.Size(433, 318); + this.groupBox17.TabIndex = 2; + this.groupBox17.TabStop = false; + this.groupBox17.Text = "CSR0 Autoconfiguration data"; + // + // dgCSR0 + // + this.dgCSR0.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgCSR0.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgCSR0.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgCSR0.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgCSR0.Location = new System.Drawing.Point(3, 16); + this.dgCSR0.Name = "dgCSR0"; + this.dgCSR0.RowHeadersVisible = false; + this.dgCSR0.ShowEditingIcon = false; + this.dgCSR0.Size = new System.Drawing.Size(427, 299); + this.dgCSR0.TabIndex = 0; + // + // groupBox18 + // + this.groupBox18.Controls.Add(this.dgCSR1); + this.groupBox18.Location = new System.Drawing.Point(463, 6); + this.groupBox18.Name = "groupBox18"; + this.groupBox18.Size = new System.Drawing.Size(489, 318); + this.groupBox18.TabIndex = 2; + this.groupBox18.TabStop = false; + this.groupBox18.Text = "CSR0 Autoconfiguration data"; + // + // dgCSR1 + // + this.dgCSR1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgCSR1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgCSR1.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgCSR1.GridColor = System.Drawing.SystemColors.ControlLightLight; + this.dgCSR1.Location = new System.Drawing.Point(3, 16); + this.dgCSR1.Name = "dgCSR1"; + this.dgCSR1.RowHeadersVisible = false; + this.dgCSR1.ShowEditingIcon = false; + this.dgCSR1.Size = new System.Drawing.Size(483, 299); + this.dgCSR1.TabIndex = 0; + // + // tcPages + // + this.tcPages.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tcPages.Controls.Add(this.tpGeneral); + this.tcPages.Controls.Add(this.tabPage2); + this.tcPages.Controls.Add(this.tabPage1); + this.tcPages.Controls.Add(this.tabPage3); + this.tcPages.Controls.Add(this.tabPage4); + this.tcPages.Controls.Add(this.tabPage5); + this.tcPages.Controls.Add(this.tabPage6); + this.tcPages.Location = new System.Drawing.Point(12, 57); + this.tcPages.Name = "tcPages"; + this.tcPages.SelectedIndex = 0; + this.tcPages.Size = new System.Drawing.Size(966, 389); + this.tcPages.TabIndex = 3; + // + // tpGeneral + // + this.tpGeneral.Controls.Add(this.groupBox2); + this.tpGeneral.Location = new System.Drawing.Point(4, 22); + this.tpGeneral.Name = "tpGeneral"; + this.tpGeneral.Padding = new System.Windows.Forms.Padding(3); + this.tpGeneral.Size = new System.Drawing.Size(958, 363); + this.tpGeneral.TabIndex = 0; + this.tpGeneral.Text = "General info"; + this.tpGeneral.UseVisualStyleBackColor = true; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.groupBox7); + this.tabPage2.Controls.Add(this.groupBox8); + this.tabPage2.Controls.Add(this.groupBox9); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(958, 344); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Analog Configuration"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.groupBox10); + this.tabPage1.Controls.Add(this.groupBox11); + this.tabPage1.Controls.Add(this.groupBox12); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(958, 344); + this.tabPage1.TabIndex = 2; + this.tabPage1.Text = "PCIe Configuration"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.groupBox13); + this.tabPage3.Controls.Add(this.groupBox14); + this.tabPage3.Controls.Add(this.groupBox16); + this.tabPage3.Controls.Add(this.groupBox15); + this.tabPage3.Location = new System.Drawing.Point(4, 22); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(3); + this.tabPage3.Size = new System.Drawing.Size(958, 344); + this.tabPage3.TabIndex = 3; + this.tabPage3.Text = "LAN/MAC Configuration"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.groupBox17); + this.tabPage4.Controls.Add(this.groupBox18); + this.tabPage4.Location = new System.Drawing.Point(4, 22); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(3); + this.tabPage4.Size = new System.Drawing.Size(958, 363); + this.tabPage4.TabIndex = 4; + this.tabPage4.Text = "CSR Configuration"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // tabPage5 + // + this.tabPage5.Controls.Add(this.groupBox19); + this.tabPage5.Location = new System.Drawing.Point(4, 22); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Padding = new System.Windows.Forms.Padding(3); + this.tabPage5.Size = new System.Drawing.Size(958, 363); + this.tabPage5.TabIndex = 5; + this.tabPage5.Text = "Firmware"; + this.tabPage5.UseVisualStyleBackColor = true; + // + // groupBox19 + // + this.groupBox19.Controls.Add(this.tbFWPassThroughLAN0); + this.groupBox19.Controls.Add(this.tbFWNCSIConfig); + this.groupBox19.Controls.Add(this.tbFWPassThroughPatch); + this.groupBox19.Controls.Add(this.label20); + this.groupBox19.Controls.Add(this.tbFWNCSIDownload); + this.groupBox19.Controls.Add(this.tbFWCommonParams); + this.groupBox19.Controls.Add(this.label21); + this.groupBox19.Controls.Add(this.label22); + this.groupBox19.Controls.Add(this.tbFWPassThroughLAN1); + this.groupBox19.Controls.Add(this.tbFWLESM); + this.groupBox19.Controls.Add(this.label23); + this.groupBox19.Controls.Add(this.label24); + this.groupBox19.Controls.Add(this.label25); + this.groupBox19.Controls.Add(this.label26); + this.groupBox19.Controls.Add(this.tbFWTCOFilter); + this.groupBox19.Controls.Add(this.tbFWReserved); + this.groupBox19.Controls.Add(this.label27); + this.groupBox19.Controls.Add(this.label28); + this.groupBox19.Controls.Add(this.tbFWSideBand); + this.groupBox19.Controls.Add(this.tbTestConfig); + this.groupBox19.Controls.Add(this.label29); + this.groupBox19.Controls.Add(this.label30); + this.groupBox19.Location = new System.Drawing.Point(6, 6); + this.groupBox19.Name = "groupBox19"; + this.groupBox19.Size = new System.Drawing.Size(293, 330); + this.groupBox19.TabIndex = 6; + this.groupBox19.TabStop = false; + this.groupBox19.Text = "Section pointers"; + // + // tbFWPassThroughLAN0 + // + this.tbFWPassThroughLAN0.Location = new System.Drawing.Point(243, 148); + this.tbFWPassThroughLAN0.Name = "tbFWPassThroughLAN0"; + this.tbFWPassThroughLAN0.Size = new System.Drawing.Size(35, 20); + this.tbFWPassThroughLAN0.TabIndex = 0; + this.tbFWPassThroughLAN0.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbFWNCSIConfig + // + this.tbFWNCSIConfig.Location = new System.Drawing.Point(243, 271); + this.tbFWNCSIConfig.Name = "tbFWNCSIConfig"; + this.tbFWNCSIConfig.Size = new System.Drawing.Size(35, 20); + this.tbFWNCSIConfig.TabIndex = 0; + this.tbFWNCSIConfig.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbFWPassThroughPatch + // + this.tbFWPassThroughPatch.Location = new System.Drawing.Point(243, 124); + this.tbFWPassThroughPatch.Name = "tbFWPassThroughPatch"; + this.tbFWPassThroughPatch.Size = new System.Drawing.Size(35, 20); + this.tbFWPassThroughPatch.TabIndex = 0; + this.tbFWPassThroughPatch.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(8, 152); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(207, 13); + this.label20.TabIndex = 1; + this.label20.Text = "Pass Through LAN 0 Configuration Pointer"; + // + // tbFWNCSIDownload + // + this.tbFWNCSIDownload.Location = new System.Drawing.Point(243, 247); + this.tbFWNCSIDownload.Name = "tbFWNCSIDownload"; + this.tbFWNCSIDownload.Size = new System.Drawing.Size(35, 20); + this.tbFWNCSIDownload.TabIndex = 0; + this.tbFWNCSIDownload.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbFWCommonParams + // + this.tbFWCommonParams.Location = new System.Drawing.Point(243, 100); + this.tbFWCommonParams.Name = "tbFWCommonParams"; + this.tbFWCommonParams.Size = new System.Drawing.Size(35, 20); + this.tbFWCommonParams.TabIndex = 0; + this.tbFWCommonParams.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(10, 275); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(139, 13); + this.label21.TabIndex = 1; + this.label21.Text = "NC-SI Configuration Pointer "; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(6, 128); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(208, 13); + this.label22.TabIndex = 1; + this.label22.Text = " Pass Through Patch Configuration Pointer"; + // + // tbFWPassThroughLAN1 + // + this.tbFWPassThroughLAN1.Location = new System.Drawing.Point(243, 222); + this.tbFWPassThroughLAN1.Name = "tbFWPassThroughLAN1"; + this.tbFWPassThroughLAN1.Size = new System.Drawing.Size(35, 20); + this.tbFWPassThroughLAN1.TabIndex = 0; + this.tbFWPassThroughLAN1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbFWLESM + // + this.tbFWLESM.Location = new System.Drawing.Point(243, 75); + this.tbFWLESM.Name = "tbFWLESM"; + this.tbFWLESM.Size = new System.Drawing.Size(35, 20); + this.tbFWLESM.TabIndex = 0; + this.tbFWLESM.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(10, 251); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(178, 13); + this.label23.TabIndex = 1; + this.label23.Text = "NC-SI Microcode Download Pointer "; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(8, 104); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(149, 13); + this.label24.TabIndex = 1; + this.label24.Text = "Common Firmware Parameters"; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(10, 226); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(207, 13); + this.label25.TabIndex = 1; + this.label25.Text = "Pass Through LAN 1 Configuration Pointer"; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(8, 79); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(110, 13); + this.label26.TabIndex = 1; + this.label26.Text = "LESM Module Pointer"; + // + // tbFWTCOFilter + // + this.tbFWTCOFilter.Location = new System.Drawing.Point(243, 198); + this.tbFWTCOFilter.Name = "tbFWTCOFilter"; + this.tbFWTCOFilter.Size = new System.Drawing.Size(35, 20); + this.tbFWTCOFilter.TabIndex = 0; + this.tbFWTCOFilter.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbFWReserved + // + this.tbFWReserved.Location = new System.Drawing.Point(243, 51); + this.tbFWReserved.Name = "tbFWReserved"; + this.tbFWReserved.Size = new System.Drawing.Size(35, 20); + this.tbFWReserved.TabIndex = 0; + this.tbFWReserved.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(10, 202); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(193, 13); + this.label27.TabIndex = 1; + this.label27.Text = "Flexible TCO Filter Configuration Pointer"; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(8, 55); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(53, 13); + this.label28.TabIndex = 1; + this.label28.Text = "Reserved"; + // + // tbFWSideBand + // + this.tbFWSideBand.Location = new System.Drawing.Point(243, 174); + this.tbFWSideBand.Name = "tbFWSideBand"; + this.tbFWSideBand.Size = new System.Drawing.Size(35, 20); + this.tbFWSideBand.TabIndex = 0; + this.tbFWSideBand.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // tbTestConfig + // + this.tbTestConfig.Location = new System.Drawing.Point(243, 27); + this.tbTestConfig.Name = "tbTestConfig"; + this.tbTestConfig.Size = new System.Drawing.Size(35, 20); + this.tbTestConfig.TabIndex = 0; + this.tbTestConfig.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(10, 178); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(154, 13); + this.label29.TabIndex = 1; + this.label29.Text = "SideBand Configuration Pointer"; + // + // label30 + // + this.label30.AutoSize = true; + this.label30.Location = new System.Drawing.Point(8, 31); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(129, 13); + this.label30.TabIndex = 1; + this.label30.Text = "Test Configuration Pointer"; + // + // tabPage6 + // + this.tabPage6.Controls.Add(this.label49); + this.tabPage6.Controls.Add(this.btnSave); + this.tabPage6.Controls.Add(this.btnPatch); + this.tabPage6.Controls.Add(this.button1); + this.tabPage6.Controls.Add(this.groupBox20); + this.tabPage6.Controls.Add(this.tbLAN1MAC); + this.tabPage6.Controls.Add(this.label38); + this.tabPage6.Controls.Add(this.tbLAN0MAC); + this.tabPage6.Controls.Add(this.label37); + this.tabPage6.Controls.Add(this.tbPMAC); + this.tabPage6.Controls.Add(this.label19); + this.tabPage6.Location = new System.Drawing.Point(4, 22); + this.tabPage6.Name = "tabPage6"; + this.tabPage6.Padding = new System.Windows.Forms.Padding(3); + this.tabPage6.Size = new System.Drawing.Size(958, 363); + this.tabPage6.TabIndex = 6; + this.tabPage6.Text = "Patcher"; + this.tabPage6.UseVisualStyleBackColor = true; + // + // label49 + // + this.label49.AutoSize = true; + this.label49.Location = new System.Drawing.Point(9, 281); + this.label49.Name = "label49"; + this.label49.Size = new System.Drawing.Size(160, 13); + this.label49.TabIndex = 5; + this.label49.Text = "CHECKSUM will be recalculated"; + // + // btnSave + // + this.btnSave.Enabled = false; + this.btnSave.Location = new System.Drawing.Point(96, 300); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(84, 38); + this.btnSave.TabIndex = 4; + this.btnSave.Text = "Save EEPROM"; + this.btnSave.UseVisualStyleBackColor = true; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // btnPatch + // + this.btnPatch.Enabled = false; + this.btnPatch.Location = new System.Drawing.Point(9, 300); + this.btnPatch.Name = "btnPatch"; + this.btnPatch.Size = new System.Drawing.Size(81, 38); + this.btnPatch.TabIndex = 4; + this.btnPatch.Text = "Patch loaded EEPROM"; + this.btnPatch.UseVisualStyleBackColor = true; + this.btnPatch.Click += new System.EventHandler(this.btnPatch_Click); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(84, 50); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(100, 23); + this.button1.TabIndex = 3; + this.button1.Text = "\\/"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // groupBox20 + // + this.groupBox20.Controls.Add(this.label46); + this.groupBox20.Controls.Add(this.label45); + this.groupBox20.Controls.Add(this.label44); + this.groupBox20.Controls.Add(this.label43); + this.groupBox20.Controls.Add(this.label42); + this.groupBox20.Controls.Add(this.label41); + this.groupBox20.Controls.Add(this.label40); + this.groupBox20.Controls.Add(this.label39); + this.groupBox20.Controls.Add(this.label36); + this.groupBox20.Controls.Add(this.label35); + this.groupBox20.Controls.Add(this.label33); + this.groupBox20.Controls.Add(this.tbSpace1ID); + this.groupBox20.Controls.Add(this.tbSpace0ID); + this.groupBox20.Controls.Add(this.tbDummyDeviceID); + this.groupBox20.Controls.Add(this.label34); + this.groupBox20.Controls.Add(this.label32); + this.groupBox20.Controls.Add(this.tbRevisionID); + this.groupBox20.Controls.Add(this.tbVenorID); + this.groupBox20.Controls.Add(this.label31); + this.groupBox20.Controls.Add(this.tbSubsystemID); + this.groupBox20.Location = new System.Drawing.Point(211, 22); + this.groupBox20.Name = "groupBox20"; + this.groupBox20.Size = new System.Drawing.Size(310, 240); + this.groupBox20.TabIndex = 2; + this.groupBox20.TabStop = false; + this.groupBox20.Text = "Device IDs"; + // + // label46 + // + this.label46.AutoSize = true; + this.label46.Location = new System.Drawing.Point(256, 203); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(32, 13); + this.label46.TabIndex = 2; + this.label46.Text = "10FB"; + // + // label45 + // + this.label45.AutoSize = true; + this.label45.Location = new System.Drawing.Point(256, 177); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(32, 13); + this.label45.TabIndex = 2; + this.label45.Text = "10FB"; + // + // label44 + // + this.label44.AutoSize = true; + this.label44.Location = new System.Drawing.Point(256, 129); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(31, 13); + this.label44.TabIndex = 2; + this.label44.Text = "0001"; + // + // label43 + // + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(256, 103); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(32, 13); + this.label43.TabIndex = 2; + this.label43.Text = "10A6"; + // + // label42 + // + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(256, 74); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(31, 13); + this.label42.TabIndex = 2; + this.label42.Text = "8086"; + // + // label41 + // + this.label41.AutoSize = true; + this.label41.Location = new System.Drawing.Point(256, 47); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(32, 13); + this.label41.TabIndex = 2; + this.label41.Text = "000C"; + // + // label40 + // + this.label40.AutoSize = true; + this.label40.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label40.Location = new System.Drawing.Point(252, 25); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(48, 13); + this.label40.TabIndex = 2; + this.label40.Text = "Default"; + // + // label39 + // + this.label39.AutoSize = true; + this.label39.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label39.Location = new System.Drawing.Point(187, 25); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(48, 13); + this.label39.TabIndex = 2; + this.label39.Text = "Current"; + // + // label36 + // + this.label36.AutoSize = true; + this.label36.Location = new System.Drawing.Point(7, 203); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(124, 13); + this.label36.TabIndex = 0; + this.label36.Text = "PCIe Space 1 Device ID"; + // + // label35 + // + this.label35.AutoSize = true; + this.label35.Location = new System.Drawing.Point(7, 177); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(124, 13); + this.label35.TabIndex = 0; + this.label35.Text = "PCIe Space 0 Device ID"; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(7, 103); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(119, 13); + this.label33.TabIndex = 0; + this.label33.Text = "PCIe Dummy Device-ID"; + // + // tbSpace1ID + // + this.tbSpace1ID.Enabled = false; + this.tbSpace1ID.Location = new System.Drawing.Point(186, 199); + this.tbSpace1ID.Name = "tbSpace1ID"; + this.tbSpace1ID.Size = new System.Drawing.Size(51, 20); + this.tbSpace1ID.TabIndex = 1; + // + // tbSpace0ID + // + this.tbSpace0ID.Enabled = false; + this.tbSpace0ID.Location = new System.Drawing.Point(186, 173); + this.tbSpace0ID.Name = "tbSpace0ID"; + this.tbSpace0ID.Size = new System.Drawing.Size(51, 20); + this.tbSpace0ID.TabIndex = 1; + // + // tbDummyDeviceID + // + this.tbDummyDeviceID.Enabled = false; + this.tbDummyDeviceID.Location = new System.Drawing.Point(186, 99); + this.tbDummyDeviceID.Name = "tbDummyDeviceID"; + this.tbDummyDeviceID.Size = new System.Drawing.Size(51, 20); + this.tbDummyDeviceID.TabIndex = 1; + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(7, 129); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(122, 13); + this.label34.TabIndex = 0; + this.label34.Text = "PCIeDevice Revision ID"; + // + // label32 + // + this.label32.AutoSize = true; + this.label32.Location = new System.Drawing.Point(7, 74); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(135, 13); + this.label32.TabIndex = 0; + this.label32.Text = "PCIe Subsystem Vendor-ID"; + // + // tbRevisionID + // + this.tbRevisionID.Enabled = false; + this.tbRevisionID.Location = new System.Drawing.Point(186, 125); + this.tbRevisionID.Name = "tbRevisionID"; + this.tbRevisionID.Size = new System.Drawing.Size(51, 20); + this.tbRevisionID.TabIndex = 1; + // + // tbVenorID + // + this.tbVenorID.Enabled = false; + this.tbVenorID.Location = new System.Drawing.Point(186, 70); + this.tbVenorID.Name = "tbVenorID"; + this.tbVenorID.Size = new System.Drawing.Size(51, 20); + this.tbVenorID.TabIndex = 1; + // + // label31 + // + this.label31.AutoSize = true; + this.label31.Location = new System.Drawing.Point(7, 47); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(98, 13); + this.label31.TabIndex = 0; + this.label31.Text = "PCIe Subsystem ID"; + // + // tbSubsystemID + // + this.tbSubsystemID.Enabled = false; + this.tbSubsystemID.Location = new System.Drawing.Point(186, 43); + this.tbSubsystemID.Name = "tbSubsystemID"; + this.tbSubsystemID.Size = new System.Drawing.Size(51, 20); + this.tbSubsystemID.TabIndex = 1; + // + // tbLAN1MAC + // + this.tbLAN1MAC.Enabled = false; + this.tbLAN1MAC.Location = new System.Drawing.Point(84, 108); + this.tbLAN1MAC.Name = "tbLAN1MAC"; + this.tbLAN1MAC.Size = new System.Drawing.Size(100, 20); + this.tbLAN1MAC.TabIndex = 1; + // + // label38 + // + this.label38.AutoSize = true; + this.label38.Location = new System.Drawing.Point(6, 110); + this.label38.Name = "label38"; + this.label38.Size = new System.Drawing.Size(60, 13); + this.label38.TabIndex = 0; + this.label38.Text = "LAN1 MAC"; + // + // tbLAN0MAC + // + this.tbLAN0MAC.Enabled = false; + this.tbLAN0MAC.Location = new System.Drawing.Point(84, 82); + this.tbLAN0MAC.Name = "tbLAN0MAC"; + this.tbLAN0MAC.Size = new System.Drawing.Size(100, 20); + this.tbLAN0MAC.TabIndex = 1; + // + // label37 + // + this.label37.AutoSize = true; + this.label37.Location = new System.Drawing.Point(6, 84); + this.label37.Name = "label37"; + this.label37.Size = new System.Drawing.Size(60, 13); + this.label37.TabIndex = 0; + this.label37.Text = "LAN0 MAC"; + // + // tbPMAC + // + this.tbPMAC.Enabled = false; + this.tbPMAC.Location = new System.Drawing.Point(84, 22); + this.tbPMAC.Name = "tbPMAC"; + this.tbPMAC.Size = new System.Drawing.Size(100, 20); + this.tbPMAC.TabIndex = 1; + this.tbPMAC.TextChanged += new System.EventHandler(this.tbPMAC_KeyPress); + this.tbPMAC.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbPMAC_KeyPress); + this.tbPMAC.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tbPMAC_KeyPress); + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(6, 24); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(71, 13); + this.label19.TabIndex = 0; + this.label19.Text = "MAC Address"; + // + // saveFileDialog1 + // + this.saveFileDialog1.Filter = "EEPROM Dumps|*.bin"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(984, 446); + this.Controls.Add(this.tcPages); + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(1000, 466); + this.Name = "Form1"; + this.Text = "Intel 82599 Ten Gigabit ethernet EEPROM tool"; + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox6.ResumeLayout(false); + this.groupBox6.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.groupBox7.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgPCIaSections)).EndInit(); + this.groupBox8.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgCore0Analog)).EndInit(); + this.groupBox9.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgCore1Analog)).EndInit(); + this.groupBox10.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgPCIeConfig)).EndInit(); + this.groupBox11.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgSpace0)).EndInit(); + this.groupBox12.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgSpace1)).EndInit(); + this.groupBox13.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgLAN0)).EndInit(); + this.groupBox14.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgLAN1)).EndInit(); + this.groupBox15.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgMAC0)).EndInit(); + this.groupBox16.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgMAC1)).EndInit(); + this.groupBox17.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgCSR0)).EndInit(); + this.groupBox18.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgCSR1)).EndInit(); + this.tcPages.ResumeLayout(false); + this.tpGeneral.ResumeLayout(false); + this.tabPage2.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage3.ResumeLayout(false); + this.tabPage4.ResumeLayout(false); + this.tabPage5.ResumeLayout(false); + this.groupBox19.ResumeLayout(false); + this.groupBox19.PerformLayout(); + this.tabPage6.ResumeLayout(false); + this.tabPage6.PerformLayout(); + this.groupBox20.ResumeLayout(false); + this.groupBox20.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button btnLoad; + private System.Windows.Forms.Button btnBrowse; + private System.Windows.Forms.TextBox tbFileName; + private System.Windows.Forms.Label lbFileName; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.TextBox tbControlWord; + private System.Windows.Forms.Label lbValid; + private System.Windows.Forms.Label lbValid2; + private System.Windows.Forms.CheckBox cbProtected; + private System.Windows.Forms.CheckBox cbManagable; + private System.Windows.Forms.Label lbHidden; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox tbReserved; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox tbSize; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.TextBox tbControlWord2; + private System.Windows.Forms.CheckBox cbXAUI; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.CheckBox cbGateDis; + private System.Windows.Forms.TextBox tbReserved3; + private System.Windows.Forms.TextBox tbReserved2; + private System.Windows.Forms.CheckBox cbClock; + private System.Windows.Forms.CheckBox cbPCIe; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.TextBox tbControlWord3; + private System.Windows.Forms.CheckBox cbAPM0; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.CheckBox cbAPM1; + private System.Windows.Forms.TextBox tbReserved4; + private System.Windows.Forms.GroupBox groupBox6; + private System.Windows.Forms.TextBox cbPCIanalog; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.GroupBox groupBox7; + private System.Windows.Forms.DataGridView dgPCIaSections; + private System.Windows.Forms.TextBox tbCore1Analog; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox tbCore0Analog; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.GroupBox groupBox8; + private System.Windows.Forms.DataGridView dgCore0Analog; + private System.Windows.Forms.GroupBox groupBox9; + private System.Windows.Forms.DataGridView dgCore1Analog; + private System.Windows.Forms.TextBox tbPCIeConfig; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.GroupBox groupBox10; + private System.Windows.Forms.DataGridView dgPCIeConfig; + private System.Windows.Forms.TextBox tbPCIeSpace1; + private System.Windows.Forms.TextBox tbPCIeSpace0; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.GroupBox groupBox11; + private System.Windows.Forms.DataGridView dgSpace0; + private System.Windows.Forms.GroupBox groupBox12; + private System.Windows.Forms.DataGridView dgSpace1; + private System.Windows.Forms.TextBox tbCSR1; + private System.Windows.Forms.TextBox tbCSR0; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox tbMAC1; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.TextBox tbMAC0; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox tbLAN2; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.TextBox tbLAN1; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.GroupBox groupBox13; + private System.Windows.Forms.DataGridView dgLAN0; + private System.Windows.Forms.GroupBox groupBox14; + private System.Windows.Forms.DataGridView dgLAN1; + private System.Windows.Forms.GroupBox groupBox15; + private System.Windows.Forms.DataGridView dgMAC0; + private System.Windows.Forms.GroupBox groupBox16; + private System.Windows.Forms.DataGridView dgMAC1; + private System.Windows.Forms.GroupBox groupBox17; + private System.Windows.Forms.DataGridView dgCSR0; + private System.Windows.Forms.GroupBox groupBox18; + private System.Windows.Forms.DataGridView dgCSR1; + private System.Windows.Forms.TabControl tcPages; + private System.Windows.Forms.TabPage tpGeneral; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.GroupBox groupBox19; + private System.Windows.Forms.TextBox tbFWPassThroughLAN0; + private System.Windows.Forms.TextBox tbFWNCSIConfig; + private System.Windows.Forms.TextBox tbFWPassThroughPatch; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.TextBox tbFWNCSIDownload; + private System.Windows.Forms.TextBox tbFWCommonParams; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.TextBox tbFWPassThroughLAN1; + private System.Windows.Forms.TextBox tbFWLESM; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.TextBox tbFWTCOFilter; + private System.Windows.Forms.TextBox tbFWReserved; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.TextBox tbFWSideBand; + private System.Windows.Forms.TextBox tbTestConfig; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.TabPage tabPage6; + private System.Windows.Forms.TextBox tbPMAC; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.GroupBox groupBox20; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.TextBox tbDummyDeviceID; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.Label label32; + private System.Windows.Forms.TextBox tbRevisionID; + private System.Windows.Forms.TextBox tbVenorID; + private System.Windows.Forms.Label label31; + private System.Windows.Forms.TextBox tbSubsystemID; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.TextBox tbSpace1ID; + private System.Windows.Forms.TextBox tbSpace0ID; + private System.Windows.Forms.TextBox tbLAN1MAC; + private System.Windows.Forms.Label label38; + private System.Windows.Forms.TextBox tbLAN0MAC; + private System.Windows.Forms.Label label37; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label46; + private System.Windows.Forms.Label label45; + private System.Windows.Forms.Label label44; + private System.Windows.Forms.Label label43; + private System.Windows.Forms.Label label42; + private System.Windows.Forms.Label label41; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.Label label39; + private System.Windows.Forms.Button btnSave; + private System.Windows.Forms.Button btnPatch; + private System.Windows.Forms.SaveFileDialog saveFileDialog1; + private System.Windows.Forms.TextBox tbCRC; + private System.Windows.Forms.Label lbCRC; + private System.Windows.Forms.Label label47; + private System.Windows.Forms.TextBox tbNewCRC; + private System.Windows.Forms.Label label48; + private System.Windows.Forms.Label label49; + private System.Windows.Forms.TextBox tbSFP; + private System.Windows.Forms.Label label50; + } +} + diff --git a/Intel82599eeprom/Form1.cs b/Intel82599eeprom/Form1.cs new file mode 100644 index 0000000..9a1abcf --- /dev/null +++ b/Intel82599eeprom/Form1.cs @@ -0,0 +1,665 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Intel82599eeprom +{ + + + + public partial class Form1 : Form + { + + byte[] eeprom; + public string[] PCIeOptionsStrings = { + "PCIe Init Configuration 1", + "PCIe Init Configuration 2", + "PCIe Init Configuration 3", + "PCIe Control 1", + "PCIe Control 2", + "PCIe LAN Power Consumption", + "PCIe Control 3", + "PCIe Sub-System ID", + "PCIe Sub-System Vendor ID", + "PCIe Dummy Device ID", + "PCIe Device Revision ID", + "IOV Control Word 1", + "IOV Control Word 2", + "Reserved", + "Reserved", + "Reserved", + "MAC byte 1", + "MAC byte 2", + "MAC byte 3", + "PCIe L1 Exit latencies", + "Spare" + }; + + public string[] PCIeSpaceStrings = { + "Control Word", + "Device ID", + "CDQM Memory Base 0/1 Low", + "CDQM Memory Base 0/1 High", + "Reserved" + }; + + public string[] LANCoreStrings = { + "MAC Bytes 2/1", + "MAC Bytes 4/3", + "MAC Bytes 6/5", + "LED 1/0 Configuration", + "LED 3/2 Configuration", + "SDP Control", + "Filter Control" + }; + + public string[] MACStrings = { + "Link Mode", + "Swap Configuration", + "Swizzle and Polarity", + "Auto Negotiation Default Bits", + "AUTOC2 Upper Half", + "SGMIIC Lower Half", + "KR-PCS" + }; + + public UInt16 macStart; + public UInt16 IDsStart; + public UInt16 space0IDStart; + public UInt16 space1IDStart; + + public UInt16 LAN0MACStart; + public UInt16 LAN1MACStart; + + public Form1() + { + InitializeComponent(); + } + + private void btnBrowse_Click(object sender, EventArgs e) + { + DialogResult result = openFileDialog1.ShowDialog(); + if (result.ToString() == "OK") + { + tbFileName.Text = openFileDialog1.FileName; + } + } + + private void btnLoad_Click(object sender, EventArgs e) + { + if (tbFileName.Text.Length != 0) + { + FileStream stream = new FileStream(tbFileName.Text, FileMode.Open); + eeprom = new byte[16384]; + stream.Read(eeprom, 0, 16384); + stream.Close(); + ParseEEPROM(); + } + } + + private void ParseEEPROM() + { + if (eeprom != null) + { + UInt16 ControlWord = BitConverter.ToUInt16(eeprom, 0); + tbControlWord.Text = ControlWord.ToString("X4"); + + // Check bits 7 and 6, must be 01 in case of valid eeprom + if ((ControlWord & 192) == 64) + { + lbValid.Text = "VALID"; + lbValid.ForeColor = Color.Green; + } + else + { + lbValid.Text = "INVALID"; + lbValid.ForeColor = Color.Red; + } + + cbManagable.Checked = IsBitSet(ControlWord, 10); + cbProtected.Checked = IsBitSet(ControlWord, 11); + + + + UInt16 hbsize = (UInt16)(ControlWord & 15); + lbHidden.Text = hbsize > 0 ? ("Hidden block size: " + ((UInt16)Math.Pow(2, hbsize)).ToString() + " KB") : "No hidden block"; + + UInt16 Reserved1 = (UInt16)((ControlWord & 0xF000) >> 12); + tbReserved.Text = Reserved1.ToString("X1"); + + UInt16 EEPROMSize = (UInt16)(Math.Pow(2, ((ControlWord & 0x0F00) >> 8)) / 8); + tbSize.Text = EEPROMSize.ToString(); + + + UInt16 ControlWord2 = BitConverter.ToUInt16(eeprom, 2); + tbControlWord2.Text = ControlWord2.ToString("X4"); + + UInt16 Reserved2 = (UInt16)((ControlWord2 & 0xFF80) >> 7); + tbReserved2.Text = Reserved2.ToString("X3"); + cbGateDis.Checked = IsBitSet(ControlWord2, 6); + + UInt16 Reserved3 = (UInt16)((ControlWord2 & 0x0038) >> 3); + tbReserved3.Text = Reserved3.ToString("X1"); + + cbXAUI.Checked = IsBitSet(ControlWord2, 2); + cbClock.Checked = IsBitSet(ControlWord2, 1); + cbPCIe.Checked = IsBitSet(ControlWord2, 0); + + UInt16 ControlWord3 = BitConverter.ToUInt16(eeprom, 0x38 * 2); + tbControlWord3.Text = ControlWord3.ToString("X4"); + + UInt16 Reserved4 = (UInt16)((ControlWord3 & 0xFFFC) >> 2); + tbReserved4.Text = Reserved4.ToString("X4"); + + cbAPM1.Checked = IsBitSet(ControlWord3, 1); + cbAPM0.Checked = IsBitSet(ControlWord3, 0); + + UInt16 PCIAnalogModule = BitConverter.ToUInt16(eeprom, 0x3 * 2); + cbPCIanalog.Text = PCIAnalogModule.ToString("X4"); + + if (PCIAnalogModule < 8192) + { + List PCIaSections = new List(); + int PCIaSectionsNum = BitConverter.ToUInt16(eeprom, PCIAnalogModule * 2) / 2; + + for (int i = 0; i < PCIaSectionsNum; i++) + { + PCIaSection section = new PCIaSection(); + section.address = BitConverter.ToUInt16(eeprom, PCIAnalogModule * 2 + i * 4 + 2).ToString("X4"); + section.data = BitConverter.ToUInt16(eeprom, PCIAnalogModule * 2 + i * 4 + 3).ToString("X4"); + PCIaSections.Add(section); + } + + dgPCIaSections.DataSource = PCIaSections; + } + + UInt16 Core0AnalogModule = BitConverter.ToUInt16(eeprom, 0x4 * 2); + tbCore0Analog.Text = Core0AnalogModule.ToString("X4"); + if (Core0AnalogModule < 8192) + { + List Core0Sections = new List(); + int Core0SectionsNum = BitConverter.ToUInt16(eeprom, Core0AnalogModule * 2) / 2; + + for (int i = 0; i < Core0SectionsNum; i++) + { + PCIaSection section = new PCIaSection(); + section.address = BitConverter.ToUInt16(eeprom, Core0AnalogModule * 2 + i * 4 + 2).ToString("X4"); + section.data = BitConverter.ToUInt16(eeprom, Core0AnalogModule * 2 + i * 4 + 3).ToString("X4"); + Core0Sections.Add(section); + } + + dgCore0Analog.DataSource = Core0Sections; + } + + UInt16 Core1AnalogModule = BitConverter.ToUInt16(eeprom, 0x5 * 2); + tbCore1Analog.Text = Core1AnalogModule.ToString("X4"); + if (Core1AnalogModule < 8192) + { + List Core1Sections = new List(); + int Core1SectionsNum = BitConverter.ToUInt16(eeprom, Core1AnalogModule * 2) / 2; + + for (int i = 0; i < Core1SectionsNum; i++) + { + PCIaSection section = new PCIaSection(); + section.address = BitConverter.ToUInt16(eeprom, Core1AnalogModule * 2 + i * 4 + 2).ToString("X4"); + section.data = BitConverter.ToUInt16(eeprom, Core1AnalogModule * 2 + i * 4 + 3).ToString("X4"); + Core1Sections.Add(section); + } + + dgCore1Analog.DataSource = Core1Sections; + } + + UInt16 PCIeConfig = BitConverter.ToUInt16(eeprom, 0x6 * 2); + tbPCIeConfig.Text = PCIeConfig.ToString("X4"); + + if (PCIeConfig < 8192) + { + List PCIeOptions = new List(); + int PCIeOptionsNum = BitConverter.ToUInt16(eeprom, PCIeConfig * 2); + + for (int i = 0; i < PCIeOptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < PCIeOptionsStrings.Length ? PCIeOptionsStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, PCIeConfig * 2 + i * 2 + 2).ToString("X4"); + PCIeOptions.Add(option); + } + + dgPCIeConfig.DataSource = PCIeOptions; + macStart = (UInt16)((int)PCIeConfig * 2 + 34); + IDsStart = (UInt16)((int)PCIeConfig * 2 + 16); + tbPMAC.Text = ReverseBytes(BitConverter.ToUInt16(eeprom, macStart)).ToString("X4") + + ReverseBytes(BitConverter.ToUInt16(eeprom, macStart + 2)).ToString("X4") + + ReverseBytes(BitConverter.ToUInt16(eeprom, macStart + 4)).ToString("X4"); + + tbPMAC.Enabled = true; + + tbSubsystemID.Text = BitConverter.ToUInt16(eeprom, IDsStart).ToString("X4"); + tbSubsystemID.Enabled = true; + + tbVenorID.Text = BitConverter.ToUInt16(eeprom, IDsStart + 2).ToString("X4"); + tbVenorID.Enabled = true; + + tbDummyDeviceID.Text = BitConverter.ToUInt16(eeprom, IDsStart + 4).ToString("X4"); + tbDummyDeviceID.Enabled = true; + + tbRevisionID.Text = BitConverter.ToUInt16(eeprom, IDsStart + 6).ToString("X4"); + tbRevisionID.Enabled = true; + + + } + + + UInt16 PCIeSpace0 = BitConverter.ToUInt16(eeprom, 0x7 * 2); + tbPCIeSpace0.Text = PCIeSpace0.ToString("X4"); + + UInt16 PCIeSpace1 = BitConverter.ToUInt16(eeprom, 0x8 * 2); + tbPCIeSpace1.Text = PCIeSpace1.ToString("X4"); + + + if (PCIeSpace0 < 8192) + { + List PCIeSpace0Options = new List(); + int PCIeSpace0OptionsNum = BitConverter.ToUInt16(eeprom, PCIeSpace0 * 2); + + for (int i = 0; i < PCIeSpace0OptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < PCIeSpaceStrings.Length ? PCIeSpaceStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, PCIeSpace0 * 2 + i * 2 + 2).ToString("X4"); + PCIeSpace0Options.Add(option); + } + space0IDStart = (UInt16)((int)PCIeSpace0 * 2 + 4); + + tbSpace0ID.Text = BitConverter.ToUInt16(eeprom, space0IDStart).ToString("X4"); + tbSpace0ID.Enabled = true; + dgSpace0.DataSource = PCIeSpace0Options; + } + + if (PCIeSpace1 < 8192) + { + List PCIeSpace1Options = new List(); + int PCIeSpace1OptionsNum = BitConverter.ToUInt16(eeprom, PCIeSpace1 * 2); + + for (int i = 0; i < PCIeSpace1OptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < PCIeSpaceStrings.Length ? PCIeSpaceStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, PCIeSpace1 * 2 + i * 2 + 2).ToString("X4"); + PCIeSpace1Options.Add(option); + } + space1IDStart = (UInt16)((int)PCIeSpace1 * 2 + 4); + tbSpace1ID.Text = BitConverter.ToUInt16(eeprom, space1IDStart).ToString("X4"); + tbSpace1ID.Enabled = true; + dgSpace1.DataSource = PCIeSpace1Options; + } + + + UInt16 LAN0Core = BitConverter.ToUInt16(eeprom, 0x9 * 2); + tbLAN1.Text = LAN0Core.ToString("X4"); + + UInt16 LAN1Core = BitConverter.ToUInt16(eeprom, 0xa * 2); + tbLAN2.Text = LAN1Core.ToString("X4"); + + + if (LAN0Core < 8192) + { + List LAN0CoreOptions = new List(); + int LAN0CoreOptionsNum = BitConverter.ToUInt16(eeprom, LAN0Core * 2); + + for (int i = 0; i < LAN0CoreOptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < LANCoreStrings.Length ? LANCoreStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, LAN0Core * 2 + i * 2 + 2).ToString("X4"); + LAN0CoreOptions.Add(option); + } + LAN0MACStart = (UInt16)((int)LAN0Core * 2 + 2); + tbLAN0MAC.Text = ReverseBytes(BitConverter.ToUInt16(eeprom, LAN0MACStart)).ToString("X4") + + ReverseBytes(BitConverter.ToUInt16(eeprom, LAN0MACStart + 2)).ToString("X4") + + ReverseBytes(BitConverter.ToUInt16(eeprom, LAN0MACStart + 4)).ToString("X4"); + dgLAN0.DataSource = LAN0CoreOptions; + } + + if (LAN1Core < 8192) + { + List LAN1CoreOptions = new List(); + int LAN1CoreOptionsNum = BitConverter.ToUInt16(eeprom, LAN1Core * 2); + + for (int i = 0; i < LAN1CoreOptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < LANCoreStrings.Length ? LANCoreStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, LAN1Core * 2 + i * 2 + 2).ToString("X4"); + LAN1CoreOptions.Add(option); + } + LAN1MACStart = (UInt16)((int)LAN1Core * 2 + 2); + tbLAN1MAC.Text = ReverseBytes(BitConverter.ToUInt16(eeprom, LAN1MACStart)).ToString("X4") + + ReverseBytes(BitConverter.ToUInt16(eeprom, LAN1MACStart + 2)).ToString("X4") + + ReverseBytes(BitConverter.ToUInt16(eeprom, LAN1MACStart + 4)).ToString("X4"); + dgLAN1.DataSource = LAN1CoreOptions; + } + + + UInt16 MAC0 = BitConverter.ToUInt16(eeprom, 0xb * 2); + tbMAC0.Text = MAC0.ToString("X4"); + + UInt16 MAC1 = BitConverter.ToUInt16(eeprom, 0xc * 2); + tbMAC1.Text = MAC1.ToString("X4"); + + + if (MAC0 < 8192) + { + List MAC0Options = new List(); + int MAC0OptionsNum = BitConverter.ToUInt16(eeprom, MAC0 * 2); + + for (int i = 0; i < MAC0OptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < MACStrings.Length ? MACStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, MAC0 * 2 + i * 2 + 2).ToString("X4"); + MAC0Options.Add(option); + } + + dgMAC0.DataSource = MAC0Options; + } + + if (MAC1 < 8192) + { + List MAC1Options = new List(); + int MAC1OptionsNum = BitConverter.ToUInt16(eeprom, MAC1 * 2); + + for (int i = 0; i < MAC1OptionsNum; i++) + { + PCIeOption option = new PCIeOption(); + option.name = i < MACStrings.Length ? MACStrings[i] : "Unknown"; + option.value = BitConverter.ToUInt16(eeprom, MAC1 * 2 + i * 2 + 2).ToString("X4"); + MAC1Options.Add(option); + } + + dgMAC1.DataSource = MAC1Options; + } + + UInt16 CSR0 = BitConverter.ToUInt16(eeprom, 0xd * 2); + tbCSR0.Text = CSR0.ToString("X4"); + + UInt16 CSR1 = BitConverter.ToUInt16(eeprom, 0xe * 2); + tbCSR1.Text = CSR1.ToString("X4"); + + if (CSR0 < 8192) + { + List CSR0Sections = new List(); + int CSR0SectionsNum = BitConverter.ToUInt16(eeprom, CSR0 * 2) / 3; + + for (int i = 0; i < CSR0SectionsNum; i++) + { + PCIaSection section = new PCIaSection(); + section.address = BitConverter.ToUInt16(eeprom, CSR0 * 2 + i * 6 + 2).ToString("X4"); + section.data = BitConverter.ToUInt32(eeprom, CSR0 * 2 + i * 6 + 3).ToString("X8"); + CSR0Sections.Add(section); + } + + dgCSR0.DataSource = CSR0Sections; + } + + if (CSR1 < 8192) + { + List CSR1Sections = new List(); + int CSR1SectionsNum = BitConverter.ToUInt16(eeprom, CSR1 * 2) / 3; + + for (int i = 0; i < CSR1SectionsNum; i++) + { + PCIaSection section = new PCIaSection(); + section.address = BitConverter.ToUInt16(eeprom, CSR1 * 2 + i * 6 + 2).ToString("X4"); + section.data = BitConverter.ToUInt32(eeprom, CSR1 * 2 + i * 6 + 3).ToString("X8"); + CSR1Sections.Add(section); + } + + dgCSR1.DataSource = CSR1Sections; + } + + UInt16 FWBase = 0xf * 2; + + UInt16 FWTestConfigPointer = BitConverter.ToUInt16(eeprom, FWBase); + UInt16 FWReserved = BitConverter.ToUInt16(eeprom, FWBase + 0x1 * 2); + UInt16 FWLESM = BitConverter.ToUInt16(eeprom, FWBase + 0x2 * 2); + UInt16 FWCommonParams = BitConverter.ToUInt16(eeprom, FWBase + 0x3 * 2); + UInt16 FWPassThroughPatch = BitConverter.ToUInt16(eeprom, FWBase + 0x4 * 2); + UInt16 FWPassThroughLAN0 = BitConverter.ToUInt16(eeprom, FWBase + 0x5 * 2); + UInt16 FWSideBand = BitConverter.ToUInt16(eeprom, FWBase + 0x6 * 2); + UInt16 FWTCOFilter = BitConverter.ToUInt16(eeprom, FWBase + 0x7 * 2); + UInt16 FWPassThroughLAN1 = BitConverter.ToUInt16(eeprom, FWBase + 0x8 * 2); + UInt16 FWNCSIDownload = BitConverter.ToUInt16(eeprom, FWBase + 0x9 * 2); + UInt16 FWNCSIConfig = BitConverter.ToUInt16(eeprom, FWBase + 0xa * 2); + + tbTestConfig.Text = FWTestConfigPointer.ToString("X4"); + tbFWReserved.Text = FWReserved.ToString("X4"); + tbFWLESM.Text = FWLESM.ToString("X4"); + tbFWCommonParams.Text = FWCommonParams.ToString("X4"); + tbFWPassThroughPatch.Text = FWPassThroughPatch.ToString("X4"); + tbFWPassThroughLAN0.Text = FWPassThroughLAN0.ToString("X4"); + tbFWSideBand.Text = FWSideBand.ToString("X4"); + tbFWTCOFilter.Text = FWTCOFilter.ToString("X4"); + tbFWPassThroughLAN1.Text = FWPassThroughLAN1.ToString("X4"); + tbFWNCSIDownload.Text = FWNCSIDownload.ToString("X4"); + tbFWNCSIConfig.Text = FWNCSIConfig.ToString("X4"); + btnPatch.Enabled = true; + + UInt16 CRC = BitConverter.ToUInt16(eeprom, 0x3F * 2); + tbCRC.Text = CRC.ToString("X4"); + + UInt16 newCRC = CalculateCRC(); + tbNewCRC.Text = newCRC.ToString("X4"); + + UInt16 SFPModule = BitConverter.ToUInt16(eeprom, 0x2B * 2); + tbSFP.Text = SFPModule.ToString("X4"); + + + if (CRC != newCRC) + { + lbCRC.Text = "NOT VALID"; + lbCRC.ForeColor = Color.Red; + } else + { + lbCRC.Text = "VALID"; + lbCRC.ForeColor = Color.Green; + } + } + } + + public byte[] Hex2Bytes(string input) + { + byte[] data = new byte[(int)Math.Ceiling((double)input.Length / 2)]; + + var builder = new StringBuilder(); + for (int i = 0; i < input.Length; i += 2) + { //throws an exception if not properly formatted + string hexdec = input.Substring(i, 2); + data[i / 2] = (byte)Int32.Parse(hexdec, NumberStyles.HexNumber); + } + return data; + } + + public string BytesToHex(byte[] bytes) + { + string hex = ""; + foreach (char c in bytes) + { + int tmp = c; + hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString())); + } + return hex; + } + + public static UInt16 ReverseBytes(UInt16 value) + { + return (UInt16)((value & 0xFFU) << 8 | (value & 0xFF00U) >> 8); + } + + public static bool IsBitSet(UInt16 word, int bit) + { + return (word & (UInt16)Math.Pow(2, bit)) == ((UInt16)Math.Pow(2, bit)); + } + + + + private void textBox1_TextChanged(object sender, EventArgs e) + { + + } + + private void cbProtected_CheckedChanged(object sender, EventArgs e) + { + + } + + private void tbPMAC_KeyPress(object sender, KeyPressEventArgs e) + { + + + + } + + private void tbPMAC_KeyPress(object sender, KeyEventArgs e) + { + + } + + private void tbPMAC_KeyPress(object sender, EventArgs e) + { + + } + + private void button1_Click(object sender, EventArgs e) + { + try + { + UInt64 MAC = UInt64.Parse("0000" + tbPMAC.Text, NumberStyles.HexNumber); + tbLAN0MAC.Text = (MAC).ToString("X12"); + tbLAN1MAC.Text = (MAC + 1).ToString("X12"); + } + catch (Exception ex) + { + tbLAN0MAC.Text = (0).ToString("X12"); + tbLAN1MAC.Text = (1).ToString("X12"); + + } + } + + private void btnPatch_Click(object sender, EventArgs e) + { + // UInt16 SubsytemID = ReverseBytes(UInt16.Parse(tbSubsystemID.Text, NumberStyles.HexNumber)); + + UInt16[] ids = { + (UInt16.Parse(tbSubsystemID.Text, NumberStyles.HexNumber)), + (UInt16.Parse(tbVenorID.Text, NumberStyles.HexNumber)), + (UInt16.Parse(tbDummyDeviceID.Text, NumberStyles.HexNumber)), + (UInt16.Parse(tbRevisionID.Text, NumberStyles.HexNumber)) + }; + Buffer.BlockCopy(ids, 0, eeprom, IDsStart, 8); + + UInt16 Space0ID = (UInt16.Parse(tbSpace0ID.Text, NumberStyles.HexNumber)); + UInt16 Space1ID = (UInt16.Parse(tbSpace1ID.Text, NumberStyles.HexNumber)); + + + BitConverter.GetBytes(Space0ID).CopyTo(eeprom, space0IDStart); + BitConverter.GetBytes(Space1ID).CopyTo(eeprom, space1IDStart); + + Byte[] MAC0 = Hex2Bytes(tbLAN0MAC.Text.Substring(0, 12)); + Byte[] MAC1 = Hex2Bytes(tbLAN1MAC.Text.Substring(0, 12)); + + Byte[] MAC = Hex2Bytes(tbPMAC.Text.Substring(0, 12)); + + MAC0.CopyTo(eeprom, LAN0MACStart); + MAC1.CopyTo(eeprom, LAN1MACStart); + MAC.CopyTo(eeprom, macStart); + + UInt16 CRC = BitConverter.ToUInt16(eeprom, 0x3F * 2); + UInt16 newCRC = CalculateCRC(); + + // Update CRC if needed + if (CRC != newCRC) + { + BitConverter.GetBytes(newCRC).CopyTo(eeprom, 0x3F * 2); + } + + btnSave.Enabled = true; + ParseEEPROM(); + } + + private void btnSave_Click(object sender, EventArgs e) + { + DialogResult result = saveFileDialog1.ShowDialog(); + if (result.ToString() == "OK") + { + Stream File = saveFileDialog1.OpenFile(); + File.Write(eeprom, 0, 16384); + File.Close(); + } + } + + protected UInt16 CalculateCRC() + { + UInt16 i; + UInt16 j; + UInt16 checksum = 0; + UInt16 length = 0; + UInt16 pointer = 0; + UInt16 word = 0; + + // Include 0x0-0x3F in the checksum + for (i = 0; i < 0x3F; i++) + { + checksum += BitConverter.ToUInt16(eeprom, i * 2); + checksum += word; + } + + /* Include all data from pointers except for the fw pointer */ + + for (i = 3; i < 0xf; i++) + { + pointer = BitConverter.ToUInt16(eeprom, i * 2); + + /* Make sure the pointer seems valid */ + if (pointer != 0xFFFF && pointer != 0) + { + length = BitConverter.ToUInt16(eeprom, pointer * 2); + if (length != 0xFFFF && length != 0) + { + for (j = (UInt16)((int)pointer + 1); j <= pointer + length; j++) + { + word = BitConverter.ToUInt16(eeprom, j * 2); + checksum += word; + } + } + } + } + + checksum = (UInt16)(((UInt16)0xBABA) - checksum); + return checksum; + } + + } + public class PCIaSection + { + public string address { get; set; } + public string data { get; set; } + } + + public class PCIeOption + { + public string name { get; set; } + public string value { get; set; } + } + + + +} diff --git a/Intel82599eeprom/Form1.resx b/Intel82599eeprom/Form1.resx new file mode 100644 index 0000000..ed77fbf --- /dev/null +++ b/Intel82599eeprom/Form1.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 157, 17 + + + 25 + + \ No newline at end of file diff --git a/Intel82599eeprom/Intel82599eeprom.csproj b/Intel82599eeprom/Intel82599eeprom.csproj new file mode 100644 index 0000000..e5173cf --- /dev/null +++ b/Intel82599eeprom/Intel82599eeprom.csproj @@ -0,0 +1,91 @@ + + + + + Debug + AnyCPU + {F5767F7D-24AC-4BBB-954D-3BBB82C98E03} + WinExe + Properties + Intel82599eeprom + Intel82599eeprom + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/Intel82599eeprom/Program.cs b/Intel82599eeprom/Program.cs new file mode 100644 index 0000000..879351c --- /dev/null +++ b/Intel82599eeprom/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Intel82599eeprom +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Intel82599eeprom/Properties/AssemblyInfo.cs b/Intel82599eeprom/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..d120f37 --- /dev/null +++ b/Intel82599eeprom/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Intel82599eeprom")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Intel82599eeprom")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f5767f7d-24ac-4bbb-954d-3bbb82c98e03")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Intel82599eeprom/Properties/Resources.Designer.cs b/Intel82599eeprom/Properties/Resources.Designer.cs new file mode 100644 index 0000000..33ca61d --- /dev/null +++ b/Intel82599eeprom/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Intel82599eeprom.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Intel82599eeprom.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Intel82599eeprom/Properties/Resources.resx b/Intel82599eeprom/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Intel82599eeprom/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Intel82599eeprom/Properties/Settings.Designer.cs b/Intel82599eeprom/Properties/Settings.Designer.cs new file mode 100644 index 0000000..3a03847 --- /dev/null +++ b/Intel82599eeprom/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Intel82599eeprom.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Intel82599eeprom/Properties/Settings.settings b/Intel82599eeprom/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Intel82599eeprom/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + +