genode/base-mb/src/kernel/platforms/petalogix_s3adsp1800_mmu/include/special_registers.s

60 lines
811 B
ArmAsm
Executable File

/**
* Assembler macros for machine status register access
*
* \author Martin Stein
* \date 2010-10-05
*/
/*
* Copyright (C) 2010-2012 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
.macro _SYNCHRONIZING_OP
bri 4
.endm
.macro _AWAIT_DELAY_OP
or r0, r0, r0
.endm
.macro _ENABLE_EXCEPTIONS
msrset r0, 0x100
_SYNCHRONIZING_OP
.endm
.macro _DISABLE_EXCEPTIONS
msrclr r0, 0x100
_SYNCHRONIZING_OP
.endm
.macro _ENABLE_INTERRUPTS
msrset r0, 0x002
_SYNCHRONIZING_OP
.endm
.macro _DISABLE_INTERRUPTS
msrclr r0, 0x002
_SYNCHRONIZING_OP
.endm
.macro _RELEASE_EXCEPTION
msrclr r0, 0x200
_SYNCHRONIZING_OP
.endm
.macro _RELEASE_BREAK
msrclr r0, 0x008
_SYNCHRONIZING_OP
.endm