Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  urtt_fill.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0 */
#include <asm/thread_info.h>
#include <asm/trap_block.h>
#include <asm/spitfire.h>
#include <asm/ptrace.h>
#include <asm/head.h>

  .text
  .align 8
  .globl user_rtt_fill_fixup_common
user_rtt_fill_fixup_common:
  rdpr %cwp, %g1
  add %g1, 1, %g1
  wrpr %g1, 0x0, %cwp

  rdpr %wstate, %g2
  sll %g2, 3, %g2
  wrpr %g2, 0x0, %wstate

  /* We know %canrestore and %otherwin are both zero.  */

  sethi %hi(sparc64_kern_pri_context), %g2
  ldx [%g2 + %lo(sparc64_kern_pri_context)], %g2
  mov PRIMARY_CONTEXT, %g1

661:  stxa %g2, [%g1] ASI_DMMU
  .section .sun4v_1insn_patch, "ax"
  .word 661b
  stxa %g2, [%g1] ASI_MMU
  .previous

  sethi %hi(KERNBASE), %g1
  flush %g1

  mov %g4, %l4
  mov %g5, %l5
  brnz,pn %g3, 1f
   mov %g3, %l3

  or %g4, FAULT_CODE_WINFIXUP, %g4
  stb %g4, [%g6 + TI_FAULT_CODE]
  stx %g5, [%g6 + TI_FAULT_ADDR]
1:
  mov %g6, %l1
  wrpr %g0, 0x0, %tl

661:  nop
  .section  .sun4v_1insn_patch, "ax"
  .word   661b
  SET_GL(0)
  .previous

661:  wrpr %g0, RTRAP_PSTATE, %pstate
  .section  .sun_m7_1insn_patch, "ax"
  .word   661b
  /* Re-enable PSTATE.mcde to maintain ADI security */
  wrpr %g0, RTRAP_PSTATE|PSTATE_MCDE, %pstate
  .previous

  mov %l1, %g6
  ldx [%g6 + TI_TASK], %g4
  LOAD_PER_CPU_BASE(%g5, %g6, %g1, %g2, %g3)

  brnz,pn %l3, 1f
   nop

  call do_sparc64_fault
   add %sp, PTREGS_OFF, %o0
  ba,pt %xcc, rtrap
   nop

1:  cmp %g3, 2
  bne,pn %xcc, 2f
   nop

  sethi %hi(tlb_type), %g1
  lduw [%g1 + %lo(tlb_type)], %g1
  cmp %g1, 3
  bne,pt %icc, 1f
   add %sp, PTREGS_OFF, %o0
  mov %l4, %o2
  call sun4v_do_mna
   mov %l5, %o1
  ba,a,pt %xcc, rtrap
1:  mov %l4, %o1
  mov %l5, %o2
  call mem_address_unaligned
   nop
  ba,a,pt %xcc, rtrap

2:  sethi %hi(tlb_type), %g1
  mov %l4, %o1
  lduw [%g1 + %lo(tlb_type)], %g1
  mov %l5, %o2
  cmp %g1, 3
  bne,pt %icc, 1f
   add %sp, PTREGS_OFF, %o0
  call sun4v_data_access_exception
   nop
  ba,a,pt %xcc, rtrap
   nop

1:  call spitfire_data_access_exception
   nop
  ba,a,pt %xcc, rtrap

Messung V0.5
C=98 H=100 G=98

¤ 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge