Changeset 3582
- Timestamp:
- 12/05/07 23:18:41 (5 years ago)
- Location:
- trunk/src/host/qemu-neo1973
- Files:
-
- 3 edited
-
hw/boards.h (modified) (1 diff)
-
hw/neo1973.c (modified) (7 diffs)
-
vl.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/host/qemu-neo1973/hw/boards.h
r3566 r3582 76 76 /* neo1973.c */ 77 77 extern QEMUMachine gta01_machine; 78 extern QEMUMachine gta02f_machine; 78 79 79 80 /* palm.c */ -
trunk/src/host/qemu-neo1973/hw/neo1973.c
r3566 r3582 21 21 #include "usb.h" 22 22 #include "net.h" 23 #include "sd.h" 23 24 24 25 #define neo_printf(format, ...) \ … … 82 83 i2c_slave *lcm; 83 84 CharDriverState *modem; 85 CharDriverState *gps; 84 86 QEMUTimer *modem_timer; 85 87 qemu_irq *kbd_pic; … … 107 109 static void neo_gpspwr_switch(void *opaque, int line, int level) 108 110 { 111 struct neo_board_s *s = (struct neo_board_s *) opaque; 112 109 113 neo_printf("GPS powered %s.\n", level ? "up" : "down"); 114 115 if (s->gps) 116 gps_enable(s->gps, level); 110 117 } 111 118 … … 391 398 } 392 399 400 static void neo_gps_setup(struct neo_board_s *s) 401 { 402 s->gps = gps_antaris_serial_init(); 403 404 s3c_uart_attach(s->cpu->uart[1], s->gps); 405 } 406 393 407 static void neo_reset(void *opaque) 394 408 { … … 416 430 417 431 /* Board init. */ 418 static void gta01_init(int ram_size, int vga_ram_size, const char *boot_device, 419 DisplayState *ds, const char *kernel_filename, 420 const char *kernel_cmdline, const char *initrd_filename, 421 const char *cpu_model) 432 static struct neo_board_s *neo1973_init_common(int ram_size, DisplayState *ds, 433 const char *kernel_filename, const char *cpu_model, 434 struct sd_card_s *mmc) 422 435 { 423 436 struct neo_board_s *s = (struct neo_board_s *) 424 437 qemu_mallocz(sizeof(struct neo_board_s)); 425 int sd_idx = drive_get_index(IF_SD, 0, 0);426 438 427 439 s->ram = 0x08000000; 428 440 s->kernel = kernel_filename; 429 if (sd_idx >= 0) 430 s->mmc = sd_init(drives_table[sd_idx].bdrv, 0); 441 s->mmc = mmc; 431 442 432 443 /* Setup CPU & memory */ … … 469 480 470 481 dpy_resize(ds, 480, 640); 482 483 return s; 484 } 485 486 static void gta01_init(int ram_size, int vga_ram_size, 487 const char *boot_device, DisplayState *ds, 488 const char *kernel_filename, const char *kernel_cmdline, 489 const char *initrd_filename, const char *cpu_model) 490 { 491 int sd_idx = drive_get_index(IF_SD, 0, 0); 492 struct sd_card_s *sd = 0; 493 494 if (sd_idx >= 0) 495 sd = sd_init(drives_table[sd_idx].bdrv, 0); 496 497 neo1973_init_common(ram_size, ds, kernel_filename, cpu_model, sd); 498 } 499 500 static void gta02f_init(int ram_size, int vga_ram_size, 501 const char *boot_device, DisplayState *ds, 502 const char *kernel_filename, const char *kernel_cmdline, 503 const char *initrd_filename, const char *cpu_model) 504 { 505 struct neo_board_s *neo; 506 507 neo = neo1973_init_common(ram_size, ds, kernel_filename, cpu_model, 0); 508 509 neo_gps_setup(neo); 471 510 } 472 511 … … 476 515 gta01_init, 477 516 }; 517 518 QEMUMachine gta02f_machine = { 519 "gta02fake", 520 "Paravirtual FIC Neo1973 rev GTA02 (S3C2410A)", 521 gta02f_init, 522 }; -
trunk/src/host/qemu-neo1973/vl.c
r3566 r3582 8073 8073 qemu_register_machine(&terrierpda_machine); 8074 8074 qemu_register_machine(>a01_machine); 8075 qemu_register_machine(>a02f_machine); 8075 8076 qemu_register_machine(&palmte_machine); 8076 8077 qemu_register_machine(&lm3s811evb_machine);
Note: See TracChangeset
for help on using the changeset viewer.
