switch support, Mainstone - resend
PATCH 2/2 switch support, Mainstone - resend
Here is the use of the switches patch on a Mainstone.
-Armin
hw/mainstone.c +17 -21
@@ -51,32 +51,28 @@ static void mainstone_common_init(int ra/* There are two 32MiB flash devices on the board */ index =drive_get_index (IF_PFLASH ,0 ,0 );if (index ==-1 ) { -fprintf (stderr,"Two flash images must be given with the " +fprintf (stderr,"One flash image must be given with the " "'pflash' parameter\n" );exit (1 ); } -if (!pflash_cfi01_register (MST_FLASH_0 , - mainstone_ram +PXA2XX_INTERNAL_SIZE , - drives_table[index].bdrv, -256 *1024 ,128 ,4 ,0 ,0 ,0 ,0 )) { -fprintf (stderr,"qemu: Error registering flash memory.\n" ); -exit (1 ); - } - index =drive_get_index (IF_PFLASH ,0 ,1 ); -if (index ==-1 ) { -fprintf (stderr,"Two flash images must be given with the " -"'pflash' parameter\n" ); -exit (1 ); - } -if (!pflash_cfi01_register (MST_FLASH_1 , - mainstone_ram +PXA2XX_INTERNAL_SIZE , - drives_table[index].bdrv, -256 *1024 ,128 ,4 ,0 ,0 ,0 ,0 )) { -fprintf (stderr,"qemu: Error registering flash memory.\n" ); -exit (1 ); +if (switch_get_value (CFG_SPDT_SWITCH ,7 )) { +if (!pflash_cfi01_register (MST_FLASH_0 , + mainstone_ram +PXA2XX_INTERNAL_SIZE , + drives_table[index].bdrv, +256 *1024 ,128 ,4 ,0 ,0 ,0 ,0 )) { +fprintf (stderr,"qemu: Error registering flash memory.\n" ); +exit (1 ); + } + }else { +if (!pflash_cfi01_register (MST_FLASH_1 , + mainstone_ram +PXA2XX_INTERNAL_SIZE , + drives_table[index].bdrv, +256 *1024 ,128 ,4 ,0 ,0 ,0 ,0 )) { +fprintf (stderr,"qemu: Error registering flash memory.\n" ); +exit (1 ); + } } - mst_irq =mst_irq_init (cpu,MST_FPGA_PHYS ,PXA2XX_PIC_GPIO_0 );/* MMC/SD host */