Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/arm/mm/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  abort-macro.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * The ARM LDRD and Thumb LDRSB instructions use bit 20/11 (ARM/Thumb)
 * differently than every other instruction, so it is set to 0 (write)
 * even though the instructions are read instructions. This means that
 * during an abort the instructions will be treated as a write and the
 * handler will raise a signal from unwriteable locations if they
 * fault. We have to specifically check for these instructions
 * from the abort handlers to treat them properly.
 *
 */


 .macro do_thumb_abort, fsr, pc, psr, tmp
 tst \psr, #PSR_T_BIT
 beq not_thumb
 ldrh \tmp, [\pc]   @ Read aborted Thumb instruction
 uaccess_disable ip   @ disable userspace access
 and \tmp, \tmp, # 0xfe00  @ Mask opcode field
 cmp \tmp, # 0x5600   @ Is it ldrsb?
 orreq \tmp, \tmp, #1 << 11  @ Set L-bit if yes
 tst \tmp, #1 << 11   @ L = 0 -> write
 orreq \fsr, \fsr, #1 << 11  @ yes.
 b do_DataAbort
not_thumb:
 .endm

/*
 * We check for the following instruction encoding for LDRD.
 *
 * [27:25] == 000
 *   [7:4] == 1101
 *    [20] == 0
 */

 .macro teq_ldrd, tmp, insn
 mov \tmp, #0x0e100000
 orr \tmp, #0x000000f0
 and \tmp, \insn, \tmp
 teq \tmp, #0x000000d0
 .endm

Messung V0.5
C=93 H=100 G=96

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.