19 static void cmdrun(char *cmd);
24 static char cmdbuf[256];
28 asm volatile("mrs %0, cpsr" : "=r"(cpsr));
29 printf("CPSR: %x (mode: %x)\n", cpsr, cpsr & 0x1f);
32 /*init_serial(115200); done in rpi_init now for early debugging */
35 printf("Detected raspberry pi %d, I/O base: %x\n", rpi_model, rpi_iobase);
36 printf("Main RAM base: %x, size: %u bytes\n", rpi_mem_base, rpi_mem_size);
37 printf("Video RAM base: %x, size: %u bytes\n", rpi_vmem_base, rpi_vmem_size);
45 printf("Going interactive\n");
48 while(ser_pending()) {
71 if(cmdend < sizeof cmdbuf) {
85 printf("Rebooting ...\n");
89 static void cmdrun(char *cmd)
91 static int cur_x, cur_y;
94 while(*cmd && isspace(*cmd)) cmd++;
96 while(*ptr && !isspace(*ptr)) ptr++;
100 if(strcmp(cmd, "reboot") == 0) {
103 } else if(strcmp(cmd, "down") == 0) {
104 printf("scroll down\n");
106 video_scroll(cur_x, cur_y);
108 } else if(strcmp(cmd, "up") == 0) {
109 printf("scroll up\n");
111 video_scroll(cur_x, cur_y);
113 } else if(strcmp(cmd, "ticks") == 0) {
114 printf("%lu\n", num_ticks);
116 } else if(strcmp(cmd, "help") == 0) {
117 printf("help not implemented yet\n");
118 } else if(strcmp(cmd, "ver") == 0) {
119 printf("rpikern version 0.0\n");
121 printf("Unknown command: %s\n", cmd);