using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cosmos.Core { /// /// Base IO Groups. Used to easily access IO devices. /// public class BaseIOGroups { // These are common/fixed pieces of hardware. PCI, USB etc should be self discovering // and not hardcoded like this. // Further more some kind of security needs to be applied to these, but even now // at least we have isolation between the consumers that use these. /// /// PS/2 controller. /// public readonly IOGroup.PS2Controller PS2Controller = new IOGroup.PS2Controller(); /// /// PC speaker. /// public static readonly IOGroup.PCSpeaker PCSpeaker = new IOGroup.PCSpeaker(); /// /// PIT. /// public readonly IOGroup.PIT PIT = new IOGroup.PIT(); /// /// Text screen. /// public readonly IOGroup.TextScreen TextScreen = new IOGroup.TextScreen(); /// /// Primary ATA. /// public readonly IOGroup.ATA ATA1 = new IOGroup.ATA(false); /// /// Secondary ATA. /// public readonly IOGroup.ATA ATA2 = new IOGroup.ATA(true); /// /// Real time clock. /// public readonly IOGroup.RTC RTC = new IOGroup.RTC(); /// /// VBE. /// public readonly IOGroup.VBEIOGroup VBE = new IOGroup.VBEIOGroup(); } }