Commit 3a51dee658b9cc781acd57dd11bffbd1e402f93d

Authored by bellard
1 parent cc38b844

disabled signal hacks for softmmu version (qemu should be much more portable now...)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@409 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 33 additions and 29 deletions
@@ -2067,40 +2067,40 @@ static void ide_identify(IDEState *s) @@ -2067,40 +2067,40 @@ static void ide_identify(IDEState *s)
2067 2067
2068 memset(s->io_buffer, 0, 512); 2068 memset(s->io_buffer, 0, 512);
2069 p = (uint16_t *)s->io_buffer; 2069 p = (uint16_t *)s->io_buffer;
2070 - stw(p + 0, 0x0040);  
2071 - stw(p + 1, s->cylinders);  
2072 - stw(p + 3, s->heads);  
2073 - stw(p + 4, 512 * s->sectors); /* sectors */  
2074 - stw(p + 5, 512); /* sector size */  
2075 - stw(p + 6, s->sectors);  
2076 - stw(p + 20, 3); /* buffer type */  
2077 - stw(p + 21, 512); /* cache size in sectors */  
2078 - stw(p + 22, 4); /* ecc bytes */ 2070 + stw_raw(p + 0, 0x0040);
  2071 + stw_raw(p + 1, s->cylinders);
  2072 + stw_raw(p + 3, s->heads);
  2073 + stw_raw(p + 4, 512 * s->sectors); /* sectors */
  2074 + stw_raw(p + 5, 512); /* sector size */
  2075 + stw_raw(p + 6, s->sectors);
  2076 + stw_raw(p + 20, 3); /* buffer type */
  2077 + stw_raw(p + 21, 512); /* cache size in sectors */
  2078 + stw_raw(p + 22, 4); /* ecc bytes */
2079 padstr((uint8_t *)(p + 27), "QEMU HARDDISK", 40); 2079 padstr((uint8_t *)(p + 27), "QEMU HARDDISK", 40);
2080 #if MAX_MULT_SECTORS > 1 2080 #if MAX_MULT_SECTORS > 1
2081 - stw(p + 47, MAX_MULT_SECTORS); 2081 + stw_raw(p + 47, MAX_MULT_SECTORS);
2082 #endif 2082 #endif
2083 - stw(p + 48, 1); /* dword I/O */  
2084 - stw(p + 49, 1 << 9); /* LBA supported, no DMA */  
2085 - stw(p + 51, 0x200); /* PIO transfer cycle */  
2086 - stw(p + 52, 0x200); /* DMA transfer cycle */  
2087 - stw(p + 54, s->cylinders);  
2088 - stw(p + 55, s->heads);  
2089 - stw(p + 56, s->sectors); 2083 + stw_raw(p + 48, 1); /* dword I/O */
  2084 + stw_raw(p + 49, 1 << 9); /* LBA supported, no DMA */
  2085 + stw_raw(p + 51, 0x200); /* PIO transfer cycle */
  2086 + stw_raw(p + 52, 0x200); /* DMA transfer cycle */
  2087 + stw_raw(p + 54, s->cylinders);
  2088 + stw_raw(p + 55, s->heads);
  2089 + stw_raw(p + 56, s->sectors);
2090 oldsize = s->cylinders * s->heads * s->sectors; 2090 oldsize = s->cylinders * s->heads * s->sectors;
2091 - stw(p + 57, oldsize);  
2092 - stw(p + 58, oldsize >> 16); 2091 + stw_raw(p + 57, oldsize);
  2092 + stw_raw(p + 58, oldsize >> 16);
2093 if (s->mult_sectors) 2093 if (s->mult_sectors)
2094 - stw(p + 59, 0x100 | s->mult_sectors);  
2095 - stw(p + 60, s->nb_sectors);  
2096 - stw(p + 61, s->nb_sectors >> 16);  
2097 - stw(p + 80, (1 << 1) | (1 << 2));  
2098 - stw(p + 82, (1 << 14));  
2099 - stw(p + 83, (1 << 14));  
2100 - stw(p + 84, (1 << 14));  
2101 - stw(p + 85, (1 << 14));  
2102 - stw(p + 86, 0);  
2103 - stw(p + 87, (1 << 14)); 2094 + stw_raw(p + 59, 0x100 | s->mult_sectors);
  2095 + stw_raw(p + 60, s->nb_sectors);
  2096 + stw_raw(p + 61, s->nb_sectors >> 16);
  2097 + stw_raw(p + 80, (1 << 1) | (1 << 2));
  2098 + stw_raw(p + 82, (1 << 14));
  2099 + stw_raw(p + 83, (1 << 14));
  2100 + stw_raw(p + 84, (1 << 14));
  2101 + stw_raw(p + 85, (1 << 14));
  2102 + stw_raw(p + 86, 0);
  2103 + stw_raw(p + 87, (1 << 14));
2104 } 2104 }
2105 2105
2106 static inline void ide_abort_command(IDEState *s) 2106 static inline void ide_abort_command(IDEState *s)
@@ -3275,6 +3275,7 @@ void dumb_display_init(DisplayState *ds) @@ -3275,6 +3275,7 @@ void dumb_display_init(DisplayState *ds)
3275 ds->dpy_refresh = dumb_refresh; 3275 ds->dpy_refresh = dumb_refresh;
3276 } 3276 }
3277 3277
  3278 +#if !defined(CONFIG_SOFTMMU)
3278 /***********************************************************/ 3279 /***********************************************************/
3279 /* cpu signal handler */ 3280 /* cpu signal handler */
3280 static void host_segv_handler(int host_signum, siginfo_t *info, 3281 static void host_segv_handler(int host_signum, siginfo_t *info,
@@ -3285,6 +3286,7 @@ static void host_segv_handler(int host_signum, siginfo_t *info, @@ -3285,6 +3286,7 @@ static void host_segv_handler(int host_signum, siginfo_t *info,
3285 term_exit(); 3286 term_exit();
3286 abort(); 3287 abort();
3287 } 3288 }
  3289 +#endif
3288 3290
3289 static int timer_irq_pending; 3291 static int timer_irq_pending;
3290 static int timer_irq_count; 3292 static int timer_irq_count;
@@ -3807,9 +3809,11 @@ int main(int argc, char **argv) @@ -3807,9 +3809,11 @@ int main(int argc, char **argv)
3807 /* setup cpu signal handlers for MMU / self modifying code handling */ 3809 /* setup cpu signal handlers for MMU / self modifying code handling */
3808 sigfillset(&act.sa_mask); 3810 sigfillset(&act.sa_mask);
3809 act.sa_flags = SA_SIGINFO; 3811 act.sa_flags = SA_SIGINFO;
  3812 +#if !defined(CONFIG_SOFTMMU)
3810 act.sa_sigaction = host_segv_handler; 3813 act.sa_sigaction = host_segv_handler;
3811 sigaction(SIGSEGV, &act, NULL); 3814 sigaction(SIGSEGV, &act, NULL);
3812 sigaction(SIGBUS, &act, NULL); 3815 sigaction(SIGBUS, &act, NULL);
  3816 +#endif
3813 3817
3814 act.sa_sigaction = host_alarm_handler; 3818 act.sa_sigaction = host_alarm_handler;
3815 sigaction(SIGALRM, &act, NULL); 3819 sigaction(SIGALRM, &act, NULL);