Added a Heap usage viewer.

This commit is contained in:
mterwoord_cp 2007-11-15 18:35:26 +00:00
parent 36054ec753
commit bfab20d76d
7 changed files with 258 additions and 68 deletions

View file

@ -78,6 +78,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Overview\HeapUsageDisplay.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Overview\MessagesDisplay.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@ -101,6 +105,11 @@
</ItemGroup>
<ItemGroup>
<Compile Include="MessageTemplates\MessageTemplateSelector.cs" />
<Compile Include="Overview\HeapUsageDisplay.xaml.cs">
<DependentUpon>HeapUsageDisplay.xaml</DependentUpon>
</Compile>
<Compile Include="Overview\LoggedHexNumberToUInt32Converter.cs" />
<Compile Include="Overview\MathUtils.cs" />
<Compile Include="Overview\MessagesDisplay.xaml.cs">
<DependentUpon>MessagesDisplay.xaml</DependentUpon>
</Compile>

View file

@ -0,0 +1,30 @@
<UserControl x:Class="Cosmos.Kernel.LogViewer.Overview.HeapUsageDisplay"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Overview="clr-namespace:Cosmos.Kernel.LogViewer.Overview"
Height="51" Width="252">
<UserControl.Resources>
<Overview:LoggedHexNumberToUInt32Converter x:Key="NumberConverter"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="169*" />
<ColumnDefinition Width="83*" />
</Grid.ColumnDefinitions>
<Label Grid.ColumnSpan="2" Margin="0,0,69,0">Available Memory:</Label>
<DockPanel Grid.Column="1" LastChildFill="True">
<Label DockPanel.Dock="Right" Content="MB"/>
<Label DockPanel.Dock="Right" Content="{Binding Source={StaticResource LogFile}, XPath=//MM_Init/@Length, Converter={StaticResource NumberConverter}, ConverterParameter=1048576}" FlowDirection="RightToLeft" />
</DockPanel>
<Label Grid.Row="1" Grid.ColumnSpan="2" Margin="0,0,69,0">Used Memory:</Label>
<DockPanel Grid.Column="1" Grid.Row="1" LastChildFill="True">
<Label DockPanel.Dock="Right" Content="MB"/>
<Label DockPanel.Dock="Right" Content="{Binding Source={StaticResource LogFile}, XPath=//MM_Alloc/@Length, Converter={StaticResource NumberConverter}, ConverterParameter=1048576}" FlowDirection="RightToLeft" />
</DockPanel>
</Grid>
</UserControl>

View file

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Cosmos.Kernel.LogViewer.Overview {
/// <summary>
/// Interaction logic for HeapUsageDisplay.xaml
/// </summary>
public partial class HeapUsageDisplay: UserControl {
public HeapUsageDisplay() {
InitializeComponent();
}
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.Globalization;
using System.Windows.Data;
using System.Xml;
namespace Cosmos.Kernel.LogViewer.Overview {
public class LoggedHexNumberToUInt32Converter: IValueConverter {
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
string xValue = value.ToString();
XmlAttribute xAttrib = value as XmlAttribute;
if (xAttrib != null) {
xValue = xAttrib.Value;
}
xValue = xValue.Substring(2);
string xType = "**NULL**";
if (parameter != null) {
xType = parameter.GetType().FullName;
}
Console.WriteLine("Param: {0} ({1})", parameter, xType);
return UInt32.Parse(xValue, NumberStyles.HexNumber) / UInt32.Parse((parameter??"").ToString());
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
return null;
}
}
}

View file

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cosmos.Kernel.LogViewer.Overview {
public static class MathUtils {
}
}

View file

@ -9,6 +9,7 @@ namespace Cosmos.Kernel.LogViewer.Overview {
public OverviewItemCollection() {
Add(new OverviewItem(new MessagesDisplay(), "General Message", "Shows all errors, warnings and informational messages written out by the kernel"));
Add(new OverviewItem(new Multiboot_MMapDisplay(), "MultiBoot MMap info", "Shows the memorymap information, available from the MultiBoot Specification boot loader"));
Add(new OverviewItem(new HeapUsageDisplay(), "Heap Usage", "Shows the usage of the heap. Right now, we don't have a Garbage Collector yet, so you need to have a large amount of memory."));
}
}
}

View file

@ -266,192 +266,280 @@
<IDT_RegisterInterrupt Interrupt="0x000000FD"/>
<IDT_RegisterInterrupt Interrupt="0x000000FE"/>
<IDT_RegisterInterrupt Interrupt="0x000000FF"/>
<MM_Alloc StartAddr="0x00100000" Length="0x0000020C"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<Message Type="Warning" Module="test" String="inited"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x0000009C"/>
<Keyboard_CharReceived Char="0x00000029" Released="true"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x0000001E"/>
<Keyboard_CharReceived Char="A" Released="false"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x0000009E"/>
<Keyboard_CharReceived Char="A" Released="true"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x00000030"/>
<Keyboard_CharReceived Char="0x00000002" Released="false"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
00020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x000000B0"/>
<Keyboard_CharReceived Char="0x00000002" Released="true"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x0000001D"/>
<Keyboard_CharReceived Char="0x00000026" Released="false"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x00000038"/>
<Keyboard_CharReceived Char="0x00000027" Released="false"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x0000009D"/>
<Keyboard_CharReceived Char="0x00000026" Released="true"/>
<IDT_InterruptOccurred Interrupt="0x00000021" Param="0x00000000"/>
<HandleIRQ IRQ="0x1"/>
<Keyboard_ScanCodeReceived Char="0x000000B8"/>
<Keyboard_CharReceived Char="0x00000027" Released="true"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
<IDT_InterruptOccurred Interrupt="0x00000020" Param="0x00000000"/>
<HandleIRQ IRQ="0x0"/>
</Log>