summarylogtreecommitdiffstats
path: root/vmmon.patch
diff options
context:
space:
mode:
authorJean-Marc Lenoir2017-05-19 20:20:31 +0200
committerJean-Marc Lenoir2017-05-19 20:21:06 +0200
commit62fb3a010baf5f0aee8adf37fd33d6cd6c87f6cc (patch)
tree5f0a436d463286984881dff307b9e88a5730248e /vmmon.patch
parentdbf71715961afff46b85e7920d2219214cc04901 (diff)
downloadaur-62fb3a010baf5f0aee8adf37fd33d6cd6c87f6cc.tar.gz
Update to 12.5.6
Diffstat (limited to 'vmmon.patch')
-rw-r--r--vmmon.patch173
1 files changed, 68 insertions, 105 deletions
diff --git a/vmmon.patch b/vmmon.patch
index eea253c0a3ac..f49a8b4ca124 100644
--- a/vmmon.patch
+++ b/vmmon.patch
@@ -49,20 +49,7 @@ diff --git a/vmmon/linux/driver.c b/vmmon/linux/driver.c
index 87cf45b..5390a93 100644
--- a/vmmon/linux/driver.c
+++ b/vmmon/linux/driver.c
-@@ -105,8 +105,12 @@
- static int LinuxDriver_Close(struct inode *inode, struct file *filp);
- static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
- #if defined(VMW_NOPAGE_2624)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- static int LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault);
- #else
-+static int LinuxDriverFault(struct vm_fault *fault);
-+#endif
-+#else
- static struct page *LinuxDriverNoPage(struct vm_area_struct *vma,
- unsigned long address,
- int *type);
-@@ -124,7 +124,16 @@ static struct vm_operations_struct vmuser_mops = {
+@@ -126,7 +126,16 @@ static struct vm_operations_struct vmuser_mops = {
#endif
};
@@ -80,7 +67,7 @@ index 87cf45b..5390a93 100644
static struct timer_list tscTimer;
static Atomic_uint32 tsckHz;
static VmTimeStart tsckHzStartTime;
-@@ -254,7 +263,7 @@ static void
+@@ -256,7 +265,7 @@ static void
LinuxDriverInitTSCkHz(void)
{
unsigned int khz;
@@ -89,7 +76,7 @@ index 87cf45b..5390a93 100644
khz = compat_tsc_khz();
if (khz != 0) {
Atomic_Write(&tsckHz, khz);
-@@ -269,7 +278,7 @@ LinuxDriverInitTSCkHz(void)
+@@ -271,7 +280,7 @@ LinuxDriverInitTSCkHz(void)
add_timer(&tscTimer);
}
@@ -98,7 +85,7 @@ index 87cf45b..5390a93 100644
/*
*----------------------------------------------------------------------
*
-@@ -317,21 +326,6 @@ init_module(void)
+@@ -319,21 +328,6 @@ init_module(void)
linuxState.fastClockPriority = -20;
linuxState.swapSize = VMMON_UNKNOWN_SWAP_SIZE;
@@ -120,7 +107,7 @@ index 87cf45b..5390a93 100644
#ifdef VMX86_DEVEL
devel_init_module();
linuxState.minor = 0;
-@@ -387,7 +381,9 @@ cleanup_module(void)
+@@ -389,7 +383,9 @@ cleanup_module(void)
#ifdef VMX86_DEVEL
unregister_chrdev(linuxState.major, linuxState.deviceName);
#else
@@ -131,31 +118,7 @@ index 87cf45b..5390a93 100644
#endif
Log("Module %s: unloaded\n", linuxState.deviceName);
-@@ -882,15 +886,23 @@
- */
-
- #if defined(VMW_NOPAGE_2624)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- static int LinuxDriverFault(struct vm_area_struct *vma, //IN
- struct vm_fault *fault) //IN/OUT
- #else
-+static int LinuxDriverFault(struct vm_fault *fault) //IN/OUT
-+#endif
-+#else
- static struct page *LinuxDriverNoPage(struct vm_area_struct *vma, //IN
- unsigned long address, //IN
- int *type) //OUT: Fault type
- #endif
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- VMLinux *vmLinux = (VMLinux *) vma->vm_file->private_data;
-+#else
-+ VMLinux *vmLinux = (VMLinux *) fault->vma->vm_file->private_data;
-+#endif
- unsigned long pg;
- struct page* page;
-
-@@ -1279,7 +1275,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values
+@@ -1287,7 +1283,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values
*-----------------------------------------------------------------------------
*/
@@ -164,7 +127,7 @@ index 87cf45b..5390a93 100644
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
{
TSCDelta tscDelta;
-@@ -1971,7 +1967,7 @@ LinuxDriver_Ioctl(struct file *filp, // IN:
+@@ -1979,7 +1975,7 @@ LinuxDriver_Ioctl(struct file *filp, // IN:
break;
}
@@ -187,15 +150,15 @@ index fd32013..583d6da 100644
#include <linux/preempt.h>
#include <linux/poll.h>
-@@ -74,6 +74,7 @@
+@@ -73,6 +76,7 @@
+ #include <linux/capability.h>
#include <linux/kthread.h>
#include <linux/wait.h>
-
+#include <asm/apic.h>
-
- #include "vmware.h"
- #include "x86apic.h"
-@@ -139,6 +140,10 @@ static DECLARE_TASKLET(timerTasklet, HostIFWakeupClockThread, 0);
+ #include <linux/signal.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ #include <linux/taskstats_kern.h> // For linux/sched/signal.h without version check
+@@ -142,6 +146,10 @@
*/
#define LOCKED_PAGE_SLACK 10000
@@ -206,7 +169,7 @@ index fd32013..583d6da 100644
static struct {
Atomic_uint64 uptimeBase;
VersionedAtomic version;
-@@ -435,7 +440,7 @@ HostIF_CancelWaitForThreads(VMDriver *vm, // IN:
+@@ -438,7 +446,7 @@
* HostIF_WakeUpYielders --
*
* Wakeup vCPUs that are waiting for the current vCPU.
@@ -215,7 +178,7 @@ index fd32013..583d6da 100644
* Results:
* The requested vCPUs are nudged if they are sleeping due to
* Vmx86_YieldToSet.
-@@ -518,7 +523,7 @@ HostIF_InitGlobalLock(void)
+@@ -521,7 +529,7 @@
* None
*
* Side effects:
@@ -224,7 +187,7 @@ index fd32013..583d6da 100644
* The current thread is rescheduled if the lock is busy.
*
*-----------------------------------------------------------------------------
-@@ -561,7 +566,7 @@ HostIF_GlobalUnlock(int callerID) // IN
+@@ -564,7 +572,7 @@
* HostIF_GlobalLockIsHeld --
*
* Determine if the global lock is held by the current thread.
@@ -233,7 +196,7 @@ index fd32013..583d6da 100644
* Results:
* TRUE if yes
* FALSE if no
-@@ -591,7 +596,7 @@ HostIF_GlobalLockIsHeld(void)
+@@ -594,7 +602,7 @@
* None
*
* Side effects:
@@ -242,7 +205,7 @@ index fd32013..583d6da 100644
* The current thread is rescheduled if the lock is busy.
*
*-----------------------------------------------------------------------------
-@@ -726,7 +731,7 @@ static int
+@@ -729,7 +737,7 @@
HostIFHostMemInit(VMDriver *vm) // IN:
{
VMHost *vmh = vm->vmhost;
@@ -251,7 +214,7 @@ index fd32013..583d6da 100644
vmh->lockedPages = PhysTrack_Alloc(vm);
if (!vmh->lockedPages) {
return -1;
-@@ -821,8 +826,8 @@ HostIF_AllocMachinePage(void)
+@@ -824,8 +832,8 @@
*
* HostIF_FreeMachinePage --
*
@@ -262,7 +225,7 @@ index fd32013..583d6da 100644
* phystracker.
*
* Results:
-@@ -1115,7 +1120,7 @@ HostIF_LookupUserMPN(VMDriver *vm, // IN: VMDriver
+@@ -1118,7 +1126,7 @@
* Results:
* prevents INTR #0x2d (IRQ 13) from being generated --
* assume that Int16 works for interrupt reporting
@@ -271,7 +234,7 @@ index fd32013..583d6da 100644
*
* Side effects:
* PIC
-@@ -1130,7 +1135,7 @@ HostIF_InitFP(VMDriver *vm) // IN:
+@@ -1133,7 +1141,7 @@
uint8 val = inb(0xA1);
@@ -280,7 +243,7 @@ index fd32013..583d6da 100644
val = val | mask;
outb(val, 0xA1);
}
-@@ -1146,7 +1151,7 @@ HostIF_InitFP(VMDriver *vm) // IN:
+@@ -1149,7 +1157,7 @@
* If ppages is NULL, pages are only marked as dirty.
*
* Results:
@@ -289,7 +252,7 @@ index fd32013..583d6da 100644
*
* Side effects:
* None
-@@ -1162,14 +1167,16 @@ HostIFGetUserPages(void *uvAddr, // IN
+@@ -1165,14 +1173,16 @@
int retval;
down_read(&current->mm->mmap_sem);
@@ -311,7 +274,7 @@ index fd32013..583d6da 100644
up_read(&current->mm->mmap_sem);
return retval != numPages;
-@@ -1181,11 +1188,11 @@ HostIFGetUserPages(void *uvAddr, // IN
+@@ -1184,11 +1194,11 @@
*
* HostIF_IsLockedByMPN --
*
@@ -325,7 +288,7 @@ index fd32013..583d6da 100644
*
* Side effects:
* None.
-@@ -1307,7 +1314,7 @@ HostIF_UnlockPage(VMDriver *vm, // IN:
+@@ -1310,7 +1320,7 @@
vpn = VA_2_VPN((VA)addr);
e = MemTrack_LookupVPN(vm->memtracker, vpn);
@@ -334,7 +297,7 @@ index fd32013..583d6da 100644
if (e == NULL) {
return PAGE_UNLOCK_NOT_TRACKED;
}
-@@ -1353,7 +1360,7 @@ HostIF_UnlockPageByMPN(VMDriver *vm, // IN: VMDriver
+@@ -1356,7 +1366,7 @@
{
void *va = VA64ToPtr(uAddr);
MemTrackEntry *e;
@@ -343,7 +306,7 @@ index fd32013..583d6da 100644
/*
* Verify for debugging that VA and MPN make sense.
* PgtblVa2MPN() can fail under high memory pressure.
-@@ -1371,7 +1378,7 @@ HostIF_UnlockPageByMPN(VMDriver *vm, // IN: VMDriver
+@@ -1374,7 +1384,7 @@
}
/*
@@ -352,7 +315,7 @@ index fd32013..583d6da 100644
* HostIF_LockPage(allowMultipleMPNsPerVA = TRUE).
* That means that this MPN should not be in the MemTracker.
*/
-@@ -1384,7 +1391,7 @@ HostIF_UnlockPageByMPN(VMDriver *vm, // IN: VMDriver
+@@ -1387,7 +1397,7 @@
return PAGE_UNLOCK_MISMATCHED_TYPE;
}
}
@@ -361,7 +324,7 @@ index fd32013..583d6da 100644
HOST_UNLOCK_PFN_BYMPN(vm, mpn);
-@@ -1392,7 +1399,7 @@ HostIF_UnlockPageByMPN(VMDriver *vm, // IN: VMDriver
+@@ -1395,7 +1405,7 @@
}
@@ -370,7 +333,7 @@ index fd32013..583d6da 100644
UnlockEntry(void *clientData, // IN:
MemTrackEntry *entryPtr) // IN:
{
-@@ -1455,11 +1462,11 @@ HostIF_FreeAllResources(VMDriver *vm) // IN
+@@ -1458,11 +1468,11 @@
*
* HostIF_AllocKernelMem
*
@@ -385,7 +348,7 @@ index fd32013..583d6da 100644
*
* Side effects:
* memory is malloced
-@@ -1471,8 +1478,8 @@ HostIF_AllocKernelMem(size_t size, // IN:
+@@ -1474,8 +1484,8 @@
int wired) // IN:
{
void * ptr = kmalloc(size, GFP_KERNEL);
@@ -396,7 +359,7 @@ index fd32013..583d6da 100644
Warning("%s failed (size=%p)\n", __func__, (void*)size);
}
-@@ -1500,7 +1507,7 @@ void *
+@@ -1503,7 +1513,7 @@
HostIF_AllocPage(void)
{
VA kvAddr;
@@ -405,7 +368,7 @@ index fd32013..583d6da 100644
kvAddr = __get_free_page(GFP_KERNEL);
if (kvAddr == 0) {
Warning("%s: __get_free_page() failed\n", __func__);
-@@ -1515,7 +1522,7 @@ HostIF_AllocPage(void)
+@@ -1518,7 +1528,7 @@
*
* HostIF_FreeKernelMem
*
@@ -414,7 +377,7 @@ index fd32013..583d6da 100644
*
* Results:
* None.
-@@ -1554,7 +1561,7 @@ HostIF_FreePage(void *ptr) // IN:
+@@ -1557,7 +1567,7 @@
* from the kernel without causing the host to die or to be really upset.
*
* Results:
@@ -423,7 +386,7 @@ index fd32013..583d6da 100644
*
* Side effects:
* none
-@@ -1582,9 +1589,9 @@ HostIF_EstimateLockedPageLimit(const VMDriver* vm, // IN
+@@ -1585,9 +1595,9 @@
* Use the memory information linux exports as of late for a more
* precise estimate of locked memory. All kernel page-related structures
* (slab, pagetable) are as good as locked. Unevictable includes things
@@ -436,7 +399,7 @@ index fd32013..583d6da 100644
*/
unsigned int forHost;
-@@ -1604,7 +1611,7 @@ HostIF_EstimateLockedPageLimit(const VMDriver* vm, // IN
+@@ -1607,7 +1617,7 @@
unsigned int swapPages = BYTES_2_PAGES(linuxState.swapSize);
if (anonPages > swapPages) {
@@ -445,7 +408,7 @@ index fd32013..583d6da 100644
}
forHost = lockedPages + LOCKED_PAGE_SLACK;
if (forHost > totalPhysicalPages) {
-@@ -1649,7 +1656,7 @@ HostIF_Wait(unsigned int timeoutMs)
+@@ -1652,7 +1662,7 @@
*----------------------------------------------------------------------
*/
@@ -454,7 +417,7 @@ index fd32013..583d6da 100644
HostIF_WaitForFreePages(unsigned int timeoutMs) // IN:
{
static unsigned count;
-@@ -1674,20 +1681,20 @@ HostIF_WaitForFreePages(unsigned int timeoutMs) // IN:
+@@ -1677,20 +1687,20 @@
* timeofday to have small drift (due to NTP rate correction, etc).
* We handle this by rebasing the jiffies based monotonic clock
* every second (see HostIFUptimeResyncMono).
@@ -478,7 +441,7 @@ index fd32013..583d6da 100644
{
struct timeval tv;
uint64 monotime, uptime, upBase, monoBase;
-@@ -1709,14 +1716,14 @@ HostIFReadUptimeWork(unsigned long *j) // OUT: current jiffies
+@@ -1712,14 +1722,14 @@
do_gettimeofday(&tv);
upBase = Atomic_Read64(&uptimeState.uptimeBase);
@@ -496,7 +459,7 @@ index fd32013..583d6da 100644
* Use the jiffies based monotonic time to sanity check gettimeofday.
* If they differ by more than one second, assume the time of day has
* been warped, and use the jiffies time to undo (most of) the warp.
-@@ -1728,7 +1735,7 @@ HostIFReadUptimeWork(unsigned long *j) // OUT: current jiffies
+@@ -1731,7 +1741,7 @@
uint64 newUpBase = monotime - (uptime - upBase);
attempts++;
@@ -505,7 +468,7 @@ index fd32013..583d6da 100644
attempts < 5) {
/* Another thread updated uptimeBase. Recalculate uptime. */
goto retry;
-@@ -1769,7 +1776,7 @@ HostIFUptimeResyncMono(unsigned long data) // IN: ignored
+@@ -1772,7 +1782,7 @@
unsigned long jifs;
uintptr_t flags;
@@ -514,7 +477,7 @@ index fd32013..583d6da 100644
* Read the uptime and the corresponding jiffies value. This will
* also correct the uptime (which is based on time of day) if needed
* before we rebase monotonic time (which is based on jiffies).
-@@ -1777,7 +1784,7 @@ HostIFUptimeResyncMono(unsigned long data) // IN: ignored
+@@ -1780,7 +1790,7 @@
uint64 uptime = HostIFReadUptimeWork(&jifs);
@@ -523,7 +486,7 @@ index fd32013..583d6da 100644
* Every second, recalculate monoBase and jiffiesBase to squash small
* drift between gettimeofday and jiffies. Also, this prevents
* (jiffies - jiffiesBase) wrap on 32-bits.
-@@ -1822,8 +1829,8 @@ HostIF_InitUptime(void)
+@@ -1825,8 +1835,8 @@
uptimeState.jiffiesBase = jiffies;
do_gettimeofday(&tv);
@@ -534,7 +497,7 @@ index fd32013..583d6da 100644
tv.tv_sec * UPTIME_FREQ));
init_timer(&uptimeState.timer);
-@@ -1951,7 +1958,7 @@ HostIF_CopyFromUser(void *dst, // OUT
+@@ -1954,7 +1964,7 @@
*-----------------------------------------------------------------------------
*/
@@ -543,7 +506,7 @@ index fd32013..583d6da 100644
HostIF_CopyToUser(void *dst, // OUT
const void *src, // IN
unsigned int len) // IN
-@@ -1964,15 +1971,15 @@ HostIF_CopyToUser(void *dst, // OUT
+@@ -1967,15 +1977,15 @@
*-----------------------------------------------------------------------------
*
* HostIF_MapCrossPage --
@@ -565,7 +528,7 @@ index fd32013..583d6da 100644
* uses a permanent mapping, instead of a temporary one with a high LA.
*
* Results:
-@@ -2160,7 +2167,7 @@ HostIF_VMLock(VMDriver *vm, // IN
+@@ -2163,7 +2173,7 @@
* None
*
* Side effects:
@@ -574,7 +537,7 @@ index fd32013..583d6da 100644
*
*-----------------------------------------------------------------------------
*/
-@@ -2183,7 +2190,7 @@ HostIF_VMUnlock(VMDriver *vm, // IN
+@@ -2186,7 +2196,7 @@
* HostIF_VMLockIsHeld --
*
* Determine if the per-VM lock is held by the current thread.
@@ -583,7 +546,7 @@ index fd32013..583d6da 100644
* Results:
* TRUE if yes
* FALSE if no
-@@ -2239,14 +2246,14 @@ HostIF_VMLockIsHeld(VMDriver *vm) // IN
+@@ -2242,14 +2252,14 @@
*
*----------------------------------------------------------------------
*/
@@ -600,7 +563,7 @@ index fd32013..583d6da 100644
old_fs = get_fs();
set_fs(get_ds());
r = APICR_TO_ADDR(r, APICR_VERSION);
-@@ -2321,7 +2328,7 @@ ProbeAPIC(VMDriver *vm, // IN/OUT: driver state
+@@ -2324,7 +2334,7 @@
Bool setVMPtr) // IN: set a pointer to the APIC's virtual address
{
MA ma = APIC_GetMA();
@@ -609,7 +572,7 @@ index fd32013..583d6da 100644
if (ma == (MA)-1) {
return FALSE;
}
-@@ -2422,7 +2429,7 @@ HostIF_APICInit(VMDriver *vm, // IN:
+@@ -2425,7 +2435,7 @@
* Perform the semaphore wait (P) operation, possibly blocking.
*
* Result:
@@ -618,7 +581,7 @@ index fd32013..583d6da 100644
* negated error code otherwise.
*
* Side-effects:
-@@ -2431,7 +2438,7 @@ HostIF_APICInit(VMDriver *vm, // IN:
+@@ -2434,7 +2444,7 @@
*-----------------------------------------------------------------------------
*/
@@ -627,7 +590,7 @@ index fd32013..583d6da 100644
HostIF_SemaphoreWait(VMDriver *vm, // IN:
Vcpuid vcpuid, // IN:
uint64 *args) // IN:
-@@ -2454,7 +2461,7 @@ HostIF_SemaphoreWait(VMDriver *vm, // IN:
+@@ -2457,7 +2467,7 @@
{
struct poll_wqueues table;
unsigned int mask;
@@ -636,7 +599,7 @@ index fd32013..583d6da 100644
poll_initwait(&table);
current->state = TASK_INTERRUPTIBLE;
mask = file->f_op->poll(file, &table.pt);
-@@ -2529,7 +2536,7 @@ HostIF_SemaphoreWait(VMDriver *vm, // IN:
+@@ -2532,7 +2542,7 @@
*-----------------------------------------------------------------------------
*/
@@ -645,7 +608,7 @@ index fd32013..583d6da 100644
HostIF_SemaphoreForceWakeup(VMDriver *vm, // IN:
const VCPUSet *vcs) // IN:
{
-@@ -2819,8 +2826,8 @@ HostIF_CallOnEachCPU(void (*func)(void*), // IN: function to call
+@@ -2822,8 +2832,8 @@
*
* HostIF_ReadPage --
*
@@ -656,7 +619,7 @@ index fd32013..583d6da 100644
*
* Results:
* 0 on success
-@@ -2851,7 +2858,7 @@ HostIF_ReadPage(MPN mpn, // MPN of the page
+@@ -2854,7 +2864,7 @@
if (ptr == NULL) {
return -ENOMEM;
}
@@ -665,7 +628,7 @@ index fd32013..583d6da 100644
if (kernelBuffer) {
memcpy(buf, ptr, PAGE_SIZE);
} else {
-@@ -2868,7 +2875,7 @@ HostIF_ReadPage(MPN mpn, // MPN of the page
+@@ -2871,7 +2881,7 @@
*
* HostIF_WritePage --
*
@@ -674,7 +637,7 @@ index fd32013..583d6da 100644
* page.
*
* Results:
-@@ -2998,7 +3005,7 @@ HostIF_GetNextAnonPage(VMDriver *vm, MPN inMPN)
+@@ -3001,7 +3011,7 @@
* Side effects:
* None.
*
@@ -683,7 +646,7 @@ index fd32013..583d6da 100644
*/
uint32
-@@ -3016,18 +3023,18 @@ HostIF_GetCurrentPCPU(void)
+@@ -3019,18 +3029,18 @@
*
* Wake up the fast clock thread. Can't do this from the timer
* callback, because it holds locks that the scheduling code
@@ -705,7 +668,7 @@ index fd32013..583d6da 100644
HostIFWakeupClockThread(unsigned long data) //IN:
{
wake_up_process(linuxState.fastClockThread);
-@@ -3038,7 +3045,7 @@ HostIFWakeupClockThread(unsigned long data) //IN:
+@@ -3041,7 +3051,7 @@
*----------------------------------------------------------------------
*
* HostIFTimerCallback --
@@ -714,7 +677,7 @@ index fd32013..583d6da 100644
* Schedule a tasklet to wake up the fast clock thread.
*
* Results:
-@@ -3049,8 +3056,8 @@ HostIFWakeupClockThread(unsigned long data) //IN:
+@@ -3052,8 +3062,8 @@
*
*----------------------------------------------------------------------
*/
@@ -725,7 +688,7 @@ index fd32013..583d6da 100644
HostIFTimerCallback(struct hrtimer *timer) //IN:
{
tasklet_schedule(&timerTasklet);
-@@ -3063,7 +3070,7 @@ HostIFTimerCallback(struct hrtimer *timer) //IN:
+@@ -3066,7 +3076,7 @@
*----------------------------------------------------------------------
*
* HostIFScheduleHRTimeout --
@@ -734,7 +697,7 @@ index fd32013..583d6da 100644
* Schedule an hrtimer to wake up the fast clock thread.
*
* Results:
-@@ -3075,7 +3082,7 @@ HostIFTimerCallback(struct hrtimer *timer) //IN:
+@@ -3078,7 +3088,7 @@
*----------------------------------------------------------------------
*/
@@ -743,7 +706,7 @@ index fd32013..583d6da 100644
HostIFScheduleHRTimeout(ktime_t *expires) //IN:
{
struct hrtimer t;
-@@ -3093,7 +3100,7 @@ HostIFScheduleHRTimeout(ktime_t *expires) //IN:
+@@ -3096,7 +3106,7 @@
if (hrtimer_active(&t)) {
schedule();
}
@@ -752,7 +715,7 @@ index fd32013..583d6da 100644
hrtimer_cancel(&t);
__set_current_state(TASK_RUNNING);
}
-@@ -3116,7 +3123,7 @@ HostIFScheduleHRTimeout(ktime_t *expires) //IN:
+@@ -3119,7 +3129,7 @@
* Side effects:
* none.
*
@@ -761,7 +724,7 @@ index fd32013..583d6da 100644
*/
static long
-@@ -3149,7 +3156,7 @@ HostIFDoIoctl(struct file *filp,
+@@ -3152,7 +3162,7 @@
*/
int
@@ -770,7 +733,7 @@ index fd32013..583d6da 100644
unsigned int rate, //IN: current clock rate
struct file *filp) //IN: /dev/rtc descriptor
{
-@@ -3159,14 +3166,14 @@ HostIFStartTimer(Bool rateChanged, //IN: Did rate change?
+@@ -3162,14 +3172,14 @@
int timerPeriod;
if (rateChanged) {
@@ -787,7 +750,7 @@ index fd32013..583d6da 100644
slack = timerPeriod / 100;
}
set_current_state(TASK_INTERRUPTIBLE);
-@@ -3512,7 +3519,7 @@ HostIF_MapUserMem(VA addr, // IN: User memory virtual address
+@@ -3515,7 +3525,7 @@
printk(KERN_DEBUG "%s: p = 0x%p, offset = 0x%p, numPagesNeeded = %"FMTSZ"u,"
" handleSize = %"FMTSZ"u, mappedAddr = 0x%p\n",
@@ -796,7 +759,7 @@ index fd32013..583d6da 100644
newHandle->numPages = numPagesNeeded;
newHandle->addr = mappedAddr;
-@@ -3548,7 +3555,7 @@ HostIF_UnmapUserMem(VMMappedUserMem *handle) // IN: Handle to mapped memory
+@@ -3551,7 +3561,7 @@
}
printk(KERN_DEBUG "%s: numPages = %"FMTSZ"u, addr = 0x%p\n",