internal void Dump() { TextMode.Write("Thread stack: "); TextMode.Write((int)stackAddress, true); TextMode.Write(" function: "); TextMode.Write((int)functionAddress, true); TextMode.Write(" position: "); TextMode.Write((int)stackPointer, true); TextMode.WriteLine(); }
public unsafe void Dump() { // TODO: make this thread safe! TextMode.WriteLine("--------------"); TextMode.Write("Count: "); TextMode.Write(Count); TextMode.WriteLine(); for (int i = 0; i < Count; i++) { Thread thread = schedule[i] as Thread; thread.Dump(); } TextMode.WriteLine("--------------"); }
public static unsafe void OnEvent(object obj) { TextMode.WriteLine("HIT"); try { spinLock.Enter(); for (int x = 0; x < dispatchCount; ++x) { if (dispathTable[x].obj == obj) { MemoryUtil.Call((void *)dispathTable[x].address, (void *)0); } } } finally { spinLock.Exit(); } }
static public void Setup2() { foreach (Device device in DeviceManager.GetOnlineDevicesWithName("COM_0x3F8")) { if (device is ISerialDevice) { COM1 = new DebugHandler((ISerialDevice)device); TextMode.WriteLine("Sending: Hello!"); COM1.WriteLine("Hello!"); break; } } foreach (Device device in DeviceManager.GetOnlineDevicesWithName("COM_0x2F8")) { if (device is ISerialDevice) { COM2 = new DebugHandler((ISerialDevice)device); break; } } }