diff options
author | Jean-Marc Lenoir | 2017-05-19 20:20:31 +0200 |
---|---|---|
committer | Jean-Marc Lenoir | 2017-05-19 20:21:06 +0200 |
commit | 62fb3a010baf5f0aee8adf37fd33d6cd6c87f6cc (patch) | |
tree | 5f0a436d463286984881dff307b9e88a5730248e /vmmon.patch | |
parent | dbf71715961afff46b85e7920d2219214cc04901 (diff) | |
download | aur-62fb3a010baf5f0aee8adf37fd33d6cd6c87f6cc.tar.gz |
Update to 12.5.6
Diffstat (limited to 'vmmon.patch')
-rw-r--r-- | vmmon.patch | 173 |
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(¤t->mm->mmap_sem); @@ -311,7 +274,7 @@ index fd32013..583d6da 100644 up_read(¤t->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", |