github.com/usbarmory/tamago@v0.0.0-20240508072735-8612bbe1e454/arm/features.s (about)

     1  // ARM processor support
     2  // https://github.com/usbarmory/tamago
     3  //
     4  // Copyright (c) WithSecure Corporation
     5  // https://foundry.withsecure.com
     6  //
     7  // Use of this source code is governed by the license
     8  // that can be found in the LICENSE file.
     9  
    10  // func read_idpfr0() uint32
    11  TEXT ·read_idpfr0(SB),$0-4
    12  	// ARM Architecture Reference Manual - ARMv7-A and ARMv7-R edition
    13  	// https://wiki.osdev.org/ARMv7_Generic_Timers
    14  	//
    15  	// B4.1.93 ID_PFR0, Processor Feature Register 0, VMSA
    16  	MRC	15, 0, R0, C0, C1, 0
    17  	MOVW	R0, ret+0(FP)
    18  
    19  	RET
    20  
    21  // func read_idpfr1() uint32
    22  TEXT ·read_idpfr1(SB),$0-4
    23  	// ARM Architecture Reference Manual - ARMv7-A and ARMv7-R edition
    24  	// https://wiki.osdev.org/ARMv7_Generic_Timers
    25  	//
    26  	// B4.1.94 ID_PFR1, Processor Feature Register 1, VMSA
    27  	MRC	15, 0, R0, C0, C1, 1
    28  	MOVW	R0, ret+0(FP)
    29  
    30  	RET