mirror of https://gitee.com/openkylin/qemu.git
change HOST_SOLARIS to CONFIG_SOLARIS{_VERSION}
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
a8cd70fc4e
commit
dfe5fff3ea
|
@ -1588,7 +1588,8 @@ fi
|
||||||
|
|
||||||
if test "$solaris" = "yes" ; then
|
if test "$solaris" = "yes" ; then
|
||||||
echo "CONFIG_SOLARIS=y" >> $config_host_mak
|
echo "CONFIG_SOLARIS=y" >> $config_host_mak
|
||||||
echo "#define HOST_SOLARIS $solarisrev" >> $config_host_h
|
echo "#define CONFIG_SOLARIS 1" >> $config_host_h
|
||||||
|
echo "#define CONFIG_SOLARIS_VERSION $solarisrev" >> $config_host_h
|
||||||
if test "$needs_libsunmath" = "yes" ; then
|
if test "$needs_libsunmath" = "yes" ; then
|
||||||
echo "NEEDS_LIBSUNMATH=yes" >> $config_host_mak
|
echo "NEEDS_LIBSUNMATH=yes" >> $config_host_mak
|
||||||
echo "#define NEEDS_LIBSUNMATH 1" >> $config_host_h
|
echo "#define NEEDS_LIBSUNMATH 1" >> $config_host_h
|
||||||
|
|
10
cpu-exec.c
10
cpu-exec.c
|
@ -38,7 +38,7 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__sparc__) && !defined(HOST_SOLARIS)
|
#if defined(__sparc__) && !defined(CONFIG_SOLARIS)
|
||||||
// Work around ugly bugs in glibc that mangle global register contents
|
// Work around ugly bugs in glibc that mangle global register contents
|
||||||
#undef env
|
#undef env
|
||||||
#define env cpu_single_env
|
#define env cpu_single_env
|
||||||
|
@ -258,7 +258,7 @@ int cpu_exec(CPUState *env1)
|
||||||
/* prepare setjmp context for exception handling */
|
/* prepare setjmp context for exception handling */
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (setjmp(env->jmp_env) == 0) {
|
if (setjmp(env->jmp_env) == 0) {
|
||||||
#if defined(__sparc__) && !defined(HOST_SOLARIS)
|
#if defined(__sparc__) && !defined(CONFIG_SOLARIS)
|
||||||
#undef env
|
#undef env
|
||||||
env = cpu_single_env;
|
env = cpu_single_env;
|
||||||
#define env cpu_single_env
|
#define env cpu_single_env
|
||||||
|
@ -414,7 +414,7 @@ int cpu_exec(CPUState *env1)
|
||||||
env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ);
|
env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ);
|
||||||
intno = cpu_get_pic_interrupt(env);
|
intno = cpu_get_pic_interrupt(env);
|
||||||
qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing hardware INT=0x%02x\n", intno);
|
qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing hardware INT=0x%02x\n", intno);
|
||||||
#if defined(__sparc__) && !defined(HOST_SOLARIS)
|
#if defined(__sparc__) && !defined(CONFIG_SOLARIS)
|
||||||
#undef env
|
#undef env
|
||||||
env = cpu_single_env;
|
env = cpu_single_env;
|
||||||
#define env cpu_single_env
|
#define env cpu_single_env
|
||||||
|
@ -644,7 +644,7 @@ int cpu_exec(CPUState *env1)
|
||||||
while (env->current_tb) {
|
while (env->current_tb) {
|
||||||
tc_ptr = tb->tc_ptr;
|
tc_ptr = tb->tc_ptr;
|
||||||
/* execute the generated code */
|
/* execute the generated code */
|
||||||
#if defined(__sparc__) && !defined(HOST_SOLARIS)
|
#if defined(__sparc__) && !defined(CONFIG_SOLARIS)
|
||||||
#undef env
|
#undef env
|
||||||
env = cpu_single_env;
|
env = cpu_single_env;
|
||||||
#define env cpu_single_env
|
#define env cpu_single_env
|
||||||
|
@ -1435,7 +1435,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
|
||||||
siginfo_t *info = pinfo;
|
siginfo_t *info = pinfo;
|
||||||
int is_write;
|
int is_write;
|
||||||
uint32_t insn;
|
uint32_t insn;
|
||||||
#if !defined(__arch64__) || defined(HOST_SOLARIS)
|
#if !defined(__arch64__) || defined(CONFIG_SOLARIS)
|
||||||
uint32_t *regs = (uint32_t *)(info + 1);
|
uint32_t *regs = (uint32_t *)(info + 1);
|
||||||
void *sigmask = (regs + 20);
|
void *sigmask = (regs + 20);
|
||||||
/* XXX: is there a standard glibc define ? */
|
/* XXX: is there a standard glibc define ? */
|
||||||
|
|
|
@ -75,7 +75,7 @@ extern int printf(const char *, ...);
|
||||||
#define AREG1 "s0"
|
#define AREG1 "s0"
|
||||||
#define AREG2 "s1"
|
#define AREG2 "s1"
|
||||||
#elif defined(__sparc__)
|
#elif defined(__sparc__)
|
||||||
#ifdef HOST_SOLARIS
|
#ifdef CONFIG_SOLARIS
|
||||||
#define AREG0 "g2"
|
#define AREG0 "g2"
|
||||||
#define AREG1 "g3"
|
#define AREG1 "g3"
|
||||||
#define AREG2 "g4"
|
#define AREG2 "g4"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
context is supported */
|
context is supported */
|
||||||
#include "softfloat.h"
|
#include "softfloat.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#if defined(HOST_SOLARIS)
|
#if defined(CONFIG_SOLARIS)
|
||||||
#include <fenv.h>
|
#include <fenv.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ void set_float_rounding_mode(int val STATUS_PARAM)
|
||||||
{
|
{
|
||||||
STATUS(float_rounding_mode) = val;
|
STATUS(float_rounding_mode) = val;
|
||||||
#if defined(HOST_BSD) && !defined(__APPLE__) || \
|
#if defined(HOST_BSD) && !defined(__APPLE__) || \
|
||||||
(defined(HOST_SOLARIS) && HOST_SOLARIS < 10)
|
(defined(CONFIG_SOLARIS) && CONFIG_SOLARIS_VERSION < 10)
|
||||||
fpsetround(val);
|
fpsetround(val);
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
/* nothing to do */
|
/* nothing to do */
|
||||||
|
@ -26,7 +26,8 @@ void set_floatx80_rounding_precision(int val STATUS_PARAM)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HOST_BSD) || (defined(HOST_SOLARIS) && HOST_SOLARIS < 10)
|
#if defined(HOST_BSD) || \
|
||||||
|
(defined(CONFIG_SOLARIS) && CONFIG_SOLARIS_VERSION < 10)
|
||||||
#define lrint(d) ((int32_t)rint(d))
|
#define lrint(d) ((int32_t)rint(d))
|
||||||
#define llrint(d) ((int64_t)rint(d))
|
#define llrint(d) ((int64_t)rint(d))
|
||||||
#define lrintf(f) ((int32_t)rint(f))
|
#define lrintf(f) ((int32_t)rint(f))
|
||||||
|
@ -34,7 +35,8 @@ void set_floatx80_rounding_precision(int val STATUS_PARAM)
|
||||||
#define sqrtf(f) ((float)sqrt(f))
|
#define sqrtf(f) ((float)sqrt(f))
|
||||||
#define remainderf(fa, fb) ((float)remainder(fa, fb))
|
#define remainderf(fa, fb) ((float)remainder(fa, fb))
|
||||||
#define rintf(f) ((float)rint(f))
|
#define rintf(f) ((float)rint(f))
|
||||||
#if !defined(__sparc__) && defined(HOST_SOLARIS) && HOST_SOLARIS < 10
|
#if !defined(__sparc__) && \
|
||||||
|
(defined(CONFIG_SOLARIS) && CONFIG_SOLARIS_VERSION < 10)
|
||||||
extern long double rintl(long double);
|
extern long double rintl(long double);
|
||||||
extern long double scalbnl(long double, int);
|
extern long double scalbnl(long double, int);
|
||||||
|
|
||||||
|
@ -349,7 +351,8 @@ uint64_t float64_to_uint64_round_to_zero (float64 a STATUS_PARAM)
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
| Software IEC/IEEE double-precision operations.
|
| Software IEC/IEEE double-precision operations.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
#if defined(__sun__) && defined(HOST_SOLARIS) && HOST_SOLARIS < 10
|
#if defined(__sun__) && \
|
||||||
|
(defined(CONFIG_SOLARIS) && CONFIG_SOLARIS_VERSION < 10)
|
||||||
static inline float64 trunc(float64 x)
|
static inline float64 trunc(float64 x)
|
||||||
{
|
{
|
||||||
return x < 0 ? -floor(-x) : floor(x);
|
return x < 0 ? -floor(-x) : floor(x);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* Native implementation of soft float functions */
|
/* Native implementation of soft float functions */
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#if (defined(HOST_BSD) && !defined(__APPLE__)) || defined(HOST_SOLARIS)
|
#if (defined(HOST_BSD) && !defined(__APPLE__)) || defined(CONFIG_SOLARIS)
|
||||||
#include <ieeefp.h>
|
#include <ieeefp.h>
|
||||||
#define fabsf(f) ((float)fabs(f))
|
#define fabsf(f) ((float)fabs(f))
|
||||||
#else
|
#else
|
||||||
|
@ -19,8 +19,9 @@
|
||||||
* Solaris 10 with GCC4 does not need these macros as they
|
* Solaris 10 with GCC4 does not need these macros as they
|
||||||
* are defined in <iso/math_c99.h> with a compiler directive
|
* are defined in <iso/math_c99.h> with a compiler directive
|
||||||
*/
|
*/
|
||||||
#if defined(HOST_SOLARIS) && (( HOST_SOLARIS <= 9 ) || ((HOST_SOLARIS >= 10) \
|
#if defined(CONFIG_SOLARIS) && \
|
||||||
&& (__GNUC__ < 4))) \
|
((CONFIG_SOLARIS_VERSION <= 9 ) || \
|
||||||
|
((CONFIG_SOLARIS_VERSION >= 10) && (__GNUC__ < 4))) \
|
||||||
|| (defined(__OpenBSD__) && (OpenBSD < 200811))
|
|| (defined(__OpenBSD__) && (OpenBSD < 200811))
|
||||||
/*
|
/*
|
||||||
* C99 7.12.3 classification macros
|
* C99 7.12.3 classification macros
|
||||||
|
@ -111,7 +112,7 @@ typedef union {
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
| Software IEC/IEEE floating-point rounding mode.
|
| Software IEC/IEEE floating-point rounding mode.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
#if (defined(HOST_BSD) && !defined(__APPLE__)) || defined(HOST_SOLARIS)
|
#if (defined(HOST_BSD) && !defined(__APPLE__)) || defined(CONFIG_SOLARIS)
|
||||||
#if defined(__OpenBSD__)
|
#if defined(__OpenBSD__)
|
||||||
#define FE_RM FP_RM
|
#define FE_RM FP_RM
|
||||||
#define FE_RP FP_RP
|
#define FE_RP FP_RP
|
||||||
|
|
|
@ -32,7 +32,7 @@ these four paragraphs for those parts of this code that are retained.
|
||||||
#ifndef SOFTFLOAT_H
|
#ifndef SOFTFLOAT_H
|
||||||
#define SOFTFLOAT_H
|
#define SOFTFLOAT_H
|
||||||
|
|
||||||
#if defined(HOST_SOLARIS) && defined(NEEDS_LIBSUNMATH)
|
#if defined(CONFIG_SOLARIS) && defined(NEEDS_LIBSUNMATH)
|
||||||
#include <sunmath.h>
|
#include <sunmath.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
2
kqemu.c
2
kqemu.c
|
@ -25,7 +25,7 @@
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HOST_SOLARIS
|
#ifdef CONFIG_SOLARIS
|
||||||
#include <sys/ioccom.h>
|
#include <sys/ioccom.h>
|
||||||
#endif
|
#endif
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
6
osdep.c
6
osdep.c
|
@ -28,7 +28,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#ifdef HOST_SOLARIS
|
#ifdef CONFIG_SOLARIS
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/statvfs.h>
|
#include <sys/statvfs.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -116,7 +116,7 @@ static void *kqemu_vmalloc(size_t size)
|
||||||
int map_anon = 0;
|
int map_anon = 0;
|
||||||
const char *tmpdir;
|
const char *tmpdir;
|
||||||
char phys_ram_file[1024];
|
char phys_ram_file[1024];
|
||||||
#ifdef HOST_SOLARIS
|
#ifdef CONFIG_SOLARIS
|
||||||
struct statvfs stfs;
|
struct statvfs stfs;
|
||||||
#else
|
#else
|
||||||
struct statfs stfs;
|
struct statfs stfs;
|
||||||
|
@ -129,7 +129,7 @@ static void *kqemu_vmalloc(size_t size)
|
||||||
if (phys_ram_fd < 0) {
|
if (phys_ram_fd < 0) {
|
||||||
tmpdir = getenv("QEMU_TMPDIR");
|
tmpdir = getenv("QEMU_TMPDIR");
|
||||||
if (!tmpdir)
|
if (!tmpdir)
|
||||||
#ifdef HOST_SOLARIS
|
#ifdef CONFIG_SOLARIS
|
||||||
tmpdir = "/tmp";
|
tmpdir = "/tmp";
|
||||||
if (statvfs(tmpdir, &stfs) == 0) {
|
if (statvfs(tmpdir, &stfs) == 0) {
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
// uint_fast8_t and uint_fast16_t not in <sys/int_types.h>
|
// uint_fast8_t and uint_fast16_t not in <sys/int_types.h>
|
||||||
// XXX: move that elsewhere
|
// XXX: move that elsewhere
|
||||||
#if defined(HOST_SOLARIS) && HOST_SOLARIS < 10
|
#if defined(CONFIG_SOLARIS) && CONFIG_SOLARIS_VERSION < 10
|
||||||
typedef unsigned char uint_fast8_t;
|
typedef unsigned char uint_fast8_t;
|
||||||
typedef unsigned int uint_fast16_t;
|
typedef unsigned int uint_fast16_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -95,7 +95,7 @@ enum {
|
||||||
|
|
||||||
|
|
||||||
/* Note: must be synced with dyngen-exec.h and Makefile.target */
|
/* Note: must be synced with dyngen-exec.h and Makefile.target */
|
||||||
#ifdef HOST_SOLARIS
|
#ifdef CONFIG_SOLARIS
|
||||||
#define TCG_AREG0 TCG_REG_G2
|
#define TCG_AREG0 TCG_REG_G2
|
||||||
#define TCG_AREG1 TCG_REG_G3
|
#define TCG_AREG1 TCG_REG_G3
|
||||||
#define TCG_AREG2 TCG_REG_G4
|
#define TCG_AREG2 TCG_REG_G4
|
||||||
|
|
Loading…
Reference in New Issue