X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Ftools%2Fstatic.c;h=34752287a017b7791f3acfdc417dedf58b021465;hp=50013c787db0c2adc1b55e22980a6220a21cc5a1;hb=HEAD;hpb=dc90c02d39fc8968d2078512e228d99e7c553267 diff --git a/loader/tools/static.c b/loader/tools/static.c index 50013c7..3475228 100644 --- a/loader/tools/static.c +++ b/loader/tools/static.c @@ -1,16 +1,32 @@ #include #include +#include #include #include #include #include #include #include +#include +#include + +static int open_(const char *name) +{ + int fd = open(name, O_RDWR); + if (fd < 0) { + fprintf(stderr, "%s: ", name); + perror("open"); + return 1; + } + + return fd; +} int main(int argc, char *argv[]) { volatile void *memregs; - int memdev; + void *fbmem; + int memdev, fbdev; int i; printf("hi, home=%s\n", getenv("HOME")); @@ -18,21 +34,32 @@ int main(int argc, char *argv[]) for (i = 0; i < argc; i++) printf("%d \"%s\"\n", i, argv[i]); - memdev = open("/dev/mem", O_RDWR); - if (memdev < 0) { - perror("open"); - return 1; - } + memdev = open_("/dev/mem"); + fbdev = open_("/dev/fb0"); memregs = mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0xc0000000); + fbmem = mmap(NULL, 320*240*2, PROT_READ|PROT_WRITE, MAP_SHARED, fbdev, 0); + ioctl(-1, 0); signal(7, SIG_DFL); + system("buhbuh"); + execl("bah", "bah", NULL); + execlp("bah", "bah", NULL); + if (argc == 1000) + fork(); + chdir("wuhahaha!"); + usleep(1); +// tcgetattr(-1, NULL); +// tcsetattr(-1, 0, NULL); +#if 1 for (i = 0; i < 2; i++) printf("%02x %04x %08x\n", ((char *)memregs)[0x2011], ((short *)memregs)[0x1198/2], ((int *)memregs)[0xbcdc/4]); +#endif + memset(fbmem, 0xff, 320*240*2); - //sleep(1000); + sleep(10); return 0; }