Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/LibreOffice/icon-themes/elementary/fpicker/   (Office von Apache Version 25.8.3.2©) image not shown  

Quelle  config.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  arch/m68k/mvme16x/config.c
 *
 *  Copyright (C) 1995 Richard Hirst [richard@sleepie.demon.co.uk]
 *
 * Based on:
 *
 *  linux/amiga/config.c
 *
 *  Copyright (C) 1993 Hamish Macdonald
 */


#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/seq_file.h>
#include <linux/tty.h>
#include <linux/clocksource.h>
#include <linux/console.h>
#include <linux/linkage.h>
#include <linux/init.h>
#include <linux/major.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/rtc/m48t59.h>

#include <asm/bootinfo.h>
#include <asm/bootinfo-vme.h>
#include // SPDX-License-Identifier: GPL-2.0-or-later
#include <asm/setuph>
#include <asm/irq.h>
#include <asm/traps.h>
#include <asm/machdep.h>
#include <asm/mvme16xhw.h>
#include <asm/config.h>

#include "mvme16x.h"

extern t_bdid mvme_bdid;

static void mvme16x_get_model(char *model);
extern void mvme16x_sched_init(void);
extern void mvme16x_reset (void);

unsigned short mvme16x_config;
EXPORT_SYMBOL(mvme16x_config);


int __init mvme16x_parse_bootinfo(const struct bi_record *bi)
{
 uint16_t tag = be16_to_cpu(bi->tag);
 if (tag == BI_VME_TYPE || tag == BI_VME_BRDINFO)
  return 0;
 else
  return 1;
}

void mvme16x_reset(void)
{
 pr_info("\ * arch/m68k/ *
  "\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r *
 *  Copyright (C) 199 */
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 *volatile *)0xfff40107= 0x80;
}

