diff options
author | johnlev <none@none> | 2007-09-18 15:46:43 -0700 |
---|---|---|
committer | johnlev <none@none> | 2007-09-18 15:46:43 -0700 |
commit | 843e19887f64dde75055cf8842fc4db2171eff45 (patch) | |
tree | 4ab8a445a86736e31e88b22413d080cc29f89aa0 /usr/src/uts/intel/sys/cpu.h | |
parent | 3d318c665ed0c4b4170851459cc58b3386bfec9b (diff) | |
download | illumos-joyent-843e19887f64dde75055cf8842fc4db2171eff45.tar.gz |
PSARC 2006/260 Solaris on Xen
PSARC 2007/155 IPv4 Network Configuration Enhancements for Xen Guest Domains
6424124 panic in intr_thread->av_dispatch_autovect->atomic_add_ptr
6496858 mdb could use a memory-based IO backend
6515319 workaround for 6491065 needs to be removed from elfextract.c
6518807 snv_nightly: SUNWcakr pkgck error
6551858 PSARC 2006/260 Solaris on Xen
6584697 Can't boot Xen / Solaris dom0 if root is using ZFS
6593429 usr/src/cmd/devfsadm isn't linting properly
6600359 mdb_kvm_intrframe() is unused
6600750 can remove 'u' workaround from zlib
6601465 /dev/lofictl needs to accept kernel ioctl
6604043 Erronous ASSERT in sdev_vnops.c ASSERT(VTOSDEV(vp)->sdev_attrvp);
--HG--
rename : usr/src/common/util/memset.h => deleted_files/usr/src/common/util/memset.h
rename : usr/src/uts/common/krtld/mapfile => deleted_files/usr/src/uts/common/krtld/mapfile
rename : usr/src/uts/i86pc/boot/boot_keyboard.h => deleted_files/usr/src/uts/i86pc/boot/boot_keyboard.h
rename : usr/src/uts/intel/io/i8254.c => usr/src/uts/i86pc/io/microfind.c
rename : usr/src/uts/i86pc/cpunex/Makefile => usr/src/uts/intel/cpunex/Makefile
rename : usr/src/uts/i86pc/io/cpunex.c => usr/src/uts/intel/io/cpunex.c
Diffstat (limited to 'usr/src/uts/intel/sys/cpu.h')
-rw-r--r-- | usr/src/uts/intel/sys/cpu.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/usr/src/uts/intel/sys/cpu.h b/usr/src/uts/intel/sys/cpu.h index 8f4d5af138..9a4217d1ee 100644 --- a/usr/src/uts/intel/sys/cpu.h +++ b/usr/src/uts/intel/sys/cpu.h @@ -39,9 +39,15 @@ */ #include <sys/bustypes.h> #include <sys/inttypes.h> -#if defined(__GNUC__) && defined(_ASM_INLINES) && defined(_KERNEL) + +#if defined(_KERNEL) +#if defined(__xpv) +#include <sys/hypervisor.h> +#endif +#if defined(__GNUC__) && defined(_ASM_INLINES) #include <asm/cpu.h> #endif +#endif /* _KERNEL */ #ifdef __cplusplus extern "C" { @@ -59,7 +65,19 @@ extern void i86_mwait(uint32_t data, uint32_t extensions); /* * Used to insert cpu-dependent instructions into spin loops */ +#if defined(__xpv) +extern int xpv_panicking; +#define SMT_PAUSE() \ + { \ + if (IN_XPV_PANIC()) \ + ht_pause(); \ + else \ + (void) HYPERVISOR_yield(); \ + } + +#else #define SMT_PAUSE() ht_pause() +#endif #endif /* _KERNEL */ |