arch_init.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /*
  2. * QEMU System Emulator
  3. *
  4. * Copyright (c) 2003-2008 Fabrice Bellard
  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. #include "qemu/osdep.h"
  25. #include "qemu-common.h"
  26. #include "cpu.h"
  27. #include "sysemu/sysemu.h"
  28. #include "sysemu/arch_init.h"
  29. #include "hw/pci/pci.h"
  30. #include "hw/audio/soundhw.h"
  31. #include "qemu/config-file.h"
  32. #include "qemu/error-report.h"
  33. #include "qmp-commands.h"
  34. #include "hw/acpi/acpi.h"
  35. #include "qemu/help_option.h"
  36. #ifdef TARGET_SPARC
  37. int graphic_width = 1024;
  38. int graphic_height = 768;
  39. int graphic_depth = 8;
  40. #else
  41. int graphic_width = 800;
  42. int graphic_height = 600;
  43. int graphic_depth = 32;
  44. #endif
  45. #if defined(TARGET_ALPHA)
  46. #define QEMU_ARCH QEMU_ARCH_ALPHA
  47. #elif defined(TARGET_ARM)
  48. #define QEMU_ARCH QEMU_ARCH_ARM
  49. #elif defined(TARGET_CRIS)
  50. #define QEMU_ARCH QEMU_ARCH_CRIS
  51. #elif defined(TARGET_I386)
  52. #define QEMU_ARCH QEMU_ARCH_I386
  53. #elif defined(TARGET_M68K)
  54. #define QEMU_ARCH QEMU_ARCH_M68K
  55. #elif defined(TARGET_LM32)
  56. #define QEMU_ARCH QEMU_ARCH_LM32
  57. #elif defined(TARGET_MICROBLAZE)
  58. #define QEMU_ARCH QEMU_ARCH_MICROBLAZE
  59. #elif defined(TARGET_MIPS)
  60. #define QEMU_ARCH QEMU_ARCH_MIPS
  61. #elif defined(TARGET_MOXIE)
  62. #define QEMU_ARCH QEMU_ARCH_MOXIE
  63. #elif defined(TARGET_NIOS2)
  64. #define QEMU_ARCH QEMU_ARCH_NIOS2
  65. #elif defined(TARGET_OPENRISC)
  66. #define QEMU_ARCH QEMU_ARCH_OPENRISC
  67. #elif defined(TARGET_PPC)
  68. #define QEMU_ARCH QEMU_ARCH_PPC
  69. #elif defined(TARGET_S390X)
  70. #define QEMU_ARCH QEMU_ARCH_S390X
  71. #elif defined(TARGET_SH4)
  72. #define QEMU_ARCH QEMU_ARCH_SH4
  73. #elif defined(TARGET_SPARC)
  74. #define QEMU_ARCH QEMU_ARCH_SPARC
  75. #elif defined(TARGET_XTENSA)
  76. #define QEMU_ARCH QEMU_ARCH_XTENSA
  77. #elif defined(TARGET_UNICORE32)
  78. #define QEMU_ARCH QEMU_ARCH_UNICORE32
  79. #elif defined(TARGET_TRICORE)
  80. #define QEMU_ARCH QEMU_ARCH_TRICORE
  81. #endif
  82. const uint32_t arch_type = QEMU_ARCH;
  83. int kvm_available(void)
  84. {
  85. #ifdef CONFIG_KVM
  86. return 1;
  87. #else
  88. return 0;
  89. #endif
  90. }
  91. int xen_available(void)
  92. {
  93. #ifdef CONFIG_XEN
  94. return 1;
  95. #else
  96. return 0;
  97. #endif
  98. }
  99. TargetInfo *qmp_query_target(Error **errp)
  100. {
  101. TargetInfo *info = g_malloc0(sizeof(*info));
  102. info->arch = g_strdup(TARGET_NAME);
  103. return info;
  104. }