imain.c 603 B

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