Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Setups this hardware device driver
        /// </summary>
        /// <returns></returns>
        public override bool Setup(HardwareResources hardwareResources)
        {
            this.HardwareResources = hardwareResources;
            base.Name = "IntelGPIOController";

            return true;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Setups this hardware device driver
        /// </summary>
        /// <returns></returns>
        public override bool Setup(HardwareResources hardwareResources)
        {
            this.HardwareResources = hardwareResources;
            base.Name = "Intel82541EI";

            return true;
        }
Ejemplo n.º 4
0
        /// <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;
        }
Ejemplo n.º 5
0
        /// <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();
        }
Ejemplo n.º 6
0
        /// <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;
        }
Ejemplo n.º 7
0
        /// <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;
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Setups this hardware device driver
 /// </summary>
 /// <returns></returns>
 public abstract bool Setup(HardwareResources hardwareResources);
Ejemplo n.º 9
0
        /// <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;
        }
Ejemplo n.º 10
0
        /// <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();
        }
Ejemplo n.º 11
0
        /// <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;
        }
Ejemplo n.º 12
0
        /// <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;
        }
Ejemplo n.º 13
0
        /// <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;
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Setups this hardware device driver
 /// </summary>
 /// <returns></returns>
 public abstract bool Setup(HardwareResources hardwareResources);