mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
1.7 KiB
121 lines
1.7 KiB
// TITLE("Enable and Disable Processor Interrupts")
|
|
//++
|
|
//
|
|
// Copyright (c) 1991 Microsoft Corporation
|
|
//
|
|
// Copyright (c) 1994 MOTOROLA, INC. All Rights Reserved. This file
|
|
// contains copyrighted material. Use of this file is restricted
|
|
// by the provisions of a Motorola Software License Agreement.
|
|
//
|
|
// Module Name:
|
|
//
|
|
// pxintsup.s
|
|
//
|
|
// Abstract:
|
|
//
|
|
// This module implements the code necessary to enable and disable
|
|
// interrupts on a PPC system.
|
|
//
|
|
// Author:
|
|
//
|
|
// Jim Wooldridge
|
|
//
|
|
// Environment:
|
|
//
|
|
// Kernel mode only.
|
|
//
|
|
// Revision History:
|
|
// 30-Dec-93 plj Added 603 support.
|
|
//
|
|
//--
|
|
|
|
/*
|
|
* Copyright (c) 1995 FirePower Systems, Inc.
|
|
* DO NOT DISTRIBUTE without permission
|
|
*
|
|
* $RCSfile: pxintsup.s $
|
|
* $Revision: 1.5 $
|
|
* $Date: 1996/01/11 07:11:07 $
|
|
* $Locker: $
|
|
*/
|
|
|
|
#include "halppc.h"
|
|
|
|
//++
|
|
//
|
|
// Routine Description:
|
|
//
|
|
// Enables interrupts.
|
|
//
|
|
// Arguments:
|
|
//
|
|
// None.
|
|
//
|
|
// Return Value:
|
|
//
|
|
// None.
|
|
//
|
|
//--
|
|
|
|
|
|
LEAF_ENTRY(HalpEnableInterrupts)
|
|
|
|
mfmsr r.5
|
|
ori r.5,r.5,MASK_SPR(MSR_EE,1)
|
|
mtmsr r.5
|
|
cror 0,0,0 // N.B. 603e/ev Errata 15
|
|
|
|
LEAF_EXIT(HalpEnableInterrupts)
|
|
|
|
|
|
//++
|
|
|
|
//
|
|
// Routine Description:
|
|
//
|
|
// Disables interrupts.
|
|
//
|
|
// Arguments:
|
|
//
|
|
// None.
|
|
//
|
|
// Return Value:
|
|
//
|
|
// None.
|
|
//
|
|
//--
|
|
|
|
|
|
LEAF_ENTRY(HalpDisableInterrupts)
|
|
|
|
mfmsr r.5
|
|
rlwinm r.5,r.5,0,~MASK_SPR(MSR_EE,1)
|
|
mtmsr r.5
|
|
cror 0,0,0 // N.B. 603e/ev Errata 15
|
|
|
|
LEAF_EXIT(HalpDisableInterrupts)
|
|
|
|
|
|
//++
|
|
|
|
//
|
|
// Routine Description:
|
|
//
|
|
// Disables interrupts.
|
|
//
|
|
// Arguments:
|
|
//
|
|
// None.
|
|
//
|
|
// Return Value:
|
|
//
|
|
// None.
|
|
//
|
|
//--
|
|
|
|
|
|
LEAF_ENTRY(KiGetPcr)
|
|
|
|
mfsprg r.3,1
|
|
|
|
LEAF_EXIT(KiGetPcr)
|