Commit 1df912cf9e3dc0c3352fca1200c4bdc3477bf9f4

Authored by bellard
1 parent 43518323

VL license of the day is MIT/BSD


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@281 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 24 additions and 6 deletions
1 1 /*
2   - * QEMU based User Mode Linux
  2 + * QEMU PC System Emulator
3 3 *
4   - * This file is part of proprietary software - it is published here
5   - * only for demonstration and information purposes.
  4 + * Copyright (c) 2003 Fabrice Bellard
6 5 *
7   - * Copyright (c) 2003 Fabrice Bellard
  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.
8 23 */
9 24 #include <stdlib.h>
10 25 #include <stdio.h>
  26 +#include <stdarg.h>
11 27 #include <string.h>
12 28 #include <getopt.h>
13 29 #include <inttypes.h>
... ... @@ -163,6 +179,7 @@ typedef uint32_t (IOPortReadFunc)(CPUX86State *env, uint32_t address);
163 179  
164 180 char phys_ram_file[1024];
165 181 CPUX86State *global_env;
  182 +CPUX86State *cpu_single_env;
166 183 FILE *logfile = NULL;
167 184 int loglevel;
168 185 IOPortReadFunc *ioport_readb_table[MAX_IOPORTS];
... ... @@ -1658,7 +1675,7 @@ static int timer_irq_pending;
1658 1675 static void host_alarm_handler(int host_signum, siginfo_t *info,
1659 1676 void *puc)
1660 1677 {
1661   - /* just exit from the cpu to have a change to handle timers */
  1678 + /* just exit from the cpu to have a chance to handle timers */
1662 1679 cpu_x86_interrupt(global_env);
1663 1680 timer_irq_pending = 1;
1664 1681 }
... ... @@ -1811,6 +1828,7 @@ int main(int argc, char **argv)
1811 1828 /* init CPU state */
1812 1829 env = cpu_init();
1813 1830 global_env = env;
  1831 + cpu_single_env = env;
1814 1832  
1815 1833 /* setup basic memory access */
1816 1834 env->cr[0] = 0x00000033;
... ... @@ -1893,7 +1911,7 @@ int main(int argc, char **argv)
1893 1911 }
1894 1912 }
1895 1913  
1896   - /* just for testing */
  1914 + /* timer IRQ */
1897 1915 if (timer_irq_pending) {
1898 1916 pic_set_irq(0, 1);
1899 1917 pic_set_irq(0, 0);
... ...