private void ReadNext() { string line = trace.ReadLine(); isDone = (line == null || line.Trim() == ""); if (!isDone) { string[] fields = line.Trim().Split(new char[] { ' ' }); isRead = fields[0].StartsWith("r"); isWrite = !isRead; // Just for readability regionSpace = (AcpiObject.RegionSpace) int.Parse(fields[1]); offset = ulong.Parse(fields[2]); length = ulong.Parse(fields[3]); if (fields.Length > 4) { value = ulong.Parse(fields[4]); } if (fields.Length != 5) { valueSequence = new byte[fields.Length - 4]; for (int i = 0; i < valueSequence.Length; i++) { valueSequence[i] = byte.Parse(fields[4 + i]); } } } }
public void Write32(AcpiObject.RegionSpace regionSpace, ulong offset, uint value) { Console.WriteLine("Write32 at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); if (!(isWrite && length == 4 && regionSpace == this.regionSpace && offset == this.offset && value == this.value)) { throw new MismatchedTraceException(); } ReadNext(); }
public byte[] ReadBytes(AcpiObject.RegionSpace regionSpace, ulong offset, ulong length) { Console.WriteLine("Read " + length + " bytes at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); byte[] result = new byte[length]; for (ulong i = 0; i < length; i++) { result[i] = 10; } return(result); }
public byte[] ReadBytes(AcpiObject.RegionSpace regionSpace, ulong offset, ulong length) { Console.WriteLine("Read " + length + " bytes at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); if (!(isRead && length == (ulong)valueSequence.Length && regionSpace == this.regionSpace && offset == this.offset)) { throw new MismatchedTraceException(); } byte[] result = valueSequence; ReadNext(); return(valueSequence); }
public uint Read32(AcpiObject.RegionSpace regionSpace, ulong offset) { Console.WriteLine("Read32 at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); if (!(isRead && length == 4 && regionSpace == this.regionSpace && offset == this.offset)) { throw new MismatchedTraceException(); } uint result = (uint)value; ReadNext(); return(result); }
public void Write32(AcpiObject.RegionSpace regionSpace, ulong offset, uint value) { Console.WriteLine("Write32 at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); }
public uint Read32(AcpiObject.RegionSpace regionSpace, ulong offset) { Console.WriteLine("Read32 at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); return(1024); }
public byte Read8(AcpiObject.RegionSpace regionSpace, ulong offset) { Console.WriteLine("Read8 at " + regionSpace.ToString() + ":0x" + offset.ToString("X")); return(10); }