github.com/f-secure-foundry/tamago@v0.0.0-20220307101044-d73fcdd7f11b/arm/features.s (about)

     1  // ARM processor support
     2  // https://github.com/f-secure-foundry/tamago
     3  //
     4  // Copyright (c) F-Secure Corporation
     5  // https://foundry.f-secure.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  
    17  	MRC	15, 0, R0, C0, C1, 0
    18  	MOVW	R0, ret+0(FP)
    19  
    20  	RET
    21  
    22  // func read_idpfr1() uint32
    23  TEXT ·read_idpfr1(SB),$0-4
    24  	// ARM Architecture Reference Manual - ARMv7-A and ARMv7-R edition
    25  	// https://wiki.osdev.org/ARMv7_Generic_Timers
    26  	//
    27  	// B4.1.94 ID_PFR1, Processor Feature Register 1, VMSA
    28  
    29  	MRC	15, 0, R0, C0, C1, 1
    30  	MOVW	R0, ret+0(FP)
    31  
    32  	RET