104 lines
2.2 KiB
ArmAsm
104 lines
2.2 KiB
ArmAsm
// 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
|
||
|