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=50a35c92d25bdfe419787af30a7aac9056c74383;hb=HEAD;hpb=86418a845b35b2bb08b611fa1a1d1eec05b924c9 diff --git a/loader/tools/static.c b/loader/tools/static.c index 50a35c9..3475228 100644 --- a/loader/tools/static.c +++ b/loader/tools/static.c @@ -1,25 +1,65 @@ #include +#include +#include #include #include #include #include +#include +#include +#include +#include -int main() +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\n"); + printf("hi, home=%s\n", getenv("HOME")); + + for (i = 0; i < argc; i++) + printf("%d \"%s\"\n", i, argv[i]); + + memdev = open_("/dev/mem"); + fbdev = open_("/dev/fb0"); - memdev = open("/dev/mem", O_RDWR); 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; }