118 lines
1.9 KiB
ArmAsm
118 lines
1.9 KiB
ArmAsm
// TITLE("Miscellaneous Kernel Functions")
|
||
//++
|
||
//
|
||
// Copyright (C) 1991-1995 Microsoft Corporation
|
||
//
|
||
// Copyright (C) 1994,1995 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:
|
||
//
|
||
// pxflshbf.s
|
||
//
|
||
// Abstract:
|
||
//
|
||
// This module implements the system dependent kernel function to flush
|
||
// the write buffer or otherwise synchronize writes on a Power PC
|
||
// system.
|
||
//
|
||
//
|
||
//
|
||
// Author:
|
||
//
|
||
// David N. Cutler (davec) 24-Apr-1991
|
||
//
|
||
// Environment:
|
||
//
|
||
// Kernel mode only.
|
||
//
|
||
// Revision History:
|
||
//
|
||
// Jim Wooldridge (jimw@austin.vnet.ibm.com) Initial PowerPC port
|
||
//
|
||
// Used PowerPC eieio instruction to flush writes
|
||
//
|
||
//--
|
||
|
||
#include "kxppc.h"
|
||
|
||
|
||
// SBTTL("Flush Write Buffer")
|
||
//
|
||
//++
|
||
//
|
||
// NTSTATUS
|
||
// KeFlushWriteBuffer (
|
||
// VOID
|
||
// )
|
||
//
|
||
// Routine Description:
|
||
//
|
||
// This function flushes the write buffer on the current processor.
|
||
//
|
||
// Arguments:
|
||
//
|
||
// None.
|
||
//
|
||
// Return Value:
|
||
//
|
||
// None.
|
||
//
|
||
//--
|
||
|
||
LEAF_ENTRY(KeFlushWriteBuffer)
|
||
|
||
eieio // synchronize I/O
|
||
|
||
LEAF_EXIT(KeFlushWriteBuffer)
|
||
|
||
|
||
|
||
//
|
||
//++
|
||
//
|
||
// NTSTATUS
|
||
// HalpSynchronizeExecution()
|
||
// VOID
|
||
// )
|
||
//
|
||
// Routine Description:
|
||
//
|
||
// This function flushes the write buffer on the current processor.
|
||
//
|
||
// Arguments:
|
||
//
|
||
// None.
|
||
//
|
||
// Return Value:
|
||
//
|
||
// None.
|
||
//
|
||
//--
|
||
|
||
LEAF_ENTRY(HalpSynchronizeExecution)
|
||
|
||
sync // synchronize
|
||
|
||
LEAF_EXIT(HalpSynchronizeExecution)
|
||
|
||
|
||
//
|
||
//++
|
||
//
|
||
// VOID
|
||
// HalpSetSDR1(
|
||
// ULONG HashedPageTableBase,
|
||
// ULONG HashedPageTableSize
|
||
// )
|
||
//
|
||
// HashedPageTableSize is unused because we ASSUME that the HPT is 64K
|
||
//
|
||
|
||
LEAF_ENTRY(HalpSetSDR1)
|
||
|
||
mtsdr1 r.3
|
||
|
||
LEAF_EXIT(HalpSetSDR1)
|