|
|
1.1 ! root 1: /* ! 2: * SHIX 2.0 board description ! 3: * ! 4: * Copyright (c) 2005 Samuel Tardieu ! 5: * ! 6: * Permission is hereby granted, free of charge, to any person obtaining a copy ! 7: * of this software and associated documentation files (the "Software"), to deal ! 8: * in the Software without restriction, including without limitation the rights ! 9: * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! 10: * copies of the Software, and to permit persons to whom the Software is ! 11: * furnished to do so, subject to the following conditions: ! 12: * ! 13: * The above copyright notice and this permission notice shall be included in ! 14: * all copies or substantial portions of the Software. ! 15: * ! 16: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! 17: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! 18: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ! 19: * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! 20: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! 21: * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ! 22: * THE SOFTWARE. ! 23: */ ! 24: /* ! 25: Shix 2.0 board by Alexis Polti, described at ! 26: http://perso.enst.fr/~polti/realisations/shix20/ ! 27: ! 28: More information in target-sh4/README.sh4 ! 29: */ ! 30: #include "vl.h" ! 31: ! 32: #define BIOS_FILENAME "shix_bios.bin" ! 33: #define BIOS_ADDRESS 0xA0000000 ! 34: ! 35: void DMA_run(void) ! 36: { ! 37: /* XXXXX */ ! 38: } ! 39: ! 40: void irq_info(void) ! 41: { ! 42: /* XXXXX */ ! 43: } ! 44: ! 45: void pic_set_irq(int irq, int level) ! 46: { ! 47: /* XXXXX */ ! 48: } ! 49: ! 50: void pic_info() ! 51: { ! 52: /* XXXXX */ ! 53: } ! 54: ! 55: void vga_update_display() ! 56: { ! 57: /* XXXXX */ ! 58: } ! 59: ! 60: void vga_invalidate_display() ! 61: { ! 62: /* XXXXX */ ! 63: } ! 64: ! 65: void vga_screen_dump(const char *filename) ! 66: { ! 67: /* XXXXX */ ! 68: } ! 69: ! 70: void shix_init(int ram_size, int vga_ram_size, int boot_device, ! 71: DisplayState * ds, const char **fd_filename, int snapshot, ! 72: const char *kernel_filename, const char *kernel_cmdline, ! 73: const char *initrd_filename) ! 74: { ! 75: int ret; ! 76: CPUState *env; ! 77: struct SH7750State *s; ! 78: ! 79: printf("Initializing CPU\n"); ! 80: env = cpu_init(); ! 81: ! 82: /* Allocate memory space */ ! 83: printf("Allocating ROM\n"); ! 84: cpu_register_physical_memory(0x00000000, 0x00004000, IO_MEM_ROM); ! 85: printf("Allocating SDRAM 1\n"); ! 86: cpu_register_physical_memory(0x08000000, 0x01000000, 0x00004000); ! 87: printf("Allocating SDRAM 2\n"); ! 88: cpu_register_physical_memory(0x0c000000, 0x01000000, 0x01004000); ! 89: ! 90: /* Load BIOS in 0 (and access it through P2, 0xA0000000) */ ! 91: printf("%s: load BIOS '%s'\n", __func__, BIOS_FILENAME); ! 92: ret = load_image(BIOS_FILENAME, phys_ram_base); ! 93: if (ret < 0) { /* Check bios size */ ! 94: fprintf(stderr, "ret=%d\n", ret); ! 95: fprintf(stderr, "qemu: could not load SHIX bios '%s'\n", ! 96: BIOS_FILENAME); ! 97: exit(1); ! 98: } ! 99: ! 100: /* Register peripherals */ ! 101: s = sh7750_init(env); ! 102: /* XXXXX Check success */ ! 103: tc58128_init(s, "shix_linux_nand.bin", NULL); ! 104: fprintf(stderr, "initialization terminated\n"); ! 105: } ! 106: ! 107: QEMUMachine shix_machine = { ! 108: "shix", ! 109: "shix card", ! 110: shix_init ! 111: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.