1*529c1f20SDavid du Colombier #include "u.h" 2*529c1f20SDavid du Colombier #include "lib.h" 3*529c1f20SDavid du Colombier #include "fns.h" 4*529c1f20SDavid du Colombier #include "dat.h" 5*529c1f20SDavid du Colombier #include "mem.h" 6*529c1f20SDavid du Colombier 7*529c1f20SDavid du Colombier void main(void)8*529c1f20SDavid du Colombiermain(void) 9*529c1f20SDavid du Colombier { 10*529c1f20SDavid du Colombier void (*f)(void); 11*529c1f20SDavid du Colombier ulong *kernel; 12*529c1f20SDavid du Colombier 13*529c1f20SDavid du Colombier print("inflating kernel\n"); 14*529c1f20SDavid du Colombier 15*529c1f20SDavid du Colombier kernel = (ulong*)(0xc0200000+20*1024); 16*529c1f20SDavid du Colombier if(gunzip((uchar*)0xc0008000, 2*1024*1024, (uchar*)kernel, 512*1024) > 0){ 17*529c1f20SDavid du Colombier f = (void (*)(void))0xc0008010; 18*529c1f20SDavid du Colombier draincache(); 19*529c1f20SDavid du Colombier } else { 20*529c1f20SDavid du Colombier print("inflation failed\n"); 21*529c1f20SDavid du Colombier f = nil; 22*529c1f20SDavid du Colombier } 23*529c1f20SDavid du Colombier (*f)(); 24*529c1f20SDavid du Colombier } 25*529c1f20SDavid du Colombier 26*529c1f20SDavid du Colombier void exit(void)27*529c1f20SDavid du Colombierexit(void) 28*529c1f20SDavid du Colombier { 29*529c1f20SDavid du Colombier 30*529c1f20SDavid du Colombier void (*f)(void); 31*529c1f20SDavid du Colombier 32*529c1f20SDavid du Colombier delay(1000); 33*529c1f20SDavid du Colombier 34*529c1f20SDavid du Colombier print("it's a wonderful day to die\n"); 35*529c1f20SDavid du Colombier f = nil; 36*529c1f20SDavid du Colombier (*f)(); 37*529c1f20SDavid du Colombier } 38*529c1f20SDavid du Colombier 39*529c1f20SDavid du Colombier void delay(int ms)40*529c1f20SDavid du Colombierdelay(int ms) 41*529c1f20SDavid du Colombier { 42*529c1f20SDavid du Colombier int i; 43*529c1f20SDavid du Colombier 44*529c1f20SDavid du Colombier while(ms-- > 0){ 45*529c1f20SDavid du Colombier for(i = 0; i < 1000; i++) 46*529c1f20SDavid du Colombier ; 47*529c1f20SDavid du Colombier } 48*529c1f20SDavid du Colombier } 49