Home | History | Annotate | Line # | Download | only in ppcboot
ppcstart.c revision 1.1
      1  1.1  is /* $NetBSD: ppcstart.c,v 1.1 1999/11/28 22:10:48 is Exp $ */
      2  1.1  is 
      3  1.1  is /*
      4  1.1  is  * Copyright 1999 Ignatios Souvatzis. All rights reserved.
      5  1.1  is  */
      6  1.1  is 
      7  1.1  is /*
      8  1.1  is  * Startit for Phase5 PPC boards.
      9  1.1  is  */
     10  1.1  is 
     11  1.1  is #include <sys/types.h>
     12  1.1  is #include "libstubs.h"
     13  1.1  is 
     14  1.1  is #include "kickstart68.c"
     15  1.1  is 
     16  1.1  is void
     17  1.1  is startit(kp, ksize, entry, fmem, fmemsz, cmemsz,
     18  1.1  is 	    boothowto, esym, cpuid, eclock, amiga_flags, I_flag,
     19  1.1  is 	    bootpartoff, history)
     20  1.1  is 
     21  1.1  is 	u_long kp, ksize, entry, fmem, fmemsz, cmemsz,
     22  1.1  is 		boothowto, esym, cpuid, eclock, amiga_flags, I_flag,
     23  1.1  is 		bootpartoff, history;
     24  1.1  is {
     25  1.1  is 	int i;
     26  1.1  is 
     27  1.1  is #define ONESEC
     28  1.1  is /* #define ONESEC for (i=0; i<1000000; i++) */
     29  1.1  is 
     30  1.1  is 	ONESEC *(volatile u_int16_t *)0xdff180 = 0x0f0;
     31  1.1  is 	*(volatile u_int8_t *)0xf60000 = 0x10;
     32  1.1  is 	ONESEC *(volatile u_int16_t *)0xdff180 = 0xf80;
     33  1.1  is 
     34  1.1  is 	memcpy((caddr_t)0xfff00100, kickstart, kicksize);
     35  1.1  is 	*(volatile u_int32_t *)0xfff000f4 = fmem;
     36  1.1  is 	*(volatile u_int32_t *)0xfff000f8 = kp;
     37  1.1  is 	*(volatile u_int32_t *)0xfff000fc = ksize;
     38  1.1  is 	ONESEC *(volatile u_int16_t *)0xdff180 = 0xf00;
     39  1.1  is 	*(volatile u_int8_t *)0xf60000 = 0x90;
     40  1.1  is 	*(volatile u_int8_t *)0xf60000 = 0x08;
     41  1.1  is 	/* NOTREACHED */
     42  1.1  is 	while (1) {
     43  1.1  is 		*(volatile u_int16_t *)0xdff180 = 0x0f0;
     44  1.1  is 		*(volatile u_int16_t *)0xdff180 = 0x00f;
     45  1.1  is 	}
     46  1.1  is }
     47