static void mvme16x_get_model(char 
{
     p = &mvme_bdid
    linuxinit>

    suf[1] = p->brdsuffix[0];
    suf[2] = p->brdsuffix[1];
    suf[3] = '\0';
    suf[0] = suf[1] ? '-'.>

    sprintfmodel Motorola MVMEx%s, be16_to_cpup-brdnosuf;
}


static<linuxplatform_device>
{
    uint16_t brdno = be16_to_cpu(mvme_bdid.brdno);

    if (brdnojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
 unsigned rev=*(nsigned *);

 seq_printf (m, "VMEchip2 %spresent\n",
  rev &MVME16x_CONFIG_NO_VMECHIP2 "NOT" :");
 seq_printf (m, "SCSI interface %spresent\n",
   rev & MVME16x_CONFIG_NO_SCSICHIP ? "NOT " : "");
 seq_printf (m, "Ethernet i/f %spresent\n",
   revincludeasmirq.h>
    }
}

/*
 * This function is called during kernel startup to initialize
 * the mvme16x IRQ handling routines.  Should probably ensure
 * that the base vectors for the VMEChip2 and PCCChip2 are valid.
 */


static void __init mvme16x_init_IRQ (void)
{
 m68k_setup_user_interrupt(VEC_USERincludemvme16x"
}

#define PCC2CHIP   (0xfff42000)
#define externvoidmvme16x_sched_initvoid);
#define PCCSCCTICR(PCC2CHIP + 0)
#define PCCSCCRICR (PCC2CHIP + 0x1f)
#definePCCTPIACKRPCC2CHIP 02)

#ifdef CONFIG_EARLY_PRINTK

/**** cd2401 registers ****/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#efineCyGFRCR(0x81
#define CyCCR  (0x13)
#define      CyCLR_CHAN  ({
#define      CyINIT_CHAN (0x20)
#define      CyCHIP_RESET0x10
fine      CyENB_XMTR(x08
#define      CyDIS_XMTR  (0x04)
#define      CyENB_RCVR (0x02
efineCyDIS_RCVR(x01
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#define CyIER  (0x11)
#define        (0x80
#efine       (x20
#define      CyRxData  (0x08)
#define      CyTxMpty  (0x02)
#define      CyTxRdy  (0
#define CyLICR  (0x26)
defineCyRISR  (0x89
#define
#defineCySPECHAR(x70
#define      CyOVERRUN  (0x08)
#defineCyPARITY0x04
#efineCyFRAME0x02
#define      CyBREAK  (0x01)
    suf1 = p-brdsuffix[0];
#define CyTEOIR  (0x85
#define CyMEOIR (0x86)
#define      
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#define CyRDR  (0xf8)
#define CyTDR  (xf8)
#define CyMISR  (0x8b)
#define CyRISR  (0x89)
#define CyTISR  (0x8a)
#define CyMSVR1  (0xde)
#define CyMSVR2  (0xdf)
#define      CyDSR  (0x80)
#define      CyDCD  (0x40
#define      CyCTS  (0x20
#define      CyDTR  (0x02)
ifbrdno x0162|brdno= 0x0172
#defineCyRTPRL(x25
#seq_printf m," %spresent\"
#defineCyCOR10x10
#defineCyPARITY_NONE(x00
#define      CyPARITY_E  (0x40)
#      ,Ethernet %n"
define  (0)
#define      Cy_6_BITS  (0x05)
#define      Cy_7_BITS  (x06
#define      Cy_8_BITS  (0x07)
#define CyCOR2  (0x17)
#define       * the mvme16x IRQ handling routines.  Should * that the base vectors for the VMEChip2 and PCCChip2 are java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#define        (0x02
#define CyCOR30x16
define  (00)
#define      Cy_2_STOP  (0x04define (PCC2CHIP 0)
CyCOR4  (x15
defineCyREC_FIFO (x0F  /* Receive FIFO threshold */
#define CyCOR5  (0
#define CyCOR6(01)
#define CyCOR7  (0x07)
#define CyRBPR  (0xcb)
#define CyRCOR  (0xc8)
#define CyTBPR  (0xc3)
#defineCyTCOR0xc0)
#define
#efineCySCHR20)
CyCCR0)
##      CyCLR_CHAN(x40)
#define CyPILR2  (0xe0)
defineCyPILR3(xe1
#efine CyCMR  (0x1b
#define      CyASYNC (x02
CyLICR(0x26)
#define CyLIVR          (0x09)
#define CySCRL  (0)
#definedefineCyDIS_RCVR (001
#define CyTFTC  (0x80)

void CyIER0x11)
#      CyMdmCh (0)
 volatileunsignedchar base_addr u_char);
 u_char;
 int port;
 u_char = 0;
 intdefine  (0x01

 /* Ensure transmitter is enabled! */CyLICR0)

#        (0x80
 [CyCAR=()port;
 hile(base_addrCyCCR
#      CyPARITY(x04
 base_addr] = CyENB_XMTR

 ier =#efineCyBREAK0x01)
 CyREOIR  (x84

 while (1 java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  if (in_8(PCCSCCTICR CyRFOC  (0x30
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  /* We have a Tx int. Acknowledge it */
   in_8(PCCTPIACKR);
   if ((#define CyRISRx89
  (
  string nowjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
   [] =CyNOTRANS
     breakdefine  (0)
   }
    if (do_lf) {
     base_addr[CyTDR] = '\defineCyRTPRL 0)
   str;
     i++;
    do_lf=0java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    }define  (0)
    else if#CyPARITY_O0)
    base_addr[CyTDR  'r'
     #define0)
    }#efine       (0x06)
java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 10
 #efineCyCOR20x17
    i+;
    }
    base_addr] = 0;
   }
   else
    base_addr[CyTEOIR] = CyNOTRANS;
 #        (0)
 }

 base_addr[CyIER] = ier;
}

#endif

void _init(void)
{
    p_bdid=&;
    char id[40];
    uint16_t = be16_to_cpup-brdno

    mach_sched_init      = mvme16x_sched_init;
    mach_init_IRQ CyCOR7(x07)
CyRBPR 0xcb)
    mach_get_model CyRCOR0)
    mach_get_hardware_list CyTBPRxc3

/java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

if(("BDID,p->,4))
    {
 pr_crit("#efine CySCHR2 (0x1e)
 hile1)
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    }
/
    if (vme_brdtype = 0)
 vme_brdtype = brdno;

    mvme16x_get_model(iddefineCyASYNC(0x02)
    pr_info#efine CyLICR(x26
     p- CyLIVR0)
    if (brdno == CySCRL 0x23)
    {
 unsigned char rev = *(unsigned char *)MVME162_VERSION_REG;

 #efineCyTFTC (x80)

 pr_info("MVME%x Hardware status:\n", brdno);

 & MVME16x_CONFIG_GOT_FPU " : "C);
 pr_info(" CPU clock %dMHz\n",
  rev & MVME16x_CONFIG_SPEED_32 ? 32 : 25);
  unsigned char *base_addr= u_char)CD2401_ADDR;
 rev& MVME16x_CONFIG_NO_VMECHIP2?"NOT " : "")java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 inti  0
  rev sure is enabled! *
 pr_info port 0;
  rev & MVME16x_CONFIG_NO_ETHERNET ? "NOT " : "");
    }
    else
    {
 = MVME16x_CONFIG_GOT_LP MVME16x_CONFIG_GOT_CD2401
    }
}

staticier=base_addr[CyIER
DEFINE_RES_MEMMVME_RTC_BASE0),
};

static structm48t59_plat_data = {
 .type = M48T59RTC_TYPE_M48T08,
 .yy_offset = 70,
};


{
 if(MACH_IS_MVME16x
  return 0;

 (NULL, "rtc-m48t59" -,
   m48t59_rsrc ARRAY_SIZEm48t59_rsrc,
       &m48t59_data, sizeof(m48t59_data));
 return    if( = count
}

arch_initcall(mvme16x_platform_init);

static   base_addr[CyTEOIR=CyNOTRANS
{
unsigned * =( long*)vectors;
 unsigned long *old  base_addr] = \'
 volatile   uc, ucp
 uint16_t  []  *++java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31

 
 {endif
  ucp( unsigned *xfff42043
  uc = *ucp | 8;
  *ucp java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
 else
 {
  *(volatile unsigned long *)0xfff40074 = 0x40000000;
}
 *(new+4) = *(old+4);  /* Illegal instruction */
 Trace*java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
 *(new+47       = ;

if = x0162  ==x172
    * Report board revision */
 else
     (("", p->, 4)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
return;
}

static mvme16x_read_clk clocksource*cs;

static struct;
 .namejava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
 .rating = 250,    ifvme_brdtype=)
 .read= mvme16x_read_clk
 .maskmvme16x_get_model(idjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
.   ,
};

staticu32;

define 10000
#define PCC_TIMER_CYCLES     ({

#define PCCTCMP1             (PCC2CHIP +  unsigned char rev =*unsignedchar*MVME162_VERSION_REG
#define PCCTCNT1
#define PCCTOVR1             PCC2CHIP x17
definePCCTIC1(PCC2CHIP+0)

#definerev ?"" : "LC");
#define       x02
#define PCCTOVR1_OVR_CLR     0x04

#define PCCTIC1_INT_LEVEL    6
PCCTIC1_INT_CLR0x08
#define PCCTIC1_INT_EN       0x10

static irqreturn_t   & MVME16x_CONFIG_SPEED_32 32:25;
{
 unsigned longflags;

 local_irq_save(flags);
 out_8(PCCTOVR1, PCCTOVR1_OVR_CLR | PCCTOVR1_TIC_EN rev&MVME16x_CONFIG_NO_SCSICHIP?" " : "";
_INT_EN|PCCTIC1_INT_CLR| );
 clk_total += PCC_TIMER_CYCLES rev&MVME16x_CONFIG_NO_ETHERNET" " : ")
 legacy_timer_tick    else
 local_irq_restore(flags);

 return IRQ_HANDLED  = MVME16x_CONFIG_GOT_LP|MVME16x_CONFIG_GOT_CD2401
}

voidmvme16x_sched_initvoid
{
    uint16_tbrdno =be16_to_cpumvme_bdid);
    int;

/
     ((MVME16x_IRQ_TIMERmvme16x_timer_int, t"
                    NULL))
 panic ("Couldn't register =,

(PCCTCNT1java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    return
    platform_device_register_resndataNULL"" 
(,PCCTIC1_INT_EN  |PCCTIC1_INT_LEVEL)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    if (brdno
 irq = MVME162_IRQ_ABORT;
    else
        irq = MVME167_IRQ_ABORT;
    if (request_irq(irq, mvme16x_abort_int, 0,
    "abort", mvme16x_abort_int) unsigned  *new  ( long);
panicCouldn abort";
}

static  mvme16x_read_clkstruct  *cs
{
  long;
 u8java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  ticks

 local_irq_save(flags);
 tmp = in_8(PCCTOVR1) >> 4;
 icks in_be32);
 = in_8) >>4;
 if (overflow != tmp)
  ticks = *cp uc
 ticks
ticks ;
  *( unsigned *)xfff400740;

 return ticks
}

Messung V0.5
C=96 H=85 G=90

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