xref: /kernel/linux/linux-6.6/arch/arm/mach-highbank/smc.S
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/arch/arm/mach-highbank/
162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copied from omap44xx-smc.S Copyright (C) 2010 Texas Instruments, Inc.
462306a36Sopenharmony_ci * Copyright 2012 Calxeda, Inc.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <linux/linkage.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/*
1062306a36Sopenharmony_ci * This is common routine to manage secure monitor API
1162306a36Sopenharmony_ci * used to modify the PL310 secure registers.
1262306a36Sopenharmony_ci * 'r0' contains the value to be modified and 'r12' contains
1362306a36Sopenharmony_ci * the monitor API number.
1462306a36Sopenharmony_ci * Function signature : void highbank_smc1(u32 fn, u32 arg)
1562306a36Sopenharmony_ci */
1662306a36Sopenharmony_ci	.arch armv7-a
1762306a36Sopenharmony_ci	.arch_extension sec
1862306a36Sopenharmony_ciENTRY(highbank_smc1)
1962306a36Sopenharmony_ci	stmfd   sp!, {r4-r11, lr}
2062306a36Sopenharmony_ci	mov	r12, r0
2162306a36Sopenharmony_ci	mov 	r0, r1
2262306a36Sopenharmony_ci	dsb
2362306a36Sopenharmony_ci	smc	#0
2462306a36Sopenharmony_ci	ldmfd   sp!, {r4-r11, pc}
2562306a36Sopenharmony_ciENDPROC(highbank_smc1)
26

Indexes created Thu Nov 07 10:32:03 CST 2024