vmx.c (39c21c2db2d5f600f8f7ed87d1f6e7dc2e3073c8) | vmx.c (98ed632c63bec8b8cfe7f8849f74ba15657bd06b) |
---|---|
1/*- 2 * Copyright (c) 2011 NetApp, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 1258 unchanged lines hidden (view full) --- 1267 * The VM exit will be processed further in userland. 1268 */ 1269 } 1270 } 1271 return (handled); 1272} 1273 1274static int | 1/*- 2 * Copyright (c) 2011 NetApp, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 1258 unchanged lines hidden (view full) --- 1267 * The VM exit will be processed further in userland. 1268 */ 1269 } 1270 } 1271 return (handled); 1272} 1273 1274static int |
1275vmx_run(void *arg, int vcpu, register_t rip, struct vm_exit *vmexit) | 1275vmx_run(void *arg, int vcpu, register_t rip) |
1276{ 1277 int error, vie, rc, handled, astpending; 1278 uint32_t exit_reason; 1279 struct vmx *vmx; 1280 struct vmxctx *vmxctx; 1281 struct vmcs *vmcs; | 1276{ 1277 int error, vie, rc, handled, astpending; 1278 uint32_t exit_reason; 1279 struct vmx *vmx; 1280 struct vmxctx *vmxctx; 1281 struct vmcs *vmcs; |
1282 struct vm_exit *vmexit; |
|
1282 1283 vmx = arg; 1284 vmcs = &vmx->vmcs[vcpu]; 1285 vmxctx = &vmx->ctx[vcpu]; 1286 vmxctx->launched = 0; 1287 | 1283 1284 vmx = arg; 1285 vmcs = &vmx->vmcs[vcpu]; 1286 vmxctx = &vmx->ctx[vcpu]; 1287 vmxctx->launched = 0; 1288 |
1289 vmexit = vm_exitinfo(vmx->vm, vcpu); 1290 |
|
1288 /* 1289 * XXX Can we avoid doing this every time we do a vm run? 1290 */ 1291 VMPTRLD(vmcs); 1292 1293 /* 1294 * XXX 1295 * We do this every time because we may setup the virtual machine --- 463 unchanged lines hidden --- | 1291 /* 1292 * XXX Can we avoid doing this every time we do a vm run? 1293 */ 1294 VMPTRLD(vmcs); 1295 1296 /* 1297 * XXX 1298 * We do this every time because we may setup the virtual machine --- 463 unchanged lines hidden --- |