NT4/private/ntos/boot/lib/ppc/query.s

104 lines
2.2 KiB
ArmAsm
Raw Normal View History

2001-01-01 00:00:00 +01:00
// TITLE("Query Implemention and Revision Information")
//++
//
// Copyright (c) 1994 International Buisness Machines Corporation
// Copyright (c) 1994 Microsoft Corporation
//
// Module Name:
//
// query.s
//
// Abstract:
//
// This module implements code to query type and revision information.
//
// Author:
//
// Peter L. Johnston (plj@vnet.ibm.com) August 1994
//
// Environment:
//
// User mode.
//
// Revision History:
//
//--
#include "ksppc.h"
//++
//
// VOID
// BlQueryImplementationAndRevision (
// OUT PULONG ProcessorId,
// OUT PULONG ProcessorRev
// )
//
// Routine Description:
//
// This function returns the implementation and revision of the host
// processor and floating coprocessor.
//
// Arguments:
//
// ProcessorId (r3) - Supplies a pointer to a variable that receives the
// processor id.
//
// ProcessorRev (r4) - Supplies a pointer to a variable that receives the
// processor revision.
//
// Return Value:
//
// None.
//
//--
LEAF_ENTRY(BlQueryImplementationAndRevision)
mfpvr r.5 // get processor type and revision
rlwinm r.6, r.5, 0, 0x0000ffff // isolate revision
rlwinm r.5, r.5, 16, 0x0000ffff // isolate type
stw r.6, 0(r.4) // store revision
stw r.5, 0(r.3) // store type
LEAF_EXIT(BlQueryImplementationAndRevision)
#if DBG
LEAF_ENTRY(GetSegmentRegisters)
subi r3,r3,4
mfsr r4,0
stwu r4,4(r3)
mfsr r4,1
stwu r4,4(r3)
mfsr r4,2
stwu r4,4(r3)
mfsr r4,3
stwu r4,4(r3)
mfsr r4,4
stwu r4,4(r3)
mfsr r4,5
stwu r4,4(r3)
mfsr r4,6
stwu r4,4(r3)
mfsr r4,7
stwu r4,4(r3)
mfsr r4,8
stwu r4,4(r3)
mfsr r4,9
stwu r4,4(r3)
mfsr r4,10
stwu r4,4(r3)
mfsr r4,11
stwu r4,4(r3)
mfsr r4,12
stwu r4,4(r3)
mfsr r4,13
stwu r4,4(r3)
mfsr r4,14
stwu r4,4(r3)
mfsr r4,15
stwu r4,4(r3)
LEAF_EXIT(GetSegmentRegisters)
#endif