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=41f237b83b4d6b06c3f807ff646dc1ea70d56f92;hb=HEAD;hpb=11913091045ebc44f003138d9e69cdc91fe4982e diff --git a/loader/tools/static.c b/loader/tools/static.c index 41f237b..3475228 100644 --- a/loader/tools/static.c +++ b/loader/tools/static.c @@ -1,20 +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, home=%s\n", getenv("HOME")); - printf("hi\n"); + 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); - printf("%02x %04x %08x\n", ((char *)memregs)[0x2011], ((short *)memregs)[0x1198/2], ((int *)memregs)[0xbcdc/4]); - //sleep(1000); + 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(10); return 0; }