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


Quelle  head.S   Sprache: Sparc

 
/*
 * Startup glue code to uncompress the kernel
 *
 *   (C) 2017 Helge Deller <deller@gmx.de>
 */


#include <linux/init.h>
#include <linux/linkage.h>
#include <asm/asm-offsets.h>
#include <asm/page.h>
#include <asm/psw.h>
#include <asm/pdc.h>
#include <asm/assembly.h>
#include "sizes.h"

#define BOOTADDR(x) (x)

#ifndef CONFIG_64BIT
 .import $global$  /* forward declaration */
#endif /*!CONFIG_64BIT*/

 __HEAD

ENTRY(startup)
  .level PA_ASM_LEVEL

#define PSW_W_SM 0x200
#define PSW_W_BIT       36

 ;! nuke the W bit, saving original value
 .level 2.0
 rsm PSW_W_SM, %r1

 .level 1.1
 extrw,u %r1, PSW_W_BIT-32, 1, %r1
 copy %r1, %arg0

 /* Make sure sr4-sr7 are set to zero for the kernel address space */
 mtsp    %r0,%sr4
 mtsp    %r0,%sr5
 mtsp    %r0,%sr6
 mtsp    %r0,%sr7

 /* Clear BSS */

 .import _bss,data
 .import _ebss,data

 load32 BOOTADDR(_bss),%r3
 load32 BOOTADDR(_ebss),%r4
 ldo FRAME_SIZE(%r4),%sp /* stack at end of bss */
$bss_loop:
 cmpb,<<,n %r3,%r4,$bss_loop
 stw,ma %r0,4(%r3)

 /* Initialize the global data pointer */
 loadgp

 /* arg0..arg4 were set by palo. */
 copy %arg1, %r6  /* command line */
 copy %arg2, %r7  /* rd-start */
 copy %arg3, %r8  /* rd-end */
 load32 BOOTADDR(decompress_kernel),%r3

#ifdef CONFIG_64BIT
 .level PA_ASM_LEVEL
 ssm PSW_W_SM, %r0  /* set W-bit */
 depdi 0, 31, 32, %r3
#endif
 load32 BOOTADDR(startup_continue), %r2
 bv,n 0(%r3)

startup_continue:
#ifdef CONFIG_64BIT
 .level PA_ASM_LEVEL
 rsm PSW_W_SM, %r0  /* clear W-bit */
#endif

 load32 KERNEL_BINARY_TEXT_START, %arg0 /* free mem */
 copy %r6, %arg1  /* command line */
 copy %r7, %arg2  /* rd-start */
 copy %r8, %arg3  /* rd-end */

 bv,n 0(%ret0)
END(startup)

Messung V0.5
C=80 H=100 G=90

¤ Dauer der Verarbeitung: 0.1 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