/// <summary> /// Claims the resources. /// </summary> /// <param name="hardwareResources">The hardware resources.</param> /// <returns></returns> public bool ClaimResources(HardwareResources hardwareResources) { spinLock.Enter(); for (byte r = 0; r < hardwareResources.MemoryRegionCount; r++) { var region = hardwareResources.GetMemoryRegion(r); foreach (var memoryRegion in memoryRegions) { if ((memoryRegion.Contains(region.BaseAddress) || memoryRegion.Contains(region.BaseAddress + region.Size))) { return(false); } } } for (byte r = 0; r < hardwareResources.MemoryRegionCount; r++) { memoryRegions.AddLast(hardwareResources.GetMemoryRegion(r)); } spinLock.Exit(); return(true); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "IntelGPIOController"; return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "Intel82541EI"; return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "IntelPCI_ISA_IDE_Xcelerator_PIIX4"; return true; }
/// <summary> /// Releases the resources. /// </summary> /// <param name="hardwareResources">The hardware resources.</param> public void ReleaseResources(HardwareResources hardwareResources) { spinLock.Enter(); for (byte r = 0; r < hardwareResources.MemoryRegionCount; r++) { memoryRegions.Remove(hardwareResources.GetMemoryRegion(r)); } spinLock.Exit(); }
/// <summary> /// Claims the resources. /// </summary> /// <param name="hardwareResources">The hardware resources.</param> /// <returns></returns> public bool ClaimResources(HardwareResources hardwareResources) { spinLock.Enter(); for (byte r = 0; r < hardwareResources.MemoryRegionCount; r++) { var region = hardwareResources.GetMemoryRegion(r); foreach (var memoryRegion in memoryRegions) { if ((memoryRegion.Contains(region.BaseAddress) || memoryRegion.Contains(region.BaseAddress + region.Size))) return false; } } for (byte r = 0; r < hardwareResources.MemoryRegionCount; r++) { memoryRegions.AddLast(hardwareResources.GetMemoryRegion(r)); } spinLock.Exit(); return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "PIT_0x" + base.HardwareResources.GetIOPort(0, 0).Address.ToString("X"); modeControlPort = base.HardwareResources.GetIOPort(0, 3); counter0Divisor = base.HardwareResources.GetIOPort(0, 0); return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public abstract bool Setup(HardwareResources hardwareResources);
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "PCI_0x" + base.HardwareResources.GetIOPort(0, 0).Address.ToString("X"); configAddress = base.HardwareResources.GetIOPort(0, 0); configData = base.HardwareResources.GetIOPort(0, 4); return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "CMOS"; commandPort = base.HardwareResources.GetIOPort(0, 0); dataPort = base.HardwareResources.GetIOPort(0, 4); return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "DMA_0x" + base.HardwareResources.GetIOPort(0, 0).Address.ToString("X"); statusRegister = base.HardwareResources.GetIOPort(0, 0x08); commandRegister = base.HardwareResources.GetIOPort(0, 0x08); requestRegister = base.HardwareResources.GetIOPort(0, 0x09); channelMaskRegister = base.HardwareResources.GetIOPort(0, 0x0A); modeRegister = base.HardwareResources.GetIOPort(0, 0x0B); byteWordRegister = base.HardwareResources.GetIOPort(0, 0x0C); intermediateRegister = base.HardwareResources.GetIOPort(0, 0x0D); maskRegister = base.HardwareResources.GetIOPort(0, 0x0F); channel0Address = base.HardwareResources.GetIOPort(0, 0x00); channel0Count = base.HardwareResources.GetIOPort(0, 0x01); channel0Page = base.HardwareResources.GetIOPort(0, 0x87); channel1Address = base.HardwareResources.GetIOPort(0, 0x02); channel1Count = base.HardwareResources.GetIOPort(0, 0x03); channel1Page = base.HardwareResources.GetIOPort(0, 0x83); channel2Address = base.HardwareResources.GetIOPort(0, 0x04); channel2Count = base.HardwareResources.GetIOPort(0, 0x05); channel2Page = base.HardwareResources.GetIOPort(0, 0x81); channel3Address = base.HardwareResources.GetIOPort(0, 0x06); channel3Count = base.HardwareResources.GetIOPort(0, 0x07); channel3Page = base.HardwareResources.GetIOPort(0, 0x82); memory0 = base.HardwareResources.GetMemory(0); memory1 = base.HardwareResources.GetMemory(1); memory2 = base.HardwareResources.GetMemory(2); memory3 = base.HardwareResources.GetMemory(3); return true; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <param name="hardwareResources"></param> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "PIC_0x" + base.HardwareResources.GetIOPort(0, 0).Address.ToString("X"); masterCommandPort = base.HardwareResources.GetIOPort(0, 0); masterDataPort = base.HardwareResources.GetIOPort(0, 1); slaveCommandPort = base.HardwareResources.GetIOPort(1, 0); slaveDataPort = base.HardwareResources.GetIOPort(1, 1); return true; }