singrdk/base/Interfaces/Hal/HalAcpi.csi

78 lines
1.9 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using Microsoft.Singularity;
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyKeyFileAttribute("public.snk")]
[assembly: System.Reflection.AssemblyDelaySignAttribute(true)]
namespace Microsoft.Singularity.Hal.Acpi
{
public class AcpiTables
{
public static void Parse();
public static AcpiDevice[] LoadDevices();
}
public class AcpiDevice
{
public string DeviceId { get; }
public ResourceDescriptor[] ResourceDescriptors { get; }
}
public enum ConsumerProducer
{
ProducesAndConsumes = 0,
Consumes = 1
}
public abstract class ResourceDescriptor
{
}
public class AddressSpaceDescriptor : ResourceDescriptor
{
public ulong Minimum { get; }
public ulong Maximum { get; }
public ulong Length { get; }
public ConsumerProducer ConsumerProducer { get; }
}
public class MemoryRangeDescriptor : AddressSpaceDescriptor
{
public bool Writable { get; }
}
public class IoRangeDescriptor : AddressSpaceDescriptor
{
}
public class IrqDescriptor : ResourceDescriptor
{
public int[] InterruptNumbers { get; }
}
public class DmaDescriptor : ResourceDescriptor
{
public int[] DmaChannelNumbers { get; }
}
public class GenericRegisterDescriptor : ResourceDescriptor
{
}
public class VendorDefinedDescriptor : ResourceDescriptor
{
}
}