singrdk/base/Kernel/Singularity/Hal/HalPic.cs

67 lines
1.9 KiB
C#
Raw Normal View History

2008-03-05 09:52:00 -05:00
///////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
2008-11-17 18:29:00 -05:00
// File: HalPic.cs
2008-03-05 09:52:00 -05:00
//
// Note:
//
using System;
using System.Collections;
using System.Runtime.CompilerServices;
using System.Threading;
namespace Microsoft.Singularity.Hal
{
2008-11-17 18:29:00 -05:00
public abstract class HalPic
2008-03-05 09:52:00 -05:00
{
/// <summary>
/// Maximum valid IRQ property. On legacy PC systems this value is
/// 15. On APIC PC systems this number will usually be larger.
/// </summary>
2008-11-17 18:29:00 -05:00
public abstract byte MaximumIrq
2008-03-05 09:52:00 -05:00
{
[NoHeapAllocation] get;
}
/// <summary>
/// Convert interrupt vector to interrupt request line.
/// </summary>
[NoHeapAllocation]
2008-11-17 18:29:00 -05:00
public abstract byte InterruptToIrq(byte interrupt);
2008-03-05 09:52:00 -05:00
/// <summary>
/// Convert interrupt request line to interrupt vector.
/// </summary>
[NoHeapAllocation]
2008-11-17 18:29:00 -05:00
public abstract byte IrqToInterrupt(byte irq);
2008-03-05 09:52:00 -05:00
/// <summary>
/// Acknowledge the interrupt request. (EOI)
/// </summary>
[NoHeapAllocation]
2008-11-17 18:29:00 -05:00
public abstract void AckIrq(byte irq);
2008-03-05 09:52:00 -05:00
/// <summary>
/// Enable interrupt request by removing mask.
/// </summary>
[NoHeapAllocation]
2008-11-17 18:29:00 -05:00
public abstract void EnableIrq(byte irq);
2008-03-05 09:52:00 -05:00
/// <summary>
/// Disable interrupt request by applying mask.
/// </summary>
[NoHeapAllocation]
2008-11-17 18:29:00 -05:00
public abstract void DisableIrq(byte irq);
2008-03-05 09:52:00 -05:00
/// <summary>
/// Acknowledge and mask interrupt.
/// </summary>
[NoHeapAllocation]
2008-11-17 18:29:00 -05:00
public abstract void ClearInterrupt(byte interrupt);
2008-03-05 09:52:00 -05:00
}
} // namespace Microsoft.Singularity.Hal